aboutsummarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD78
1 files changed, 78 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f3261f6fac30
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,78 @@
+# Maintainer: Ben Edwards <ben@artfuldodge.io>
+# Contributor: Ben Alex <ben.alex@acegi.com.au>
+# Contributor: Scott Lawrence <bytbox@gmail.com>
+# Contributor: Guillaume ALAUX <guillaume at alaux dot net>
+pkgname=zookeeper
+pkgver=3.4.6
+pkgrel=7
+pkgdesc='Open-source server which enables highly reliable distributed coordination'
+arch=('any')
+url='https://zookeeper.apache.org/'
+license=('Apache')
+depends=('java-runtime')
+backup=(etc/zookeeper/configuration.xsl
+ etc/zookeeper/log4j.properties
+ etc/zookeeper/zoo.cfg)
+install=install_zookeeper.sh
+
+_apache_cgi="http://www.apache.org/dyn/closer.cgi"
+_closest=$(curl "${_apache_cgi}?asjson=1" | tr -d '\n ' | sed -r 's/.*"preferred":"(.+)".*/\1/')
+_app_path="/${pkgname}/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz"
+source=(${_closest}/${_app_path}
+ systemd_zookeeper.service
+ systemd_zookeeper@.service
+ systemd_sysusers.d_zookeeper.conf
+ systemd_tmpfiles.d_zookeeper.conf)
+
+sha256sums=('01b3938547cd620dc4c93efe07c0360411f4a66962a70500b163b59014046994'
+ '0235413122567a4810ce4aeb8b4b41a749ca69b1ee79e1d225b811febd92dfed'
+ '6727641f542b3a483c31cdbda30101ac41397b725c6b3e706932f04bc51af907'
+ 'e863b63650c15a8823cfb2b507c375c999a71cda24805062de36af0250de5daa'
+ '99fff5b04623889b0010c74c2dc3a4be29e7770fe2c7e15da51f7442a28c6580')
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ _app_home=/usr/share/${pkgname}
+
+ install -d "${pkgdir}"{${_app_home}/bin,/etc,/usr/bin,/usr/share/{doc,java}}
+
+ cp -r conf ${pkgdir}/etc/${pkgname}/
+ ln -s /etc/${pkgname} "${pkgdir}${_app_home}/conf"
+
+ cp -r bin/*.sh "${pkgdir}${_app_home}/bin/"
+ sed -i "s|^ZOOBIN=\"\$(dirname \"\${ZOOBIN}\")\"|ZOOBIN=\"${_app_home}/bin\"|" \
+ "${pkgdir}"${_app_home}/bin/*
+ for b in zkCleanup.sh zkCli.sh zkServer.sh; do
+ bname=$(basename $b)
+ ln -s ${_app_home}/bin/${bname} "${pkgdir}/usr/bin/${bname}"
+ done
+
+ #cp -r docs "${pkgdir}/usr/share/doc/${pkgname}/"
+ #ln -s /usr/share/doc/${pkgname} "${pkgdir}${_app_home}/docs"
+ #cp -r src "${pkgdir}/usr/share/${pkgname}"
+
+ cp -r lib "${pkgdir}/usr/share/java/${pkgname}"
+ rm -rf "${pkgdir}"/usr/share/java/${pkgname}/{jdiff,cobertura}
+ ln -s ../java/${pkgname} "${pkgdir}${_app_home}/lib"
+
+ cp -r recipes "${pkgdir}/usr/share/${pkgname}"
+ install -m 644 ${pkgname}-${pkgver}.jar \
+ "${pkgdir}/usr/share/java/${pkgname}/${pkgname}-${pkgver}.jar"
+ ln -s ${pkgname}-${pkgver}.jar \
+ "${pkgdir}/usr/share/java/${pkgname}/${pkgname}.jar"
+ ln -s lib/${pkgname}-${pkgver}.jar \
+ "${pkgdir}/usr/share/${pkgname}/${pkgname}-${pkgver}.jar"
+
+ install -D -m 644 "${srcdir}/systemd_zookeeper.service" \
+ "${pkgdir}/usr/lib/systemd/system/zookeeper.service"
+ install -D -m 644 "${srcdir}/systemd_zookeeper@.service" \
+ "${pkgdir}/usr/lib/systemd/system/zookeeper@.service"
+ install -D -m 644 "${srcdir}/systemd_sysusers.d_zookeeper.conf" \
+ "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ sed "s|^dataDir=/tmp/zookeeper$|dataDir=/var/lib/${pkgname}|" \
+ "${pkgdir}/etc/${pkgname}/zoo_sample.cfg" \
+ > "${pkgdir}/etc/${pkgname}/zoo.cfg"
+ install -D -m 644 "${srcdir}/systemd_tmpfiles.d_zookeeper.conf" \
+ "${pkgdir}/usr/lib/tmpfiles.d/zookeeper.conf"
+}