FS#58865 - makepkg fails to set $BUILDDIR correctly if $startdir contains symlinks
Attached to Project:
Pacman
Opened by A. Bosch (progandy) - Monday, 04 June 2018, 12:42 GMT
Last edited by Allan McRae (Allan) - Tuesday, 19 June 2018, 10:36 GMT
Opened by A. Bosch (progandy) - Monday, 04 June 2018, 12:42 GMT
Last edited by Allan McRae (Allan) - Tuesday, 19 June 2018, 10:36 GMT
|
Details
Summary and Info:
makepkg sets $startdir to $PWD without resolving symlinks. $BUILDDIR is set to the canonical path without symlinks. If $startdir contains symlinks, these two paths differ and makepkg erroneously appends $pkgbase to the BUILDDIR. This is especially bad if the package contains a file with the same name as it results in an error: ==> Making package: foo 1-1 (2018-06-04 ...) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... mkdir: cannot create directory ‘/tmp/aurbuild/foo/foo’: Not a directory ==> ERROR: An unknown error has occurred. Exiting... A possible fix would be to initialize $startdir with $(pwd -P) or add it to the canonicalize_path loop. Steps to Reproduce: $ mkdir -p /tmp/aurbuild/foo $ cd /tmp/aurbuild/ $ ln -s foo link $ touch foo/foo $ cat >foo/PKGBUILD <<PKGBUILD-end pkgname=foo pkgver=1 pkgrel=1 src=(foo) md5sum=(SKIP) arch=(any) build() { false; } package() { false; } PKGBUILD-end $ cd link $ makepkg |
This task depends upon
Closed by Allan McRae (Allan)
Tuesday, 19 June 2018, 10:36 GMT
Reason for closing: Fixed
Additional comments about closing: git commit 79320234
Tuesday, 19 June 2018, 10:36 GMT
Reason for closing: Fixed
Additional comments about closing: git commit 79320234
Comment by
Eli Schwartz (eschwartz) - Monday,
04 June 2018, 13:31 GMT
https://lists.archlinux.org/pipermail/pacman-dev/2018-June/022579.html