Child pages
  • Testing packages by using local per-package mirror
Skip to end of metadata
Go to start of metadata

 

This page describes a way to install packages for testing, using local mirror, without the need of updating the rest of the system.

Disclamers:

Assumption is that you install package(s) form the trusted source publisher (in IPS terminology 'repository' is called a publisher). Do not install packages form untrusted source or from third parties unless you accept the risks of installing third-party binary packages.
Prior installing and testing be advised to make a clone of your current working Boot environment (BE) using beadm command (beadm list, beadm create, beadm activate).
Prior installing and testing be advised make a snapshot of your home directories (/export/home) and other zfs datasets (filesystems) using zfs command. (zfs list, zfs snapshot, zfs rollback).
Prior installing and testing be informed that solaris zones in Openindiana hipster (OI hipster) are linked-images by default and that adding IPS publisher requires adding it in linked-image zones as well.
It is requred that you have appropirate role priviledges for installing packages,using administrative account and commands like pfexec or sudo


As an example we will use public binaries working repository oi-userland of Openindiana hipster maintainer,developer and contributor Alexander Pyhalov (alp,leoric), that is considered trusted party since most of OI hipster changes comes through he's maintenance, testing, porting and packages building.

Go to http://buildzone.oi-build.r61.net:1000/  and search for package name you want to test
(or provided exact package FMRI name for testing, like web/browser/firefox@43.0.0.6-2015.0.2.0:20151125T064357Z ,  replace newpackagename with it).

See if package version differs from already installed package:

 pkg list | grep newpackagename 

Make new local mirror publisher, populate it with testing package(s) and start pkg.depotd for serving packages: (assuming /export/home/share/oi-userland for mirror files location; pkgrecv -r recursively mirrors required packages.

mkdir /export/home/share/oi-userland 
pfexec beadm create hipster-backup 

pkgrepo create /export/home/share/oi-userland 
pkgrepo set -s /export/home/share/oi-userland/ publisher/prefix=userland 
pkgrecv -s http://buildzone.oi-build.r61.net:1000/ -d /export/home/share/oi-userland -r newpackagename 
pkgrepo refresh -p userland -s /export/home/share/oi-userland 
/usr/lib/pkg.depotd -d /export/home/share/oi-userland -p 10000 

And adding new publisher to global zone and other linked-image zones and install packages for testing: (assuming zone location in /zones/build/zone1)

pfexec pkg set-publisher -g http://localhost:10000 userland 
pfexec pkg -R /zones/build/zone1/root/ set-publisher -g http://localhost:10000 userland 

pfexec pkg uninstall entire userland-incorporation 
pfexec pkg install newpackagename

To communicate testing results, use #oi-dev IRC channel on Freenode.net, oi-dev Openindiana mailing list and Openindiana issues bug database.

  • No labels