Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Oct 2001 10:36:17 +0100
From:      Paul Richards <paul@freebsd-services.com>
To:        Josef Karthauser <joe@tao.org.uk>, Eric Melville <eric@FreeBSD.org>
Cc:        Murray Stokely <murray@FreeBSD.org>, binup@FreeBSD.org
Subject:   Re: design issues
Message-ID:  <300560000.1003311377@lobster.originative.co.uk>
In-Reply-To: <20011016190047.H83396@tao.org.uk>
References:  <20011014170515.B39749@FreeBSD.org> <20011014180507.D2654@windriver.com> <20011015020834.Y31066@tao.org.uk> <20011014181709.E2654@windriver.com> <20011016103434.D4211@FreeBSD.org> <20011016190047.H83396@tao.org.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
--On Tuesday, October 16, 2001 19:00:47 +0100 Josef Karthauser
<joe@tao.org.uk> wrote:

> On Tue, Oct 16, 2001 at 10:34:34AM -0700, Eric Melville wrote:
>> >   Do you mean something as simple as just moving some of the
>> > functionality of pkg_add into a libpkg so that other applications can
>> > use it?  That's a weekend project at most and something I've
>> > definitely wanted for a long time.  sysinstall would be an obvious
>> > consumer of this library, since sysinstall uses cpio to deal with
>> > packages and I've seen packages that pkg_add likes but sysinstall
>> > doesn't like.
>> 
>> I tend to forget that sysinstall installs packages because I never use
>> it, so disregard the prior comment about not seeing a gain from a
>> libpkg. I'd still like more details about extending the package
>> framework, however.
> 
> The key idea is to separate what is currently a bit convoluted.
> 
> There are various core parts of the package system:
> 
> * component installation database.  what's installed, where and what
>   versions.
> 
> This is currently in /var/db/pkg.  It should be possible to use other
> backends.  It should be possible to drop a 'plug in' module in place to
> store this information in whatever way the admin wants.  Why not a
> central SQL server containing info on all the servers/workstations in
> the cluster, for instance.

I think this should be totally independent of the package system. I'd like
a installation database that covers the whole of my system, and maybe even
the whole of my network.

It would provide a central repository to tell me where every component on
my systems came from, which ones aren't registered in the repository and
which have changed.

It wouldn't be hard to implement, all that's needed is an API that
registers objects in the repository. Then over time pkg* tools and other
installation mechanisms can be built that use the API to register objects.

As Joe's pointed out, the API should be backend neutral so in the simplest
case /var/db/pkg can be used, on a more complex site a SQL database could
record all objects across a complex network.

Everything else would fall out of this cornerstone. Installers can be
written for any number of different formats, native core OS binaries, CPAN,
RPM packages etc, all that's needed is an installer for that format that
uses the API to register installed objects in the repository.

Paul Richards
FreeBSD Services Ltd
http://www.freebsd-services.com

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-binup" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?300560000.1003311377>