Skip to content

Instantly share code, notes, and snippets.

@papertigers
Forked from jperkin/trunk-images.md
Created January 3, 2019 23:25
Show Gist options
  • Save papertigers/88c834c5adbb3079c564bdb1aa899ac7 to your computer and use it in GitHub Desktop.
Save papertigers/88c834c5adbb3079c564bdb1aa899ac7 to your computer and use it in GitHub Desktop.
Test pkgsrc trunk bootstraps and images

pkgsrc trunk packages and images

Now that pkgin has refresh support and the macOS trunk builds have proven that a rolling trunk release works well, I am happy to make SmartOS/illumos trunk packages and images available again for testing.

These are rolling builds of pkgsrc trunk every day (or so), providing the latest packages without having to upgrade across quarterly releases. Just install once then pkgin full-upgrade to keep up-to-date.

This is primarily of interest to:

  • Users who just want the latest software.
  • Users who don't want to bother with having to upgrade releases every quarter.
  • Users of the "tools" (SmartOS GZ) set.
  • Users of pkgbuild who wish to develop against pkgsrc trunk (making it easier to integrate changes upstream).

Bootstrap

The tools set is an ideal candidate for this, as it isn't tied to any specific images, and users in the GZ generally only use it for various utilities.

tools:

cd /var/tmp
curl -kO https://pkgsrc.joyent.com/packages/SmartOS/bootstrap/bootstrap-trunk-tools-20181018.tar.gz

# Should be 2fedbfac063e60471698ac85f3a1fe81c74e50f9
/bin/digest -a sha1 bootstrap-trunk-tools-20181018.tar.gz

tar -zxpf bootstrap-trunk-tools-20181018.tar.gz -C /

PATH=/opt/tools/sbin:/opt/tools/bin:$PATH
MANPATH=/opt/tools/man:$MANPATH

x86_64:

curl -O https://pkgsrc.joyent.com/packages/SmartOS/bootstrap/bootstrap-trunk-x86_64-20181018.tar.gz

# Should be 70fb5e48e3a1d4bfbbc0750e233e7404cffba6be
/bin/digest -a sha1 bootstrap-trunk-x86_64-20181018.tar.gz

tar -zxpf bootstrap-trunk-x86_64-20181018.tar.gz -C /

PATH=/opt/local/sbin:/opt/local/bin:$PATH
MANPATH=/opt/local/man:$MANPATH

Images

The image manifests and zvols are available here:

https://us-east.manta.joyent.com/pkgsrc/public/images/base-64-trunk-20181018.json
https://us-east.manta.joyent.com/pkgsrc/public/images/base-64-trunk-20181018.zfs.gz
https://us-east.manta.joyent.com/pkgsrc/public/images/minimal-64-trunk-20181018.json
https://us-east.manta.joyent.com/pkgsrc/public/images/minimal-64-trunk-20181018.zfs.gz
https://us-east.manta.joyent.com/pkgsrc/public/images/pkgbuild-trunk-20181018.json
https://us-east.manta.joyent.com/pkgsrc/public/images/pkgbuild-trunk-20181018.zfs.gz

After fetching your chosen version:

imgadm install -m <image.json> -f <image.zfs.gz>

and provision a zone as usual.

FAQ

Are they different to branch releases?

Mostly not. They are built on 20141030 like regular releases, and currently use the same build options and patches as 2018Q3. Over time these will change, obviously, as we look to enable more features and satisfy user requirements.

Is trunk unstable?

No. While the package count may go up and down as software versions are upgraded and new software comes in, occasionally with fixes required, we have a policy of not using development software in pkgsrc. The bulk build infrastructure has checks in place so that if a lot of packages are failing and/or certain key packages are not available, then the publishing step is skipped and we will need to fix the issue before the public repositories are updated.

This isn't to say that bugs won't be introduced or that everything will be perfect, but there's no reason why trunk would be more unstable than a quarterly release (which after all is just a snapshot of trunk at a particular point in time).

Why no i386 or multiarch?

More and more software is becoming 64-bit only (golang, rust, openjdk, ...). There are very few reasons to run 32-bit software nowadays. We anticipate dropping 32-bit builds at some point in the future. Also by only providing 64-bit we're able to build more regularly as there is a lot less bulk build load, as well as not having to maintain multiarch patches (of which there are a lot!)

Will these be available on images.joyent.com?

Probably not, certainly not to begin with. I would like to investigate running an imgapi server on pkgsrc.joyent.com at some point though to make it easier to import them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment