[pacman-dev] pacman user+group support without mtree

Andrew Gregory andrew.gregory.8 at gmail.com
Mon Jun 4 21:03:28 UTC 2018


On 06/04/18 at 05:01pm, Eli Schwartz wrote:
> On 06/04/2018 04:55 PM, pacman-dev via pacman-dev wrote:
> > 
> > Hello Pacman Dev, The basic question first, is there a way to create
> > a tarball with .PKGINFO and use that tarball as a pacman package to
> > install files with particular permissions without also adding a
> > .MTREE file to that tarball?
> > 
> > More context, currently we install files into our servers using a
> > bash script.  It pops open a tarball, keeping the users, groups,
> > permissions, times for the files in the tarball, then it copies each
> > file to the filesystem according to their location in the tarball.
> > It works great for a cheap slightly better then POC solution.  That
> > tarball and a pacman pkg file are vary similar in that those are both
> > tar files, with the files listed according to their desired location
> > on the filesystem.    So my idea was that it would be relatively easy
> > for me to add the appropriate .PKGINFO into the tarball and switch
> > from using my bash script to using pacman itself.  This all worked
> > great, except for users.  In this case the file was created, in the
> > right place, with the right permissions but the wrong user and group.
> 
> I'd suggest you have two choices to proceed from here:
> - use makepkg to repackage your tarball
> - generate the .MTREE which pacman expects
> 
> The .MTREE is simple to make, this is where makepkg generates it:
> https://git.archlinux.org/pacman.git/tree/scripts/makepkg.sh.in?h=v5.1.0#n763
> 
> As you can see, it's really just bsdtar --format=mtree with a couple
> other options.

pacman extracts the file with whatever uid and gid it has in the
tarball.  The mtree file is completely irrelevant.


More information about the pacman-dev mailing list