NetBSD's pkgsrc has been ported to many operating systems we care about - Darwin (Mac OS X), IRIX, Linux, Solaris, the other BSDs, and more. Can we integrate it with xhier? Let's try it first on OS X.

The Mac has been prepared with xcode 1.5 and the November 2004 Developer Toolkit update, as well as User X11 and X11 development.

First, create the standard xhier tree: /fsys1/.software/{admin,arch,local,regional,share,spool}, with links from /.software and /software.

I extracted a fairly recent (this week-ish) pkgsrc to /usr/pkgsrc.

A decision point: where to put the pkgsrc tools? This will influence where we bootstrap to. We can try building right into the /software tree, or we can keep the pkg tools separate from xhier's infrastructure. The latter seems easier, both short-term (less complex environment) and long-term (easier to duplicate the work on other platforms without requiring an xhier package for pkgsrc). Either way will require the use of pkgviews. It seems that long-term maybe we'll want to look at building in a chrooted tree rather than risk messing up the xhier directories with a botched install or a package that doesn't honour pkgviews.

Well, all that's well and good, except it wants to bootstrap to the same PREFIX as packages go, I think. So try /etc/mk.conf:

PKG_INSTALLATION_PREFS= pkgviews overwrite
LOCALBASE=/software

Where to put sysconfdir? It wants to be PREFIX/etc. We certainly don't want a /software/etc directory. Let's try putting it somewhere radical: /pkgetc. So try bootstrapping with:

[reasoner:/usr/pkgsrc/bootstrap] root# ./bootstrap --prefix=/software --sysconfdir=/pkgetc

That ought to be enough to get us started... hrm, it isn't quite what we wanted:

[reasoner:/software] root# pwd
/fsys1/.software/share
[reasoner:/software] root# ls -l
total 10
drwxr-xr-x  2 root  wheel  1024  5 Mar 19:02 bin
drwxr-xr-x  2 root  wheel  1024  5 Mar 18:59 lib
drwxr-xr-x  7 root  wheel  1024  5 Mar 19:03 man
drwxr-xr-x  2 root  wheel  1024  5 Mar 19:03 sbin
drwxr-xr-x  3 root  wheel  1024  5 Mar 18:59 share
[reasoner:/software] root# 

I'm not sure how we can put the pkgsrc stuff somewhere such that we can install packages to /software/packagename without having this goo. Try installing a package anyway, see what happens.

ld: warning -L: directory name (/software/packages/digest-20021220/lib) does not exist
=> Unwrapping files-to-be-installed.
[reasoner:pkgsrc/pkgtools/digest] root# cd /software/
[reasoner:/software] root# ls -l
total 10
drwxr-xr-x  2 root  wheel  1024  5 Mar 19:02 bin
drwxr-xr-x  2 root  wheel  1024  5 Mar 18:59 lib
drwxr-xr-x  7 root  wheel  1024  5 Mar 19:03 man
drwxr-xr-x  2 root  wheel  1024  5 Mar 19:03 sbin
drwxr-xr-x  3 root  wheel  1024  5 Mar 18:59 share
[reasoner:/software] root# cd bin
[reasoner:/software/bin] root# ls
bmake   cpio    digest  ftp     pax     tar
[reasoner:/software/bin] root# 

Nope, not happy. :~(

-- MikePatterson - 05 Mar 2005

Topic revision: r4 - 2006-02-08 - IsaacMorland
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback