# Contributor: Nathan Johnson <nathan@nathanjohnson.info>
# Maintainer: Nathan Johnson <nathan@nathanjohnson.info>
setvar pkgname = 'rabbitmq-server'
setvar pkgver = '3.6.10'
setvar _realver = ${pkgver//\./_}
setvar pkgrel = '0'
setvar pkgdesc = ""RabbitMQ is an open source multi-protocol messaging broker.""
setvar url = ""http://www.rabbitmq.com/""
setvar arch = ""noarch""
setvar license = ""MPL 1.1""
setvar 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""
setvar depends_dev = """"
setvar makedepends = ""$depends_dev erlang-dev python2 py2-simplejson xmlto libxslt
	rsync zip gawk grep erlang-compiler erlang-erl-docgen
	erlang-edoc socat""
setvar install = ""$pkgname.pre-install $pkgname.post-deinstall""
setvar pkgusers = ""rabbitmq""
setvar pkggroups = ""rabbitmq""
setvar subpackages = ""$pkgname-doc""
setvar source = ""
	rabbitmq-server.initd
	rabbitmq-server.logrotate
	https://github.com/rabbitmq/${pkgname}/releases/download/rabbitmq_v${_realver}/${pkgname}-${pkgver}.tar.xz
""

setvar builddir = ""$srcdir/${pkgname}-${pkgver}""
proc build {
	cd $builddir
	make dist manpages
}

proc 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 {
		cp -a "$pkgdir"/usr/sbin/rabbitmqctl \
		   "$pkgdir"/usr/sbin/$script;
	}

	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
}

setvar sha512sums = ""a8bb02a7cae1f8720e5c7aaabfe6a2c0e731cffbe0d8f99bdcb6597daa654dc49e6d41943974601435700cf469eaa8286dc91a3255a6b9023754c3861fbb5cd9  rabbitmq-server.initd
b8655cb048ab3b32001d4e6920bb5366696f3a5da75c053605e9b270e771c548e36858dca8338813d34376534515bba00af5e6dd7b4b1754a0e64a8fb756e3f3  rabbitmq-server.logrotate
64e618e51ab259463029ad75b981dbf64687515e52d19854f225d4c68077e683ef56f0f6bb92cbbf91f140bc829d905473d687d083d12f36dd2cdfab3defaed6  rabbitmq-server-3.6.10.tar.xz""