Skip to content

Commit d3f4f9e

Browse files
vitezslav batrla - Sun Microsystems - Prague Czech Republictrondn
authored andcommitted
Bug #15394: improve IPS package and SMF for OpenSolaris
1 parent 6e30df0 commit d3f4f9e

File tree

7 files changed

+354
-181
lines changed

7 files changed

+354
-181
lines changed

platform/solaris/ips/create.sh

100644100755
Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
#
2020
# CDDL HEADER END
2121
#
22-
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
22+
# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
2323
# Use is subject to license terms.
2424

2525
version=`grep 'name="version"' build.xml | cut -f 4 -d \"`
26-
revision=`hg log --template '{rev}' -r tip`
26+
revision=0.`uname -v | perl -ne 's/(\d+)/print "$1\n"/e'`
2727

2828
PKGSEND() {
2929
pkgsend "$@"
@@ -42,47 +42,49 @@ then
4242
exit 1
4343
fi
4444

45-
for dir in /etc/opengrok /usr/opengrok /usr/opengrok/bin /usr/opengrok/lib \
46-
/usr/opengrok/man /usr/opengrok/man/sman1
45+
for dir in /etc/opengrok /usr/opengrok /usr/opengrok/man /usr/opengrok/man/man1\
46+
/usr/opengrok/doc
4747
do
4848
PKGSEND add dir mode=0755 owner=root group=sys path=${dir}
4949
done
5050

51+
for dir in /usr/opengrok/bin /usr/opengrok/lib
52+
do
53+
PKGSEND add dir mode=0755 owner=root group=bin path=${dir}
54+
done
55+
5156
for dir in /var/opengrok /var/opengrok/data /var/opengrok/etc \
5257
/var/opengrok/log /var/opengrok/source
5358
do
54-
PKGSEND add dir mode=0755 owner=noaccess group=noaccess path=${dir}
59+
PKGSEND add dir mode=0755 owner=webservd group=webservd path=${dir}
5560
done
5661

5762
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
58-
PKGSEND add file platform/solaris/smf/opengrok mode=0555 owner=bin group=bin path=/lib/svc/method/opengrok
59-
PKGSEND add file dist/opengrok.jar mode=0555 owner=bin group=bin path=/usr/opengrok/bin/opengrok.jar
60-
PKGSEND add file logging.properties mode=0555 owner=bin group=bin path=/usr/opengrok/bin/logging.properties
61-
PKGSEND add file OpenGrok mode=0777 owner=bin group=bin path=/usr/opengrok/bin/OpenGrok
62-
PKGSEND add link path=/usr/opengrok/bin/lib target=../lib
63+
PKGSEND add file platform/solaris/smf/svc-opengrok mode=0555 owner=root group=bin path=/lib/svc/method/svc-opengrok
64+
PKGSEND add file platform/solaris/smf/ogindexd mode=0555 owner=root group=bin path=/usr/opengrok/lib/ogindexd
65+
PKGSEND add file dist/opengrok.jar mode=0444 owner=root group=bin path=/usr/opengrok/lib/opengrok.jar
66+
PKGSEND add file logging.properties mode=0444 owner=root group=sys path=/etc/opengrok/logging.properties
67+
PKGSEND add file README.txt mode=0444 owner=root group=sys path=/usr/opengrok/doc/README.txt
68+
PKGSEND add file doc/EXAMPLE.txt mode=0444 owner=root group=sys path=/usr/opengrok/doc/EXAMPLE.txt
6369

6470
# install libs
65-
for file in bcel-5.2.jar jakarta-oro-2.0.8.jar \
71+
for file in ant.jar bcel-5.2.jar jakarta-oro-2.0.8.jar \
6672
lucene-core-3.0.1.jar lucene-spellchecker-3.0.1.jar \
6773
org.apache.commons.jrcs.diff.jar org.apache.commons.jrcs.rcs.jar \
6874
swing-layout-0.9.jar
6975
do
70-
PKGSEND add file dist/lib/${file} mode=0444 owner=bin group=bin path=/usr/opengrok/lib/${file}
76+
PKGSEND add file dist/lib/${file} mode=0444 owner=root group=bin path=/usr/opengrok/lib/${file}
7177
done
7278

7379

7480
# install man page
75-
PKGSEND add file dist/opengrok.1 mode=0444 owner=bin group=bin path=/usr/opengrok/man/sman1/opengrok.1
81+
PKGSEND add file dist/opengrok.1 mode=0444 owner=root group=bin path=/usr/opengrok/man/man1/opengrok.1
7682

7783
# install default configuration
78-
PKGSEND add file platform/solaris/default/opengrok.properties mode=0444 owner=root group=sys path=/var/opengrok/etc/opengrok.properties preserve=renameold
79-
PKGSEND add link path=/usr/opengrok/bin/lib/ant.jar target=/usr/share/lib/ant/ant.jar
80-
PKGSEND add link path=/usr/opengrok/bin/lib/jmxremote_optional.jar target=/usr/share/lib/jdmk/jmxremote_optional.jar
81-
PKGSEND add depend fmri=pkg:/SUNWjdmk-base type=require
82-
PKGSEND add depend fmri=pkg:/SUNWant type=require
83-
PKGSEND add depend fmri=pkg:/SUNWj6rt type=require
84-
PKGSEND add depend fmri=pkg:/SUNWtcat type=require
85-
PKGSEND add file dist/source.war mode=0444 owner=root group=bin path=/var/apache/tomcat/webapps/source.war
84+
PKGSEND add depend fmri=pkg:/runtime/java type=require
85+
PKGSEND add depend fmri=pkg:/web/java-servlet/tomcat type=require
86+
PKGSEND add depend fmri=pkg:/developer/tool/exuberant-ctags type=require
87+
PKGSEND add file dist/source.war mode=0444 owner=webservd group=webservd path=/var/tomcat6/webapps/source.war
8688

8789
PKGSEND add set name=description value="OpenGrok - Wicked fast source browser"
8890
PKGSEND close

platform/solaris/pkgdef/depend

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
P SUNWcsr Core Solaris, (Root)
2+
P SUNWcsu Core Solaris, (Root)
3+
P SUNWcsd Core Solaris Devices
4+
P SUNWcsl Core Solaris, (Shared Libs)
5+
P SUNWtcatu Tomcat Servlet/JSP Container
6+
P exuberant-ctags The Exuberant Ctags Utility

platform/solaris/pkgdef/prototype

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -23,49 +23,46 @@
2323
#
2424

2525
i pkginfo
26+
i depend
2627

2728
# Create directory structure
2829
d none etc 0755 root sys
29-
d none etc/opengrok 0755 noaccess noaccess
30+
d none etc/opengrok 0755 root sys
3031
d none lib 0755 root bin
3132
d none lib/svc 755 root bin
3233
d none lib/svc/method 755 root bin
3334
d none usr 0755 root sys
34-
d none usr/opengrok 0755 bin bin
35-
d none usr/opengrok/bin 0755 bin bin
36-
d none usr/opengrok/doc 0755 bin bin
37-
d none usr/opengrok/lib 0755 bin bin
38-
d none usr/opengrok/man 0755 bin bin
39-
d none usr/opengrok/man/sman1 0755 bin bin
40-
d none usr/opengrok/webapp 0755 bin bin
35+
d none usr/opengrok 0755 root sys
36+
d none usr/opengrok/bin 0755 root bin
37+
d none usr/opengrok/doc 0755 root sys
38+
d none usr/opengrok/lib 0755 root bin
39+
d none usr/opengrok/man 0755 root sys
40+
d none usr/opengrok/man/man1 0755 root sys
4141
d none var 0755 root sys
42-
d none var/opengrok 0755 noaccess noaccess
43-
d none var/opengrok/data 0755 noaccess noaccess
44-
d none var/opengrok/etc 0755 noaccess noaccess
45-
d none var/opengrok/log 0755 noaccess noaccess
46-
d none var/opengrok/source 0755 noaccess noaccess
42+
d none var/opengrok 0755 webservd webservd
43+
d none var/opengrok/data 0755 webservd webservd
44+
d none var/opengrok/etc 0755 webservd webservd
45+
d none var/opengrok/log 0755 webservd webservd
46+
d none var/opengrok/source 0755 webservd webservd
4747
d none var/svc 755 root sys
4848
d none var/svc/manifest 755 root sys
4949
d none var/svc/manifest/application 755 root sys
5050

5151
f manifest var/svc/manifest/application/opengrok.xml=platform/solaris/smf/opengrok.xml 444 root sys
52-
f none etc/opengrok/opengrok.properties=platform/solaris/default/opengrok.properties 0644 root sys
53-
f none lib/svc/method/opengrok=platform/solaris/smf/opengrok 555 root bin
54-
f none usr/opengrok/bin/OpenGrok=OpenGrok 0777 bin bin
55-
f none usr/opengrok/bin/opengrok.jar=dist/opengrok.jar 0555 bin bin
56-
f none usr/opengrok/bin/logging.properties=logging.properties 0444 bin bin
57-
f none usr/opengrok/doc/README.txt=README.txt 0444 bin bin
58-
f none usr/opengrok/doc/EXAMPLE.txt=doc/EXAMPLE.txt 0444 bin bin
59-
f none usr/opengrok/lib/ant.jar=dist/lib/ant.jar 0444 bin bin
60-
f none usr/opengrok/lib/bcel-5.2.jar=lib/bcel-5.2.jar 0444 bin bin
61-
f none usr/opengrok/lib/jakarta-oro-2.0.8.jar=lib/jakarta-oro-2.0.8.jar 0444 bin bin
62-
f none usr/opengrok/lib/jmxremote_optional.jar=lib/jmxremote_optional.jar 0444 bin bin
63-
f none usr/opengrok/lib/lucene-core-3.0.1.jar=lib/lucene-core-3.0.1.jar 0444 bin bin
64-
f none usr/opengrok/lib/lucene-spellchecker-3.0.1.jar=lib/lucene-spellchecker-3.0.1.jar 0444 bin bin
65-
f none usr/opengrok/lib/org.apache.commons.jrcs.diff.jar=lib/org.apache.commons.jrcs.diff.jar 0444 bin bin
66-
f none usr/opengrok/lib/org.apache.commons.jrcs.rcs.jar=lib/org.apache.commons.jrcs.rcs.jar 0444 bin bin
67-
f none usr/opengrok/lib/swing-layout-0.9.jar=lib/swing-layout-0.9.jar 0444 bin bin
68-
f none usr/opengrok/man/sman1/opengrok.1=dist/opengrok.1 0444 bin bin
69-
f none usr/opengrok/webapp/source.war=dist/source.war 0444 bin bin
70-
s none usr/opengrok/bin/source.war=../webapp/source.war
71-
s none usr/opengrok/bin/lib=../lib
52+
f none etc/opengrok/logging.properties=logging.properties 0444 root sys
53+
f none lib/svc/method/svc-opengrok=platform/solaris/smf/svc-opengrok 555 root bin
54+
f none usr/opengrok/doc/README.txt=README.txt 0444 root sys
55+
f none usr/opengrok/doc/EXAMPLE.txt=doc/EXAMPLE.txt 0444 root sys
56+
f none usr/opengrok/lib/opengrok.jar=dist/opengrok.jar 0444 root bin
57+
f none usr/opengrok/lib/ant.jar=dist/lib/ant.jar 0444 root bin
58+
f none usr/opengrok/lib/bcel-5.2.jar=lib/bcel-5.2.jar 0444 root bin
59+
f none usr/opengrok/lib/jakarta-oro-2.0.8.jar=lib/jakarta-oro-2.0.8.jar 0444 root bin
60+
f none usr/opengrok/lib/jmxremote_optional.jar=lib/jmxremote_optional.jar 0444 root bin
61+
f none usr/opengrok/lib/lucene-core-3.0.1.jar=lib/lucene-core-3.0.1.jar 0444 root bin
62+
f none usr/opengrok/lib/lucene-spellchecker-3.0.1.jar=lib/lucene-spellchecker-3.0.1.jar 0444 root bin
63+
f none usr/opengrok/lib/org.apache.commons.jrcs.diff.jar=lib/org.apache.commons.jrcs.diff.jar 0444 root bin
64+
f none usr/opengrok/lib/org.apache.commons.jrcs.rcs.jar=lib/org.apache.commons.jrcs.rcs.jar 0444 root bin
65+
f none usr/opengrok/lib/swing-layout-0.9.jar=lib/swing-layout-0.9.jar 0444 root bin
66+
f none usr/opengrok/lib/ogindexd=platform/solaris/smf/ogindexd 0555 root bin
67+
f none usr/opengrok/man/man1/opengrok.1=dist/opengrok.1 0444 root bin
68+
f none var/tomcat6/webapps/source.war=dist/source.war 0444 webservd webservd

platform/solaris/smf/ogindexd

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
#!/sbin/sh
2+
#
3+
# CDDL HEADER START
4+
#
5+
# The contents of this file are subject to the terms of the
6+
# Common Development and Distribution License (the "License").
7+
# You may not use this file except in compliance with the License.
8+
#
9+
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10+
# or http://www.opensolaris.org/os/licensing.
11+
# See the License for the specific language governing permissions
12+
# and limitations under the License.
13+
#
14+
# When distributing Covered Code, include this CDDL HEADER in each
15+
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16+
# If applicable, add the following below this CDDL HEADER, with the
17+
# fields enclosed by brackets "[]" replaced with your own identifying
18+
# information: Portions Copyright [yyyy] [name of copyright owner]
19+
#
20+
# CDDL HEADER END
21+
#
22+
# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
23+
# Use is subject to license terms.
24+
#
25+
26+
PATH="/usr/bin:/bin"
27+
28+
getprop() {
29+
svcprop -p opengrok/$1 opengrok | tr -d '\\' | (
30+
read value
31+
if [ "x$value" != 'x""' ]; then
32+
printf "%s" "$value"
33+
fi
34+
)
35+
}
36+
37+
read_config() {
38+
SRCDIR=`getprop srcdir`
39+
40+
if [ ! -d "$SRCDIR" ]; then
41+
echo "FATAL: srcdir $SRCDIR doesn't exist" >&2
42+
exit $SMF_EXIT_ERR_CONFIG
43+
fi
44+
45+
JAVA_OPTS="-Xmx`getprop maxmemory`m"
46+
JAVA_EXTRA_PARAMS=`getprop java_extra_params`
47+
DATADIR=`getprop cachedir`
48+
OG_DEF_PARAMS=`getprop default_params`
49+
OG_EXTRA_PARAMS=`getprop extra_params`
50+
READONLY_CFG_FILE=`getprop readonly_config`
51+
READ_XML_CONF=""
52+
VERBOSE=""
53+
if [ "`getprop verbose`" != "false" ]; then
54+
VERBOSE="-v"
55+
fi
56+
57+
if [ -r "$READONLY_CFG_FILE" ]; then
58+
READ_XML_CONF="-R $a"
59+
fi
60+
}
61+
62+
JAVA=/usr/jdk/latest/bin/java
63+
LIBDIR=/usr/opengrok/lib
64+
LOCALSTATEDIR="/var/opengrok"
65+
WEBAPP_CONFIG_ADDRESS="-U localhost:2424"
66+
XML_CONFIGURATION="$LOCALSTATEDIR/etc/configuration.xml"
67+
CLASSPATH=$LIBDIR/ant.jar:$LIBDIR/bcel-5.2.jar:$LIBDIR/jakarta-oro-2.0.8.jar:$LIBDIR/lucene-core-3.0.1.jar:$LIBDIR/lucene-spellchecker-3.0.1.jar:$LIBDIR/org.apache.commons.jrcs.diff.jar:$LIBDIR/org.apache.commons.jrcs.rcs.jar:$LIBDIR/swing-layout-0.9.jar:$LIBDIR/opengrok.jar
68+
69+
xx() {
70+
echo "$@"
71+
"$@"
72+
}
73+
74+
runjava() {
75+
xx ${JAVA} ${JAVA_OPTS} ${JAVA_EXTRA_PARAMS} \
76+
-cp ${CLASSPATH} \
77+
org.opensolaris.opengrok.index.Indexer \
78+
${OG_DEF_PARAMS} ${OG_EXTRA_PARAMS} \
79+
${READ_XML_CONF} \
80+
-W ${XML_CONFIGURATION} \
81+
${WEBAPP_CONFIG_ADDRESS} \
82+
${VERBOSE} \
83+
-s ${SRCDIR} -d ${DATADIR} "$@"
84+
}
85+
86+
# Read configuration for the first time.
87+
read_config || exit $?
88+
89+
pipe=/var/opengrok/.refresh.pipe
90+
if [ ! -p "$pipe" ]; then
91+
mkfifo "$pipe" || exit 1
92+
fi
93+
if [ ! -f "$XML_CONFIGURATION" ]; then
94+
# This is likely our first run. Let's do the initial indexing.
95+
runjava -H || exit 1
96+
fi
97+
while read line; do
98+
# Re-read configuration.
99+
read_config || exit $?
100+
runjava -H || exit 1
101+
done < "$pipe" 5> "$pipe"
102+

platform/solaris/smf/opengrok

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)