rabbitmq / rabbitmq-packaging

Debian, RPM, Windows package bits for RabbitMQ
1 stars 6 forks source link

package-rpm on centos 7 failing #27

Closed arshad01 closed 1 year ago

arshad01 commented 1 year ago

Hello

I am trying to build rabbitmq rpm package on centos 7. However, the process fails immediately due to incorrect directory. I tried to fix myself, but could not succeed. Here is a transcript of my command line actions: (it also seem to be taking my system as rhel6). Any help is greatly appreciated.

$ export SOURCE_DIST_FILE=/home/prometheus/PACKAGES/rabbitmq-server_3.9.23.orig.tar.xz
$ make package-rpm
make -C RPMS/Fedora SOURCE_DIST_FILE="/home/prometheus/PACKAGES/rabbitmq-server_3.9.23.orig.tar.xz" PACKAGES_DIR="/home/prometheus/PACKAGES" SIGNING_KEY="" RPM_OS=rhel6 all clean
make[1]: Entering directory '/home/prometheus/rabbitmq-packaging/RPMS/Fedora'
rm -rf SOURCES SPECS RPMS SRPMS BUILD tmp
--------------------------------------------------
Erlang and Elixir versions used to compile:
Erlang/OTP 24 [erts-12.3.2.1] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]
Elixir 1.11.4 (compiled with Erlang/OTP 24)
--------------------------------------------------
mkdir -p BUILD SOURCES SPECS SRPMS RPMS tmp
cp /home/prometheus/PACKAGES/rabbitmq-server_3.9.23.orig.tar.xz SOURCES/rabbitmq-server-rabbitmq-server_3.9.23.orig.tar.xz.tar.xz
cp rabbitmq-server.spec SPECS/rabbitmq-server.spec.in
cp rabbitmq-server.service SOURCES/rabbitmq-server.service
cp rabbitmq-server.tmpfiles SOURCES/rabbitmq-server.tmpfiles
sed \
    -e 's|^START_PROG=.*$|START_PROG="daemon"|' \
    -e 's|^@FUNCTION_LIBRARY@|# Source function library.\n. /etc/init.d/functions|' \
    < rabbitmq-server.init \
    > SOURCES/rabbitmq-server.init
cp rabbitmq-server.logrotate SOURCES/rabbitmq-server.logrotate
scripts/update-changelog.sh SPECS/rabbitmq-server.spec.in "rabbitmq~server_3.9.23.orig.tar.xz"
sed -e 's|%%VERSION%%|rabbitmq~server_3.9.23.orig.tar.xz|;s|%%REQUIRES%%|chkconfig initscripts|' \
    < SPECS/rabbitmq-server.spec.in \
    > SPECS/rabbitmq-server.spec
rpmbuild -ba --nodeps SPECS/rabbitmq-server.spec --define 'upstream_version rabbitmq-server_3.9.23.orig.tar.xz' --define '_topdir /home/prometheus/rabbitmq-packaging/RPMS/Fedora' --define '_tmppath /home/prometheus/rabbitmq-packaging/RPMS/Fedora/tmp' --define '_sysconfdir /etc' --define '_localstatedir /var' \
    --define '_initrddir /etc/rc.d/init.d' --define 'group_tag Development/Libraries' --define 'dist .el6' --define 'rhel 6'
Executing(%prep): /bin/sh -e /home/prometheus/rabbitmq-packaging/RPMS/Fedora/tmp/rpm-tmp.jJrLM7
+ umask 022
+ cd /home/prometheus/rabbitmq-packaging/RPMS/Fedora/BUILD
+ cd /home/prometheus/rabbitmq-packaging/RPMS/Fedora/BUILD
+ rm -rf rabbitmq-server-rabbitmq-server_3.9.23.orig.tar.xz
+ /usr/bin/tar -xf -
+ /usr/bin/xz -dc /home/prometheus/rabbitmq-packaging/RPMS/Fedora/SOURCES/rabbitmq-server-rabbitmq-server_3.9.23.orig.tar.xz.tar.xz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd rabbitmq-server-rabbitmq-server_3.9.23.orig.tar.xz
/home/prometheus/rabbitmq-packaging/RPMS/Fedora/tmp/rpm-tmp.jJrLM7: line 35: cd: rabbitmq-server-rabbitmq-server_3.9.23.orig.tar.xz: No such file or directory
error: Bad exit status from /home/prometheus/rabbitmq-packaging/RPMS/Fedora/tmp/rpm-tmp.jJrLM7 (%prep)

RPM build errors:
    Bad exit status from /home/prometheus/rabbitmq-packaging/RPMS/Fedora/tmp/rpm-tmp.jJrLM7 (%prep)
make[1]: *** [Makefile:104: package] Error 1
make[1]: Leaving directory '/home/prometheus/rabbitmq-packaging/RPMS/Fedora'
make: *** [Makefile:83: package-rpm-rhel6] Error 2

[prometheus@makcentos7 rabbitmq-packaging]$ ls /home/prometheus/rabbitmq-packaging/RPMS/Fedora/BUILD
rabbitmq-server-3.9.23
lukebakken commented 1 year ago

RabbitMQ no longer support CentOS 7 - https://blog.rabbitmq.com/posts/2022/04/centos-7-support-discontinued/

We do not have the resources to support CentOS 7. Please use a supported operating system.

arshad01 commented 1 year ago

I was able to build rabbitmq server 3.9.23 rpm on centos 7. Following change is what I modified.

(Note: the source packages are named like rabbitmq-server_3.9.23.orig.tar.xz. This change follows the source package naming convention.)

$ git diff
diff --git a/RPMS/Fedora/Makefile b/RPMS/Fedora/Makefile
index 4867e7b..0f265bd 100644
--- a/RPMS/Fedora/Makefile
+++ b/RPMS/Fedora/Makefile
@@ -9,7 +9,7 @@ $(error Multiple source archives found; please specify SOURCE_DIST_FILE)
 endif
 endif

-VERSION ?= $(patsubst rabbitmq-server-%.tar.xz,%,$(notdir $(SOURCE_DIST_FILE)))
+VERSION ?= $(patsubst rabbitmq-server_%.orig.tar.xz,%,$(notdir $(SOURCE_DIST_FILE)))
 ifeq ($(VERSION),)
 $(error Cannot determine version; please specify VERSION)
 endif