diff --git a/talimatname/genel/r/rabbitmq/rabbitmq-env.conf b/talimatname/genel/r/rabbitmq/rabbitmq-env.conf new file mode 100644 index 000000000..6918e6c0f --- /dev/null +++ b/talimatname/genel/r/rabbitmq/rabbitmq-env.conf @@ -0,0 +1,6 @@ +NODENAME=rabbit +NODE_IP_ADDRESS=0.0.0.0 +NODE_PORT=5672 + +LOG_BASE=/var/log/rabbitmq +MNESIA_BASE=/var/lib/rabbitmq/mnesia diff --git a/talimatname/genel/r/rabbitmq/rabbitmq-script-wrapper b/talimatname/genel/r/rabbitmq/rabbitmq-script-wrapper new file mode 100644 index 000000000..0e1ee8e14 --- /dev/null +++ b/talimatname/genel/r/rabbitmq/rabbitmq-script-wrapper @@ -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 diff --git a/talimatname/genel/r/rabbitmq/rabbitmq.logrotate b/talimatname/genel/r/rabbitmq/rabbitmq.logrotate new file mode 100644 index 000000000..9e347d72f --- /dev/null +++ b/talimatname/genel/r/rabbitmq/rabbitmq.logrotate @@ -0,0 +1,6 @@ +/var/log/rabbitmq/*.log { + missingok + notifempty + compress + create 640 rabbitmq rabbitmq +} diff --git a/talimatname/genel/r/rabbitmq/rabbitmq.sysusers b/talimatname/genel/r/rabbitmq/rabbitmq.sysusers new file mode 100644 index 000000000..6b51a776b --- /dev/null +++ b/talimatname/genel/r/rabbitmq/rabbitmq.sysusers @@ -0,0 +1 @@ +u rabbitmq 197 "RabbitMQ user" /var/lib/rabbitmq diff --git a/talimatname/genel/r/rabbitmq/rabbitmq.tmpfiles b/talimatname/genel/r/rabbitmq/rabbitmq.tmpfiles new file mode 100644 index 000000000..56e74d0a4 --- /dev/null +++ b/talimatname/genel/r/rabbitmq/rabbitmq.tmpfiles @@ -0,0 +1,2 @@ +d /var/lib/rabbitmq 0750 rabbitmq rabbitmq - - +d /var/log/rabbitmq 0750 rabbitmq rabbitmq - - diff --git a/talimatname/genel/r/rabbitmq/talimat b/talimatname/genel/r/rabbitmq/talimat new file mode 100644 index 000000000..254a60297 --- /dev/null +++ b/talimatname/genel/r/rabbitmq/talimat @@ -0,0 +1,40 @@ +# Tanım: Erlang/OTP'de yazılmış AMQP'nin güvenilir ve kurumsal kurumsal mesajlaşma uygulaması +# URL: https://rabbitmq.com +# Paketçi: Cihan_Alkan +# Gerekler: erlang python libxslt xmlto zip +# Grup: kütüphane + +isim=rabbitmq +surum=3.6.15 +devir=1 + +kaynak=(https://www.rabbitmq.com/releases/rabbitmq-server/v$surum/rabbitmq-server_$surum.orig.tar.xz + rabbitmq-env.conf + rabbitmq.sysusers + rabbitmq.tmpfiles + rabbitmq-script-wrapper + rabbitmq.logrotate) + +derle() { + + cd ${isim}-server-${surum} + sed -r 's|^(SYS_PREFIX=).*$|\1""|' -i deps/rabbit/scripts/rabbitmq-defaults + make + make DESTDIR="${PKG}" PREFIX=/usr RMQ_ROOTDIR=/usr/lib/rabbitmq \ + install install-man install-bin + + # using script wrapper for better bin handling + local libdir="${PKG}/usr/lib/rabbitmq/lib/rabbitmq_server-${surum}" + install -d "${PKG}/usr/bin" + install -Dm 755 scripts/rabbitmq-script-wrapper -t "${PKG}/usr/lib/rabbitmq/bin" + for script in "${libdir}"/sbin/rabbit*; do + ln -s /usr/lib/rabbitmq/bin/rabbitmq-script-wrapper "${PKG}/usr/bin/${script#${libdir}/sbin/}" + done + + install -Dm 644 "${SRC}/rabbitmq-env.conf" "${PKG}/etc/rabbitmq/rabbitmq-env.conf" + install -Dm 644 "${SRC}/rabbitmq.sysusers" "${PKG}/usr/lib/sysusers.d/rabbitmq.conf" + install -Dm 644 "${SRC}/rabbitmq.tmpfiles" "${PKG}/usr/lib/tmpfiles.d/rabbitmq.conf" + install -Dm 644 "${SRC}/rabbitmq.logrotate" "${PKG}/etc/logrotate.d/rabbitmq" + + chown -R 197:0 "${PKG}/etc/rabbitmq" +}