On Wednesday 30 May 2012 20:50:38 Martti Kühne wrote:
Usually you will install to $pkgdir using install(1)'s -g in conjunction of the -m and, at your option, -D flags. Preservance of file metadata in that context is, as far as I understand given through makepkg's fakeroot environment.
I think it's a bit more complex than that because groups are stored in archives by their GID, not their name. If I'm using a non-standard group, e.g. "mygroup", the .install file will need to create the "mygroup" group on install, and the system will give it the next available GID. In the binary package, once it's built, a file may have a GID corresponding to "mygroup". If it just so happens that "mygroup" on the packager's computer has a different GID to "mygroup" on the installer's computer, you'll end up with files installed with an unrecognised GID, or (worse) mapped to a different group entirely. In my case, I'm working on a new AUR package for Foswiki, and need to install files assigned to "http". Since this is a standard group (according to the list on the Wiki), I know I can safely chown in the PKGBUILD, because the GID for http will be the same on everyone's system. I hope this makes the problem clearer. Paul