FS#42191 - [makepkg] --syncdeps ignores deps in split packages

Attached to Project: Pacman
Opened by Stefan Tatschner (rumpelsepp) - Tuesday, 30 September 2014, 17:36 GMT
Last edited by Allan McRae (Allan) - Sunday, 31 January 2016, 03:51 GMT
Task Type Bug Report
Category General
Status Closed
Assigned To Allan McRae (Allan)
Dave Reisner (falconindy)
Architecture All
Severity Low
Priority Normal
Reported Version 4.1.2
Due in Version 5.0.0
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


makepkg --syncdeps ignores dependencies which are defined in the package function of a split package such like this:

package_python-django-djblets() {
depends=('python-django>=1.6.7' 'python-django<1.7' 'python-feedparser' 'python-pytz'
'python-pillow' 'python-django-pipeline' 'nodejs-uglify-js')
makedepends=('python-setuptools' 'lessc')

cd "${srcdir}/${_pkgname}-release-${pkgver}"
python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1

package_python2-django-djblets() {
depends=('python2-django>=1.6.7' 'python2-django<1.7' 'python2-feedparser' 'python2-pytz'
'python2-pillow' 'python2-django-pipeline' 'nodejs-uglify-js')
makedepends=('python2-setuptools' 'lessc')

cd "${srcdir}/${_pkgname}-release-${pkgver}"
python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1

If I put the depends arrays outside of the package functions --syncdeps works. The version restriction inside the package function is ignored as well.
This task depends upon

Closed by  Allan McRae (Allan)
Sunday, 31 January 2016, 03:51 GMT
Reason for closing:  None
Additional comments about closing:  Documented in 599520e4
Comment by Allan McRae (Allan) - Wednesday, 01 October 2014, 03:32 GMT
This is the intended behaviour. Dependencies in split packages can conflict and not be able to be installed together. You will need to use the global makedepends array. This is not well documented and will improved in the next released.

Not it is documented that makedepends is not able to be overridden.
Comment by Stefan Tatschner (rumpelsepp) - Monday, 06 October 2014, 06:43 GMT
Ah, okay. But when I want to build a particular split package using the --pkg argument it should not ignore the dependencies in the package function, should it? Makepkg seems to ignore this as well.
Comment by Allan McRae (Allan) - Monday, 06 October 2014, 07:23 GMT
It will still ignore them. The global depends/makedepends array is used by --sync whether building one or all packages.

Edit: the builds are inconsistent otherwise
Comment by Allan McRae (Allan) - Monday, 22 December 2014, 03:45 GMT
Bug report to remind you Dave!