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
commit58b13cf50fbef8c17f8ba091251695e5e7156443 (patch)
tree2f111d8592f9b8def7c757d4275754c9f205457f
parent59190c29640ac9e11c975039b93045a1182fbea7 (diff)
downloadrabbitmq-server-git-58b13cf50fbef8c17f8ba091251695e5e7156443.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 aa8c93c6b0..cf3a93dfa1 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 27f150f997..ffcd11ac61 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 d596125850..460ee286b4 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