Talk:PKGBUILD

From ArchWiki
Revision as of 16:13, 15 January 2019 by Quequotion (talk | contribs) (Version: pkgver: changes merged; closing discussion)
Jump to navigation Jump to search

Undo "Remove incorrect warning"

Warning: Placing the depends array inside package() is only useful for split packaging. You should not do this for single packages, even if you know the dependencies are run time only.

I believe this warning is valid. Sure makepkg will allow you to override the depends on a singular package. But I don't think this is recommended at all and is a needless complication.

Without the warning, clarifying that depends inside of package() are run time only might give readers that this should be done any time they have run time only depends but that is not the case. Morganamilo (talk) 21:40, 9 June 2018 (UTC)

It is also perfectly acceptable when repackaging pre-built binaries. Putting this restriction in here has no basis in fact and is just plain wrong.
Scimmia (talk) 21:45, 9 June 2018 (UTC)
Alright if that's the case I guess the warning was overkill. I still would like to see at least a note of some sort saying that you don't need to go separating the make only and run only dependencies. It is perfectly acceptable to put run time deps in the global depends.
If you disagree feel free to close this topic. Morganamilo (talk) 21:57, 9 June 2018 (UTC)

Version: pkgver

Because "package" may refer to a PKGBUILD, a package tarball, and also the software packaged by the PKGBUILD and compressed in the tarball; I think it's important to distinguish them here by specifying "package source(s)" instead (not sure if the plural or singular form is better). Also 'published' is probably better than 'released' in this statement, to avoid confusion when we get to the pkgrel section. quequotion (talk) 21:07, 6 January 2019 (UTC)

So just to be clear, the replacement suggestion I think you're referring to is:
s/author of the package/author of the package source(s)/
(This edit does not seem complex enough that we need a wiki-formatted proposal to see how it would look, so maybe I'm missing some more sweeping change you wanted to make?)
By that logic, we should refer to "upstream software" instead, I think. Also disambiguating upstream "releases" vs. the "release number" of the PKGBUILD, which are indeed entirely different things, does indeed seem useful. -- Eschwartz (talk) 21:32, 6 January 2019 (UTC)
Just being cautious given recent history. "upstream" is also good! quequotion (talk) 08:34, 7 January 2019 (UTC)

Proposal: pkgver

The version of the package. This should be the same as the version published by the author of the upstream software. It can contain letters, numbers, periods and underscores, but not a hyphen (-). If the author of the software uses one, replace it with an underscore (_). If the pkgver variable is used later in the PKGBUILD, then the underscore can easily be substituted for a hyphen, e.g. source=("$pkgname-${pkgver//_/-}.tar.gz").

Note: If upstream uses a timestamp versioning such as 30102014, ensure to use the reversed date, i.e. 20141030 (ISO 8601 format). Otherwise it will not appear as a newer version.
Tip: