rpms/jabberd/devel jabberd, NONE, 1.1 jabberd.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Adrian Reber (adrian) fedora-extras-commits at redhat.com
Mon Mar 7 08:23:37 UTC 2005


Author: adrian

Update of /cvs/extras/rpms/jabberd/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24980/devel

Modified Files:
	.cvsignore sources 
Added Files:
	jabberd jabberd.spec 
Log Message:
auto-import jabberd-2.0-0.s6.3 on branch devel from jabberd-2.0-0.s6.3.src.rpm


--- NEW FILE jabberd ---
#!/bin/bash
#
# Based on script from Raymond 25DEC2003 support at bigriverinfotech.com
# Changed by Adrian Reber <adrian at lisas.de>
#
# processname: jabberd2
# description: jabberd2 is the next generation of the jabberd server
# chkconfig: 2345 85 15
#

if [ -f /etc/init.d/functions ]; then
	. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
	. /etc/rc.d/init.d/functions
else
	echo "jabberd2: unable to locate functions lib. Cannot continue."
	exit -1
fi
#
progs="router resolver sm c2s s2s"
progsPath="__BINDIR__"
confPath="__ETCDIR__"
pidPath="__PIDDIR__"
retval=0
#
ReqBins ( ) {
	for prog in ${progs}; do
		if [ ! -x ${progsPath}/${prog} ]; then
			echo "jabberd2 binary [${prog}] not found."
			echo "Cannot continue."
			return -1
		fi
	done
	return 0
}
#
ReqConfs ( ) {
	for prog in ${progs}; do
		if [ ! -f ${confPath}/${prog}.xml ]; then
			echo "jabberd2 configuration [${prog}.xml] not found."
			echo "Cannot continue."
			return -1
		fi
	done
	return 0
}
#
ReqDirs ( ) {
	if [ ! -d ${pidPath} ]; then
		echo "jabberd2 PID directory not found. Cannot continue."
		return -1
	fi
	return 0
}
#
Start ( ) {
	for req in ReqBins ReqConfs ReqDirs; do
		${req}
		retval=$?
		[ ${retval} == 0 ] || return ${retval}
	done
	echo "Initializing jabberd2 processes ..."
	for prog in ${progs}; do
		if [ $( pidof -s ${prog} ) ]; then
			echo "process [${prog}] already running"
			continue
		fi
		echo -n "Starting ${prog}: "
		rm -f /var/lock/subsys/${prog}
		rm -f ${pidPath}/${prog}.pid
		args="-c ${confPath}/${prog}.xml"
		daemon --user jabber "${progsPath}/${prog} ${args} & 2> /dev/null"
		retval=$?
		echo
		if [ ${retval} == 0 ]; then
			touch /var/lock/subsys/${prog}
		else
			let retval=-1
			break
		fi
	done
	return ${retval}
}
#
Stop ( ) {
	echo "Terminating jabberd2 processes ..."
	for prog in ${progs}; do
		echo -n "Stopping ${prog}: "
		killproc ${prog}
		retval=$?
		if [ ${retval} == 0 ]; then
			rm -f /var/lock/subsys/${prog}
			rm -f ${pidPath}/${prog}.pid
		fi
		echo
		sleep 1
	done
	return ${retval}
}
#
reload()
{
	echo "Reloading jabberd2 processes ..."
	for prog in ${progs}; do
		killproc ${prog} -HUP
		retval=$?
	done
	return ${retval}
}

rhstatus()
{
        for prog in ${progs}; do
                status ${prog}
        done
}

case "$1" in
	start)
		Start
		;;
	stop)
		Stop
		;;
	reload)
		reload
		;;
	status)
		rhstatus
		;;
	restart)
		Stop
		Start
		;;
	condrestart)
        	for prog in ${progs}; do
			if [ ! -f /var/lock/subsys/${prog} ]; then
				exit -1
			fi
		done
		Stop
		sleep 3
		Start
		;;
	*)
		echo "Usage: $0 {start|stop|restart|condrestart|reload|status}"
		let retval=-1
