Difference between revisions of "Talk:PKGBUILD"

From ArchWiki
Jump to: navigation, search
m (Sources: remove closed discussion)
 
(100 intermediate revisions by 16 users not shown)
Line 1: Line 1:
This needs to be updated for split packages. [[User:Daenyth|Daenyth]] 22:55, 4 December 2009 (EST)
+
== Changes to the handling of PKGBUILD variables in split packages ==
  
== Variables/noextract about zip? ==
+
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.)
  
Isn't this information outdated? It seems bsdtar can now perfectly handle zip-files.
+
[[#pkgbase]] documents, "Everything, except [[#makedepends]], [[#Sources]], and [[#Integrity]] variables can be overridden within each split package's {{ic|package()}} function", while the actual code of [[makepkg]] seems to allow overrides for a subset of those variables as defined in the following:
  
--[[User:Paolo|Paolo]] 11:03, 8 September 2010 (EDT)
+
splitpkg_overrides=('pkgdesc' 'arch' 'url' 'license' 'groups' 'depends'
 +
                    'optdepends' 'provides' 'conflicts' 'replaces' 'backup'
 +
                    'options' 'install' 'changelog')
  
== Installing the package ==
+
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?
  
It might be helpful for beginners to know how to install the package after building it.
+
{{unsigned|04:35, 7 May 2016‎|JamesAn}}
Maybe it should be explicity mentioned that one can install it with '''sudo pacman -U yourpackage.pkg.tar.??'''
 
 
 
where ?? can be xz, gz or something else.
 
 
 
[[User:Slopjong|Slopjong]] 12:00, June 9th 2010 (CET)
 
::1. It's a package - you install it as any other package. The introduction clearly states that ''The resulting package contains binary files and installation instructions; readily installed with pacman.'' and a link to the pacman article.
 
::2. pacman can install uncompressed <tt>.pkg.tar</tt> archives too.
 
::3. 'makepkg -i' will install the compiled package.
 
::-- [[User:Karol|Karol]] 06:52, 9 June 2011 (EDT)
 
 
 
== External links ==
 
 
 
One of the two links is redundant, is the same mentioned here
 
Tip: A prototype .install is provided at /usr/share/pacman/proto.install.
 
the second one should be added to proto installed by pacman package.
 
 
 
== check / checkdepends ==
 
 
 
the default ''PKGBUILD'' in ''/usr/share/pacman'' now contains a ''check'' function and a ''checkdepends'' array. Some explanation would be nice.
 
--[[User:Oal|Oal]] 15:41, 26 July 2011 (EDT)
 
:Some quick references: [https://bugs.archlinux.org/task/15145], [http://mailman.archlinux.org/pipermail/pacman-dev/2010-December/012131.html]. -- [[User:Kynikos|Kynikos]] 04:23, 27 July 2011 (EDT)
 
 
 
:: Have you seen [https://www.archlinux.org/pacman/PKGBUILD.5.html man PKGBUILD]?. [[User:Vadmium|Vadmium]] 04:54, 27 July 2011 (EDT).
 
 
 
== epoch ==
 
 
 
There is an epoch variable in the PKGBUILD.proto and an explanation here in the wiki, but for me at least the explanation doesn't cut it, I'd have no idea how to use it. I'm not sure that something that seems to be only meant for very special cases should be in the proto (which is meant for new packages, as I see it).
 
[[User:Hollunder|hollunder]] 12:20, 11 September 2011 (EDT)
 
 
 
== package compression ==
 
Please add some info about PKGEXT variable, eg. for disable compression
 
<pre>
 
PKGEXT='.pkg.tar'
 
</pre>
 
Compression is IMO useless for game's package and almost nobody from aur is using this variable... And they are looking usually for info in archwiki ;)
 

Latest revision as of 15:37, 17 March 2018

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 ~~~~!