Add custom rabbitmq-server build
This commit is contained in:
parent
8e57996b9c
commit
bdc0d0a2a6
@ -27,6 +27,10 @@ abuild -F
|
|||||||
cd ${ROOT}/apk/proj4
|
cd ${ROOT}/apk/proj4
|
||||||
abuild -F
|
abuild -F
|
||||||
|
|
||||||
|
cd ${ROOT}/apk/rabbitmq-server
|
||||||
|
apk add erlang-dev python2 py2-simplejson xmlto libxslt rsync zip gawk grep erlang-compiler erlang-erl-docgen erlang-edoc socat elixir
|
||||||
|
abuild -F
|
||||||
|
|
||||||
cd ${ROOT}/apk/postgis
|
cd ${ROOT}/apk/postgis
|
||||||
apk add postgresql-dev libxml2-dev perl-dev json-c-dev pcre-dev postgresql perl
|
apk add postgresql-dev libxml2-dev perl-dev json-c-dev pcre-dev postgresql perl
|
||||||
apk add --repository /srv/build/apk geos-dev gdal-dev proj4-dev
|
apk add --repository /srv/build/apk geos-dev gdal-dev proj4-dev
|
||||||
|
82
apk/rabbitmq-server/APKBUILD
Normal file
82
apk/rabbitmq-server/APKBUILD
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
# Contributor: Nathan Johnson <nathan@nathanjohnson.info>
|
||||||
|
# Maintainer: Nathan Johnson <nathan@nathanjohnson.info>
|
||||||
|
pkgname=rabbitmq-server
|
||||||
|
pkgver=3.7.11
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="RabbitMQ is an open source multi-protocol messaging broker."
|
||||||
|
url="https://www.rabbitmq.com/"
|
||||||
|
arch="noarch !s390x"
|
||||||
|
license="MPL-1.1"
|
||||||
|
depends="erlang erlang-tools erlang-runtime-tools erlang-stdlib
|
||||||
|
logrotate erlang-ssl erlang-crypto erlang-parsetools
|
||||||
|
erlang-mnesia erlang-sasl erlang-inets erlang-syntax-tools
|
||||||
|
erlang-eldap erlang-xmerl erlang-os-mon erlang-asn1 erlang-public-key"
|
||||||
|
depends_dev=""
|
||||||
|
makedepends="$depends_dev erlang-dev python2 py2-simplejson xmlto libxslt
|
||||||
|
rsync zip gawk grep erlang-compiler erlang-erl-docgen
|
||||||
|
erlang-edoc socat elixir"
|
||||||
|
install="$pkgname.pre-install $pkgname.post-deinstall"
|
||||||
|
pkgusers="rabbitmq"
|
||||||
|
pkggroups="rabbitmq"
|
||||||
|
subpackages="$pkgname-doc"
|
||||||
|
source="
|
||||||
|
rabbitmq-server.initd
|
||||||
|
rabbitmq-server.logrotate
|
||||||
|
https://github.com/rabbitmq/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz
|
||||||
|
"
|
||||||
|
|
||||||
|
builddir="$srcdir/${pkgname}-${pkgver}"
|
||||||
|
build() {
|
||||||
|
cd "$builddir"
|
||||||
|
make dist manpages
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$builddir"
|
||||||
|
|
||||||
|
make install install-bin install-man DESTDIR="$pkgdir" PREFIX=/usr \
|
||||||
|
RMQ_ROOTDIR="/usr/lib/rabbitmq" MANDIR=/usr/share/man
|
||||||
|
|
||||||
|
mkdir -p "$pkgdir"/var/lib/rabbitmq/mnesia
|
||||||
|
mkdir -p "$pkgdir"/var/log/rabbitmq
|
||||||
|
|
||||||
|
#Copy all necessary lib files etc.
|
||||||
|
install -p -m755 -D "$builddir"/scripts/rabbitmq-server.ocf \
|
||||||
|
"$pkgdir"/usr/lib/ocf/resource.d/rabbitmq/rabbitmq-server || return 1
|
||||||
|
install -p -m755 -D "$builddir"/scripts/rabbitmq-server-ha.ocf \
|
||||||
|
"$pkgdir"/usr/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha \
|
||||||
|
|| return 1
|
||||||
|
install -p -m644 -D "$srcdir/"$pkgname.logrotate \
|
||||||
|
"$pkgdir"/etc/logrotate.d/rabbitmq-server || return 1
|
||||||
|
install -m755 -D "$srcdir"/$pkgname.initd \
|
||||||
|
"$pkgdir"/etc/init.d/$pkgname || return 1
|
||||||
|
mkdir -p "$pkgdir"/usr/sbin
|
||||||
|
|
||||||
|
# This is lifted / adapted from the official upstream spec file.
|
||||||
|
# I'd prefer a patch file, but this is probably a little easier
|
||||||
|
# to manage since this is how they do it upstream. inb4eww
|
||||||
|
sed -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
|
||||||
|
-e 's|@STDOUT_STDERR_REDIRECTION@||' \
|
||||||
|
< "$builddir"/scripts/rabbitmq-script-wrapper \
|
||||||
|
> "$pkgdir"/usr/sbin/rabbitmqctl
|
||||||
|
|
||||||
|
chmod 0755 "$pkgdir"/usr/sbin/rabbitmqctl
|
||||||
|
for script in rabbitmq-server rabbitmq-plugins; do
|
||||||
|
cp -a "$pkgdir"/usr/sbin/rabbitmqctl \
|
||||||
|
"$pkgdir"/usr/sbin/$script;
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p "$pkgdir"/usr/share/doc/"$pkgname"
|
||||||
|
cp -a "$builddir"/LICENSE* "$pkgdir"/usr/share/doc/"$pkgname"/
|
||||||
|
cp -a "$builddir"/deps/rabbit/docs/* "$pkgdir"/usr/share/doc/"$pkgname"/
|
||||||
|
cp -a "$builddir"/deps/rabbitmq_sharding/docs/* "$pkgdir"/usr/share/doc/"$pkgname"/
|
||||||
|
chmod 755 "$pkgdir"/var/lib/rabbitmq
|
||||||
|
chmod 750 "$pkgdir"/var/lib/rabbitmq/mnesia
|
||||||
|
chmod 755 "$pkgdir"/var/log/rabbitmq
|
||||||
|
chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/rabbitmq
|
||||||
|
chown -R $pkgusers:$pkggroups "$pkgdir"/var/log/rabbitmq
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="a8bb02a7cae1f8720e5c7aaabfe6a2c0e731cffbe0d8f99bdcb6597daa654dc49e6d41943974601435700cf469eaa8286dc91a3255a6b9023754c3861fbb5cd9 rabbitmq-server.initd
|
||||||
|
b8655cb048ab3b32001d4e6920bb5366696f3a5da75c053605e9b270e771c548e36858dca8338813d34376534515bba00af5e6dd7b4b1754a0e64a8fb756e3f3 rabbitmq-server.logrotate
|
||||||
|
a54034ebc919be0c6f58832ea5d47f8e3964e30ca9185c59bf882c3dc17d1df5b6e1ab0460f75e8cf0cc325504cc3a674f7cb44a5d7613e16a5ad8b721a286a4 rabbitmq-server-3.7.11.tar.xz"
|
42
apk/rabbitmq-server/rabbitmq-server.initd
Normal file
42
apk/rabbitmq-server/rabbitmq-server.initd
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
pidfile=/run/rabbitmq/rabbitmq.pid
|
||||||
|
name=rabbitmq
|
||||||
|
daemon=/usr/sbin/rabbitmq-server
|
||||||
|
|
||||||
|
startup_log=/var/log/rabbitmq/startup_log
|
||||||
|
startup_err=/var/log/rabbitmq/startup_err
|
||||||
|
shutdown_log=/var/log/rabbitmq/shutdown_log
|
||||||
|
shutdown_err=/var/log/rabbitmq/shutdown_err
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need net localmount
|
||||||
|
after firewall
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
ebegin "Starting ${name}"
|
||||||
|
# We need to test if /var/run/rabbitmq exists, since scirpt will fail if it does not
|
||||||
|
checkpath -m 700 -o rabbitmq:rabbitmq -d "$(dirname "$pidfile")"
|
||||||
|
checkpath -m 644 -o rabbitmq:rabbitmq --file-truncate -f $startup_log
|
||||||
|
checkpath -m 644 -o rabbitmq:rabbitmq --file-truncate -f $startup_err
|
||||||
|
start-stop-daemon --start \
|
||||||
|
--env RABBITMQ_PID_FILE=$pidfile \
|
||||||
|
--pidfile $pidfile \
|
||||||
|
--stdout $startup_log \
|
||||||
|
--stderr $startup_err \
|
||||||
|
--background $daemon
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
ebegin "Stopping ${name}"
|
||||||
|
checkpath -m 644 -o rabbitmq:rabbitmq --file-truncate -f $shutdown_log
|
||||||
|
checkpath -m 644 -o rabbitmq:rabbitmq --file-truncate -f $shutdown_err
|
||||||
|
start-stop-daemon --stop --quiet --pidfile $pidfile \
|
||||||
|
--exec /bin/sh -- -c "/usr/sbin/rabbitmqctl \
|
||||||
|
--stop $pidfile > $shutdown_log \
|
||||||
|
2> $shutdown_err"
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
12
apk/rabbitmq-server/rabbitmq-server.logrotate
Normal file
12
apk/rabbitmq-server/rabbitmq-server.logrotate
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/var/log/rabbitmq/*.log {
|
||||||
|
weekly
|
||||||
|
missingok
|
||||||
|
rotate 20
|
||||||
|
compress
|
||||||
|
delaycompress
|
||||||
|
notifempty
|
||||||
|
sharedscripts
|
||||||
|
postrotate
|
||||||
|
/usr/sbin/rabbitmqctl rotate_logs > /dev/null
|
||||||
|
endscript
|
||||||
|
}
|
5
apk/rabbitmq-server/rabbitmq-server.post-deinstall
Normal file
5
apk/rabbitmq-server/rabbitmq-server.post-deinstall
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "Please manually remove the 'rabbitmq' user and group if no longer needed" >&2
|
||||||
|
|
||||||
|
exit 0
|
6
apk/rabbitmq-server/rabbitmq-server.pre-install
Normal file
6
apk/rabbitmq-server/rabbitmq-server.pre-install
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
addgroup -S rabbitmq 2>/dev/null
|
||||||
|
adduser -S -D -H -s /sbin/nologin -h /usr/lib/rabbitmq -G rabbitmq \
|
||||||
|
-g 'RabbitMQ Server' rabbitmq 2>/dev/null
|
||||||
|
exit 0
|
Loading…
Reference in New Issue
Block a user