[aur-general] Python split packages and devtools
Hi, I like to build my AUR packages within a chroot by using `extra-x86_64-build` from the `devtools` package for some reasons: 1. I usually build only once my packages and share them between my machines. For this, the package shouldn't link against libraries that are found on the machine because they are not always available on the other ones. 2. It's *a little bit* more safe as the code is executed within a chroot, AFAIK. 3. When creating/developing packages, I'm sure that all dependencies are included. I created a `python-keras-git` package, that is a split package with both python2 and python3 version of it [1]. Someone pointed me out that because of my `make-depends`, people has to have both python2 and python3 installed to build only the desired version of the package, what is true. But in another way, if I remove this make-depends, then `extra-x86_64-build` script can no build the package any longer, as it needs python to build the package (for using `python setup.py …`) So here are some questions: - If I choose one of `python` or `python2` to build the package, people having the other will have to install it also. (and I don't know if python-setuptools can build also for python2 or vice-versa?) - If I put both, people will have to install the one they don't have. - If I don't define a make-depends, the PKGBUILD is not complete. - It doesn't seem possible to put the make-depends inside the `pakages_<pkgname>()` function, isn't it? What is the right/best way of achieving this? Thanks, Fabien [1] https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-keras-git
On Sat, 21 Nov 2015 17:03:54 +0100 Fabien Dubosson <fabien.dubosson@gmail.com> wrote:
Someone pointed me out that because of my `make-depends`, people has to have both python2 and python3 installed to build only the desired version of the package, what is true.
So? They can remove the packages again after the build is complete (makepkg -r or preferably use devtools) and it's not like this is a another AUR package that requires like a 20 hour build and can only be done on a machine with at least 42 cores and 5TB of ram. It just requires a download and some more disk space which seems like a perfectly fine tradeoff if the alternative is to maintain two PKGBUILDs (one for each python version).
- It doesn't seem possible to put the make-depends inside the `pakages_<pkgname>()` function, isn't it?
Building only certain split packages is no longer supported since commit e8deba3b87784ca14c9afc908046f36a3ad7578c. This will be part of the next pacman version >=4.3 so even if it was possible this would be pointless.
So? They can remove the packages again after the build is complete (makepkg -r or preferably use devtools) and it's not like this is a another AUR package that requires like a 20 hour build and can only be done on a machine with at least 42 cores and 5TB of ram. It just requires a download and some more disk space which seems like a perfectly fine tradeoff if the alternative is to maintain two PKGBUILDs (one for each python version).
I'm fine with this solution. I wanted to know if there was a better way. So I'll go with this, thx!
Building only certain split packages is no longer supported since commit e8deba3b87784ca14c9afc908046f36a3ad7578c. This will be part of the next pacman version >=4.3 so even if it was possible this would be pointless.
Good to know, I don't follow archlinux development enough to notice this kind of changes. Thanks for your answers, Fabien
participants (2)
-
Fabien Dubosson
-
Florian Pritz