[arch-commits] Commit in rabbitmq/trunk (PKGBUILD rabbitmq-script-wrapper)
Levente Polyak
anthraxx at archlinux.org
Tue Sep 12 10:34:11 UTC 2017
Date: Tuesday, September 12, 2017 @ 10:34:10
Author: anthraxx
Revision: 257103
upgpkg: rabbitmq 3.6.12-1 (adding wrapper script)
- wrapper script allows rabbitmq* scripts to be run as
either rabbitmq or root (su-ing as rabbitmq) FS#46908
Added:
rabbitmq/trunk/rabbitmq-script-wrapper
Modified:
rabbitmq/trunk/PKGBUILD
-------------------------+
PKGBUILD | 19 +++++++++++-------
rabbitmq-script-wrapper | 48 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 60 insertions(+), 7 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-09-12 10:32:52 UTC (rev 257102)
+++ PKGBUILD 2017-09-12 10:34:10 UTC (rev 257103)
@@ -8,23 +8,25 @@
# Contributor: mutantmonkey
pkgname=rabbitmq
-pkgver=3.6.11
+pkgver=3.6.12
pkgrel=1
pkgdesc='Highly reliable and performant enterprise messaging implementation of AMQP written in Erlang/OTP'
url='https://rabbitmq.com'
arch=('any')
license=('MPL')
-depends=('erlang-nox')
+depends=('util-linux' 'inetutils' 'erlang-nox')
optdepends=('rabbitmqadmin: CLI management tool')
backup=('etc/rabbitmq/rabbitmq-env.conf')
install=rabbitmq.install
source=(https://www.rabbitmq.com/releases/${pkgname}-server/v${pkgver}/${pkgname}-server-generic-unix-${pkgver}.tar.xz{,.asc}
rabbitmq-env.conf
- rabbitmq.service)
-sha512sums=('56c5bb4bed9886b53454da400e111d7f24bb51b7172a6e2311b0ee13a28782e81718721c0d1fe02194bcb817ef9c2d7ecb8ba6d3181d3ef3baf6cb7bf395819f'
+ rabbitmq.service
+ rabbitmq-script-wrapper)
+sha512sums=('6c2551a01c6210cd9e353ae19f69098478349a7ba59bc83844a682fc73d9e920cbc21c753edaf40cc9119f8befcd3d1647bf20d47741fb5ac1e969844cb5fb1d'
'SKIP'
'4872ff514c9f841fe4c93bc442ec4e3177d1bfa3834e8d8a26fc77a63aff1cdc14944827673a59556e26210b2b4c0091f93c8e93a334710e5bc3336a64e77140'
- 'd51b43f948febb23cdd5b0c7736f966d8433b05ccd95778e90d280d45ccfd9a714e888762f458337a784fff4b86430151adb0f81d779d6b99c9154fcd7e0e319')
+ 'd51b43f948febb23cdd5b0c7736f966d8433b05ccd95778e90d280d45ccfd9a714e888762f458337a784fff4b86430151adb0f81d779d6b99c9154fcd7e0e319'
+ '3f271d546836eccc3bcf61105c013d3b590c3e2535106d07e5605a63174fd62ef204207367c2cd39be54e0246d0bbd9aecebe8b5cefe9018a766ceb8af70bc81')
validpgpkeys=('0A9AF2115F4687BD29803A206B73A36E6026DFCA') # RabbitMQ Release Signing Key <info at rabbitmq.com>
prepare() {
@@ -47,8 +49,11 @@
cp -R sbin "${libdir}"
cp -R share "${pkgdir}/usr"
- for script in ${libdir}/sbin/*; do
- ln -s "${script#${pkgdir}}" "${pkgdir}/usr/bin/"
+ install -d "${pkgdir}/usr/lib/rabbitmq/bin"
+ install -Dm 755 "${srcdir}/rabbitmq-script-wrapper" -t "${pkgdir}/usr/lib/rabbitmq/bin"
+ for script in "${libdir}"/sbin/*; do
+ ln -s "${script#${pkgdir}}" "${pkgdir}/usr/lib/rabbitmq/bin"
+ ln -s /usr/lib/rabbitmq/bin/rabbitmq-script-wrapper "${pkgdir}/usr/bin/${script#${libdir}/sbin/}"
done
install -Dm 644 "${srcdir}/rabbitmq-env.conf" "${pkgdir}/etc/rabbitmq/rabbitmq-env.conf"
Added: rabbitmq-script-wrapper
===================================================================
--- rabbitmq-script-wrapper (rev 0)
+++ rabbitmq-script-wrapper 2017-09-12 10:34:10 UTC (rev 257103)
@@ -0,0 +1,48 @@
+#!/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-2014 GoPivotal, Inc. All rights reserved.
+##
+
+# Escape spaces and quotes, because shell is revolting.
+for arg in "$@" ; do
+ # Escape quotes in parameters, so that they're passed through cleanly.
+ arg=$(sed -e 's/"/\\"/g' <<-END
+ $arg
+ END
+ )
+ CMDLINE="${CMDLINE} \"${arg}\""
+done
+
+SCRIPT="$(basename "$0")"
+
+if [ $(id -u) = $(id -u rabbitmq) ] && [ "$SCRIPT" = "rabbitmq-server" ]; then
+ cd /var/lib/rabbitmq
+ /usr/lib/rabbitmq/bin/rabbitmq-server "$@" > "/var/log/rabbitmq/startup_log" 2> "/var/log/rabbitmq/startup_err"
+elif [ $(id -u) = $(id -u rabbitmq) ]; then
+ cd /var/lib/rabbitmq
+ if [ -f "${PWD}/.erlang.cookie" ] ; then
+ export HOME=.
+ fi
+ "/usr/lib/rabbitmq/bin/${SCRIPT}" "$@"
+elif [ $(id -u) = 0 ] ; then
+ cd /var/lib/rabbitmq
+ su rabbitmq -s /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
Property changes on: rabbitmq/trunk/rabbitmq-script-wrapper
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
More information about the arch-commits
mailing list