From owner-freebsd-binup Tue Oct 16 11: 1:12 2001 Delivered-To: freebsd-binup@freebsd.org Received: from tao.org.uk (genius.tao.org.uk [212.135.162.51]) by hub.freebsd.org (Postfix) with ESMTP id A102E37B405; Tue, 16 Oct 2001 11:01:07 -0700 (PDT) Received: by tao.org.uk (Postfix, from userid 100) id 929994F1; Tue, 16 Oct 2001 19:00:47 +0100 (BST) Date: Tue, 16 Oct 2001 19:00:47 +0100 From: Josef Karthauser To: Eric Melville Cc: Murray Stokely , binup@FreeBSD.org Subject: Re: design issues Message-ID: <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> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="iY5udFbGw2SsPZe4" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20011016103434.D4211@FreeBSD.org>; from eric@FreeBSD.org on Tue, Oct 16, 2001 at 10:34:34AM -0700 Sender: owner-freebsd-binup@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --iY5udFbGw2SsPZe4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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. >=20 > 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. * indexing, package availability and build functionality. At the moment /usr/ports/INDEX is the only way to know what can be installed. this should be abstracted. it should be possible to write, for instance, a CPAN module that connects to a CPAN mirror and abstracts a complete list of what modules are available and have the pkg_install tools automatically know about these too. If we get this right it would be possible to add whole chunks of new ports automatically by writing an interface module to the relevant system. Of the top of my head, ruby, perl, latex would benefit from these straight away. We already have a perl module in the tree that does the right thing (tm) when you install a perl module by hand. It creates a /var/db/pkg entry and allows the user to pkg_delete it afterward. This could be more tightly integrated. It's silly not to be able to directly take advantage of other project's module repositories. * package install, management tools. All of the pkg_* and sysinstall. These are intrinsically separate from the actual install processes. They should be properly abstracted to make that clear. * /usr/ports/XXXX The /usr/ports/ system is just one mechanism for installing packages. The BSDPAN module is another (perldoc BSDPAN). At the moment the lines between all of these parts of the packaging system are blurred. By contructing a proper API they can correctly defined, and allow us to have a far more powerful packaging system in the process. Joe --iY5udFbGw2SsPZe4 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjvMdc8ACgkQXVIcjOaxUBblPgCgyd7BGjUw1Gv0bgtE1iNLbNSY p7QAoOJBB/XKjpHmhCCNgqrhqvgXVlOg =9j4n -----END PGP SIGNATURE----- --iY5udFbGw2SsPZe4-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-binup" in the body of the message