Skip site navigation (1)Skip section navigation (2)
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>