diff options
Diffstat (limited to 'packaging/RPMS')
| -rw-r--r-- | packaging/RPMS/Fedora/Makefile | 50 | ||||
| -rw-r--r-- | packaging/RPMS/Fedora/rabbitmq-server.spec | 44 |
2 files changed, 56 insertions, 38 deletions
diff --git a/packaging/RPMS/Fedora/Makefile b/packaging/RPMS/Fedora/Makefile index 4f5f13278d..5763cadf04 100644 --- a/packaging/RPMS/Fedora/Makefile +++ b/packaging/RPMS/Fedora/Makefile @@ -1,15 +1,27 @@ -TARBALL_DIR=../../../dist -TARBALL=$(notdir $(wildcard $(TARBALL_DIR)/rabbitmq-server-[0-9.]*.tar.gz)) -COMMON_DIR=../../common -VERSION=$(shell echo $(TARBALL) | sed -e 's:rabbitmq-server-\(.*\)\.tar\.gz:\1:g') +SOURCE_DIST_FILE ?= $(wildcard ../../../rabbitmq-server-*.tar.xz) -TOP_DIR=$(shell pwd) -#Under debian we do not want to check build dependencies, since that -#only checks build-dependencies using rpms, not debs -DEFINES=--define '_topdir $(TOP_DIR)' --define '_tmppath $(TOP_DIR)/tmp' --define '_sysconfdir /etc' --define '_localstatedir /var' +ifneq ($(filter-out clean,$(MAKECMDGOALS)),) +ifeq ($(SOURCE_DIST_FILE),) +$(error Cannot find source archive; please specify SOURCE_DIST_FILE) +endif +ifneq ($(words $(SOURCE_DIST_FILE)),1) +$(error Multile source archives found; please specify SOURCE_DIST_FILE) +endif + +VERSION ?= $(patsubst rabbitmq-server-%.tar.xz,%,$(notdir $(SOURCE_DIST_FILE))) +ifeq ($(VERSION),) +$(error Cannot determine version; please specify VERSION) +endif +endif + +TOP_DIR = $(shell pwd) +# Under debian we do not want to check build dependencies, since that +# only checks build-dependencies using rpms, not debs +DEFINES = --define '_topdir $(TOP_DIR)' --define '_tmppath $(TOP_DIR)/tmp' \ + --define '_sysconfdir /etc' --define '_localstatedir /var' ifndef RPM_OS -RPM_OS=fedora +RPM_OS = fedora endif ifeq "$(RPM_OS)" "suse" @@ -26,16 +38,21 @@ SPEC_DEFINES=--define 'group_tag Development/Libraries' START_PROG=daemon endif -rpms: clean server +unexport DEPS_DIR +unexport ERL_LIBS + +.PHONY: all prepare server clean + +all: clean server + @: prepare: mkdir -p BUILD SOURCES SPECS SRPMS RPMS tmp - cp $(TARBALL_DIR)/$(TARBALL) SOURCES + cp $(SOURCE_DIST_FILE) SOURCES cp rabbitmq-server.spec SPECS sed -i 's|%%VERSION%%|$(VERSION)|;s|%%REQUIRES%%|$(REQUIRES)|' \ SPECS/rabbitmq-server.spec - cp ${COMMON_DIR}/* SOURCES/ cp rabbitmq-server.init SOURCES/rabbitmq-server.init sed -i \ -e 's|^START_PROG=.*$$|START_PROG="$(START_PROG)"|' \ @@ -46,13 +63,16 @@ ifeq "$(RPM_OS)" "fedora" sed -i -e '/^# Default-Start:/d;/^# Default-Stop:/d' \ SOURCES/rabbitmq-server.init endif - sed -i -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \ - -e 's|@STDOUT_STDERR_REDIRECTION@||' \ - SOURCES/rabbitmq-script-wrapper + cp rabbitmq-server.logrotate SOURCES/rabbitmq-server.logrotate server: prepare rpmbuild -ba --nodeps SPECS/rabbitmq-server.spec $(DEFINES) $(OS_DEFINES) $(SPEC_DEFINES) + if test "$(PACKAGES_DIR)"; then \ + mkdir -p "$(PACKAGES_DIR)"; \ + mv SRPMS/*.rpm RPMS/noarch/*.rpm "$(PACKAGES_DIR)"; \ + fi + clean: rm -rf SOURCES SPECS RPMS SRPMS BUILD tmp diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec index 75fbcec9c1..a18c3d10a4 100644 --- a/packaging/RPMS/Fedora/rabbitmq-server.spec +++ b/packaging/RPMS/Fedora/rabbitmq-server.spec @@ -5,16 +5,12 @@ Version: %%VERSION%% Release: 1%{?dist} License: MPLv1.1 and MIT and ASL 2.0 and BSD Group: %{group_tag} -Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz +Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.xz Source1: rabbitmq-server.init -Source2: rabbitmq-script-wrapper -Source3: rabbitmq-server.logrotate -Source4: rabbitmq-server.ocf -Source5: README -Source6: rabbitmq-server-ha.ocf +Source2: rabbitmq-server.logrotate URL: http://www.rabbitmq.com/ BuildArch: noarch -BuildRequires: erlang >= R16B-03, python-simplejson, xmlto, libxslt, gzip, sed, zip +BuildRequires: erlang >= R16B-03, python-simplejson, xmlto, libxslt, gzip, sed, zip, rsync Requires: erlang >= R16B-03, logrotate BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}-root Summary: The RabbitMQ server @@ -29,10 +25,9 @@ scalable implementation of an AMQP broker. # We want to install into /usr/lib, even on 64-bit platforms %define _rabbit_libdir %{_exec_prefix}/lib/rabbitmq %define _rabbit_erllibdir %{_rabbit_libdir}/lib/rabbitmq_server-%{version} -%define _rabbit_wrapper %{_builddir}/`basename %{S:2}` -%define _rabbit_server_ocf %{_builddir}/`basename %{S:4}` +%define _rabbit_server_ocf scripts/rabbitmq-server.ocf %define _plugins_state_dir %{_localstatedir}/lib/rabbitmq/plugins -%define _rabbit_server_ha_ocf %{_builddir}/`basename %{S:6}` +%define _rabbit_server_ha_ocf scripts/rabbitmq-server-ha.ocf %define _maindir %{buildroot}%{_rabbit_erllibdir} @@ -42,34 +37,37 @@ scalable implementation of an AMQP broker. %setup -q %build -cp %{S:2} %{_rabbit_wrapper} -cp %{S:4} %{_rabbit_server_ocf} -cp %{S:5} %{_builddir}/rabbitmq-server-%{version}/README -cp %{S:6} %{_rabbit_server_ha_ocf} -make %{?_smp_mflags} +cp -a docs/README-for-packages %{_builddir}/rabbitmq-server-%{version}/README +make %{?_smp_mflags} dist manpages %install rm -rf %{buildroot} -make install TARGET_DIR=%{_maindir} \ - SBIN_DIR=%{buildroot}%{_rabbit_libdir}/bin \ - MAN_DIR=%{buildroot}%{_mandir} +make install install-bin install-man DESTDIR=%{buildroot} PREFIX=%{_exec_prefix} RMQ_ROOTDIR=%{_rabbit_libdir} MANDIR=%{_mandir} mkdir -p %{buildroot}%{_localstatedir}/lib/rabbitmq/mnesia mkdir -p %{buildroot}%{_localstatedir}/log/rabbitmq #Copy all necessary lib files etc. install -p -D -m 0755 %{S:1} %{buildroot}%{_initrddir}/rabbitmq-server -install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmqctl -install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-server -install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-plugins install -p -D -m 0755 %{_rabbit_server_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server install -p -D -m 0755 %{_rabbit_server_ha_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha -install -p -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server +install -p -D -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq -rm %{_maindir}/LICENSE %{_maindir}/LICENSE-MPL-RabbitMQ %{_maindir}/INSTALL +mkdir -p %{buildroot}%{_sbindir} +sed -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \ + -e 's|@STDOUT_STDERR_REDIRECTION@||' \ + < scripts/rabbitmq-script-wrapper \ + > %{buildroot}%{_sbindir}/rabbitmqctl +chmod 0755 %{buildroot}%{_sbindir}/rabbitmqctl +for script in rabbitmq-server rabbitmq-plugins; do \ + cp -a %{buildroot}%{_sbindir}/rabbitmqctl \ + %{buildroot}%{_sbindir}/$script; \ +done + +rm %{_maindir}/LICENSE* %{_maindir}/INSTALL #Build the list of files echo '%defattr(-,root,root, -)' >%{_builddir}/%{name}.files |
