[arch-general] Makepkg $(srcdir) detection and false-positives
Nathan Wayde
kumyco at konnichi.com
Fri Aug 27 03:58:28 EDT 2010
I'm not sure if this is the correct ML or not but whatever I'll post
here anyway.
I was just reading the ML where the quest? to finding why makepkg warns
about $srcdir was brought up and a simple grep -R... seemed to be the
method of detection. Anyway it reminded me of another message on the
topic last week i think where someone said that it would warn on files
with debugging symbols...
TL;DR
makepkg does a grep -q to decide if a package contains files that
reference $(srcdir), this is inadequate as it causes a false-positive on
files that contain debugging symbols.
This can be eliminated by specifying the option `-I` a.k.a
`--binary-files=without-match` to grep which makes prevents grep from
matching binary files.
Rationale:
the only paths that binary files should contain based on buildtime
setting are path such as '/usr/share/xyz'. If the pkgbuild
*accidentally* uses a variable that resolves with $srcdir in it then I'd
argue that the pkgbuild is broken and will most likely break the
application in other ways and will be caught before sharing the
pkgbuild. I can't be the only one that tests their packages before
uploading to the AUR right?
On another note, shouldn't there also be a check for $pkgdir. The only
cases of this that I've ran into myself have been a reference to $pkgdir
causing all sorts of nonsense such as broken symlinks and incorrect
resource paths.
More information about the arch-general
mailing list