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

Julio Merino jmmv at freebsd.org
Mon Sep 8 17:07:07 UTC 2014


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.

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.


More information about the freebsd-pkg mailing list