-# TODO
-# - pldize initscripts
-# - add initscript post scriptlets
-# - --daemonize crashes (works under systemd only): https://github.com/fedora-infra/fedmsg/issues/302
-
# Conditional build:
%bcond_with tests # build with tests
+%define module fedmsg
+%define egg_name fedmsg
+%define pypi_name fedmsg
Summary: Tools for Fedora Infrastructure real-time messaging
Name: fedmsg
-Version: 0.16.4
-Release: 1
+Version: 1.1.1
+Release: 3
License: LGPL v2+
Group: Applications/Networking
-Source0: http://pypi.python.org/packages/source/f/fedmsg/%{name}-%{version}.tar.gz
-# Source0-md5: 43f00d123669f6a0506ee0f37035c5d7
+Source0: https://files.pythonhosted.org/packages/source/f/%{pypi_name}/%{pypi_name}-%{version}.tar.gz
+# Source0-md5: 95d88c12d430b44a57d805b00a3b65b7
Source1: %{name}-tmpfiles.conf
+Source2: %{name}-gateway.init
+Source3: %{name}-hub.init
+Source4: %{name}-irc.init
+Source5: %{name}-relay.init
Patch1: config.patch
URL: https://github.com/fedora-infra/fedmsg
BuildRequires: python-devel
BuildRequires: python-requests
#BuidlRequires: python-sqlalchemy
%endif
-Requires: python-M2Crypto
+Requires: python-M2Crypto >= 0.22.5
Requires: python-arrow
#Requires: python-daemon
#Requires: python-fabulous
%package hub
Summary: The FedMsg Hub
Group: Applications/Networking
+Requires: rc-scripts >= 0.4.0.20
+Requires(post,preun): /sbin/chkconfig
Requires: %{name} = %{version}-%{release}
%description hub
Summary: The FedMsg Relay
Group: Applications/Networking
Requires: %{name} = %{version}-%{release}
+Requires: rc-scripts >= 0.4.0.20
+Requires(post,preun): /sbin/chkconfig
%description relay
This package contains configuration and init scripts for the FedMsg
Summary: The FedMsg IRC Bot
Group: Applications/Networking
Requires: %{name} = %{version}-%{release}
+Requires: rc-scripts >= 0.4.0.20
+Requires(post,preun): /sbin/chkconfig
%description irc
This package contains configuration and init scripts for the FedMsg
Summary: The FedMsg Gateway daemon
Group: Applications/Networking
Requires: %{name} = %{version}-%{release}
+Requires: rc-scripts >= 0.4.0.20
+Requires(post,preun): /sbin/chkconfig
%description gateway
This package contains configuration and init scripts for the FedMsg
--install-data=%{_datadir} \
--root $RPM_BUILD_ROOT
-%{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/fedmsg/tests
+%{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/%{module}/tests
%py_postclean
install -d $RPM_BUILD_ROOT{/etc/{logrotate.d,rc.d/init.d},%{_sysconfdir}/fedmsg.d,%{systemdtmpfilesdir},%{systemdunitdir},/var/{run,log}/fedmsg}
cp -p fedmsg.d/*.py $RPM_BUILD_ROOT%{_sysconfdir}/fedmsg.d
-cp -p initsys/sysv/fedmsg-hub.init $RPM_BUILD_ROOT/etc/rc.d/init.d/fedmsg-hub
-cp -p initsys/sysv/fedmsg-relay.init $RPM_BUILD_ROOT/etc/rc.d/init.d/fedmsg-relay
-cp -p initsys/sysv/fedmsg-irc.init $RPM_BUILD_ROOT/etc/rc.d/init.d/fedmsg-irc
-cp -p initsys/sysv/fedmsg-gateway.init $RPM_BUILD_ROOT/etc/rc.d/init.d/fedmsg-gateway
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/fedmsg-gateway
+install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/fedmsg-hub
+install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/fedmsg-irc
+install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/fedmsg-relay
cp -p initsys/systemd/fedmsg-hub.service $RPM_BUILD_ROOT%{systemdunitdir}
cp -p initsys/systemd/fedmsg-relay.service $RPM_BUILD_ROOT%{systemdunitdir}
%groupadd -g 313 -r fedmsg
%useradd -u 313 -r -s /sbin/nologin -d %{_datadir}/%{name} -M -c 'FedMsg' -g fedmsg fedmsg
+%post hub
+/sbin/chkconfig --add fedmsg-hub
+%service fedmsg-hub restart
+
%preun hub
-if [ $1 -eq 0 ]; then
+if [ "$1" = "0" ]; then
%service fedmsg-hub stop
/sbin/chkconfig --del fedmsg-hub
fi
+%post relay
+/sbin/chkconfig --add fedmsg-relay
+%service fedmsg-relay restart
+
%preun relay
-if [ $1 -eq 0 ]; then
+if [ "$1" = "0" ]; then
%service fedmsg-relay stop
/sbin/chkconfig --del fedmsg-relay
fi
+%post irc
+/sbin/chkconfig --add fedmsg-irc
+%service fedmsg-irc restart
+
%preun irc
-if [ $1 -eq 0 ]; then
+if [ "$1" = "0" ]; then
%service fedmsg-irc stop
/sbin/chkconfig --del fedmsg-irc
fi
+%post gateway
+/sbin/chkconfig --add fedmsg-gateway
+%service fedmsg-gateway restart
+
%preun gateway
-if [ $1 -eq 0 ]; then
+if [ "$1" = "0" ]; then
%service fedmsg-gateway stop
/sbin/chkconfig --del fedmsg-gateway
fi
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fedmsg.d/endpoints.py*
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fedmsg.d/logging.py*
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fedmsg.d/ssl.py*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fedmsg.d/relay.py*
%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/fedmsg
+%attr(755,root,root) %{_bindir}/fedmsg-check
%attr(755,root,root) %{_bindir}/fedmsg-logger
%attr(755,root,root) %{_bindir}/fedmsg-tail
%attr(755,root,root) %{_bindir}/fedmsg-trigger
%attr(755,fedmsg,fedmsg) %dir /var/log/fedmsg
%attr(775,fedmsg,fedmsg) %dir /var/run/fedmsg
%dir %{py_sitescriptdir}/fedmsg
-%{py_sitescriptdir}/fedmsg/*.py[co]
-%{py_sitescriptdir}/fedmsg/commands
-%{py_sitescriptdir}/fedmsg/consumers
-%{py_sitescriptdir}/fedmsg/crypto
-%{py_sitescriptdir}/fedmsg/encoding
-%{py_sitescriptdir}/fedmsg/meta
-%{py_sitescriptdir}/fedmsg/replay
-%{py_sitescriptdir}/fedmsg/text
-%{py_sitescriptdir}/fedmsg-%{version}-py*.egg-info
+%{py_sitescriptdir}/%{module}/*.py[co]
+%{py_sitescriptdir}/%{module}/commands
+%{py_sitescriptdir}/%{module}/consumers
+%{py_sitescriptdir}/%{module}/crypto
+%{py_sitescriptdir}/%{module}/encoding
+%{py_sitescriptdir}/%{module}/meta
+%{py_sitescriptdir}/%{module}/replay
+%{py_sitescriptdir}/%{module}/text
+%{py_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info
%{systemdtmpfilesdir}/%{name}.conf
%files announce
%files relay
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/fedmsg-relay
+%attr(755,root,root) %{_bindir}/fedmsg-signing-relay
%attr(754,root,root) /etc/rc.d/init.d/fedmsg-relay
%{systemdunitdir}/fedmsg-relay.service
-%config(noreplace) %{_sysconfdir}/fedmsg.d/relay.py*
%files irc
%defattr(644,root,root,755)
%attr(754,root,root) /etc/rc.d/init.d/fedmsg-irc
%{systemdunitdir}/fedmsg-irc.service
-%config(noreplace) %{_sysconfdir}/fedmsg.d/ircbot.py*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fedmsg.d/ircbot.py*
%files gateway
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/fedmsg-gateway
%attr(754,root,root) /etc/rc.d/init.d/fedmsg-gateway
%{systemdunitdir}/fedmsg-gateway.service
-%config(noreplace) %{_sysconfdir}/fedmsg.d/gateway.py*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fedmsg.d/gateway.py*