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.
- 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).
prepare() runs before pkgver()
I've just discovered that and conftibuted this information to this article. It is great, and makes sense. Things can be done to get proper pkg version after.