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
Task Type Feature Request
Category Documentation
Status Unconfirmed
Assigned To No-one
Architecture All
Severity Very Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 1
Private No

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

Comment by Jeremy Audet (ichimonji10) - Thursday, 10 September 2020, 14:22 GMT
$ 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
$ pacman -Qi pacman | grep Version
Version : 5.2.2-1
Comment by Eli Schwartz (eschwartz) - Thursday, 10 September 2020, 16:07 GMT
You don't need to "prove" to us that nothing has changed. It's sufficient to say "this is still an issue".

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.
Comment by Jeremy Audet (ichimonji10) - Thursday, 10 September 2020, 16:31 GMT
Aw geez, sorry about that. With the upcoming bug wrangling day, I figured I'd double-check bugs I'd submitted, but you're right: this update was virtually useless. 😬

Loading...