summaryrefslogtreecommitdiff
path: root/www/resin3/pkg-install
blob: c4757bf6c24e32dca15da701ebc061120f0c36f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/bin/sh -e
#
# Checks if the 'www' user and group exist. If they don't, then
# an attempt is made to create both.
#
# Borrowed to the jakarta-tomcat port

# Make sure we're called during the 'make install' process
if [ "$2" != "POST-INSTALL" ]; then
    exit 0
fi

# See if the group already exists
if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then

	# If not, try to create it
	if pw groupadd ${GROUP} -g ${GID}; then
		echo "Added group \"${GROUP}\"."
	else
		echo "Adding group \"${GROUP}\" failed..."
		exit 1
	fi
fi

# See if the user already exists
if ! pw usershow "${RUNASUSER}" 2>/dev/null 1>&2; then

	# If not, try to create it
	if pw useradd ${RUNASUSER} -u ${RUNASUID} -g ${GROUP} -h - \
		-s "/sbin/nologin" -d "/nonexistent" \
		-c "World Wide Web Owner"; \
	then
		echo "Added user \"${RUNASUSER}\"."
	else
		echo "Adding user \"${RUNASUSER}\" failed..."
		exit 1
	fi
fi


################################################################################

sed -i -e "s|%%PORT%%|$PORT|g" $WRKSRC/conf/resin.conf

# Install config file only if none is already there
if test -e $PREFIX/etc/resin.xml && ! diff $WRKSRC/conf/resin.conf $PREFIX/etc/resin.xml >/dev/null; then
    cat <<EOF

********************************************************************************
Kept $PREFIX/etc/resin.xml intact from previous installation, please diff
against resin.xml-dist
********************************************************************************

EOF
else
    install $WRKSRC/conf/resin.conf $PREFIX/etc/resin.xml
    echo Installed $PREFIX/etc/resin.xml
fi

# Install new config file with '-dist' appended
install $WRKSRC/conf/resin.conf $PREFIX/etc/resin.xml-dist
echo Installed $PREFIX/etc/resin.xml-dist

install $WRKSRC/conf/app-default.xml $PREFIX/etc/
echo Installed $PREFIX/etc/app-default.xml

sed -i -e "s|%%PREFIX%%|$PREFIX|g" $WRKSRC/bin/httpd.sh
sed -i -e "s|%%PKGNAMEPREFIX%%|$PKGNAMEPREFIX|g" $WRKSRC/bin/httpd.sh
sed -i -e "s|%%PORTNAME%%|$PORTNAME|g" $WRKSRC/bin/httpd.sh
sed -i -e "s|%%JAVA_HOME%%|$JAVA_HOME|g" $WRKSRC/bin/httpd.sh
install $WRKSRC/bin/httpd.sh $PREFIX/etc/rc.d/resin.sh
echo Installed $PREFIX/etc/rc.d/resin.sh

install $WRKSRC/bin/wrapper.pl $PREFIX/sbin/resinctl
echo Installed $PREFIX/sbin/resinctl

list()
{
    for dir in doc lib libexec webapps xsl ; do
        ( cd $WRKSRC ; find $dir )
    done
}

echo Installing in $PREFIX/resin
list | xargs tar -C $WRKSRC -cf- | tar -C $APP_HOME -xpf-

chown -R www:www $PREFIX/resin

display_message()
{
    PORT_EXPR="s#%%PORT%%#:$PORT#g"
    PREFIX_EXPR="s#%%PREFIX%%#$PREFIX#g"
    sed -e $PORT_EXPR -e $PREFIX_EXPR
}

echo
display_message < pkg-message
echo

exit 0