From 8b4ac9d07986eff4b3281bb8015a32b2518314ce Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Fri, 20 Sep 2024 20:59:57 -0400 Subject: [PATCH] ilot/authentik: clean-up packaging --- ilot/authentik/APKBUILD | 71 +++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 31 deletions(-) diff --git a/ilot/authentik/APKBUILD b/ilot/authentik/APKBUILD index 485126c..c72b576 100644 --- a/ilot/authentik/APKBUILD +++ b/ilot/authentik/APKBUILD @@ -258,49 +258,58 @@ with open(\"local.env.yml\", \"w\") as _config: package() { msg "Packaging $pkgname" - mkdir -p "$pkgdir"/usr/share/webapps/authentik/web - mkdir -p "$pkgdir"/usr/share/webapps/authentik/website - mkdir -p "$pkgdir"/var/lib/authentik - mkdir -p "$pkgdir"/usr/share/doc - mkdir -p "$pkgdir"/usr/bin - cp -dr "$builddir"/authentik "$pkgdir"/usr/share/webapps/authentik - cp -dr "$builddir"/web/dist "$pkgdir"/usr/share/webapps/authentik/web/dist - cp -dr "$builddir"/web/authentik "$pkgdir"/usr/share/webapps/authentik/web/authentik - cp -dr "$builddir"/website/build "$pkgdir"/usr/share/doc/authentik - cp -dr "$builddir"/tests "$pkgdir"/usr/share/webapps/authentik/tests - cp -dr "$builddir"/lifecycle "$pkgdir"/usr/share/webapps/authentik/lifecycle - cp -dr "$builddir"/locale "$pkgdir"/usr/share/webapps/authentik/locale - cp -dr "$builddir"/blueprints "$pkgdir"/var/lib/authentik/blueprints - install -Dm755 "$builddir"/manage.py "$pkgdir"/usr/share/webapps/authentik/manage.py - install -Dm755 "$builddir"/server "$pkgdir"/usr/share/webapps/authentik/server - ln -s "/etc/authentik/config.yml" "$pkgdir"/usr/share/webapps/authentik/local.env.yml + local prefix="/usr/share/webapps" + local destdir="$pkgdir"$prefix/authentik - install -Dm755 "$builddir"/proxy "$pkgdir"/usr/bin/authentik-proxy - install -Dm755 "$builddir"/ldap "$pkgdir"/usr/bin/authentik-ldap - install -Dm755 "$builddir"/radius "$pkgdir"/usr/bin/authentik-radius + # authentik install + install -d -m755 \ + "$destdir" \ + "$destdir"/web \ + "$pkgdir"/usr/bin \ + "$pkgdir"/usr/share/doc - install -Dm755 "$srcdir"/$pkgname.openrc \ - "$pkgdir"/etc/init.d/$pkgname - install -Dm755 "$srcdir"/$pkgname-worker.openrc \ - "$pkgdir"/etc/init.d/$pkgname-worker - install -Dm755 "$srcdir"/$pkgname-ldap.openrc \ - "$pkgdir"/etc/init.d/$pkgname-ldap - install -Dm640 "$srcdir"/$pkgname-ldap.conf \ - "$pkgdir"/etc/conf.d/$pkgname-ldap + cp -rl authentik lifecycle locale tests blueprints \ + "$destdir"/ + + cp -rl web/dist web/authentik \ + "$destdir"/web/ + + install -m755 -t "$destdir" \ + "$builddir"/server \ + "$builddir"/ldap \ + "$builddir"/radius \ + "$builddir"/proxy \ + "$builddir"/manage.py + + cp -rl website/build/ "$pkgdir"/usr/share/doc/authentik/ + + # symbolic bin links to usr/bin + for i in server proxy ldap radius; do + ln -s $prefix/authentik/$i "$pkgdir"/usr/bin/authentik-$i + done + + # openrc install + for i in $pkgname $pkgname-worker $pkgname-ldap; do + install -Dm755 "$srcdir"/$i.openrc "$pkgdir"/etc/init.d/$i + done + + # config file setup install -Dm640 "$builddir"/authentik/lib/default.yml \ "$pkgdir"/etc/authentik/config.yml + ln -s "/etc/authentik/config.yml" "$pkgdir"/usr/share/webapps/authentik/local.env.yml chown root:www-data "$pkgdir"/etc/authentik/config.yml - mv "$pkgdir"/usr/share/webapps/authentik/web/dist/custom.css "$pkgdir"/etc/authentik/custom.css - ln -s "/etc/authentik/custom.css" "$pkgdir"/usr/share/webapps/authentik/web/dist/custom.css - chown root:www-data "$pkgdir"/etc/authentik/custom.css - sed -i 's|cert_discovery_dir.*|cert_discovery_dir: /var/lib/authentik/certs|' "$pkgdir"/etc/authentik/config.yml sed -i 's|blueprints_dir.*|blueprints_dir: /var/lib/authentik/blueprints|' "$pkgdir"/etc/authentik/config.yml sed -i 's|template_dir.*|template_dir: /var/lib/authentik/templates|' "$pkgdir"/etc/authentik/config.yml printf "\ncsrf:\n trusted_origins: ['auth.example.com']" >> "$pkgdir"/etc/authentik/config.yml printf "\nsecret_key: '@@SECRET_KEY@@'" >> "$pkgdir"/etc/authentik/config.yml + # custom css location change + mv "$pkgdir"/usr/share/webapps/authentik/web/dist/custom.css "$pkgdir"/etc/authentik/custom.css + ln -s "/etc/authentik/custom.css" "$pkgdir"/usr/share/webapps/authentik/web/dist/custom.css + chown root:www-data "$pkgdir"/etc/authentik/custom.css + # Install wrapper script to /usr/bin. install -m755 -D "$srcdir"/authentik-manage.sh "$pkgdir"/usr/bin/authentik-manage }