make -DNO_ROOT to create chroot, problem installing into chroot with pkg

Brooks Davis brooks at freebsd.org
Mon Sep 8 18:36:48 UTC 2014


On Mon, Sep 08, 2014 at 01:06:38PM -0400, Julio Merino wrote:
> On Mon, Sep 8, 2014 at 11:48 AM, Brooks Davis <brooks at freebsd.org> wrote:
> >
> > If you don't mind the ownership being wrong and there being a few extra
> > +FOO files tar works.  It would be great for someone to teach package to
> > install without root and to update a METALOG file.  That's not 100% of
> > the solution, but it's a solid 80-90% solution.
> 
> (This is just my completely uninformed opinion as I don't know the
> internals of pkg.) There are other issues to be addressed.
> 
> Teaching pkg to install without root means changing pkg to not use
> chroot: i.e. to make pkg be able to deal with the concept of a
> "destdir" for package installations. That is probably easy: just
> prefixing a bunch of destdir to the locations being touched.

This should be pretty easy given that most of the process is extracting
files from the tarball.

> However, the tricky part here is dealing with any package-specific
> post-install scripts to ensure they understand destdir, which in turn
> means that any tools executed by the scripts must also be capable of
> dealing with a destdir. Also, the scripts (being potentially-untrusted
> code) cannot be guaranteed to behave correctly on the
> outside-of-the-chroot system.

I believe the majority of packages don't suffer from post-install
scripts hence the suggestion that extracting in the right place without
root would solve 80-90% of the problem (and probably take no more than
10% of the work).  I could live with the pain of not having scripts run
during install.  The correct long term fix as proposed by bapt is the do
anyway with most scripts in favor of common actions and if any
significant scripts remain add the ability to run them on first boot.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-pkg/attachments/20140908/15496d1d/attachment.sig>


More information about the freebsd-pkg mailing list