Wow, that's a good introduction. Nice work, pointone. --Gen2ly 02:35, 30 November 2009 (EST)
Another name change!?
The last round of updates resulted in a significant merge of duplicate content and the renaming of this page to Building Packages. However, I'm worried this title may still cause confusion. I've always considered the act of "building" a package to be makepkg's domain; rather, this article describes how to create a PKGBUILD.
-- pointone 20:50, 22 December 2009 (EST)
- True; a title like that is more in tune with makepkg's functionality. Between the suggestions, I prefer Creating Packages over Creating PKGBUILDS, since it's more intuitive for people that don't know about archisms. pwd 04:08, 23 December 2009 (EST)
- I believe that the best is to rename it "Package Creation". The reasoning is that a person is trying to search for subjects having to do with software packages, so the first thing they look for is "package"; I know I did. After that, one can discuss the relative benefits of "build" or "create" as the root of the second word in the title. Further, there should probably be a "Software Installation" page to guide newbies into an understanding of package management. These steps will move the project to a goof-proof setup; always ideal. - KitchM 12:41, 6 February 2010 (EST)
- I concur, most new user like me are baffled at the PKGBUILD when searching for package creation. there should be symlink for "Package Creation" to the more technical "Creating PKGBUILDS".--Littlebear 15:53, 6 February 2010 (EST)
If I understand it, makepkg is a script file that uses the information in another script file entitled pkgbuild. Two questions: First, why do they have different emphasis in color and capitalization? Second, where do they come from? Are they included in base-devel? Can anyone help with that? Thanks all. - KitchM 00:30, 8 February 2010 (EST)
makepkgis a command; a
PKGBUILDis simply a file, and is sourced by makepkg; not executed. -- pointone 20:43, 10 February 2010 (EST)
- Not knowing what you mean by "sourced", am I correct to assume that the makepkg program (which is not a script, but a binary executable) uses the script file "pkgbuild" as a "source" for instructions and information? And if so, can that be explained in the article? - KitchM 01:50, 11 February 2010 (EST)
If base-devel includes fakeroot, then why is the command for installation listing the two parts (# pacman -S base-devel fakeroot). Don't you get both if you install the first? - KitchM 00:34, 8 February 2010 (EST)
- Good point. (Fixed!) -- pointone 20:40, 10 February 2010 (EST)
The article mentions makepkg quite a bit, but it fails to tell us how to find it. Does anyone know where it comes from? - KitchM 00:22, 11 February 2010 (EST)
- "makepkg" comes from "pacman", "pacman" is always installed. --Beroal 11:25, 17 November 2010 (EST)
I'm curious as to the proper thing to write when referring to an archive made with tar. As tar is short for, "tape archive," obviously writing, "tape archive archive," is wrong. Simply saying tar, though, sounds wrong as well. A lot of people say tarball, but that isn't very descriptive. Your thoughts, please. Ratfink 15:50, 2 February 2011 (EST)
- See Wikipedia:RAS syndrome. "Tar archive" is fine in my books; consider "an archive created using the tar utility." -- pointone 17:01, 2 February 2011 (EST)
Clarification of Overview
Initially, I completely missed where the files listed in the Overview come from, I also confused the .PKGINFO with PKGBUILD. I think it would be clearer if this line:
"An Arch package is no more than a tar archive compressed using xz, or 'tarball', which contains:"
"An Arch package is no more than a tar archive compressed using xz, or 'tarball', which contains the following files generated by makepkg:"
- Seems reasonable, I think there's no harm if you add that clarification. -- Kynikos (talk) 10:07, 17 June 2012 (UTC)
This is a bit confusing for me:
In old packages, there was no
package() function. So, putting compiled files was done at the end of the
build() function. If
package() is not present,
build() runs via fakeroot. If
package() is present,
build() runs as the user calling makepkg,
package() runs via fakeroot.