diff --git a/ejabberd-ejabberdctl_fix.diff b/ejabberd-ejabberdctl_fix.diff new file mode 100644 index 0000000..31c2ee0 --- /dev/null +++ b/ejabberd-ejabberdctl_fix.diff @@ -0,0 +1,49 @@ +--- src/ejabberdctl.template 2008-05-20 14:22:03.000000000 +0400 ++++ src/ejabberdctl.template 2008-06-22 19:41:03.000000000 +0400 +@@ -9,12 +9,13 @@ + + # define default environment variables + NODE=ejabberd +-HOST=localhost ++HOST=`hostname | cut -d. -f1` + ERLANG_NODE=$NODE@$HOST +-ROOTDIR=@rootdir@ ++ROOTDIR= ++MAINDIR= + EJABBERD_CONFIG_PATH=$ROOTDIR/etc/ejabberd/ejabberd.cfg + LOGS_DIR=$ROOTDIR/var/log/ejabberd/ +-EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/db/$NODE ++EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/spool + + # read custom configuration + CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg +@@ -42,10 +43,10 @@ + ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES" + + # define additional environment variables +-EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin +-EJABBERD_MSGS_PATH=$ROOTDIR/var/lib/ejabberd/priv/msgs +-EJABBERD_SO_PATH=$ROOTDIR/var/lib/ejabberd/priv/lib +-EJABBERD_BIN_PATH=$ROOTDIR/var/lib/ejabberd/priv/bin ++EJABBERD_EBIN=$MAINDIR/ebin ++EJABBERD_MSGS_PATH=$MAINDIR/priv/msgs ++EJABBERD_SO_PATH=$MAINDIR/priv/lib ++EJABBERD_BIN_PATH=$MAINDIR/priv/bin + EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log + SASL_LOG_PATH=$LOGS_DIR/sasl.log + DATETIME=`date "+%Y%m%d-%H%M%S"` +@@ -139,11 +140,13 @@ + # common control function + ctl () + { ++ /sbin/runuser -s /bin/bash - ejabberd -c " \ + erl \ + $NAME ejabberdctl \ + -noinput \ + -pa $EJABBERD_EBIN \ +- -s ejabberd_ctl -extra $ERLANG_NODE $@ ++ -s ejabberd_ctl -extra $ERLANG_NODE $@ \ ++ " + result=$? + case $result in + 0) :;; diff --git a/ejabberd.spec b/ejabberd.spec index fc97f0f..c3250c6 100644 --- a/ejabberd.spec +++ b/ejabberd.spec @@ -1,6 +1,6 @@ Name: ejabberd Version: 2.0.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A distributed, fault-tolerant Jabber/XMPP server Group: Applications/Internet @@ -24,6 +24,8 @@ Source10: ejabberdctl.apps # Fedora-specific stuff - fixing paths Patch1: ejabberd-build.patch +# BZ# 439583, 452326, 451554 +Patch2: ejabberd-ejabberdctl_fix.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -83,6 +85,7 @@ fi %prep %setup -q -n %{name}-%{version} %patch1 -p0 -b .fix_paths +%patch2 -p0 -b .fix_user dos2unix src/odbc/mssql.sql cp %{S:4} src @@ -133,13 +136,7 @@ cp -p %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd %{__perl} -pi -e 's!\@version\@!%{version}!g' %{buildroot}%{_initrddir}/ejabberd %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd %{buildroot}%{_sbindir}/ejabberdctl # BZ# 439583 -%{__perl} -pi -e 's!ROOTDIR=\/usr!ROOTDIR=!g' %{buildroot}%{_sbindir}/ejabberdctl -%{__perl} -pi -e 's!/var/lib/ejabberd/db/\$NODE!/var/lib/ejabberd/spool!g' %{buildroot}%{_sbindir}/ejabberdctl -%{__perl} -pi -e 's!/var/lib/ejabberd/ebin!%{_libdir}/ejabberd/ebin!g' %{buildroot}%{_sbindir}/ejabberdctl -%{__perl} -pi -e 's!/var/lib/ejabberd/priv/msgs!%{_libdir}/ejabberd/priv/msgs!g' %{buildroot}%{_sbindir}/ejabberdctl -%{__perl} -pi -e 's!/var/lib/ejabberd/priv/lib!%{_libdir}/ejabberd/priv/lib!g' %{buildroot}%{_sbindir}/ejabberdctl -%{__perl} -pi -e 's!/var/lib/ejabberd/priv/bin!%{_libdir}/ejabberd/priv/bin!g' %{buildroot}%{_sbindir}/ejabberdctl -%{__perl} -pi -e 's!HOME=\$ROOTDIR/var/lib/ejabberd!HOME=%{_libdir}/ejabberd!g' %{buildroot}%{_sbindir}/ejabberdctl +%{__perl} -pi -e 's!MAINDIR=!MAINDIR=%{_libdir}/ejabberd!g' %{buildroot}%{_sbindir}/ejabberdctl %clean rm -rf %{buildroot} @@ -186,6 +183,9 @@ rm -rf %{buildroot} %endif %changelog +* Sun Jun 22 2008 Peter Lemenkov 2.0.1-3 +-Fixed BZ# 439583, 452326, 451554 + * Thu May 29 2008 Peter Lemenkov 2.0.1-2 - Fixed BZ# 439583 diff --git a/import.log b/import.log new file mode 100644 index 0000000..e5c42c7 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +ejabberd-2_0_1-3_fc9:HEAD:ejabberd-2.0.1-3.fc9.src.rpm:1214150816