summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2021-09-17 13:59:31 +0200
committerGitHub <noreply@github.com>2021-09-17 13:59:31 +0200
commit0b545bf09952c120aee6fbcdb12846f03ceb996d (patch)
tree7f97b2075060ee1884d1860a06ee43f2d42273b3
parentbc05489ab9037654923c2e4168868fe447a59770 (diff)
parent41088a4f5de3df0072891c3a4ada264d41cbf46c (diff)
downloadrabbitmq-server-git-0b545bf09952c120aee6fbcdb12846f03ceb996d.tar.gz
Merge pull request #3442 from rabbitmq/deterministic-flag-make
Use the +deterministic compiler flag when building with Make
-rw-r--r--deps/rabbit_common/mk/rabbitmq-build.mk2
-rw-r--r--deps/rabbitmq_cli/Makefile6
-rw-r--r--release-notes/3.9.7.md46
3 files changed, 51 insertions, 3 deletions
diff --git a/deps/rabbit_common/mk/rabbitmq-build.mk b/deps/rabbit_common/mk/rabbitmq-build.mk
index 988792d26c..9e17a5badc 100644
--- a/deps/rabbit_common/mk/rabbitmq-build.mk
+++ b/deps/rabbit_common/mk/rabbitmq-build.mk
@@ -18,6 +18,8 @@ ifneq ($(filter-out rabbit_common amqp_client,$(PROJECT)),)
RMQ_ERLC_OPTS += -pa $(DEPS_DIR)/rabbitmq_cli/_build/dev/lib/rabbitmqctl/ebin
endif
+RMQ_ERLC_OPTS += +deterministic
+
# Push our compilation options to both the normal and test ERLC_OPTS.
ERLC_OPTS += $(RMQ_ERLC_OPTS)
TEST_ERLC_OPTS += $(RMQ_ERLC_OPTS)
diff --git a/deps/rabbitmq_cli/Makefile b/deps/rabbitmq_cli/Makefile
index 7ee7cc6ea6..f2d97bd3ae 100644
--- a/deps/rabbitmq_cli/Makefile
+++ b/deps/rabbitmq_cli/Makefile
@@ -13,7 +13,7 @@ VERBOSE_TEST ?= true
MAX_CASES ?= 1
MIX_TEST_OPTS ?= ""
-MIX_TEST = mix test --max-cases=$(MAX_CASES)
+MIX_TEST = ERL_COMPILER_OPTIONS=deterministic mix test --max-cases=$(MAX_CASES)
ifneq ("",$(MIX_TEST_OPTS))
MIX_TEST := $(MIX_TEST) $(MIX_TEST_OPTS)
@@ -106,9 +106,9 @@ rabbitmqctl_srcs := mix.exs \
# ones).
$(ACTUAL_ESCRIPTS): $(rabbitmqctl_srcs)
$(gen_verbose) if test -d ../.hex; then \
- echo y | mix make_all_in_src_archive; \
+ echo y | ERL_COMPILER_OPTIONS=deterministic mix make_all_in_src_archive; \
else \
- echo y | mix make_all; \
+ echo y | ERL_COMPILER_OPTIONS=deterministic mix make_all; \
fi
$(LINKED_ESCRIPTS):
diff --git a/release-notes/3.9.7.md b/release-notes/3.9.7.md
new file mode 100644
index 0000000000..b6c791eaf1
--- /dev/null
+++ b/release-notes/3.9.7.md
@@ -0,0 +1,46 @@
+RabbitMQ `3.9.7` is a maintenance release in the `3.9.x` release series.
+
+Please refer to the **Upgrading to 3.9** section from [v3.9.0 release notes](https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.9.0) if upgrading from a version prior to 3.9.0.
+
+This release requires at least Erlang 23.2, and supports the latest Erlang 24 version, 24.0.5 at the time of release. [RabbitMQ and Erlang/OTP Compatibility Matrix](https://www.rabbitmq.com/which-erlang.html) has more details on Erlang version requirements for RabbitMQ.
+
+
+
+## Changes Worth Mentioning
+
+Release notes are kept under [rabbitmq-server/release-notes](https://github.com/rabbitmq/rabbitmq-server/tree/v3.9.x/release-notes).
+Contributors are encouraged to update them together with their changes. This helps with release automation and a more consistent release schedule.
+
+### All Components
+
+ * All bytecode is now compiled using the `+deterministic` compiler flag. This should eliminate the capture of some irrelevant build environment attributes in produced artifacts, improve consistency between builds, and reduce the file level diff between release artifacts.
+
+ GitHub issue: [#3442](https://github.com/rabbitmq/rabbitmq-server/pull/3442)
+
+### Core Server
+
+#### Bug Fixes
+
+* ...
+
+### Stream Plugin
+
+#### Bug Fixes
+
+ * ...
+
+### Management Plugin
+
+#### Enhancements
+
+ * ...
+
+
+## Dependency Upgrades
+
+ * ...
+
+
+## Source Code Archives
+
+To obtain source code of the entire distribution, please download the archive named `rabbitmq-server-3.9.7.tar.xz` instead of the source tarball produced by GitHub.