Source: rabbitmq-server
Version: 4.3.2-2
Severity: normal
Tags: patch

Dear Maintainer,

As far as I can see from the page with testing migration excuses for
rabbitmq-server, it is blocked because it's unreproducible. Ans the
culprit is the code which generates the list of modules for the
rabbitmq_cli application. Their order is not fixed every time
the package is built. This application is then packed inside
the rabbitmq-diagnostics binary file, which becomes unreproducible.

The attached patch to erlang.mk just sorts the list of modules,
which is sufficient to make rabbitmq-server reproducible.

Cheers!

-- System Information:
Debian Release: 13.5
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'stable-debug'), (500, 
'proposed-updates'), (500, 'oldstable-security'), (500, 
'oldstable-proposed-updates'), (500, 'stable'), (500, 'oldstable'), (1, 
'experimental'), (1, 'unstable'), (1, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, arm64

Kernel: Linux 6.12.90+deb13.1-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
--- a/erlang.mk
+++ b/erlang.mk
@@ -1767,7 +1767,7 @@
        $(verbose) if $(ELIXIR_COMP_FAILED); then exit 1; fi
        $(eval GITDESCRIBE := $(shell git describe --dirty --abbrev=7 --tags 
--always --first-parent 2>/dev/null \
                || git describe --dirty --abbrev=7 --tags --always 2>/dev/null 
|| true))
-       $(eval MODULES := $(MODULES) $(patsubst %,'%',$(sort $(notdir 
$(basename \
+       $(eval MODULES := $(sort $(MODULES) $(patsubst %,'%',$(notdir 
$(basename \
                $(filter-out $(ERLC_EXCLUDE_PATHS),$(ERL_FILES) $(CORE_FILES) 
$(BEAM_FILES)))))))
 ifeq ($(wildcard src/$(PROJECT).app.src),)
        $(app_verbose) printf '$(subst %,%%,$(subst $(newline),\n,$(subst 
','\'',$(call app_file,$(GITDESCRIBE),$(MODULES)))))' \

Reply via email to