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

From: Brooks Davis <brooks_at_freebsd.org>
Date: Mon, 8 Sep 2014 18:36:47 +0000
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

Received on Mon Sep 08 2014 - 16:36:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:52 UTC