[arch-general] Groups and GIDs in PKGBUILDs

Paul Gideon Dann pdgiddie at gmail.com
Thu May 31 04:26:04 EDT 2012


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


More information about the arch-general mailing list