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/