esac
exit ${retval}


--- NEW FILE jabberd.spec ---
Summary:        OpenSource server implementation of the Jabber protocols
Name:           jabberd
Version:        2.0
Release:        0.s6.3
Epoch:          0
License:        GPL
Group:          System Environment/Daemons
Source0:        http://files.jabberstudio.org/jabberd2/jabberd-2.0s6.tar.gz
Source1:        jabberd
URL:            http://jabberd.jabberstudio.org/2/
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  openssl-devel, db4-devel, libidn-devel, pam-devel
Requires(post): openssl

%description
The jabberd project aims to provide an open-source server implementation of the
Jabber protocols for instant messaging and XML routing. The goal of this
project is to provide a scalable, reliable, efficient and extensible server
that provides a complete set of features and is up to date with the latest
protocol revisions.
jabberd 2 is the next generation of the jabberd server. It has been rewritten
from the ground up to be scalable, architecturally sound, and to support the
latest protocol extensions coming out of the JSF.

%prep
%setup -q -n %{name}-%{version}s6

%build
%define _sysconfdir /etc/jabberd
%define sysconfdir /etc/jabberd
%{__perl} -pi -e 's,sysconfdir=\"\$sysconfdir\/jabberd\",#sysconfdir=\"\$sysconfdir\/jabberd\",g' configure
%configure --enable-db --disable-mysql --enable-pam
%{__make} %{?_smp_mflags}

%install
%{__rm} -rf $RPM_BUILD_ROOT
%makeinstall
%define _sysconfdir /etc
%{__mkdir_p} $RPM_BUILD_ROOT/%{_var}/jabberd/{log,pid,db}
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/%{name}
%{__install} -m 644 tools/db-setup.mysql $RPM_BUILD_ROOT%{_datadir}/%{name}
%{__install} -m 644 tools/db-setup.pgsql $RPM_BUILD_ROOT%{_datadir}/%{name}
%{__install} -m 644 tools/migrate.pl $RPM_BUILD_ROOT%{_datadir}/%{name}
%{__install} -m 644 tools/pipe-auth.pl $RPM_BUILD_ROOT%{_datadir}/%{name}
%{__mkdir_p} $RPM_BUILD_ROOT%{_initrddir}
%{__install} -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/%{name}

%{__perl} -pi -e 's,__BINDIR__,%{_bindir},g; \
                  s,__ETCDIR__,%{sysconfdir},g; \
                  s,__PIDDIR__,%{_localstatedir}/jabberd/pid,g;' \
          $RPM_BUILD_ROOT%{_initrddir}/%{name}

%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/
%{__cat} >> $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/jabberd << END
#%PAM-1.0
auth       required     pam_nologin.so
auth       required     pam_stack.so service=system-auth
account    required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
END

%{__sed} -i -e "s,<driver>mysql</driver>,<driver>db</driver>,g" \
	$RPM_BUILD_ROOT%{sysconfdir}/sm.xml

#ghost file
touch $RPM_BUILD_ROOT%{sysconfdir}/server.pem

%clean
%{__rm} -rf $RPM_BUILD_ROOT

%pre
#creating jabber user
useradd -r -d %{_localstatedir}/%{name} -m -c "Jabber Server" -s /bin/bash jabber >/dev/null 2>&1 ||:


%post
if [ "$1" -eq "1" ]; then
	#register %{name} service
	/sbin/chkconfig --add %{name}
	#replace default passwords, yet another hack 
	export NEWPASS="$RANDOM-newpass-$RANDOM"
	cd %{sysconfdir}
	%{__perl} -pi -e "s,<secret>secret</secret>,<secret>$NEWPASS</secret>,g" router-users.xml
	%{__perl} -pi -e "s,<secret>secret</secret>,<secret>$NEWPASS</secret>,g" router.xml
	%{__perl} -pi -e "s,<pass>secret</pass>,<pass>$NEWPASS</pass>,g" *.xml
