diff options
| author | Alvaro Videla <videlalvaro@gmail.com> | 2015-11-12 16:31:50 +0100 |
|---|---|---|
| committer | Alvaro Videla <videlalvaro@gmail.com> | 2015-11-12 16:31:50 +0100 |
| commit | 5931edc27eb3273945345dc3f9a784287df88ccd (patch) | |
| tree | 59d300326b16c23ef202f0543f0e295241369af9 /packaging/standalone | |
| parent | 4e1dd3749d3a1bcd8778ba40ec8f00d1dbdb271a (diff) | |
| parent | 9ce5036edd3d9ef116285565c8de8124601389e4 (diff) | |
| download | rabbitmq-server-git-5931edc27eb3273945345dc3f9a784287df88ccd.tar.gz | |
Merge branch 'master' into rabbitmq-server-351
Diffstat (limited to 'packaging/standalone')
| -rw-r--r-- | packaging/standalone/Makefile | 57 | ||||
| -rw-r--r-- | packaging/standalone/src/rabbit_release.erl | 8 |
2 files changed, 48 insertions, 17 deletions
diff --git a/packaging/standalone/Makefile b/packaging/standalone/Makefile index 903458836c..578ed57345 100644 --- a/packaging/standalone/Makefile +++ b/packaging/standalone/Makefile @@ -1,4 +1,19 @@ -VERSION=0.0.0 +SOURCE_DIST_FILE ?= $(wildcard ../../rabbitmq-server-*.tar.xz) + +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 + SOURCE_DIR=rabbitmq-server-$(VERSION) TARGET_DIR=rabbitmq_server-$(VERSION) TARGET_TARBALL=rabbitmq-server-$(OS)-standalone-$(VERSION) @@ -18,15 +33,24 @@ RABBITMQ_DEFAULTS=$(TARGET_DIR)/sbin/rabbitmq-defaults fix_defaults = sed -e $(1) $(RABBITMQ_DEFAULTS) > $(RABBITMQ_DEFAULTS).tmp \ && mv $(RABBITMQ_DEFAULTS).tmp $(RABBITMQ_DEFAULTS) +unexport DEPS_DIR +unexport ERL_LIBS + +all: dist + @: + dist: - tar -zxf ../../dist/$(SOURCE_DIR).tar.gz + rm -rf $(SOURCE_DIR) $(TARGET_DIR) + xzcat $(SOURCE_DIST_FILE) | tar -xf - $(MAKE) -C $(SOURCE_DIR) \ - TARGET_DIR=`pwd`/$(TARGET_DIR) \ - SBIN_DIR=`pwd`/$(TARGET_DIR)/sbin \ - MAN_DIR=`pwd`/$(TARGET_DIR)/share/man \ - DOC_INSTALL_DIR=`pwd`/$(TARGET_DIR)/etc/rabbitmq \ - install + PREFIX= RMQ_ROOTDIR= \ + RMQ_ERLAPP_DIR=$(abspath $(TARGET_DIR)) \ + MANDIR=$(abspath $(TARGET_DIR))/share/man \ + manpages install install-man + + mkdir -p $(TARGET_DIR)/etc/rabbitmq + cp $(SOURCE_DIR)/docs/rabbitmq.config.example $(TARGET_DIR)/etc/rabbitmq ## Here we set the RABBITMQ_HOME variable, ## then we make ERL_DIR point to our released erl @@ -66,16 +90,19 @@ dist: # fix Erlang ROOTDIR patch -o $(RLS_DIR)/erts-$(ERTS_VSN)/bin/erl $(RLS_DIR)/erts-$(ERTS_VSN)/bin/erl.src < erl.diff + rm -f $(RLS_DIR)/erts-$(ERTS_VSN)/bin/erl.orig - tar -zcf $(TARGET_TARBALL).tar.gz -C $(TARGET_DIR)/release $(TARGET_DIR) - rm -rf $(SOURCE_DIR) $(TARGET_DIR) + cd $(TARGET_DIR)/release && \ + find $(TARGET_DIR) -print0 | LC_COLLATE=C sort -z | \ + xargs -0 tar -cnf - | xz > $(CURDIR)/$(TARGET_TARBALL).tar.xz -clean: clean_partial - rm -f rabbitmq-server-$(OS)-standalone-*.tar.gz + if test "$(PACKAGES_DIR)"; then \ + mkdir -p "$(PACKAGES_DIR)"; \ + mv $(TARGET_TARBALL).tar.xz "$(PACKAGES_DIR)"; \ + fi -clean_partial: - rm -rf $(SOURCE_DIR) - rm -rf $(TARGET_DIR) +clean: + rm -rf rabbitmq-server-* rabbitmq_server-* .PHONY : generate_release generate_release: @@ -83,6 +110,7 @@ generate_release: -I $(TARGET_DIR)/include/ -o src -Wall \ -v +debug_info -Duse_specs -Duse_proper_qc \ -pa $(TARGET_DIR)/ebin/ src/rabbit_release.erl + ERL_LIBS="$(TARGET_DIR)/plugins:$$ERL_LIBS" \ erl \ -pa "$(RABBITMQ_EBIN_ROOT)" \ -pa src \ @@ -90,4 +118,5 @@ generate_release: -hidden \ -s rabbit_release \ -extra "$(RABBITMQ_PLUGINS_DIR)" "$(RABBITMQ_PLUGINS_EXPAND_DIR)" "$(RABBITMQ_HOME)" + test -f $(RABBITMQ_HOME)/rabbit.tar.gz rm src/rabbit_release.beam diff --git a/packaging/standalone/src/rabbit_release.erl b/packaging/standalone/src/rabbit_release.erl index f5e1ecf8a1..4e16fd52b5 100644 --- a/packaging/standalone/src/rabbit_release.erl +++ b/packaging/standalone/src/rabbit_release.erl @@ -40,8 +40,8 @@ start() -> %% add the plugin ebin folder to the code path. add_plugins_to_path(UnpackedPluginDir), - PluginAppNames = [P#plugin.name || - P <- rabbit_plugins:list(PluginsDistDir)], + PluginAppNames = [rabbit_common | [P#plugin.name || + P <- rabbit_plugins:list(PluginsDistDir)]], %% Build the entire set of dependencies - this will load the %% applications along the way @@ -56,7 +56,9 @@ start() -> %% we need a list of ERTS apps we need to ship with rabbit {ok, SslAppsConfig} = application:get_env(rabbit, ssl_apps), - BaseApps = SslAppsConfig ++ AllApps -- PluginAppNames, + BaseApps = lists:umerge( + lists:sort(SslAppsConfig), + lists:sort(AllApps -- PluginAppNames)), AppVersions = [determine_version(App) || App <- BaseApps], RabbitVersion = proplists:get_value(rabbit, AppVersions), |
