diff options
author | Sergey Shatunov | 2016-11-03 19:29:49 +0700 |
---|---|---|
committer | Sergey Shatunov | 2016-11-03 19:29:49 +0700 |
commit | e3e530c6c9964ddfecf1e2e7a9d1d86efa3f7cbb (patch) | |
tree | 26882f70ee27ea266019e5016ff65cdf1c0fd102 | |
download | aur-e3e530c6c9964ddfecf1e2e7a9d1d86efa3f7cbb.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | PKGBUILD | 75 | ||||
-rw-r--r-- | powerdns-admin.install | 24 | ||||
-rw-r--r-- | powerdns-admin.service | 16 |
5 files changed, 142 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..adeb9ab5d6e4 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,24 @@ +pkgbase = powerdns-admin-git + pkgdesc = Web GUI for PowerDNS autoritative server + pkgver = r220.e18757e + pkgrel = 1 + url = https://github.com/ngoduykhanh/PowerDNS-Admin + install = powerdns-admin.install + arch = any + license = MIT + makedepends = git + makedepends = python2-pip + makedepends = python2-virtualenv + depends = python2 + optdepends = powerdns: autoritative server itself + options = !strip + backup = etc/webapps/powerdns-admin/config.py + source = powerdns-admin-git::git+https://github.com/ngoduykhanh/PowerDNS-Admin.git + source = powerdns-admin.install + source = powerdns-admin.service + md5sums = SKIP + md5sums = 5ffad849c02289e795d69990e6e851db + md5sums = fc7e033978132dd1ee4d81c966e21600 + +pkgname = powerdns-admin-git + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..26ac48df7db9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +pkg/ +src/ +*.pkg.tar* diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..13cdc571f59e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Sergey Shatunov <me@prok.pw> +pkgname=powerdns-admin-git +pkgver=r220.e18757e +pkgrel=1 +pkgdesc="Web GUI for PowerDNS autoritative server" +arch=('any') +url="https://github.com/ngoduykhanh/PowerDNS-Admin" +license=('MIT') +options=(!strip) +depends=('python2') +makedepends=('git' 'python2-pip' 'python2-virtualenv') +optdepends=('powerdns: autoritative server itself') +install=powerdns-admin.install +backup=(etc/webapps/powerdns-admin/config.py) +source=('powerdns-admin-git::git+https://github.com/ngoduykhanh/PowerDNS-Admin.git' + 'powerdns-admin.install' + 'powerdns-admin.service') +md5sums=('SKIP' + '5ffad849c02289e795d69990e6e851db' + 'fc7e033978132dd1ee4d81c966e21600') + +_uid=980 +_gid=$_uid + +pkgver() { + cd "${srcdir}/${pkgname}" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + cd "${srcdir}/${pkgname}" + virtualenv2 venv + virtualenv2 --relocatable venv + source venv/bin/activate + PIP_CONFIG_FILE=/dev/null pip2 install --isolated --ignore-installed -r requirements.txt +} + +package() { + cd "${pkgdir}" + install -o $_uid -g $_gid -d "etc/webapps/powerdns-admin" + install -o $_uid -g $_gid -d "var/lib/powerdns-admin" + install -d "usr/share/webapps" + install -d "usr/lib/systemd/system" + + rm -rf usr/share/webapps/powerdns-admin var/lib/powerdns-admin/upload + cp -r "${srcdir}/${pkgname}" usr/share/webapps/powerdns-admin + mv usr/share/webapps/powerdns-admin/upload var/lib/powerdns-admin + find var/lib/powerdns-admin -name .gitignore -delete + ln -s /var/lib/powerdns-admin usr/share/webapps/powerdns-admin/upload + rm -rf usr/share/webapps/powerdns-admin/{.git,.gitignore,config_template.py,README.md,requirements.txt,docker-compose.yml} + + ln -s /etc/webapps/powerdns-admin/config.py usr/share/webapps/powerdns-admin/config.py + cp "${srcdir}/${pkgname}/config_template.py" etc/webapps/powerdns-admin/config.py + + find usr/share/webapps/powerdns-admin/venv/lib -name '*.pyc' -delete + + find usr/share/webapps/powerdns-admin -type f -print0 | xargs -0 sed -i \ + -e 's#/usr/bin/python$#/usr/bin/python2#g' \ + -e 's#/usr/bin/env python$#/usr/bin/env python2#g' + find usr/share/webapps/powerdns-admin/venv -type f -print0 | xargs -0 sed -i -E \ + -e 's#(VIRTUAL_ENV=)".+"#\1"/usr/share/webapps/powerdns-admin/venv"#g' \ + -e 's#(setenv VIRTUAL_ENV )".+"#\1"/usr/share/webapps/powerdns-admin/venv"#g' \ + -e 's#(set -gx VIRTUAL_ENV )".+"#\1"/usr/share/webapps/powerdns-admin/venv"#g' + sed -i -E -e 's#^\#!.+(venv/bin/python[0-9.]+)$#\#!/usr/share/webapps/powerdns-admin/venv\1#g' usr/share/webapps/powerdns-admin/venv/bin/{flask,migrate,migrate-repository,qr} + + install -o $_uid -g $_gid /dev/stdin usr/share/webapps/powerdns-admin/powerdns-admin <<EOF +#!/usr/bin/env sh +source venv/bin/activate +./run.py +EOF + chown -R $_uid:$_gid usr/share/webapps/powerdns-admin etc/webapps/powerdns-admin + ls -lh usr/share/webapps + + install ${srcdir}/powerdns-admin.service usr/lib/systemd/system/powerdns-admin.service +} diff --git a/powerdns-admin.install b/powerdns-admin.install new file mode 100644 index 000000000000..8373cc0aeee6 --- /dev/null +++ b/powerdns-admin.install @@ -0,0 +1,24 @@ +post_install() { + if ! getent group powerdns-admin >/dev/null; then + groupadd -g 980 --system powerdns-admin + fi + if ! getent passwd powerdns-admin >/dev/null; then + useradd -u 980 --system -c 'powerdns-admin worker user' -g powerdns-admin -d / -s /usr/bin/nologin powerdns-admin + fi +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + userdel powerdns-admin 2>/dev/null >/dev/null + groupdel powerdns-admin 2>/dev/null >/dev/null + + if getent passwd powerdns-admin >/dev/null; then + echo You may need to delete powerdns-admin user manually + fi + if getent group powerdns-admin >/dev/null; then + echo You may need to delete powerdns-admin group manually + fi +} diff --git a/powerdns-admin.service b/powerdns-admin.service new file mode 100644 index 000000000000..1c4d46409a4b --- /dev/null +++ b/powerdns-admin.service @@ -0,0 +1,16 @@ +[Unit] +Description=Web GUI for PowerDNS autoritative server + +[Service] +Type=simple +User=powerdns-admin +Group=powerdns-admin +WorkingDirectory=/usr/share/webapps/powerdns-admin +ExecStart=/usr/share/webapps/powerdns-admin/powerdns-admin +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +NoNewPrivilegies=true +PrivateTmp=true +PrivateDevices=true +ProtectHome=true +ReadOnlyPaths=/ +ReadWritePaths=/usr/share/webapps/powerdns-admin /var/lib/powerdns-admin |