FS#44050 - [pacman] No way of specifying different make dependencies for split packages

Attached to Project: Pacman
Opened by João Guerra (joca.bt) - Wednesday, 04 March 2015, 22:10 GMT
Last edited by Andrew Gregory (andrewgregory) - Wednesday, 11 March 2015, 20:19 GMT
Task Type Feature Request
Category makepkg
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version 4.2.1
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Currently, there is no way for subpackages within a split package to have different make dependencies (https://wiki.archlinux.org/index.php/PKGBUILD#pkgbase).

Why is this an issue?

Consider a package containing some software developed in Python (which is awfully common). Usually, such packages have 2 branches: one for Python 2 and another for Python 3.
pkgbase="python-package"
pkgname=("python2-package" "python3-package")

Moreover, these packages may need to be conflicting, as their binaries/libs may need to have a specific filename due to other software that uses them, for example.

In these cases, other split packages depending on such packages cannot be built, as (i) the make dependencies are not specific to each subpackage and (ii) the package on which they make depend are conflicting.
makedepends=("python2-package" "python3-pygments")

What is currently done for packages like this is that the conflicting files in one of the branches are renamed. This breaks other dependencies and may force the user to rename the conflicting files to work-around the issue for other depending packages. Furthermore, in most cases, the user will not install both branches, as he is only interested in the one for the Python version he uses, for example.
This task depends upon

Closed by  Andrew Gregory (andrewgregory)
Wednesday, 11 March 2015, 20:19 GMT
Reason for closing:  Won't implement
Comment by Andrew Gregory (andrewgregory) - Wednesday, 04 March 2015, 23:34 GMT
Split PKGBUILDs are intended for multiple packages created from the same build. If they require different make dependencies they should use separate PKGBUILDs.
Comment by Doug Newgard (Scimmia) - Wednesday, 04 March 2015, 23:49 GMT
Andrew, are you saying that python2 and python3 packages should be separate? :)
Comment by Andrew Gregory (andrewgregory) - Thursday, 05 March 2015, 00:09 GMT
If both packages can't be made from the same build, yes. https://bugs.archlinux.org/task/38160
Comment by Doug Newgard (Scimmia) - Thursday, 05 March 2015, 03:02 GMT
Oh, I agree. I've had this discussion before and you're the first dev that's agreed with me. I'll have to point falconindy to this report.

Loading...