FS#61294 - Document makepkg's "local" scheme for source files
Attached to Project:
Pacman
Opened by Jeremy Audet (ichimonji10) - Sunday, 06 January 2019, 18:56 GMT
Last edited by Doug Newgard (Scimmia) - Sunday, 06 January 2019, 18:57 GMT
Opened by Jeremy Audet (ichimonji10) - Sunday, 06 January 2019, 18:56 GMT
Last edited by Doug Newgard (Scimmia) - Sunday, 06 January 2019, 18:57 GMT
|
Details
Description:
A PKGBUILD source array can contain URLs that start with a "local" scheme. It isn't documented in makepkg(8) or makepkg.conf(5). Please do so. More verbosely: Some PKGBUILDs need to reference files that can't be downloaded from the internet and that can't be shipped alongside the PKGBUILD file in git. Instead, these files must be provided by the user building a package For example, gog-pyre [1] installs the copyrighted Pyre videogame, and its PKGBUILD includes these lines: pkgname='gog-pyre' pkgver='1.50427.11957.23366' source=("local:///pyre_${pkgver//./_}.sh" "${pkgname}.desktop" "${pkgname}") The user is responsible for providing a file such as pyre_1_50427_11957_23366.sh. As you can see, the "local" scheme is used to reference this file. I've been told [2] that it's ideal for this use case: > local:// [...] is special-cased in makepkg -- if makepkg sees it, it will not try to handle it as a download url no matter what. You can get a similar result by using sdfsgsgfdiuyicl:// since makepkg does most likely not have a DLAGENTS=() handler for this and will therefore tell you it cannot figure out how to download it... but it's the difference between "unknown download client" and "was not found in the build directory and is not a URL." Unfortunately, this scheme isn't documented. Please add documentation. Additional info: * pacman 5.1.1-1 Steps to reproduce: $ man 8 makepkg | grep -i local: | wc -l 0 $ man 5 makepkg.conf | grep -i local: | wc -l 0 $ man 5 PKGBUILD | grep -i local: | wc -l 0 [1] https://aur.archlinux.org/packages/gog-pyre/ [2] https://lists.archlinux.org/pipermail/aur-general/2019-January/034778.html |
This task depends upon
0
$ man 5 makepkg.conf | grep -i local: | wc -l
0
$ man 5 PKGBUILD | grep -i local: | wc -l
0
$ pacman -Qi pacman | grep Version
Version : 5.2.2-1
Actually it's also sufficient to consider the ticket still being open, as sufficient evidence that it's still an issue. We don't use "stale bots".
Or submit a patch to update the manpage with a proposed new description if you would like to guarantee this ticket makes progress.