Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jul 2002 16:02:40 +0100 (BST)
From:      Mark Valentine <mark@thuvia.demon.co.uk>
To:        Wes Peters <wes@softweyr.com>
Cc:        Terry Lambert <tlambert2@mindspring.com>, Jordan K Hubbard <jkh@queasyweasel.com>, Dan Nelson <dnelson@allantgroup.com>, Archie Cobbs <archie@dellroad.org>, Dan Moschuk <dan@freebsd.org>, Dag-Erling Smorgrav <des@ofug.org>, arch@freebsd.org
Subject:   Re: Package system flaws?
Message-ID:  <200207121502.g6CF2eTL003505@dotar.thuvia.org>
In-Reply-To: Wes Peters's message of Jul 12, 12:39am

next in thread | raw e-mail | index | archive | help
> From: Wes Peters <wes@softweyr.com>
> Date: Fri 12 Jul, 2002
> Subject: Re: Package system flaws?

> I was thinking we could replace a lot of the mish-mash in /var/db/pkg
> with a munged up version of the metadata file that includes all the 
> real file locations, translations for various meta directory names,
> etc.

Certainly.

> > There probably isn't much less intrusive way to make a package's root
> > configurable at install time.
> 
> It's a good idea, if we can just get the application developers to use it.

In real life I think it'll be the ports maintainers who will do this, in
much the same way as it's usually their job to modify ports to allow multiple
versions to co-exist (which is not even universal policy for all FreeBSD users,
which is why many developers don't do this).

Unless of course you can get the whole world to adopt a common packaging API
for their operating systems so it becomes worthwhile for portable application
developers...

In any case it'll take years to be able to rely on the feature, but at least
the mechanism is there for the ports which matter to somebody.

> Actually you might be able to do it by forcing autoconf to code in a
> meta-name for each the directory prefixes and linking against an overridden
> version of open(2) that properly translates the meta-name.  But that's
> icky.

Ick!

> > If you didn't want the package to have to look in /var/db/pkg, have
> > the package binaries hold a maximum-length padded string variable (marked
> > similarly to what(1) strings), and provide a tool to edit the binary (and
> > scripts) at install time.
> 
> Similar to the above, substituting scary editing of binaries for 
> scary library linking.  ;^)

Mine was a simpler low-tech icky-ness.  ;-)

> > I think environment variables are too fragile for this purpose.
> > 
> > > You could almost do this on UNIX now, by putting such settings into
> > > init's environment, if you could get the application developers to
> > > write their code (especially libraries) appropriately.
> > 
> > This doesn't sound like it would be easy to allow different packages to
> > be installed with different roots.
> 
> You're right.  VMS has a system table, a per-group table, and a per-user
> table to allow overrides.  They teeter between being neat features and
> be overkill.

It's underkill for our purposes if it doesn't have them per-package...

		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?200207121502.g6CF2eTL003505>