From 03204bb65f0aeee3423fcd2d52b8701e7b87d4db 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, add pyc subpkg --- ilot/authentik/APKBUILD | 83 +++++++++++++++++++++++++---------------- 1 file changed, 51 insertions(+), 32 deletions(-) diff --git a/ilot/authentik/APKBUILD b/ilot/authentik/APKBUILD index 395e72e..5447c76 100644 --- a/ilot/authentik/APKBUILD +++ b/ilot/authentik/APKBUILD @@ -181,7 +181,7 @@ source=" go-downgrade-1.22.patch " builddir="$srcdir/"authentik-version-$pkgver -subpackages="$pkgname-openrc $pkgname-doc" +subpackages="$pkgname-openrc $pkgname-doc $pkgname-pyc" pkgusers="authentik" pkggroups="authentik" @@ -261,53 +261,72 @@ 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 } +pyc() { + default_pyc + + cd "$pkgdir" + # shellcheck disable=SC3003 + local IFS=$'\n' + # shellcheck disable=SC2046 + amove $(find usr/share/webapps/authentik -type d -name __pycache__) +} + sha512sums=" 02e54183fa35e7a06780f68239db7b3b5e2ccd3c6e1fcaf97690d9b596077c7a5345dbb5b005f39ff67a0dae83bd9b71d1c6d18ba8fae9cc7174d5d856360bff authentik-2024.8.2.tar.gz 4defb4fe3a4230f4aa517fbecd5e5b8bcef2a64e1b40615660ae9eec33597310a09df5e126f4d39ce7764bd1716c0a7040637699135c103cbc1879593c6c06f1 authentik.openrc