summaryrefslogblamecommitdiff
path: root/www/resin2/pkg-install
blob: 34288f2aff95c186bb22b1b0e5d0814d2ef56b08 (plain) (tree)

































































































                                                                                
#!/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 && \
    ! cmp -s $WRKSRC/conf/resin.conf $PREFIX/etc/resin.xml ; 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

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 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