From: Will P. <pa...@dc...> - 2003-10-15 11:56:23
|
Folks, something not reflected in the release notes for the recent ARK "release" was some meddling with the "pkgsrc" stuff out of the NetBSD project, which I did a few months ago. It is basically about building NetBSD packages on non-NetBSD systems. Background: the Arusha Project (notably: Sidai team) has a rolled-our-own multi-platform package manager, but this isn't ideal (and wasn't my initial idea). It would be better to use one or more Real Package Managers [TM] to do the heavy lifting, and let ARK be the "meta package manager". This is a great idea until you actually try to find a multi-platform package manager. (I looked at RPM and NetBSD pkgsrc pretty hard back in 1999 or so.) Times change. The NetBSD pkgsrc thing is much advanced, and other choices have emerged: OpenPKG, for example. It really should be possible to build an Arusha system with one of these as the major package-handling substrate. I do not have a compelling reason to do so myself, but perhaps one of you is interested (and I'll help :-). Here's how far I got with NetBSD pkgsrc (remnants of this effort are in the verilab2 team files). Set up bits of disk in the right places, then grab and build the bootstrap package; I did... ark package install pkgsrc-bootstrap--20030225 My idea was then to keep all of this stuff *in its own little world* and definitely *out of my systems areas* (/etc, /usr, ...). That's the bit I didn't really figure out. You have to do weird things like install the 'xpkgwedge' package, which makes all the X stuff get put somewhere other than '/usr/X11'. Anyway, then for each chunk of NetBSD-packageness that you want, you make a little ARK-package "wrapper", something like... <package name="dia-pkgsrc" xml-version="1"> <status>revealed</status> <prototypes> <prototype team="." name="pkgsrc"/> <prototype team="sidai" name="pkgsrc"/> <prototype team="." name="ALL"/> </prototypes> <pkgsrc-tool-location> graphics/dia </pkgsrc-tool-location> </package> The pkgsrc world can then be used to do *everything* required (including dependencies) to achieve the equivalent of 'ark package install ...'. I was going to use the Sidai machinery for the final steps of making the package available on each host ('deploying' and 'revealing' in ARK-speak). You could do something different, of course. Someone slightly familiar with the NetBSD pkgsrc system could probably get this going without much difficulty. I lack the combination of knowledge and motivation myself, but will be happy to help :-) Will |