Child pages
  • Building pkg 145 on snv_134
Skip to end of metadata
Go to start of metadata

Instructions for building the PKG consolidation on snv_134.

Prerequistes

  • Follow the steps up to the dependencies in snv_138 on snv_134 build notes
  • Download the following patch to your home directory.
    The diff contains changes to the manifests as per richlowe's notes here: http://genunix.org/dist/richlowe/README.txt. They are required for the resulting packages to install on osol134 based systems. They will not be required in the future once we update SFW and JDS.

Install Dependencies:

pfexec pkg install                  \
developer/build/autoconf            \
developer/build/automake-110        \
developer/opensolaris/pkg5          \
developer/swig                      \
developer/versioning/mercurial      \
gnome/accessibility/gnome-a11y-libs \
package/pkg/package-manager         \
service/network/dns/mdns            \
system/library/math/header-math     \
text/gnu-patch

Set up your environment:

GATE=pkg

pfexec /sbin/zfs create -o atime=off -p rpool/export/builds/$GATE
pfexec chown `id -u`:`id -g` /export/builds/$GATE
cd /export/builds/$GATE

unset CC
unset CXX
PATH=/usr/bin:/usr/sbin:/opt/SUNWspro/bin:/usr/ccs/bin
export PATH

Get the source and update it to the in145 tag/changeset and include two later changesets

hg clone ssh://anon@hg.opensolaris.org/hg/pkg/gate pkg-gate
cd pkg-gate
hg update 6d238f7fb49f

Start the building process. If building on OI do not patch.

cd src
gpatch -p2 < ~/pkg-gate-145.diff
dmake install
make -e packages BUILDNUM=145
export PATH=`pwd`/../proto/root_`uname -p`/usr/bin:$PATH
export PYTHONPATH=`pwd`/../proto/root_`uname -p`/usr/lib/python2.6/vendor-packages:$PYTHONPATH
cd pkg
make BUILDNUM=145
make repository-metadata

Optional unit tests

cd ..
make test-verbose

My tests result in 366 success and 2 failures no errors from 368 tests

Open a new terminal

pfexec /usr/lib/pkg.depotd -d /export/ips/ -p 11145 --set-property \
publisher.prefix='openindiana.org' repository.name='OpenIndiana Package Repository'

That will start a local repository server on http://yourhost:11145/

Fill the above repository and change it's publisher to openindiana.org

cd /export/builds/pkg/pkg-gate/src/util/publish
cp set-publisher.transforms set-publisher.transforms.org
vi set-publisher.transforms
./set-publisher.sh -b ".*" -d /export/home/openindiana/scratch \
-p http://localhost:11145/ \
file:///export/builds/pkg/pkg-gate/packages/i386/repo/

Add your OpenIndiana repository to the system

pfexec pkg set-publisher -P -O http://localhost:11145/ openindiana.org
pfexec pkg set-publisher --non-sticky opensolaris.org

Before installing the PKG consolidation you might need to uninstall the "entire" package. This package keeps all packages at the same build number. "entire" therefore prevents upgrading pkg from 134 to 145.

pfexec pkg uninstall entire

Finally you can try to update your snv_134 machine with your freshly build PKG consolidation

pfexec pkg install -v ips-incorporation@0.5.11-0.145

Verify the installed package
The two additional changesets were needed to make pkg verify succeed.

pkg verify pkg

There shouldn't be any errors, it should just run and terminate without any message

Check for the correct version

/usr/bin/pkg version
6d238f7fb49f+

Below is obsolete

pfexec pkgsend -s file:///export/ips create-repository \
--set-property publisher.prefix=openindiana.org
pfexec pkgrecv -d file:///export/ips \
-s file:/export/builds/pkg/pkg-gate/packages/i386/repo -r 'pkg:/*'

Now all packages are present in the filebased repository located at /export/ips

Below is quick hack to update the repo to change the publisher to openindiana.org
pfexec gsed -i -e's/pkg5-nightly/openindiana.org/' /export/ips/cfg_cache /export/ips/pkg//

Note: IRC discussion about the above method if you're planning on running/using the system rather than just building the next ISO.

<richlowe>   - build and install pkg from the gate, *using the packages, not bloody tar*
...
<Meths> richlowe: What's the correct way to install PKG with packages replacing that tar line?
<richlowe> configure a publisher pointed at the repo it creates in packages/i386/repo
<richlowe> pkg5-nightly
<richlowe> make opensolaris.org non-sticky, remove 'entire', install them.
storkone	richlowe: I also looked (AGAIN) at pkg(5). As usual it failed. Please look at http://openindiana.pastebin.org/568963 for some output. I didn't included the verify of pkg but that failed on probably every bit. I did build and installed without a hitch.
	richlowe	the 'pkg verify' there is a result of a bug in the native IPS packaging of pkg
	richlowe	in 145
10:07	richlowe	it doesn't set the timestamps on .pycs such as stop them being rebuilt
	richlowe	and because python includes the mtime in the file itself, whenever they are rebuilt they'll fail to verify.
10:08	richlowe	I'd have actually expected more failures due to that, given the roder you ran stuff in.
	richlowe	either don't worry about it, or cherrypick Danek's fix for 16724 back into your b145 workspace
10:09	richlowe	(2005:aeb901f8ed18)
	richlowe	a useful thing to do is: hg log -r in145:tip -k duvall
		alanc needs more caffiene, took too long to figure out that "roder" was a typo for order not some weird reference to something like "the horse you rode in on"
10:10	richlowe	If you care about that bug, you need at least: 2005:aeb901f8ed18 (to fix the bug), and 2006:6d238f7fb49f (to fix the fix to the bug)
  • No labels