Developers’ Weblog

Sponsored by
HostEurope Logo

Developers’ Weblog

All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

27C3 brought significant advancements in pkgsrc support for MirOS BSD. I am in contact with a NetBSD developer, who is favourable to including the patch upstream in pkgsrc. For them, there are two parts for this: (a) the mere addition of a "MirBSD" stanza, which is unproblematic, and (b) other code changes, which need more review. Note that pkgsrc is currently frozen before the 2010Q4 release, so our patches will likely be deferred until after the freeze.

If you would like the current patches, which are still in a bit of a rough shape, here is how to use it:

  1. Make sure there are no mentions of MirPorts in your current environment. Most importantly, remove /usr/mpkg/bin and /usr/mpkg/sbin from your PATH. This is needed when building or installing packages; the reason is that the package tools from MirPorts and pkgsrc have the same name but are incompatible with each other.
  2. Check out pkgsrc, for example to /usr/pkgsrc:
    cvs -qd anoncvs@anoncvs.netbsd.org:/cvsroot co -P pkgsrc
  3. To be sure that the patches will apply, downgrade the patched directories:
    cd pkgsrc
    cvs -q up -Pd -D2010-12-27 bootstrap devel/{bmake,libtool*} lang/perl5 mk
  4. Apply pkgsrc-bootstrap.diff, then pkgsrc-libtool-miros.diff:
    cat pkgsrc-bootstrap.diff pkgsrc-libtool-miros.diff | patch -p0
  5. Check that there are no rejected patches:
    find . -name "*.rej"
    should give no results.
  6. Bootstrap pkgsrc. In this example, we install (using sudo) into /usr/pkg. The dbdir should be inside the prefix to avoid conflicts with MirPorts.
    cd bootstrap
    ./bootstrap --prefix /usr/pkg --pkgdbdir /usr/pkg/db
  7. Add /usr/pkg/bin and /usr/pkg/sbin to your path:
    export PATH=/usr/pkg/bin:${PATH}:/usr/pkg/sbin
  8. I recommend to install perl first because it is needed by many other packages and because it needs a workaround at the moment:
    cd ../lang/perl5
    bmake install && cd /usr/pkg/lib && ln perl5/5.12.0/*/CORE/libperl.so.* .

You can now use pkgsrc to build whatever you like. Please test this procedure and report whether it works for you.

MirOS Logo