Pacman

Historical bug tracker for the Pacman package manager.

The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues

This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
Tasklist

FS#40293 - [makepkg] fails when ${BUILDSCRIPT##*/} != $BUILDSCRIPT

Attached to Project: Pacman
Opened by Roman Neuhauser (roman-neuhauser) - Saturday, 10 May 2014, 09:16 GMT
Last edited by Allan McRae (Allan) - Wednesday, 25 June 2014, 13:11 GMT
Task Type Bug Report
Category makepkg
Status Closed
Assigned To Allan McRae (Allan)
Architecture All
Severity Low
Priority Normal
Reported Version 4.1.2
Due in Version 4.2.0
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Summary and Info:

AFAICT neither makepkg(1) nor PKGBUILD(5) says that makepkg *MUST* be run in the directory where PKGBUILD (and changelog, install) is. in fact, PKGBUILD(5) includes

install
Specifies a special install script that is to be included in
the package. This file should reside in the same directory as
the PKGBUILD [...].

changelog
Specifies a changelog file that is to be included in the
package. This file should reside in the same directory as the
PKGBUILD [...].

Steps to Reproduce:

roman@wrench ~/tmp 0 1090 0 > tail fubar/*(.)
==> fubar/PKGBUILD <==
pkgname=fubar
pkgver=42.69
pkgrel=1
pkgdesc="makepkg -p canary"
arch=('any')
url="http://example.org/"
license=('BSD')
changelog=$pkgname.changelog
install=$pkgname.install


==> fubar/fubar.changelog <==
omg

==> fubar/fubar.install <==
post_install() {
echo hello world
}
roman@wrench ~/tmp 0 1091 0 > makepkg -p fubar/PKGBUILD
==> ERROR: changelog file (fubar.changelog) does not exist.
==> ERROR: install file (fubar.install) does not exist.
This task depends upon

Closed by  Allan McRae (Allan)
Wednesday, 25 June 2014, 13:11 GMT
Reason for closing:  Fixed
Additional comments about closing:  git commit 2401468f
Comment by Allan McRae (Allan) - Saturday, 10 May 2014, 09:33 GMT
I'd argue that there is no changelog at "changelog=$pkgname.changelog". It is at fubar/$pkgname.changelog.
Comment by Roman Neuhauser (roman-neuhauser) - Saturday, 10 May 2014, 10:53 GMT
PKGBUILD(5) says "This file should reside in the same directory as the PKGBUILD". that is true in this case, and neither makepkg(1) nor PKGBUILD(5) says that the optarg for -p must not contain slashes. possible solutions:

a) fix makepkg to be consistent with the documentation
i haven't tried it yet but should be quite doable
b) fix the documentation to be consistent with the code
- either change the claim to "This file must reside in $PWD, no matter where PKGBUILD is"
- or document that PKGBUILD must be in $PWD
Comment by Allan McRae (Allan) - Sunday, 25 May 2014, 03:57 GMT
Patch enforcing the buildscript is in $PWD sent to mailing-list.

Loading...