summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHubert Plociniczak <hubert@lshift.net>2009-01-06 17:11:17 +0100
committerHubert Plociniczak <hubert@lshift.net>2009-01-06 17:11:17 +0100
commit3518362dc686291c3bff99163e77fbf3638067c9 (patch)
tree2f111d8592f9b8def7c757d4275754c9f205457f
parentca08e04356d218077d495562c42eaa242fcf06ff (diff)
downloadrabbitmq-server-3518362dc686291c3bff99163e77fbf3638067c9.tar.gz
Generalize the rpm spec so that some values are substituted by 'sed' in the makefile. Default rpm release is for fedora. The only difference between suse and fedora are the dependencies (used files instead of packages in the former), location of init.d and final rpm name.
-rw-r--r--packaging/RPMS/Fedora/Makefile25
-rw-r--r--packaging/RPMS/Fedora/init.d3
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec16
3 files changed, 29 insertions, 15 deletions
diff --git a/packaging/RPMS/Fedora/Makefile b/packaging/RPMS/Fedora/Makefile
index aa8c93c6..cf3a93df 100644
--- a/packaging/RPMS/Fedora/Makefile
+++ b/packaging/RPMS/Fedora/Makefile
@@ -6,22 +6,39 @@ TOP_DIR=$(shell pwd)
#only checks build-dependencies using rpms, not debs
DEFINES=--define '_topdir $(TOP_DIR)' --define '_tmppath $(TOP_DIR)/tmp' --define 'debian 1'
+ifndef RPM_OS
+RPM_OS=fedora
+endif
+
+ifeq "x$(RPM_OS)" "xsuse"
+REQUIRES=/sbin/chkconfig /sbin/service
+OS_DEFINES=--define '_initrddir /etc/init.d'
+RELEASE_OS=.suse
+else
+REQUIRES=chkconfig initscripts
+OS_DEFINES=--define '_initrddir /etc/rc.d/init.d'
+RELEASE_OS=
+endif
+
rpms: clean server
prepare:
mkdir -p BUILD SOURCES SPECS SRPMS RPMS tmp
cp $(TOP_DIR)/$(TARBALL) SOURCES
cp rabbitmq-server.spec SPECS
- sed -i 's/%%VERSION%%/$(VERSION)/' SPECS/rabbitmq-server.spec
+ sed -i 's|%%VERSION%%|$(VERSION)|;s|%%REQUIRES%%|$(REQUIRES)|;s|%%RELEASE_OS%%|$(RELEASE_OS)|' \
+ SPECS/rabbitmq-server.spec
cp init.d SOURCES/rabbitmq-server.init
cp rabbitmqctl_wrapper SOURCES/rabbitmq-server.wrapper
cp rabbitmq-server.logrotate SOURCES/rabbitmq-server.logrotate
server: prepare
- rpmbuild -ba SPECS/rabbitmq-server.spec $(DEFINES) --target i386
- rpmbuild -ba SPECS/rabbitmq-server.spec $(DEFINES) --define '_libdir /usr/lib64' \
- --define '_arch x86_64' --define '_defaultdocdir /usr/share/doc' --target x86_64
+ rpmbuild -ba SPECS/rabbitmq-server.spec $(DEFINES) $(OS_DEFINES) \
+ --target i386
+ rpmbuild -ba SPECS/rabbitmq-server.spec $(DEFINES) $(OS_DEFINES) \
+ --define '_libdir /usr/lib64' --define '_arch x86_64' \
+ --define '_defaultdocdir /usr/share/doc' --target x86_64
clean:
rm -rf SOURCES SPECS RPMS SRPMS BUILD tmp
diff --git a/packaging/RPMS/Fedora/init.d b/packaging/RPMS/Fedora/init.d
index 27f150f9..ffcd11ac 100644
--- a/packaging/RPMS/Fedora/init.d
+++ b/packaging/RPMS/Fedora/init.d
@@ -29,9 +29,6 @@ LOCK_FILE=/var/lock/subsys/$NAME
test -x $DAEMON || exit 0
-# source function library
-. /etc/rc.d/init.d/functions
-
# Include rabbitmq defaults if available
if [ -f /etc/default/rabbitmq ] ; then
. /etc/default/rabbitmq
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec
index d5961258..460ee286 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.spec
+++ b/packaging/RPMS/Fedora/rabbitmq-server.spec
@@ -1,6 +1,6 @@
Name: rabbitmq-server
Version: %%VERSION%%
-Release: 1
+Release: 1%%RELEASE_OS%%
License: MPLv1.1
Group: Development/Libraries
Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz
@@ -17,8 +17,8 @@ Requires: erlang, logrotate
Packager: Hubert Plociniczak <hubert@lshift.net>
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}-root
Summary: The RabbitMQ server
-Requires(post): chkconfig
-Requires(pre): chkconfig initscripts
+Requires(post): %%REQUIRES%%
+Requires(pre): %%REQUIRES%%
%description
RabbitMQ is an implementation of AMQP, the emerging standard for high
@@ -52,13 +52,13 @@ make install TARGET_DIR=%{_maindir} \
mkdir -p %{buildroot}/var/lib/rabbitmq/mnesia
mkdir -p %{buildroot}/var/log/rabbitmq
-mkdir -p %{buildroot}/etc/rc.d/init.d/
+mkdir -p %{buildroot}%{_initrddir}
#Copy all necessary lib files etc.
-install -m 0755 %SOURCE1 %{buildroot}/etc/rc.d/init.d/rabbitmq-server
-chmod 0755 %{buildroot}/etc/rc.d/init.d/rabbitmq-server
+install -m 0755 %SOURCE1 %{buildroot}/%{_initrddir}/rabbitmq-server
+chmod 0755 %{buildroot}%{_initrddir}/rabbitmq-server
%ifarch x86_64
- sed -i 's|/usr/lib/|%{_libdir}/|' %{buildroot}/etc/rc.d/init.d/rabbitmq-server
+ sed -i 's|/usr/lib/|%{_libdir}/|' %{buildroot}%{_initrddir}/rabbitmq-server
%endif
mkdir -p %{buildroot}%{_sbindir}
@@ -110,7 +110,7 @@ fi
%defattr(-,root,root,-)
%dir /var/lib/rabbitmq
%dir /var/log/rabbitmq
-/etc/rc.d/init.d/rabbitmq-server
+%{_initrddir}/rabbitmq-server
%config(noreplace) /etc/logrotate.d/rabbitmq-server
%doc LICENSE LICENSE-MPL-RabbitMQ INSTALL