From 1785dcad3ed4ff75c7e10d5f7bfaf61070e18d8c Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Thu, 11 Jun 2020 10:35:56 +0800 Subject: [PATCH] rabbitmq-server: remove the source with copyleft license - remove the source script rabbitmq-script-wrapper with copyleft license. - use the one in rabbitmq source code and add a patch change to what is quired by stx. Issue-ID: INF-161 Signed-off-by: Jackie Huang Change-Id: Ie236743bc6feecc26f216063f51a993228f6b1fe --- .../rabbitmq/files/rabbitmq-script-wrapper | 54 ---------------------- ...bitmq-script-wrapper-allow-to-run-as-root.patch | 52 +++++++++++++++++++++ .../rabbitmq/rabbitmq-server_3.6.5.bb | 8 ++-- 3 files changed, 56 insertions(+), 58 deletions(-) delete mode 100644 meta-stx/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper create mode 100644 meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch diff --git a/meta-stx/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper b/meta-stx/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper deleted file mode 100644 index b2a4520..0000000 --- a/meta-stx/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -## The contents of this file are subject to the Mozilla Public License -## Version 1.1 (the "License"); you may not use this file except in -## compliance with the License. You may obtain a copy of the License -## at http://www.mozilla.org/MPL/ -## -## Software distributed under the License is distributed on an "AS IS" -## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -## the License for the specific language governing rights and -## limitations under the License. -## -## The Original Code is RabbitMQ. -## -## The Initial Developer of the Original Code is GoPivotal, Inc. -## Copyright (c) 2007-2015 Pivotal Software, Inc. All rights reserved. -## - -SED_OPT="-E" -if [ $(uname -s) = "Linux" ]; then - SED_OPT="-r" -fi - -for arg in "$@" ; do - # Wrap each arg in single quotes and wrap single quotes in double quotes, so that they're passed through cleanly. - arg=`printf %s "$arg" | sed $SED_OPT -e "s/'/'\"'\"'/g"` - CMDLINE="${CMDLINE} '${arg}'" -done - -cd /var/lib/rabbitmq - -SCRIPT=`basename $0` - -if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then - RABBITMQ_ENV=/usr/lib/rabbitmq/bin/rabbitmq-env - RABBITMQ_SCRIPTS_DIR=$(dirname "$RABBITMQ_ENV") - . "$RABBITMQ_ENV" - - exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@" -elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then - if [ -f $PWD/.erlang.cookie ] ; then - export HOME=. - fi - exec /usr/lib/rabbitmq/bin/${SCRIPT} "$@" -elif [ `id -u` = 0 ] ; then - # WRS. Allow to run as root - export HOME=${HOME:-/root} - /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}" -else - /usr/lib/rabbitmq/bin/${SCRIPT} - echo - echo "Only root or rabbitmq should run ${SCRIPT}" - echo - exit 1 -fi diff --git a/meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch b/meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch new file mode 100644 index 0000000..7a9a439 --- /dev/null +++ b/meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch @@ -0,0 +1,52 @@ +From 460a27eb4530d9d7f7eceaf42b1f1b13af96d952 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Thu, 11 Jun 2020 10:29:09 +0800 +Subject: [PATCH] rabbitmq-script-wrapper: allow to run as root + +Signed-off-by: Jackie Huang +--- + scripts/rabbitmq-script-wrapper | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/scripts/rabbitmq-script-wrapper b/scripts/rabbitmq-script-wrapper +index 9623f01..b2a4520 100644 +--- a/scripts/rabbitmq-script-wrapper ++++ b/scripts/rabbitmq-script-wrapper +@@ -15,9 +15,14 @@ + ## Copyright (c) 2007-2015 Pivotal Software, Inc. All rights reserved. + ## + ++SED_OPT="-E" ++if [ $(uname -s) = "Linux" ]; then ++ SED_OPT="-r" ++fi ++ + for arg in "$@" ; do + # Wrap each arg in single quotes and wrap single quotes in double quotes, so that they're passed through cleanly. +- arg=`printf %s "$arg" | sed -e "s#'#'\"'\"'#g"` ++ arg=`printf %s "$arg" | sed $SED_OPT -e "s/'/'\"'\"'/g"` + CMDLINE="${CMDLINE} '${arg}'" + done + +@@ -30,14 +35,16 @@ if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then + RABBITMQ_SCRIPTS_DIR=$(dirname "$RABBITMQ_ENV") + . "$RABBITMQ_ENV" + +- exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@" @STDOUT_STDERR_REDIRECTION@ ++ exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@" + elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then + if [ -f $PWD/.erlang.cookie ] ; then + export HOME=. + fi + exec /usr/lib/rabbitmq/bin/${SCRIPT} "$@" + elif [ `id -u` = 0 ] ; then +- @SU_RABBITMQ_SH_C@ "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}" ++ # WRS. Allow to run as root ++ export HOME=${HOME:-/root} ++ /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}" + else + /usr/lib/rabbitmq/bin/${SCRIPT} + echo +-- +2.7.4 + diff --git a/meta-stx/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb b/meta-stx/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb index e9315f6..d8659e0 100644 --- a/meta-stx/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb +++ b/meta-stx/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb @@ -28,10 +28,10 @@ SRC_URI = " \ file://rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch \ file://rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch \ file://rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch \ + file://rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch \ file://rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch;patchdir=deps/rabbit_common \ file://rabbitmq-common-0002-Use-proto_dist-from-command-line.patch;patchdir=deps/rabbit_common \ file://rabbitmq-server-fails-with-home-not-set.patch \ - file://rabbitmq-script-wrapper \ file://rabbitmq-server.logrotate \ file://rabbitmq-server.tmpfiles \ " @@ -80,9 +80,9 @@ do_install() { # Copy all necessary lib files etc. install -p -D -m 0644 ${S}/docs/rabbitmq-server.service.example ${D}${systemd_system_unitdir}/rabbitmq-server.service - install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmqctl - install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-server - install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-plugins + install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmqctl + install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-server + install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-plugins # Make necessary symlinks mkdir -p ${D}${RABBIT_LIB_DIR}/bin -- 2.16.6