summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey Shatunov2016-11-03 19:29:49 +0700
committerSergey Shatunov2016-11-03 19:29:49 +0700
commite3e530c6c9964ddfecf1e2e7a9d1d86efa3f7cbb (patch)
tree26882f70ee27ea266019e5016ff65cdf1c0fd102
downloadaur-e3e530c6c9964ddfecf1e2e7a9d1d86efa3f7cbb.tar.gz
Initial commit
-rw-r--r--.SRCINFO24
-rw-r--r--.gitignore3
-rw-r--r--PKGBUILD75
-rw-r--r--powerdns-admin.install24
-rw-r--r--powerdns-admin.service16
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