5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License, Version 1.0 only
7 # (the "License"). You may not use this file except in compliance
10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11 # or http://www.opensolaris.org/os/licensing.
12 # See the License for the specific language governing permissions
13 # and limitations under the License.
15 # When distributing Covered Code, include this CDDL HEADER in each
16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17 # If applicable, add the following below this CDDL HEADER, with the
18 # fields enclosed by brackets "[]" replaced with your own identifying
19 # information: Portions Copyright [yyyy] [name of copyright owner]
24 # Copyright 2012 OmniTI Computer Consulting, Inc. All rights reserved.
25 # Use is subject to license terms.
33 PKGURL1
=${PKGURL1-/usr/nightly/packages/i386/nightly/repo.redist}
34 PKGURL2
=${PKGURL2-/ws/oi-userland/i386/repo}
39 set -- `getopt cd:o:p: $*`
43 -c) CLEANUP
=1; shift ;;
44 -d) ZROOT
=$2; shift 2;;
46 -p) PROFILE
=$2; shift 2;;
47 -P) PUBLISHER_OVERRIDE
=1; shift ;;
52 USERLAND_PACKAGES
='gnu-tar bzip2 gzip xz autoconf automake automake-111 automake-115 gnu-make libtool makedepend pkgconf gawk gdb gcc-49 gcc-6 flex swig git vim gnu-findutils libevent2 libidn nghttp2 pcre pkg openssh ntp bash pipe-viewer zsh system/mozilla-nss screen tmux gnu-grep gnu-patch curl wget xproto setuptools cdrtools'
55 if [[ -z "$name" ]]; then
56 echo "$0 [-cP] [-d zfsparent] [-p profile] [-o outputfile] <release_name>"
60 MPR
=`zfs get -H mountpoint $ZROOT | awk '{print $3}'`
61 if [[ -z "$OUT" ]]; then
62 OUT
=$MPR/kayak_
$name.zfs.bz2
65 if zfs list
$ZROOT/$name@entire
> /dev
/null
2>&1; then
66 zfs rollback
-r $ZROOT/$name@entire
67 MP
=`zfs get -H mountpoint $ZROOT/$name | awk '{print $3}'`
69 zfs create
$ZROOT/$name || fail
"zfs create"
70 MP
=`zfs get -H mountpoint $ZROOT/$name | awk '{print $3}'`
71 pkg image-create
-F -p $PUBLISHER=$PKGURL1 $MP || fail
"image-create"
72 pkg
-R $MP change-variant arch
=i386
# FIXME hack
73 pkg
-R $MP set-publisher
--non-sticky -p $PKGURL2
74 pkg
-R $MP install osnet-redistributable developer
/opensolaris
/osnet
$USERLAND_PACKAGES || fail
'install'
75 zfs snapshot
$ZROOT/$name@entire
78 zfs snapshot
$ZROOT/$name@kayak || fail
"snap"
79 snapsize
=`zfs get -Hp -o value logicalreferenced $ZROOT/$name@kayak`
80 zfs send
$ZROOT/$name@kayak | pv
-s $snapsize |
$BZIP2 -9 > $OUT || fail
"send/compress"
81 if [[ "$CLEANUP" -eq "1" ]]; then
82 zfs destroy
$ZROOT/$name@kayak || fail
"could not remove snapshot"
83 zfs destroy
$ZROOT/$name || fail
"could not remove zfs filesystem"