[jabberd] - new upstream release - fix script-without-shebang errors - preserve timestamp of ChangeLog while c

Dominic Hopf dmaphy at fedoraproject.org
Sun Sep 12 14:34:48 UTC 2010


commit 77330e3c02dbece01d0466ea8b4e7286ec41ac75
Author: Dominic Hopf <dmaphy at fedoraproject.org>
Date:   Sun Sep 12 16:34:40 2010 +0200

    - new upstream release
    - fix script-without-shebang errors
    - preserve timestamp of ChangeLog while converting to UTF8

 .gitignore   |    1 +
 jabberd.spec |  271 +++++++++++++++++++++++++++++++---------------------------
 sources      |    2 +-
 3 files changed, 147 insertions(+), 127 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 392558c..f0988ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 jabberd-2.2.8.tar.bz2
+/jabberd-2.2.11.tar.bz2
diff --git a/jabberd.spec b/jabberd.spec
index 0d8ba9b..a3e3d60 100644
--- a/jabberd.spec
+++ b/jabberd.spec
@@ -1,197 +1,216 @@
-Summary: OpenSource server implementation of the Jabber protocols
-Name: jabberd
-Version: 2.2.8
-Release: 5%{?dist}
-License: GPLv2+
-Group: System Environment/Daemons
-Source0: http://ftp.xiaoka.com/jabberd2/releases/jabberd-2.2.8.tar.bz2
-Source1: jabberd
-Source2: jabberd.sysconfig
-Patch0: jabberd-size_t.patch
-URL: http://jabberd2.xiaoka.com/
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: openssl-devel libidn-devel expat-devel
-# jabberd is a leaky beast ;-)
-BuildRequires: gc-devel
+Summary:        OpenSource server implementation of the Jabber protocols
+Name:           jabberd
+Version:        2.2.11
+Release:        1%{?dist}
+License:        GPLv2+
+Group:          System Environment/Daemons
+Source0:        http://ftp.xiaoka.com/jabberd2/releases/jabberd-%{version}.tar.bz2
+Source1:        jabberd
+Source2:        jabberd.sysconfig
+Source3:        jabberd.pam
+URL:            http://codex.xiaoka.com/wiki/jabberd2:start
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires:  openssl-devel libidn-devel expat-devel
+
 %{!?_without_pam:BuildRequires: pam-devel}
 %{!?_without_sqlite:BuildRequires: sqlite-devel}
 %{!?_without_db4:BuildRequires: db4-devel}
 %{!?_without_ldap:BuildRequires: openldap-devel}
 %{!?_without_mysql:BuildRequires: mysql-devel}
 %{!?_without_postgresql:BuildRequires: postgresql-devel}
-BuildRequires: libgsasl-devel udns-devel
-Requires(post): openssl chkconfig /sbin/service
-Requires(pre): shadow-utils
-Requires(preun): chkconfig shadow-utils /sbin/service
-Requires(postun): chkconfig /sbin/service
+
+BuildRequires:          libgsasl-devel udns-devel
+Requires(post):         openssl chkconfig /sbin/service
+Requires(pre):          shadow-utils
+Requires(preun):        chkconfig shadow-utils /sbin/service
+Requires(postun):       chkconfig /sbin/service
 
 %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
+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.
+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.
 
-This packages defaults to use pam and the Berkeley DB.
+This packages defaults to use pam and sqlite.
 
 %prep
 %setup -q
-%patch0 -p1
 
 %build
-%define _sysconfdir /etc/jabberd
-%define sysconfdir /etc/jabberd
-%{__sed} -i -e "s,sysconfdir=\"\$sysconfdir\/jabberd\",#&,g" configure
-
-# GC plug (see http://jabberd2.xiaoka.com/wiki/Hints)
-export LIBS='-lgc'
-
+export CFLAGS="%{optflags}"
 %configure \
