diff -r 6becb64fe77d -r 869d6847b13e jabberd/jabberd.spec
--- a/jabberd/jabberd.spec Tue Aug 28 18:30:35 2012 +0200
+++ b/jabberd/jabberd.spec Tue Aug 28 18:30:40 2012 +0200
@@ -23,7 +23,8 @@
# package version
%define V_major 2.2
-%define V_minor 14
+%define V_minor 17
+%define V_mucon 0.8
# package information
Name: jabberd
@@ -36,16 +37,18 @@
Group: InstantMessaging
License: JOSL/GPL
Version: %{V_major}.%{V_minor}
-Release: 20110602
+Release: 20120800
# package options
%option with_sqlite no
%option with_mysql no
%option with_pgsql no
%option with_pam no
+%option with_mucon yes
# list of sources
-Source0: http://codex.xiaoka.com/pub/jabberd2/releases/jabberd-%{version}.tar.gz
+Source0: http://www.github.com/downloads/Jabberd2/jabberd2/jabberd-%{version}.tar.xz
+Source1: http://download.gna.org/mu-conference/mu-conference_%{V_mucon}.tar.gz
Source1: rc.jabberd
Patch0: jabberd.patch
@@ -70,6 +73,10 @@
BuildPreReq: PAM
PreReq: PAM
%endif
+%if "%{with_mucon}" == "yes"
+BuildPreReq: glib, pkgconfig
+PreReq: glib
+%endif
%description
JabberD is the original server implementation for the Jabber instant
@@ -81,16 +88,45 @@
%track
prog jabberd = {
version = %{version}
- url = http://codex.xiaoka.com/pub/jabberd2/releases/
- regex = jabberd-(\d+\.\d+(\.\d+)*)\.tar\.gz
+ url = http://www.github.com/downloads/Jabberd2/jabberd2/
+ regex = jabberd-(\d+\.\d+(\.\d+)*)\.tar\.xz
+ }
+ prog jabberd:mucon = {
+ version = %{V_mucon}
+ url = http://download.gna.org/mu-conference/
+ regex = mu-conference_(__VER__)\.tar\.gz
}
%prep
%setup -q -n jabberd-%{version}
- %{l_sed} <%{PATCH0} -e 's;@l_prefix@;%{l_prefix};g' | %{l_patch} -p0 -b
+ %setup -q -D -T -a 1
%{l_shtool} subst \
-e 's;exec perl;exec %{l_prefix}/bin/perl;' \
tools/jabberd.in
+ %{l_shtool} subst \
+ -e 's;\$(initdir);;g' \
+ etc/Makefile.in
+%if "%{with_mucon}" == "yes"
+ %{l_shtool} subst \
+ -e 's;^\(CFLAGS\ *:=.*pkg-config --cflags glib-2.0\);\1 libidn;' \
+ -e 's;^\(LIBS\ *:=.*\);\1 $(LOCLIBS);' \
+ mu-conference_%{V_mucon}/src/Makefile
+ %{l_shtool} subst \
+ -e 's;mu-conference.log;muc.log;g' \
+ mu-conference_%{V_mucon}/src/jcomp/jcr_log.c
+ %{l_shtool} subst \
+ -e 's;[0-9][0-9]*;5347;' \
+ -e 's;.*;%{l_prefix}/var/jabberd/spool/rooms;' \
+ -e 's;\./syslogs;%{l_prefix}/var/jabberd/log;' \
+ -e 's;\./logs/;%{l_prefix}/var/jabberd/spool/logs;' \
+ -e 's;.*;%{l_prefix}/var/jabberd/pid/muc.pid;' \
+ -e 's;.*;http://name.host.tld/;' \
+ -e 's;.*;%{l_prefix}/share/jabberd/style.css;' \
+ mu-conference_%{V_mucon}/muc-default.xml
+ echo \
+ 'muc @sysconfdir@/muc.xml' \
+ >>etc/jabberd.cfg.dist.in
+%endif
%build
# configure program
@@ -149,7 +185,19 @@
--enable-shared
# build program
- %{l_make} %{l_mflags}
+ %{l_make} %{l_mflags -O}
+
+%if "%{with_mucon}" == "yes"
+ loclibs=''
+ case "%{l_platform -t}" in
+ *-sunos* )
+ loclibs='-lsocket -lnsl'
+ ;;
+ esac
+ ( cd mu-conference_%{V_mucon}
+ %{l_make} %{l_mflags -O} LOCLIBS=$loclibs
+ ) || exit $?
+%endif
%install
# create installation filesystem structure
@@ -165,13 +213,36 @@
# install components
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
+ # install optional components
+%if "%{with_mucon}" == "yes"
+ %{l_shtool} mkdir -f -p -m 755 \
+ $RPM_BUILD_ROOT%{l_prefix}/share/jabberd \
+ $RPM_BUILD_ROOT%{l_prefix}/var/jabberd/spool/logs \
+ $RPM_BUILD_ROOT%{l_prefix}/var/jabberd/spool/rooms
+ %{l_shtool} install -c -m 644 \
+ mu-conference_%{V_mucon}/muc-default.xml \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/jabberd/muc.xml
+ %{l_shtool} install -c \
+ mu-conference_%{V_mucon}/src/mu-conference \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/
+ %{l_shtool} install -c \
+ mu-conference_%{V_mucon}/style.css \
+ $RPM_BUILD_ROOT%{l_prefix}/share/jabberd
+%endif
+
+ # strip installation
+ strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
+
# remove unnecessary files
rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/jabberd/*.dist
rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/jabberd/templates/*.dist
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/jabberd/*.a
- # install run-command script
+ # install runcommand script
%{l_shtool} install -c -m 755 %{l_value -s -a} \
+%if "%{with_mucon}" == "yes"
+ -e 's;\(jabberd_daemons\s*=.*\)\s\s*\(\w\w*\);\1 mucon\2;' \
+%endif
%{SOURCE rc.jabberd} \
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/