You are not logged in.
Hi,
I want to install sake. But I don't want to install as PIP. Is there any tool in archlinux as checkinstall for making packages?
Thanks,
Last edited by xanb (2015-02-25 08:07:00)
Owning one OpenRC (artoo way) and other three systemd machines
Offline
I assume that you want it to be installed as a package like those in the standard repositories? There's the PKGBUILD + makepkg system which does this.
Well, I see an INSTALL file in the source tarball for the release candidate with the the following command:
python setup.py install
That said, as it's a git repository, you could use PKGBUILDs with git.
I'd take the PKGBUILD for the bdflib-git package, modify it to create a package to build this python module instead and you should be done.
Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository
Offline
You can take a look into any Python-package in AUR. They are basically all very similar, you probably would just have to change the package's name and the sorce (+ checksums).
And then just build your own Package with makepkg.
Offline
Thanks a lot, both of you.
Following your advise, I create this PKGBUILD
# Maintainer: Me
pkgname=sake-git
pkgver=1.0RC
pkgrel=1
pkgdesc="
A self-documenting build automation tool"
url="https://github.com/tonyfischetti/sake"
arch=('any')
license=('MIT')
depends=('python')
makedepends=('git')
source=('git://github.com/tonyfischetti/sake.git')
md5sums=('SKIP')
_gitname="master"
pkgver() {
cd $_gitname
git show -s --format="%ci" HEAD | sed -e 's/-//g' -e 's/ .*//'
}
build() {
cd $_gitname
msg "GIT checkout done or server timeout"
msg "Starting setup.py..."
find ./ -type f | xargs -n 1 sed -i 's|/usr/bin/python|/usr/bin/env python2|'
python setup.py build
}
package() {
cd $_gitname
python setup.py install --prefix=/usr --root="$pkgdir"
}
Is that correct?
Thanks a lot,
Owning one OpenRC (artoo way) and other three systemd machines
Offline
looks good. In case it is not, you'll notice as you have a non-functioning package installed.
Offline
In the official webpage the developers says that package has as dependencies:
Python 2.7, or above (including 3.4!)
The networkx python module
the PyYAML python module
Graphviz
that is
depends=('python' 'python-networkx' 'python-yaml' 'graphviz')
I have to include these in my package?
Owning one OpenRC (artoo way) and other three systemd machines
Offline
Yes, if upstream depends on these, you should include them. Otherwise, you might end up with a non-functional package (except all of them happen to be already installed anyways, but they should be listed in the depends nevertheless).
Offline
I get error:
[xan@argonia p]$ export LANG=en_US.UTF-8
[xan@argonia p]$ makepkg
==> Making package: sake-git 20150113-1 (Tue Feb 17 15:31:55 CET 2015)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating sake git repo...
Fetching origin
==> Validating source files with md5sums...
sake ... Skipped
==> Extracting sources...
-> Creating working copy of sake git repo...
Switched to a new branch 'makepkg'
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
==> GIT checkout done or server timeout
==> Starting setup.py...
Traceback (most recent call last):
File "setup.py", line 91, in <module>
**kw
TypeError: setup() got multiple values for keyword argument 'requires'
==> ERROR: A failure occurred in build().
Aborting...
[xan@argonia p]$
with this PKGBUILD
# Maintainer: Me
pkgname=sake-git
pkgver=20150113
pkgrel=1
pkgdesc="
A self-documenting build automation tool"
url="https://github.com/tonyfischetti/sake"
arch=('any')
license=('MIT')
depends=('python' 'python-networkx' 'python-yaml' 'graphviz')
makedepends=('git')
source=('git://github.com/tonyfischetti/sake.git')
md5sums=('SKIP')
_gitname="sake"
pkgver() {
cd $_gitname
git show -s --format="%ci" HEAD | sed -e 's/-//g' -e 's/ .*//'
}
build() {
cd $_gitname
msg "GIT checkout done or server timeout"
msg "Starting setup.py..."
find ./ -type f | xargs -n 1 sed -i 's|/usr/bin/python|/usr/bin/env python2|'
python setup.py build
}
package() {
cd $_gitname
python setup.py install --prefix=/usr --root="$pkgdir"
}
What happens?
Thanks,
Owning one OpenRC (artoo way) and other three systemd machines
Offline
upstream's setup.py is broken. If you don't have python-setuptools installed, the setup-function in the setup.py will get multiple entries for 'depends', which it obviously doesn't like. Quickfix: add python-setuptools to makedepends (or install it, if you are working with Python you might want to have setuptools installed by default anyways).
real fix: report the issue upstream with your build()-code and the error thrown (the one below). Then they can fix it. You should do the second thing in any case to get the error fixed and not just work around it.
Traceback (most recent call last):
File "setup.py", line 91, in <module>
**kw
TypeError: setup() got multiple values for keyword argument 'requires'
Offline
Owning one OpenRC (artoo way) and other three systemd machines
Offline
Success:
$ makepkg
==> S'està fent el paquet: sake-git 20150113-1 (dc feb 18 09:34:27 CET 2015)
==> Comprovant les dependències en temps d'execució ...
==> Comprovant de dependències per l'assemblatge ...
==> Recuperant codi font ...
-> Clonant repositori sake git...
Clonant al dipòsit nu '/home/xan/p/sake'...
remote: Counting objects: 1427, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 1427 (delta 0), reused 0 (delta 0), pack-reused 1421
Rebent objectes: 100% (1427/1427), 1.31 MiB | 589.00 KiB/s, fet.
Resolent les deltes: 100% (897/897), fet.
Provant connectivitat... fet.
==> S'està validant el fitxer de codi font amb md5sums...
sake ... Omès
==> Extracció de codi font ...
-> Creant una còpia del repositori sake git ...
Clonant a 'sake'...
fet.
==> Iniciant pkgver()...
==> Iniciant build()...
==> GIT checkout done or server timeout
==> Starting setup.py...
running build
running build_py
creating build
creating build/lib
creating build/lib/sakelib
copying sakelib/__init__.py -> build/lib/sakelib
copying sakelib/audit.py -> build/lib/sakelib
copying sakelib/constants.py -> build/lib/sakelib
copying sakelib/build.py -> build/lib/sakelib
copying sakelib/acts.py -> build/lib/sakelib
running build_scripts
creating build/scripts-3.4
copying and adjusting sake -> build/scripts-3.4
changing mode of build/scripts-3.4/sake from 644 to 755
I hope you enjoy using Sake!
==> Entrant a l'entorn fakeroot ...
==> Iniciant package()...
running install
running build
running build_py
running build_scripts
running install_lib
creating /home/xan/p/pkg/sake-git/usr
creating /home/xan/p/pkg/sake-git/usr/lib
creating /home/xan/p/pkg/sake-git/usr/lib/python3.4
creating /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages
creating /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib
copying build/lib/sakelib/__init__.py -> /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib
copying build/lib/sakelib/audit.py -> /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib
copying build/lib/sakelib/constants.py -> /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib
copying build/lib/sakelib/build.py -> /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib
copying build/lib/sakelib/acts.py -> /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib
byte-compiling /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib/__init__.py to __init__.cpython-34.pyc
byte-compiling /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib/audit.py to audit.cpython-34.pyc
byte-compiling /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib/constants.py to constants.cpython-34.pyc
byte-compiling /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib/build.py to build.cpython-34.pyc
byte-compiling /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/sakelib/acts.py to acts.cpython-34.pyc
running install_egg_info
running egg_info
writing requirements to master_sake.egg-info/requires.txt
writing master_sake.egg-info/PKG-INFO
writing dependency_links to master_sake.egg-info/dependency_links.txt
writing top-level names to master_sake.egg-info/top_level.txt
reading manifest file 'master_sake.egg-info/SOURCES.txt'
writing manifest file 'master_sake.egg-info/SOURCES.txt'
Copying master_sake.egg-info to /home/xan/p/pkg/sake-git/usr/lib/python3.4/site-packages/master_sake-0.9.6-py3.4.egg-info
running install_scripts
creating /home/xan/p/pkg/sake-git/usr/bin
copying build/scripts-3.4/sake -> /home/xan/p/pkg/sake-git/usr/bin
changing mode of /home/xan/p/pkg/sake-git/usr/bin/sake to 755
I hope you enjoy using Sake!
==> S'està netejant la instal·lació...
-> S'estan purgant fitxers no desitjats...
-> S'estan eliminant fitxers libtool...
-> Removing static library files...
-> S'està comprimint el manual i les pàgines d'informació...
-> S'estan retirant els símbols innecessaris de depuració dels binaris i les biblioteques...
==> Creant paquet "sake-git"...
-> Generant arxiu .PKGINFO...
-> S'està generant el fitxer .MTREE...
-> S'està comprimint el paquet...
==> Deixant d'entorn fakeroot.
==> S'ha acabat de fer: sake-git 20150113-1 (dc feb 18 09:34:32 CET 2015)
[xan@argonia p]$ ls
pkg PKGBUILD sake sake-git-20150113-1-any.pkg.tar.xz src
[xan@argonia p]$
with this PKGBUILD:
# Maintainer: Me
pkgname=sake-git
pkgver=20150113
pkgrel=1
pkgdesc="
A self-documenting build automation tool"
url="https://github.com/tonyfischetti/sake"
arch=('any')
license=('MIT')
depends=('python' 'python-networkx' 'python-yaml' 'graphviz')
makedepends=('git' 'python-setuptools')
source=('git://github.com/tonyfischetti/sake.git')
md5sums=('SKIP')
_gitname="sake"
pkgver() {
cd $_gitname
git show -s --format="%ci" HEAD | sed -e 's/-//g' -e 's/ .*//'
}
build() {
cd $_gitname
msg "GIT checkout done or server timeout"
msg "Starting setup.py..."
find ./ -type f | xargs -n 1 sed -i 's|/usr/bin/python|/usr/bin/env python|'
python setup.py build
}
package() {
cd $_gitname
python setup.py install --prefix=/usr --root="$pkgdir"
}
Thanks a lot,
Last edited by xanb (2015-02-18 08:36:06)
Owning one OpenRC (artoo way) and other three systemd machines
Offline