fi

#create ssl certificate
cd %{sysconfdir}
if [ ! -e server.pem ]; then
 %{___build_shell} %{_datadir}/ssl/certs/make-dummy-cert server.pem
 %{__chown} root.jabber server.pem
 %{__chmod} 640 server.pem
fi

%preun
if [ "$1" -eq "0" ]; then
	/sbin/service %{name} stop > /dev/null 2>&1
	/sbin/chkconfig --del %{name}
	userdel jabber
	#should %{_localstatedir}/jabberd be deleted???
	#%{__rm} -rf %{_localstatedir}/jabberd
fi

%postun
if [ "$1" -eq "1" ]; then
	/sbin/service %{name} condrestart > /dev/null 2>&1
fi

%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog INSTALL NEWS README PROTOCOL TODO
%{_bindir}/*
%config(noreplace) %{sysconfdir}/
%{_datadir}/man/man8/*
%{_datadir}/%{name}/
%config(noreplace) %{_initrddir}/%{name}
%config(noreplace) %{_sysconfdir}/pam.d/jabberd
%attr(-,jabber,jabber) %{_var}/jabberd
%ghost %{_sysconfdir}/jabberd/server.pem

%changelog
* Mon Mar 07 2005 Adrian Reber <adrian at lisas.de> - 2.0-0.s6.3
- changed startscript again

* Mon Mar 07 2005 Adrian Reber <adrian at lisas.de> - 2.0-0.s6.2
- changed startscript to support condrestart

* Mon Mar 07 2005 Adrian Reber <adrian at lisas.de> - 2.0-0.s6.1
- updated to 2.0s6

* Wed Nov 24 2004 Adrian Reber <adrian at lisas.de> - 0:2.0-0.fdr.16.s4
- updated to 2.0s4
- added jabberd-c2s-buffers.patch 
  (http://jabberstudio.org/projects/jabberd2/bugs/view.php?id=4528)
- replace <driver>mysql</driver> with <driver>db</driver> in sm.xml

* Mon Jul 19 2004 Adrian Reber <adrian at lisas.de> - 0:2.0-0.fdr.15.s3
- add ||: at the end of the useradd line

* Mon Jul 19 2004 Adrian Reber <adrian at lisas.de> - 0:2.0-0.fdr.14.s3
- create jabber user in %%pre instead of in %%post
- remove -r from userdel

* Mon Jul 19 2004 Adrian Reber <adrian at lisas.de> - 0:2.0-0.fdr.13.s3
- s/jabberd2/%%{name}/
- replace another default password

* Fri Jul 16 2004 Adrian Reber <adrian at lisas.de> - 0:2.0-0.fdr.12.s3
- %%{_var}/jabberd is now owned be the package
- %%ghost-ing server.pem
- disable rm-ing %%{_var}/jabberd on uninstall

* Fri Jul 16 2004 Adrian Reber <adrian at lisas.de> - 0:2.0-0.fdr.11.s3
- using %%{_datadir}/ssl/certs/make-dummy-cert to
  create the certificate
- added -r to useradd
- added openssl to post-requires
- added libidn-devel and pam-devel as BuildRequires

* Mon Jul 12 2004 Adrian Reber <adrian at lisas.de> - 0:2.0-0.fdr.10.s3
- complete rewrite for fedora (I mean it)

* Tue May 18 2004 Tim Niemueller <tim at niemueller.de>
- Initial spec file


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/jabberd/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	7 Mar 2005 08:22:52 -0000	1.1
+++ .cvsignore	7 Mar 2005 08:23:35 -0000	1.2
@@ -0,0 +1 @@
+jabberd-2.0s6.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/jabberd/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	7 Mar 2005 08:22:52 -0000	1.1
+++ sources	7 Mar 2005 08:23:35 -0000	1.2
@@ -0,0 +1 @@
+ca2818885e126181e002949c71603df3  jabberd-2.0s6.tar.gz




More information about the fedora-extras-commits mailing list