Talk:Creating packages

From ArchWiki
Jump to: navigation, search

Confusing Sentences

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.

I'm guessing "putting" should be either "placing of" or "packaging," but I'm not sure. I'm also completely confused about the last sentence. - Zeniff (talk) 23:35, 7 July 2012 (UTC)

Putting = arranging or installing into the pkg/ temporary staging directory, ready to be packaged by makepkg; i.e. what the package() function is now for. Maybe if it said “putting files into pkg/”? The last sentence is saying what normally happens: only package() runs in the fakeroot environment, and build() runs without any special privileges (so cannot set file ownership, etc). Vadmium (talk) 22:54, 29 January 2013 (UTC).

Conflicting information about prepare() and build() functions

The sections about the prepare() and build() functions contain conflicting information. Both sections state that they are for configuring the sources, which I assume to mean running a configure script, if one is present. Is there an official decree on which function the configure script should be run in? makepkg(8) and PKGBUILD(5) don't make this clear. Link:
-- Jstjohn (talk) 10:45, 18 May 2013 (UTC)

Conflicting information about patching

The Warnings subsection under Summary states:

"Therefore if you need to edit the makefiles, you may have to bundle a custom patch with the PKGBUILD and install it from inside the build() function, or you might have to issue some sed commands from inside the build() function."

However, the The prepare() function section states:

"In this function commands that are used to prepare sources for building are run, such as patch or configuring. This function is run before the build function and after the package extraction."

These seem to be contradicting each other.

--Devon.olivier (talk) 19:32, 19 May 2013 (UTC)