Date: Mon, 8 Jul 2002 15:30:42 +0100 (BST) From: Mark Valentine <mark@thuvia.demon.co.uk> To: drosih@rpi.edu (Garance A Drosihn), Wes Peters <wes@softweyr.com>, Dan Moschuk <dan@freebsd.org> Cc: arch@freebsd.org Subject: Re: Package system flaws? Message-ID: <200207081430.g68EUgoZ062947@dotar.thuvia.org> In-Reply-To: Garance A Drosihn's message of Jul 8, 2:04am
next in thread | raw e-mail | index | archive | help
> From: drosih@rpi.edu (Garance A Drosihn) > Date: Mon 8 Jul, 2002 > Subject: Re: Package system flaws? > I do find the ports collection one of the most useful things in > the freebsd community, but the more comfortable you get with > depending on it, the more you see little cracks where various > problems crop up -- over and over again. Indeed the system is very useful already. But here are my main gripes anyway... 1. Packages install to /usr/local by default; however, they do not (and cannot) follow my long-standing (since 4.2BSD) cross-platform administrative policies for /usr/local. In fact, just attempting a package install on those systems generally screws up the permissions on /usr/local fatally. The next generation system should install to /usr/pkg or /opt or whatever. (Policy differences here: my /usr/local is generally administered by group "staff", not user "root"; I put in a bit of effort to generally _not_ require the co-existence of multiple versions of a package - a lot of the ports patches are there to accomplish just this, renaming libraries and data directories - I don't want it). 2. I'd like to see improved support for building/installing packages as non-root. Installing as root should only be necessary if local policy requires it, or if there are set[ug]id components to install (or similar permission requirements). Even in the latter case it would be nice if the install created a simple script to run as root to fix up the permissions. I especially don't like having to build ports as root (I consider bsd.port.mk unauditable, and I know a thing or two about make(1)). 3. There's no way to have pkg_add -r use a local package cache so that only the first install needs to fetch the package _and its dependencies_ over the Internet (see Cygwin's setup.exe for an example of how this can be done reasonably well). I went to add this feature and my stumbling block was that pkg_add doesn't know the versioned name of the package archive to store (but only for the primary package, the dependencies are fine). That's to say that "pkg_add -r XFree86" should fetch and store (if necessary) "XFree86-4.2.0_1,1.tgz" and its dependencies; alternatively, "pkg_add -r XFree86-4.2.0_1,1.tgz" should do the right thing. Currently, to install a package on multiple systems, I have to jump through hoops to get the package and its dependencies into my local package area. > Separate from that, one thing I think we need is some mechanism > which makes certain that the generated package-list for a port > is exactly correct. I like your idea for creating packages from a chroot'd area, though I'd probably prefer this to be an optional testing feature than the default method (but yes, nobody would use it then...). Cheers, Mark. -- Mark Valentine, Thuvia Labs <mark@thuvia.co.uk> <http://www.thuvia.co.uk> "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- <http://www.calvinandhobbes.com> <http://www.freebsd.org> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207081430.g68EUgoZ062947>