34 fi
35
36 # Load support functions
37 . ../../lib/functions.sh
38
39 PROG=caiman
40 VER=$RELVER
41 PKG=caiman
42 SUMMARY="$PROG"
43 DESC="$SUMMARY"
44
45 #all of the ips depends should be available from OmniTI repos
46
47 BUILD_DEPENDS_IPS="developer/sunstudio12.1 system/boot/wanboot system/boot/wanboot/internal developer/build/onbld system/library developer/versioning/git developer/swig"
48
49 GIT=git
50
51 PKGSERVER=$PKGSRVR
52 PKGPREFIX=""
53 PREFIX=""
54 TMPDIR=/code
55 BUILDDIR=$PROG-$VER
56 CODEMGR_WS=$TMPDIR/$BUILDDIR/caiman
57
58 CAIMAN_CODEMGR_WS="CODEMGR\_WS=\/code\/$BUILDDIR\/caiman"
59 CAIMAN_PKG_REDIST="PKGPUBLISHER_REDIST=omnios; export PKGPUBLISHER_REDIST;"
60 CAIMAN_PKG_BRANCH="PKGVERS_BRANCH=$PVER; export PKGVERS_BRANCH;"
61
62 sunstudio_location() {
63 logmsg "Ensuring that Sun Studio is where Caiman thinks it is..."
64 if [[ -d /opt/SUNWspro ]]; then
65 logmsg "--- fake SUNWspro directory exists, good"
66 else
67 logmsg "--- making fake SUNWspro directory"
68 logcmd mkdir -p /opt/SUNWspro || \
69 logerr "--- Error: failed to make directory"
70 fi
71 if [[ -L /opt/SUNWspro/sunstudio12.1 ]]; then
72 logmsg "--- sunstudio12.1 link exists, good"
73 else
74 logmsg "--- soft-linking to /opt/sunstudio12.1"
75 logcmd ln -s /opt/sunstudio12.1 /opt/SUNWspro/sunstudio12.1 || \
76 logerr "--- Failed: ln -s /opt/sunstudio12.1/ /opt/SUNWspro"
77 fi
78 }
84 logcmd mkdir -p $TMPDIR/$BUILDDIR || logerr "Failed to create build directory"
85 logmsg "Entering $TMPDIR/$BUILDDIR"
86 pushd $TMPDIR/$BUILDDIR > /dev/null
87 if [[ -d caiman ]]; then
88 logmsg "Removing existing cloned repo"
89 logcmd rm -rf caiman
90 fi
91 logmsg "Cloning OMNI caiman Source..."
92 logcmd $GIT clone anon@src.omniti.com:~omnios/core/caiman || \
93 logerr "Failed to $GIT clone repo"
94 logmsg "Leaving $TMPDIR/$BUILDDIR"
95 popd > /dev/null
96 }
97
98 modify_build_script() {
99 logmsg "Entering $CODEMGR_WS"
100 pushd $CODEMGR_WS > /dev/null
101 logmsg "Changing omnios.sh variables to what we want them to be..."
102 logcmd cp usr/src/tools/env/omnios.sh . || \
103 logerr "Could not copy build environment"
104 logcmd /usr/bin/gsed -i -e 's/^.*export CODEMGR_WS=.*/export '$CAIMAN_CODEMGR_WS'/g;' omnios.sh || \
105 logerr "/usr/bin/gsed failed"
106 logcmd `echo $CAIMAN_PKG_REDIST >> omnios.sh`
107 logcmd `echo $CAIMAN_PKG_BRANCH >> omnios.sh`
108 logmsg "Leaving $CODEMGR_WS"
109 popd > /dev/null
110
111 }
112
113 build_pkgs() {
114 logmsg "Entering $CODEMGR_WS"
115 pushd $CODEMGR_WS > /dev/null
116 logmsg "Building caiman pkgs..."
117 logcmd /opt/onbld/bin/nightly omnios.sh || logerr "Nighly failed"
118 logmsg "Leaving $CODEMGR_WS"
119 popd > /dev/null
120 }
121
122 push_pkgs() {
123 logmsg "Entering $CODEMGR_WS"
124 pushd $CODEMGR_WS > /dev/null
125 logmsg "Pushing caiman pkgs to $PKGSERVER..."
126 logcmd pkgrecv -s packages/i386/nightly-nd/repo.redist/ -d $PKGSERVER 'pkg:/*'
127 logmsg "Leaving $CODEMGR_WS"
128 popd > /dev/null
129 }
130
131 init
132 prep_build
133 sunstudio_location
134 clone_source
135 modify_build_script
136 build_pkgs
137 push_pkgs
138 clean_up
|
34 fi
35
36 # Load support functions
37 . ../../lib/functions.sh
38
39 PROG=caiman
40 VER=$RELVER
41 PKG=caiman
42 SUMMARY="$PROG"
43 DESC="$SUMMARY"
44
45 #all of the ips depends should be available from OmniTI repos
46
47 BUILD_DEPENDS_IPS="developer/sunstudio12.1 system/boot/wanboot system/boot/wanboot/internal developer/build/onbld system/library developer/versioning/git developer/swig"
48
49 GIT=git
50
51 PKGSERVER=$PKGSRVR
52 PKGPREFIX=""
53 PREFIX=""
54 BUILDDIR=$PROG-$VER
55 CODEMGR_WS=$TMPDIR/$BUILDDIR/caiman
56 ON_CLOSED_BINS="$CODEMGR_WS/closed"
57 export ON_CLOSED_BINS
58
59 CAIMAN_CODEMGR_SEDSTRING="s/CODEMGR_WS=.*/CODEMGR_WS=`echo $CODEMGR_WS | sed 's/\//\\\\\//g'`/g"
60 CAIMAN_PKG_REDIST="PKGPUBLISHER_REDIST=omnios; export PKGPUBLISHER_REDIST;"
61 CAIMAN_PKG_BRANCH="PKGVERS_BRANCH=$PVER; export PKGVERS_BRANCH;"
62
63 sunstudio_location() {
64 logmsg "Ensuring that Sun Studio is where Caiman thinks it is..."
65 if [[ -d /opt/SUNWspro ]]; then
66 logmsg "--- fake SUNWspro directory exists, good"
67 else
68 logmsg "--- making fake SUNWspro directory"
69 logcmd mkdir -p /opt/SUNWspro || \
70 logerr "--- Error: failed to make directory"
71 fi
72 if [[ -L /opt/SUNWspro/sunstudio12.1 ]]; then
73 logmsg "--- sunstudio12.1 link exists, good"
74 else
75 logmsg "--- soft-linking to /opt/sunstudio12.1"
76 logcmd ln -s /opt/sunstudio12.1 /opt/SUNWspro/sunstudio12.1 || \
77 logerr "--- Failed: ln -s /opt/sunstudio12.1/ /opt/SUNWspro"
78 fi
79 }
85 logcmd mkdir -p $TMPDIR/$BUILDDIR || logerr "Failed to create build directory"
86 logmsg "Entering $TMPDIR/$BUILDDIR"
87 pushd $TMPDIR/$BUILDDIR > /dev/null
88 if [[ -d caiman ]]; then
89 logmsg "Removing existing cloned repo"
90 logcmd rm -rf caiman
91 fi
92 logmsg "Cloning OMNI caiman Source..."
93 logcmd $GIT clone anon@src.omniti.com:~omnios/core/caiman || \
94 logerr "Failed to $GIT clone repo"
95 logmsg "Leaving $TMPDIR/$BUILDDIR"
96 popd > /dev/null
97 }
98
99 modify_build_script() {
100 logmsg "Entering $CODEMGR_WS"
101 pushd $CODEMGR_WS > /dev/null
102 logmsg "Changing omnios.sh variables to what we want them to be..."
103 logcmd cp usr/src/tools/env/omnios.sh . || \
104 logerr "Could not copy build environment"
105 logcmd /usr/bin/sed -I -e $CAIMAN_CODEMGR_SEDSTRING omnios.sh || \
106 logerr "/usr/bin/sed failed"
107 logcmd `echo $CAIMAN_PKG_REDIST >> omnios.sh`
108 logcmd `echo $CAIMAN_PKG_BRANCH >> omnios.sh`
109 logmsg "Leaving $CODEMGR_WS"
110 popd > /dev/null
111
112 }
113
114 closed_bins() {
115 logmsg "Entering $CODEMGR_WS"
116 pushd $CODEMGR_WS > /dev/null
117 logmsg "Getting Closed Source Bins..."
118 for bin in on-closed-bins.i386.tar.bz2 on-closed-bins-nd.i386.tar.bz2 ; do
119 if [[ ! -f $bin ]]; then
120 logcmd curl -s -O http://mirrors.omniti.com/illumos-gate/$bin
121 fi
122 logcmd tar xpf $bin
123 done
124 logmsg "Leaving $CODEMGR_WS"
125 popd > /dev/null
126 }
127
128 build_pkgs() {
129 logmsg "Entering $CODEMGR_WS"
130 pushd $CODEMGR_WS > /dev/null
131 logmsg "Building caiman pkgs..."
132 logcmd /opt/onbld/bin/nightly omnios.sh || logerr "Nightly failed"
133 logmsg "Leaving $CODEMGR_WS"
134 popd > /dev/null
135 }
136
137 push_pkgs() {
138 logmsg "Entering $CODEMGR_WS"
139 pushd $CODEMGR_WS > /dev/null
140 logmsg "Pushing caiman pkgs to $PKGSERVER..."
141 logcmd pkgrecv -s packages/i386/nightly-nd/repo.redist/ -d $PKGSERVER 'pkg:/*'
142 logmsg "Leaving $CODEMGR_WS"
143 popd > /dev/null
144 }
145
146 init
147 prep_build
148 sunstudio_location
149 clone_source
150 modify_build_script
151 closed_bins
152 build_pkgs
153 push_pkgs
154 clean_up
|