-	%{!?_without_pam:--enable-pam} \
-	%{?_without_pam:--disable-pam} \
-	%{!?_without_db4:--enable-db} \
-	%{?_without_db4:--disable-db} \
-	%{!?_without_mysql:--enable-mysql} \
-	%{!?_without_mysql:--with-extra-library-path=%{_libdir}/mysql} \
-	%{?_without_mysql:--disable-mysql} \
-	%{!?_without_ldap:--enable-ldap} \
-	%{?_without_ldap:--disable-ldap} \
-	%{!?_without_postgresql:--enable-pgsql} \
-	%{?_without_postgresql:--disable-pgsql} \
-	%{!?_without_sqlite:--enable-sqlite} \
-	%{?_without_sqlite:--disable-sqlite} \
-	--localstatedir=%{_var}/lib \
-	--enable-fs --enable-anon --enable-pipe --enable-ssl \
-	--enable-debug
-
-%{__make} %{?_smp_mflags}
+        --sysconfdir=%{_sysconfdir}/%{name} \
+        --localstatedir=%{_var}/lib \
+        %{!?_without_pam:--enable-pam} \
+        %{?_without_pam:--disable-pam} \
+        %{!?_without_db4:--enable-db} \
+        %{?_without_db4:--disable-db} \
+        %{!?_without_mysql:--enable-mysql} \
+        %{!?_without_mysql:--with-extra-library-path=%{_libdir}/mysql} \
+        %{?_without_mysql:--disable-mysql} \
+        %{!?_without_ldap:--enable-ldap} \
+        %{?_without_ldap:--disable-ldap} \
+        %{!?_without_postgresql:--enable-pgsql} \
+        %{?_without_postgresql:--disable-pgsql} \
+        %{!?_without_sqlite:--enable-sqlite} \
+        %{?_without_sqlite:--disable-sqlite} \
+        --enable-fs --enable-anon --enable-pipe --enable-ssl \
+        --enable-debug \
+
+make %{?_smp_mflags}
 
-%install
-%{__rm} -rf $RPM_BUILD_ROOT
-%makeinstall
-%define _sysconfdir /etc
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_var}/lib/jabberd/{log,pid,db}
-%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/%{name}
-%{__mkdir_p} $RPM_BUILD_ROOT%{_initrddir}
-%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/
-%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
-%{__install} -p -m 644 tools/db-setup.mysql $RPM_BUILD_ROOT%{_datadir}/%{name}
-%{__install} -p -m 644 tools/db-setup.pgsql $RPM_BUILD_ROOT%{_datadir}/%{name}
-%{__install} -p -m 644 tools/migrate.pl $RPM_BUILD_ROOT%{_datadir}/%{name}
-%{__install} -p -m 644 tools/pipe-auth.pl $RPM_BUILD_ROOT%{_datadir}/%{name}
-%{__install} -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/%{name}
-%{__install} -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
-
-%{__sed} -i -e "s,__BINDIR__,%{_bindir},g" \
-            -e "s,__ETCDIR__,%{sysconfdir},g" \
-            -e "s,__PIDDIR__,%{_var}/lib/jabberd/pid,g" \
-            -e "s,__SYSCONF__,%{_sysconfdir}/sysconfig,g" \
-		$RPM_BUILD_ROOT%{_initrddir}/%{name} \
-		$RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
-
-%{__cat} >> $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/jabberd << END
-#%PAM-1.0
-auth       required     pam_nologin.so
-auth       include      password-auth
-account    include      password-auth
-session    include      password-auth
-END
 
