[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