6464# 0.12-rc<i> ~ 0.12.0.0.<i>
6565# ...
6666#
67- # Note that the release candidate must follow immediately after the basic version number (0.12)
67+ # Note that the release candidate must follow immediately after
68+ # the basic version number (0.12)
6869#
6970#
7071# 0.12.1 ~ 0.12.1.0.0
@@ -146,13 +147,21 @@ then
146147 exit 1
147148fi
148149
150+ cleanup ()
151+ {
152+ rm -rf " $PKG_REPO_NAME "
153+ if [[ -n $pkg_manifest ]]; then
154+ rm -f " $pkg_manifest "
155+ fi
156+ }
157+
149158PKG ()
150159{
151160 " $@ "
152161 if [ $? != 0 ]
153162 then
154163 echo Command failed: " $@ "
155- rm -rf " $PKG_REPO_NAME "
164+ cleanup
156165 exit 1
157166 fi
158167}
@@ -169,7 +178,7 @@ eval `pkgsend open ${PKG_NAME}@${version}`
169178if [ $? != 0 ]
170179then
171180 echo " Fatal: could not open ${PKG_NAME} @${version} "
172- rm -rf " $PKR_REPO_NAME "
181+ cleanup
173182 exit 1
174183fi
175184
185194 PKG pkgsend add dir mode=0755 owner=root group=bin path=${dir}
186195done
187196
188- for dir in /var/opengrok /var/opengrok/data /var/opengrok/etc \
189- /var/opengrok/log /var/opengrok/src
197+ PKG pkgsend add dir mode=0755 owner=webservd group=webservd path=/var/opengrok
198+
199+ for dirname in data etc log src
190200do
191- PKG pkgsend add dir mode=0755 owner=webservd group=webservd path=${dir}
201+ #
202+ # In future Solaris 11.x releases the refresh of filesystem/minimal
203+ # will deal with data migration so the SMF service below will become
204+ # unnecessary.
205+ #
206+ PKG pkgsend add dir mode=0755 owner=webservd group=webservd \
207+ path=/var/.migrate/opengrok/${dirname} \
208+ refresh_fmri=svc:/system/filesystem/minimal:default \
209+ reboot-needed=true salvage-from=/var/opengrok/${dirname}
210+ PKG pkgsend add link path=/var/opengrok/${dirname} \
211+ target=../../var/share/opengrok/${dirname}
192212done
193213
194- PKG pkgsend add link path=/usr/opengrok/lib/lib target=../lib
195-
196- PKG pkgsend add file platform/solaris/smf/opengrok.xml mode=0444 owner=root group=sys path=/var/svc/manifest/application/opengrok.xml restart_fmri=svc:/system/manifest-import:default
197- PKG pkgsend add file platform/solaris/smf/svc-opengrok mode=0555 owner=root group=bin path=/lib/svc/method/svc-opengrok
198- PKG pkgsend add file platform/solaris/smf/ogindexd mode=0555 owner=root group=bin path=/usr/opengrok/lib/ogindexd
199-
200- PKG pkgsend add file OpenGrok mode=0555 owner=root group=bin path=/usr/opengrok/bin/OpenGrok
201- PKG pkgsend add file tools/Groups mode=0555 owner=root group=bin path=/usr/opengrok/bin/Groups
202- PKG pkgsend add file tools/ConfigMerge mode=0555 owner=root group=bin path=/usr/opengrok/bin/ConfigMerge
203- PKG pkgsend add file tools/Messages mode=0555 owner=root group=bin path=/usr/opengrok/bin/Messages
214+ # Generate SMF service that will migrate /var/opengrok data to /var/share
215+ PKG pkgsend add file platform/solaris/smf/opengrok-migrate-shared.xml \
216+ mode=0444 owner=root group=sys \
217+ path=/var/svc/manifest/application/opengrok-migrate-shared.xml \
218+ restart_fmri=svc:/system/manifest-import:default
219+ PKG pkgsend add file platform/solaris/smf/opengrok-share-files.sh \
220+ mode=0555 owner=root group=bin path=/lib/svc/method/opengrok-share-files.sh
204221
205- PKG pkgsend add file dist/opengrok.jar mode=0444 owner=root group=bin path=/usr/opengrok/lib/opengrok.jar
206-
207- PKG pkgsend add file logging.properties mode=0444 owner=root group=sys path=/usr/opengrok/doc/logging.properties
208- PKG pkgsend add file README.txt mode=0444 owner=root group=sys path=/usr/opengrok/doc/README.txt
209- PKG pkgsend add file CHANGES.txt mode=0444 owner=root group=sys path=/usr/opengrok/doc/CHANGES.txt
210- PKG pkgsend add file LICENSE.txt mode=0444 owner=root group=sys path=/usr/opengrok/doc/LICENSE.txt
211- PKG pkgsend add file NOTICE.txt mode=0444 owner=root group=sys path=/usr/opengrok/doc/NOTICE.txt
212- PKG pkgsend add file doc/EXAMPLE.txt mode=0444 owner=root group=sys path=/usr/opengrok/doc/EXAMPLE.txt
213- PKG pkgsend add file doc/ctags.config mode=0444 owner=root group=sys path=/usr/opengrok/doc/ctags.config
222+ PKG pkgsend add link path=/usr/opengrok/lib/lib target=../lib
214223
224+ PKG pkgsend add file platform/solaris/smf/opengrok.xml \
225+ mode=0444 owner=root group=sys \
226+ path=/var/svc/manifest/application/opengrok.xml \
227+ restart_fmri=svc:/system/manifest-import:default
228+ PKG pkgsend add file platform/solaris/smf/svc-opengrok \
229+ mode=0555 owner=root group=bin path=/lib/svc/method/svc-opengrok
230+ PKG pkgsend add file platform/solaris/smf/ogindexd \
231+ mode=0555 owner=root group=bin path=/usr/opengrok/lib/ogindexd
232+
233+ PKG pkgsend add file OpenGrok \
234+ mode=0555 owner=root group=bin path=/usr/opengrok/bin/OpenGrok
235+ PKG pkgsend add file tools/Groups \
236+ mode=0555 owner=root group=bin path=/usr/opengrok/bin/Groups
237+ PKG pkgsend add file tools/ConfigMerge \
238+ mode=0555 owner=root group=bin path=/usr/opengrok/bin/ConfigMerge
239+ PKG pkgsend add file tools/Messages \
240+ mode=0555 owner=root group=bin path=/usr/opengrok/bin/Messages
241+
242+ PKG pkgsend add file dist/opengrok.jar \
243+ mode=0444 owner=root group=bin path=/usr/opengrok/lib/opengrok.jar
244+
245+ PKG pkgsend add file logging.properties \
246+ mode=0444 owner=root group=sys path=/usr/opengrok/doc/logging.properties
247+ PKG pkgsend add file README.txt \
248+ mode=0444 owner=root group=sys path=/usr/opengrok/doc/README.txt
249+ PKG pkgsend add file CHANGES.txt \
250+ mode=0444 owner=root group=sys path=/usr/opengrok/doc/CHANGES.txt
251+ PKG pkgsend add file LICENSE.txt \
252+ mode=0444 owner=root group=sys path=/usr/opengrok/doc/LICENSE.txt
253+ PKG pkgsend add file NOTICE.txt \
254+ mode=0444 owner=root group=sys path=/usr/opengrok/doc/NOTICE.txt
255+ PKG pkgsend add file doc/EXAMPLE.txt \
256+ mode=0444 owner=root group=sys path=/usr/opengrok/doc/EXAMPLE.txt
257+ PKG pkgsend add file doc/ctags.config \
258+ mode=0444 owner=root group=sys path=/usr/opengrok/doc/ctags.config
215259
216260
217261# install libs
230274 path=/usr/opengrok/lib/${file}
231275done
232276
233-
234277# install man page
235- PKG pkgsend add file dist/opengrok.1 mode=0444 owner=root group=bin path=/usr/opengrok/man/man1/opengrok.1
278+ PKG pkgsend add file dist/opengrok.1 mode=0444 owner=root group=bin \
279+ path=/usr/opengrok/man/man1/opengrok.1
236280
237281# install default configuration
238282PKG pkgsend add depend fmri=pkg:/runtime/java/jre-8 type=require
239283PKG pkgsend add depend fmri=pkg:/web/java-servlet/tomcat-8 type=require
240284
241- # Following line gets commented by that the developer/tool/exuberant-ctags has been removed from IPS
242- # This has to stay commented until the next release of Solaris will contain the exuberant ctags package
243- # PKG pkgsend add depend fmri=pkg:/developer/tool/exuberant-ctags type=require
285+ PKG pkgsend add file dist/source.war \
286+ mode=0444 owner=webservd group=webservd path=/usr/opengrok/lib/source.war
244287
245- PKG pkgsend add file dist/source.war mode=0444 owner=webservd group=webservd path=/usr/opengrok/lib/source.war
246-
247- PKG pkgsend add set name=description value=" OpenGrok - wicked fast source browser"
288+ PKG pkgsend add set name=pkg.description value=" OpenGrok - complete install"
289+ PKG pkgsend add set name=pkg.summary value=" OpenGrok - wicked fast source browser"
248290PKG pkgsend add set name=pkg.human-version value=" ${human_readable_version} "
249291PKG pkgsend close
250292
293+ PKG pkgrepo -s " $PKG_REPO_NAME " verify
294+
295+ pkg_manifest=$( mktemp /tmp/pkg_manifest.XXXXXX )
296+ if [[ -z $pkg_manifest ]]; then
297+ echo " cannot create temporary file for package manifest"
298+ cleanup
299+ exit 1
300+ fi
301+ PKG pkgrepo -s " $PKG_REPO_NAME " contents ${PKG_NAME} > $pkg_manifest
302+ PKG pkglint $pkg_manifest
251303
252304# checks whether the same file exists and updates it
253305if [ -f " ${PKG_NAME} -${human_readable_version} .p5p" ]
@@ -262,7 +314,7 @@ PKG pkgrecv -s "$PKG_REPO_NAME" -a -d "${outfile}" ${PKG_NAME}
262314# cleanup
263315if [ -d " $PKG_REPO_NAME " ]
264316then
265- rm -rf " $PKG_REPO_NAME "
317+ cleanup
266318fi
267319
268320unset PKG_REPO
0 commit comments