packages: tigase-server/derby-db-create.sh (NEW), tigase-server/tigase-serv...
jajcus
jajcus at pld-linux.org
Thu May 5 16:08:42 CEST 2011
Author: jajcus Date: Thu May 5 14:08:42 2011 GMT
Module: packages Tag: HEAD
---- Log message:
- new package
---- Files affected:
packages/tigase-server:
derby-db-create.sh (NONE -> 1.1) (NEW), tigase-server-paths.patch (NONE -> 1.1) (NEW), tigase-server.init (NONE -> 1.1) (NEW), tigase-server.sh (NONE -> 1.1) (NEW), tigase-server.spec (NONE -> 1.1) (NEW), tigase-server.sysconfig (NONE -> 1.1) (NEW), tigase-server.upstart (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/tigase-server/derby-db-create.sh
diff -u /dev/null packages/tigase-server/derby-db-create.sh:1.1
--- /dev/null Thu May 5 16:08:42 2011
+++ packages/tigase-server/derby-db-create.sh Thu May 5 16:08:37 2011
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+cd /usr/share/tigase-server || exit 1
+
+[ "$1" = "" ] && \
+ echo "Give me a path to the location where you want to have the database created" && \
+ exit 1
+
+
+java -Dij.protocol=jdbc:derby: -Dij.database="$1;create=true" \
+ -Dderby.system.home=`pwd` \
+ -cp libs/derby.jar:libs/derbytools.jar:jars/tigase-server.jar \
+ org.apache.derby.tools.ij database/derby-schema-4.sql
+java -Dij.protocol=jdbc:derby: -Dij.database="$1" \
+ -Dderby.system.home=`pwd` \
+ -cp libs/derby.jar:libs/derbytools.jar:jars/tigase-server.jar \
+ org.apache.derby.tools.ij database/derby-schema-4-sp.schema
+java -Dij.protocol=jdbc:derby: -Dij.database="$1" \
+ -Dderby.system.home=`pwd` \
+ -cp libs/derby.jar:libs/derbytools.jar:jars/tigase-server.jar \
+ org.apache.derby.tools.ij database/derby-schema-4-props.sql
+
================================================================
Index: packages/tigase-server/tigase-server-paths.patch
diff -u /dev/null packages/tigase-server/tigase-server-paths.patch:1.1
--- /dev/null Thu May 5 16:08:42 2011
+++ packages/tigase-server/tigase-server-paths.patch Thu May 5 16:08:37 2011
@@ -0,0 +1,25 @@
+diff -dur tigase-server-5.0.0-b2135.orig/etc/init.properties tigase-server-5.0.0-b2135/etc/init.properties
+--- tigase-server-5.0.0-b2135.orig/etc/init.properties 2010-03-20 22:06:06.000000000 +0100
++++ tigase-server-5.0.0-b2135/etc/init.properties 2011-05-05 14:28:15.000000000 +0200
+@@ -2,4 +2,6 @@
+ --admins=admin@$HOST_NAME
+ --virt-hosts = $HOST_NAME
+ --debug=server
+-
++--user-db=derby
++--user-db-uri=jdbc:derby:/var/lib/tigase-server/derby
++--script-dir=/var/lib/tigase-server/scripts
+diff -dur tigase-server-5.0.0-b2135.orig/etc/tigase.conf tigase-server-5.0.0-b2135/etc/tigase.conf
+--- tigase-server-5.0.0-b2135.orig/etc/tigase.conf 2010-03-20 22:06:06.000000000 +0100
++++ tigase-server-5.0.0-b2135/etc/tigase.conf 2011-05-05 14:29:00.000000000 +0200
+@@ -1,8 +1,7 @@
+ ENC="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
+ DRV="-Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver"
+ #GC="-XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:ParallelCMSThreads=2"
+-JAVA_HOME="${JDKPath}"
++#JAVA_HOME="${JDKPath}"
+ CLASSPATH=""
+ JAVA_OPTIONS="${GC} ${ENC} ${DRV} -server -Xms100M -Xmx200M -XX:PermSize=32m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m "
+-TIGASE_CONFIG="etc/tigase.xml"
+-TIGASE_OPTIONS=" --property-file etc/init.properties "
++TIGASE_OPTIONS=" --property-file /etc/tigase-server/init.properties "
================================================================
Index: packages/tigase-server/tigase-server.init
diff -u /dev/null packages/tigase-server/tigase-server.init:1.1
--- /dev/null Thu May 5 16:08:42 2011
+++ packages/tigase-server/tigase-server.init Thu May 5 16:08:37 2011
@@ -0,0 +1,92 @@
+#!/bin/sh
+#
+# tigase-server Starts Tigase XMPP server.
+#
+# chkconfig: 2345 85 15
+# description: Tigase Sever
+#
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+# Get service config
+if [ -f /etc/sysconfig/tigase-server ]; then
+ . /etc/sysconfig/tigase-server
+fi
+
+init_derby_db () {
+ show "Initializing Tigase Server derby database: %s" $1 ; started
+ if setuidgid -s jabber /usr/share/tigase-server/scripts/derby-db-create.sh $1 >/dev/null ; then
+ show "Initializing Tigase Server derby database" ; ok
+ else
+ show "Initializing Tigase Server derby database" ; fail
+ fi
+}
+
+start() {
+ # Check if the service is already running?
+ if [ -f /var/lock/subsys/tigase-server ]; then
+ msg_already_running "tigase-server"
+ return
+ fi
+ if grep -q '^--user-db=derby' /etc/tigase-server/init.properties ; then
+ DB_PATH=$(awk -F'=jdbc:derby:' '/^--user-db-uri=/ { print $2 }' \
+ /etc/tigase-server/init.properties)
+ if [ -n "$DB_PATH" -a ! -e $DB_PATH ] ; then
+ init_derby_db $DB_PATH
+ fi
+ fi
+ msg_starting "tigase-server"
+ emit starting JOB=tigase-server
+ if [ -z "$TIGASE_CONSOLE_LOG" ] ; then
+ TIGASE_CONSOLE_LOG=/var/log/tigase-server/tigase-console.log
+ fi
+ export TIGASE_CONSOLE_LOG
+ daemon --fork /usr/bin/tigase-server
+ if [ "$RETVAL" = 0 ] ; then
+ touch /var/lock/subsys/tigase-server
+ emit --no-wait started JOB=tigase-server
+ fi
+}
+
+stop() {
+ if [ ! -f /var/lock/subsys/tigase-server ]; then
+ msg_not_running "tigase-server"
+ return
+ fi
+ msg_stopping "tigase-server"
+ emit stopping JOB=tigase-server
+ killproc tigase-server
+ emit --no-wait stopped JOB=tigase-server
+ rm -f /var/lock/subsys/tigase-server >/dev/null 2>&1
+}
+
+upstart_controlled
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ reload|force-reload)
+ stop
+ start
+ ;;
+ status)
+ status --pidfile /var/run/tigase-server.pid tigase-server
+ exit $?
+ ;;
+ *)
+ msg_usage "$0 {start|stop|restart|status}"
+ exit 3
+esac
+
+exit $RETVAL
================================================================
Index: packages/tigase-server/tigase-server.sh
diff -u /dev/null packages/tigase-server/tigase-server.sh:1.1
--- /dev/null Thu May 5 16:08:42 2011
+++ packages/tigase-server/tigase-server.sh Thu May 5 16:08:37 2011
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+. /usr/share/java-utils/java-functions
+set_jvm
+TIGASE_HOME=/usr/share/tigase-server
+TIGASE_CONFIG="/etc/tigase-server/tigase.xml"
+. /etc/tigase-server/tigase.conf
+
+TIGASE_JAR=""
+for j in ${TIGASE_HOME}/jars/tigase-server*.jar ; do
+ if [ -f ${j} ] ; then
+ TIGASE_JAR=${j}
+ break
+ fi
+done
+if [ -z ${TIGASE_JAR} ] ; then
+ echo "Couldn't find tigase-server.jar."
+ exit 1
+fi
+
+if [ -z "${TIGASE_CONFIG}" ] ; then
+ DEF_CONF="tigase-server.xml"
+ # Gentoo style config location
+ if [ -f "/etc/conf.d/${DEF_CONF}" ] ; then
+ TIGASE_CONFIG="/etc/conf.d/${DEF_CONF}"
+ elif [ -f "/etc/${DEF_CONF}" ] ; then
+ TIGASE_CONFIG="/etc/${DEF_CONF}"
+ elif [ -f "/etc/tigase/${DEF_CONF}" ] ; then
+ TIGASE_CONFIG="/etc/tigase/${DEF_CONF}"
+ elif [ -f "${TIGASE_HOME}/etc/${DEF_CONF}" ] ; then
+ TIGASE_CONFIG="${TIGASE_HOME}/etc/${DEF_CONF}"
+ else
+ TIGASE_CONFIG="${TIGASE_HOME}/etc/${DEF_CONF}"
+ echo "Can't find server configuration file."
+ echo "Should be set in TIGASE_CONFIG variable"
+ echo "Creating new configuration file in location:"
+ echo "${TIGASE_CONFIG}"
+ fi
+fi
+
+[[ -z "${TIGASE_RUN}" ]] && \
+ TIGASE_RUN="tigase.server.XMPPServer -c ${TIGASE_CONFIG} ${TIGASE_OPTIONS}"
+
+[[ -z "${JAVA}" ]] && JAVA="${JAVA_HOME}/bin/java"
+
+[[ -z "${CLASSPATH}" ]] || CLASSPATH="${CLASSPATH}:"
+
+CLASSPATH="${CLASSPATH}${TIGASE_JAR}"
+
+CLASSPATH="`ls -d ${TIGASE_HOME}/libs/*.jar 2>/dev/null | grep -v wrapper | tr '\n' :`${CLASSPATH}"
+
+TIGASE_CMD="${JAVA} ${JAVA_OPTIONS} -cp ${CLASSPATH} ${TIGASE_RUN}"
+
+if [ `id -u` = 0 ] ; then
+ TIGASE_CMD="/sbin/setuidgid -s jabber $TIGASE_CMD"
+fi
+
+if [ -n "${TIGASE_CONSOLE_LOG}" ] ; then
+ exec >> ${TIGASE_CONSOLE_LOG} 2>&1
+ echo "STARTED Tigase `date`"
+fi
+
+cd "${TIGASE_HOME}"
+
+echo "$$" > /var/run/tigase-server.pid
+exec $TIGASE_CMD
================================================================
Index: packages/tigase-server/tigase-server.spec
diff -u /dev/null packages/tigase-server/tigase-server.spec:1.1
--- /dev/null Thu May 5 16:08:42 2011
+++ packages/tigase-server/tigase-server.spec Thu May 5 16:08:37 2011
@@ -0,0 +1,173 @@
+# $Revision$, $Date$
+#
+# TODO:
+# - build from sources
+#
+Summary: Open Source Jabber/XMPP Server
+Name: tigase-server
+Version: 5.0.0
+%define build_id 2135
+Release: 0.1
+License: GPL v3
+Group: Applications/Communications
+# http://www.tigase.org/content/tigase-downloads?fid=2199
+Source0: %{name}-%{version}-b%{build_id}.tar.gz
+# Source0-md5: e8d305ba1ec59ac7c822c38db6169a7f
+Source1: %{name}.init
+Source2: %{name}.sysconfig
+Source3: %{name}.upstart
+Source4: %{name}.sh
+Source5: derby-db-create.sh
+Patch0: %{name}-paths.patch
+URL: http://www.tigase.org/
+BuildRequires: rpmbuild(macros) >= 1.228
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Provides: group(jabber)
+Provides: user(jabber)
+Requires(post,preun): /sbin/chkconfig
+Requires: jpackage-utils
+Requires: jre
+Requires: rc-scripts
+BuildArch: noarch
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+The Tigase Jabber/XMPP Server is Open Source and Free (GPLv3) Java
+based server.
+
+The server offers complete implementation of the XMPP protocol with a
+long list of extensions. Effcient, reliable and very extensible can be
+easily integrated it with your systems.
+
+The unique features of the Tigase server are:
+
+- High performance and scalability. Was tested with up to 500 000
+ concurrent users connected to a single machine.
+- High reliability. Tries to run as long as possible and tried to
+ automaticaly recover from detected problems.
+- Built-in many self monitoring functions. You can check your systems
+ statistics via XMPP, JMX, HTTP, SNMP or you can automatically receive
+ notifications about possible problems.
+- Scripting support - scripts can be loaded/reloaded at run time. Many
+ scripting languages are supported
+- Virtual hosts support. You can have virtually unlimited virtual
+ hosts which can be added/removed at runtime. You can temporarily block
+ vhost or limit number of users per vhost.
+- There is much more... check the official change log and the project
+ website.
+
+%package upstart
+Summary: Upstart job description for %{name}
+Summary(pl.UTF-8): Opis zadania Upstart dla %{name}
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+Requires: upstart >= 0.6
+
+%description upstart
+Upstart job description for %{name}
+
+%description upstart -l pl.UTF-8
+Opis zadania Upstart dla %{name}
+
+
+%prep
+%setup -q -n %{name}-%{version}-b%{build_id}
+%patch0 -p1
+
+%build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{/etc/{init,sysconfig,rc.d/init.d},%{_bindir}} \
+ $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts \
+ $RPM_BUILD_ROOT/var/lib/%{name}/{derby,scripts} \
+ $RPM_BUILD_ROOT{%{_sysconfdir},/var/log}/%{name}
+
+cp -R certs etc/* $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+ln -s %{_sysconfdir}/%{name}/certs $RPM_BUILD_ROOT%{_datadir}/%{name}
+
+cp -R database jars libs $RPM_BUILD_ROOT%{_datadir}/%{name}
+
+ln -s /var/log/tigase $RPM_BUILD_ROOT%{_datadir}/%{name}/logs
+ln -s logs/derby.log $RPM_BUILD_ROOT%{_datadir}/%{name}
+
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/init/%{name}.conf
+install %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/%{name}
+install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts/derby-db-create.sh
+
+
+touch $RPM_BUILD_ROOT/var/log/%{name}/derby.log
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+%groupadd -g 74 jabber
+%useradd -g jabber -d /home/services/jabber -u 74 -s /bin/false jabber
+
+%post
+if FQDN=$(hostname -f) ; then
+ sed -i -e"s/\\\$HOST_NAME/$FQDN/g" %{_sysconfdir}/%{name}/init.properties
+fi
+/sbin/chkconfig --add %{name}
+%service %{name} restart
+
+%preun
+if [ "$1" = "0" ]; then
+ %service -q %{name} stop
+ /sbin/chkconfig --del %{name}
+fi
+
+%postun
+if [ "$1" = "0" ]; then
+ %userremove jabber
+ %groupremove jabber
+fi
+
+%files
+%defattr(644,root,root,755)
+%doc ChangeLog README package.html docs/api scripts/repo.sh
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/init.properties
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/tigase.conf
+%dir %{_sysconfdir}/%{name}/certs
+%attr(770,root,jabber) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/certs/*
+%attr(755,root,root) %{_bindir}/*
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/certs
+%dir %{_datadir}/%{name}/database
+%{_datadir}/%{name}/database/*
+%{_datadir}/%{name}/derby.log
+%dir %{_datadir}/%{name}/jars
+%{_datadir}/%{name}/jars/*.jar
+%dir %{_datadir}/%{name}/libs
+%{_datadir}/%{name}/libs/*.jar
+%{_datadir}/%{name}/logs
+%dir %{_datadir}/%{name}/scripts
+%attr(755,root,root) %{_datadir}/%{name}/scripts/*.sh
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%dir %attr(775,root,jabber) /var/log/%{name}
+%attr(664,jabber,jabber) /var/log/%{name}/derby.log
+%dir %attr(775,root,jabber) /var/lib/%{name}
+
+%files upstart
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf
+
+%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
+%changelog
+* %{date} PLD Team <feedback at pld-linux.org>
+All persons listed below can be reached at <cvs_login>@pld-linux.org
+
+$Log$
+Revision 1.1 2011/05/05 14:08:37 jajcus
+- new package
+
================================================================
Index: packages/tigase-server/tigase-server.sysconfig
diff -u /dev/null packages/tigase-server/tigase-server.sysconfig:1.1
--- /dev/null Thu May 5 16:08:42 2011
+++ packages/tigase-server/tigase-server.sysconfig Thu May 5 16:08:37 2011
@@ -0,0 +1,4 @@
+# Customized settings for Tigase XMPP server
+
+# Define nice level for Tigase
+#SERVICE_RUN_NICE_LEVEL="+0"
================================================================
Index: packages/tigase-server/tigase-server.upstart
diff -u /dev/null packages/tigase-server/tigase-server.upstart:1.1
--- /dev/null Thu May 5 16:08:42 2011
+++ packages/tigase-server/tigase-server.upstart Thu May 5 16:08:37 2011
@@ -0,0 +1,16 @@
+
+description "Starts the Tigase XMPP server"
+
+start on pld.network-started
+stop on pld.shutdown-started
+
+respawn
+
+console output
+
+script
+ export TIGASE_CONSOLE_LOG=/var/log/tigase-server/tigase-console.log
+ exec /usr/bin/tigase-server
+end script
+
+# vi: ft=upstart
================================================================
More information about the pld-cvs-commit
mailing list