-#default driver for storage
-#the default pam backend needs auto creation of accounts
-%{__sed} -i -e ':a;N;$!ba' \
-            -e 's,<driver>mysql</driver>,<driver>db</driver>,g' \
-            -e 's,<!--\n    <auto-create/>\n    -->,<auto-create/>,g' \
-		$RPM_BUILD_ROOT%{sysconfdir}/sm.xml
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make install DESTDIR=$RPM_BUILD_ROOT
+
+# correct the script interpreter for perl scripts
+sed -i "s|/usr/pkg/bin/perl|/usr/bin/env perl|" tools/*.pl
+
+# convert ChangeLog to UTF-8, but keep the timestamp
+iconv -f ISO88591 -t UTF8 < ChangeLog > ChangeLog.utf8 && \
+touch -r ChangeLog ChangeLog.utf8 && \
+mv ChangeLog.utf8 ChangeLog
+
+install -dpm 644 $RPM_BUILD_ROOT/%{_var}/lib/%{name}/{log,pid,db}
+install -dpm 755 $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/
+install -Dpm 644 tools/pam_jabberd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/%{name}
+
+install -dpm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/
+# install any tool in tools/ to /usr/share/jabberd/, but skip Makefile-stuff
+# and unneccessary scripts
+install -dpm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/
+for i in `ls tools`; do
+    if [ $i == "Makefile" -o $i == "Makefile.am" -o $i == "Makefile.in" \
+        -o $i == "jabberd.in" -o $i == "jabberd.rc" -o $i == "pam_jabberd" ]; then
+        continue;
+    fi
+
+    sed -i "s|\r||g" tools/$i
+    install -pm 755 tools/$i $RPM_BUILD_ROOT%{_datadir}/%{name}/
+done
+
+install -dpm 755 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/
+install -Dpm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/%{name}
+install -Dpm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
+
+sed -i -e "s,__BINDIR__,%{_bindir},g" \
+       -e "s,__ETCDIR__,%{_sysconfdir}/%{name}/,g" \
+       -e "s,__PIDDIR__,%{_var}/lib/%{name}/pid,g" \
+       -e "s,__SYSCONF__,%{_sysconfdir}/sysconfig,g" \
+          $RPM_BUILD_ROOT%{_initrddir}/%{name} \
+          $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
+
+# remove static libraries
+find $RPM_BUILD_ROOT -name "*.la" -delete
 
 #default authentication backend
 #enable SSL certificate
 #clients must do STARTTLS
 #disable account registrations by default, because the default installation uses PAM
 #set the realm to '' for a working authentication against PAM
-%{__sed} -i -e ':a;N;$!ba' \
+sed -i -e ':a;N;$!ba' \
             -e 's,<module>mysql</module>,<module>pam</module>,g' \
-            -e "s,register-enable='true'>,realm='' require-starttls='true' pemfile='/etc/jabberd/server.pem'>,g" \
-		$RPM_BUILD_ROOT%{sysconfdir}/c2s.xml
-
-#ghost file
-touch $RPM_BUILD_ROOT%{sysconfdir}/server.pem
+            -e "s,register-enable='true'>,realm='' require-starttls='true' pemfile='/etc/%{name}/server.pem'>,g" \
+                $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/c2s.xml
 
 # we have our own start script
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/jabberd
+rm -f $RPM_BUILD_ROOT%{_bindir}/jabberd
 
 # we have our own start script
-%{__rm} $RPM_BUILD_ROOT%{sysconfdir}/jabberd.cfg*
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/jabberd.cfg*
 
 %clean
-%{__rm} -rf $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT
 
 %pre
 #creating jabber user
 getent group jabber >/dev/null || groupadd -r jabber
 getent passwd jabber >/dev/null || \
 useradd -r -g jabber -d %{_var}/lib/%{name} -s /sbin/nologin \
-	-c "Jabber Server" jabber
+        -c "Jabber Server" jabber
 exit 0
 
 
 %post
 if [ "$1" -eq "1" ]; then
-	#register %{name} service
-	/sbin/chkconfig --add %{name}
-	#replace default passwords, yet another hack 
-	export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
-				| sha1sum | awk '{print $1}' )
-	cd %{sysconfdir}
-	%{__sed} -i -f- router-users.xml router.xml <<END
+        /sbin/chkconfig --add %{name}
+        #replace default passwords, yet another hack
+        export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
+                                | sha1sum | awk '{print $1}' )
+        cd %{_sysconfdir}/%{name}
+        %{__sed} -i -f- router-users.xml router.xml <<END
 s,<secret>secret</secret>,<secret>$NEWPASS</secret>,g
 END
-	%{__sed} -i -f- *.xml <<END
+        %{__sed} -i -f- *.xml <<END
 s,<pass>secret</pass>,<pass>$NEWPASS</pass>,g
 END
 
 fi
 
 #create ssl certificate
-cd %{sysconfdir}
+cd %{_sysconfdir}
 if [ ! -e server.pem ]; then
  %{___build_shell} %{_sysconfdir}/pki/tls/certs/make-dummy-cert server.pem
- %{__chown} root.jabber server.pem
- %{__chmod} 640 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}
+        /sbin/service %{name} stop > /dev/null 2>&1
+        /sbin/chkconfig --del %{name}
 fi
 
 %postun
 if [ "$1" -eq "1" ]; then
-	/sbin/service %{name} condrestart > /dev/null 2>&1
+        /sbin/service %{name} condrestart > /dev/null 2>&1
 fi
 
 %files
-%defattr(-,root,root)
-%doc AUTHORS COPYING ChangeLog INSTALL NEWS README TODO
+%defattr(-,root,root,-)
+%doc AUTHORS COPYING ChangeLog INSTALL NEWS README TODO UPGRADE
+%{_mandir}/man8/*
 %{_bindir}/*
 %{_libdir}/%{name}/
-%attr(750, jabber, jabber) %dir %{sysconfdir}/
-%attr(640, jabber, jabber) %config(noreplace) %{sysconfdir}/*xml*
-%attr(750, jabber, jabber) %dir %{sysconfdir}/templates
-%attr(640, jabber, jabber) %config(noreplace) %{sysconfdir}/templates/*xml*
-%{_datadir}/man/man8/*
-%{_datadir}/%{name}/
+%attr(750, jabber, jabber) %dir %{_sysconfdir}/%{name}
+%attr(750, jabber, jabber) %dir %{_sysconfdir}/%{name}/templates
+%attr(640, jabber, jabber) %config(noreplace) %{_sysconfdir}/%{name}/*xml*
+%attr(640, jabber, jabber) %config(noreplace) %{_sysconfdir}/%{name}/templates/*xml*
+%dir %{_datadir}/%{name}/
+%attr(644,root,root) %{_datadir}/%{name}/*
+%attr(755,root,root) %{_datadir}/%{name}/*.pl
+%attr(755,root,root) %{_datadir}/%{name}/*.rb
+%attr(755,root,root) %{_datadir}/%{name}/%{name}
 %{_initrddir}/%{name}
-%config(noreplace) %{_sysconfdir}/pam.d/jabberd
-%config %{_sysconfdir}/sysconfig/jabberd
-%attr(-, jabber, jabber) %{_var}/lib/jabberd
-%ghost %{_sysconfdir}/jabberd/server.pem
+%config(noreplace) %{_sysconfdir}/pam.d/%{name}
+%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
+%attr(755, jabber, jabber) %{_var}/lib/%{name}
+%attr(640, jabber, jabber) %ghost %{_sysconfdir}/%{name}/server.pem
 
 %changelog
+* Sun Sep 12 2010 Dominic Hopf <dmaphy at fedoraproject.org> - 2.2.11-1
+- new upstream release
+- fix script-without-shebang errors
+- preserve timestamp of ChangeLog while converting to UTF8
+
+* Thu Aug 12 2010 Dominic Hopf <dmaphy at fedoraproject.org> - 2.2.10-1
+- new upstream release jabberd 2.2.10
+- add patch jabberd-fix-missing-reference-in-log_error.patch from upstream svn
+- use %%{_mandir} macro for manpages
+- create a new source file for the PAM info instead of writing it on the fly
+- install all tools provided by upstream to /usr/share/jabberd/
+- remove storage driver replacement, since 2.2.10 sqlite is the default
+- remove dependency to gc-devel
+- remove unneccessary defines for sysconfdir and don't use unneccessary macros
+- remove static libraries
+- fix a lot of rpmlint errors and warnings
+
 * Wed Sep 16 2009 Tomas Mraz <tmraz at redhat.com> - 2.2.8-5
 - use password-auth common PAM configuration instead of system-auth
 
@@ -293,7 +312,7 @@ fi
 * Wed Mar 09 2005 Adrian Reber <adrian at lisas.de> - 2.0-0.s6.5
 - removed Epoch: 0
 - more Requires(...)
-- typo 
+- typo
 - changed db location to %%{_var}/lib/jabberd
 - removed noreplace for start script
 - make backends optional during build
@@ -326,7 +345,7 @@ fi
 
 * 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 
+- 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
 
diff --git a/sources b/sources
index 584d47b..2d59f21 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-7ef574635950880615cbb21a5fe9fb5a  jabberd-2.2.8.tar.bz2
+d0bd212f6454af45d2a6a94a2c5ebf08  jabberd-2.2.11.tar.bz2


More information about the scm-commits mailing list