From ArchWiki
Jump to: navigation, search

array writing style

When talking about arrays, should we separate them from variables with: array=(), e.g. makedepends, source_x86_64 vs. makedepends=(), source_x86_64=()? --Dettalk 06:52, 6 February 2015 (UTC)

Judging from [1] it should be the former, but does this mean if all arrays were converted to the name=() style, then it would be fine? —Dettalk 21:58, 6 February 2015 (UTC)
It would be fine consistency-wise, but I don't see the need to do it: it's not that there can be a non-array variable with the same name of an array one, so adding =() would only be redundant. I would consider instead using the first instances of variables in each section as anchors for links to other sections, e.g. #source, but I'd like to hear other opinions about this possibility. — Kynikos (talk) 04:49, 7 February 2015 (UTC)

relative path in the local source files

Phrase "These paths are resolved relative to the directory of the PKGBUILD." is confusing because there is no possible relative paths, just files placed in the same directory as PKGBUILD. According to makepkg script source and man PKGBUILD: "Source files must either reside in the same directory as the PKGBUILD, or be a fully-qualified URL..." Maybe it will be better to remove this phrase?

—This unsigned comment is by Validname (talk) 08:29, 27 October 2015‎. Please sign your posts with ~~~~!

Uh, true, I've just tested it, you can update the article. — Kynikos (talk) 07:54, 28 October 2015 (UTC)

Changes to the handling of PKGBUILD variables in split packages

The body of articles related to packaging guidelines and creating, maintaining, and reviewing packages includes very little about split packages, specifically how they differ from their non-split counterparts and what guidelines or conventions should be reflected in PKGBUILDs for split packages. There are some inconsistencies between what's documented on ArchWiki and what is implemented in pacman/makepkg. (I'll try to re-find the inconsistencies I've encountered.)

#pkgbase documents, "Everything, except #makedepends, #Sources, and #Integrity variables can be overridden within each split package's package() function", while the actual code of makepkg seems to allow overrides for a subset of those variables as defined in the following:

splitpkg_overrides=('pkgdesc' 'arch' 'url' 'license' 'groups' 'depends'
                    'optdepends' 'provides' 'conflicts' 'replaces' 'backup'
                    'options' 'install' 'changelog')

Specifically, #Version and #checkdepends variables are not part of that overrides' array but are not mentioned in #pkgbase. Is makepkg missing the ability to process overrides for these variables or is the documentation inaccurate in not listing these variables as not subject to overrides?

—This unsigned comment is by JamesAn (talk) 04:35, 7 May 2016‎. Please sign your posts with ~~~~!