[arch-commits] Commit in keycloak/repos (8 files)

Levente Polyak anthraxx at archlinux.org
Sun Jun 20 01:18:30 UTC 2021


    Date: Sunday, June 20, 2021 @ 01:18:28
  Author: anthraxx
Revision: 965732

archrelease: copy trunk to community-testing-any

Added:
  keycloak/repos/community-testing-any/
  keycloak/repos/community-testing-any/PKGBUILD
    (from rev 965731, keycloak/trunk/PKGBUILD)
  keycloak/repos/community-testing-any/keycloak.service
    (from rev 965731, keycloak/trunk/keycloak.service)
  keycloak/repos/community-testing-any/keycloak.sysusers
    (from rev 965731, keycloak/trunk/keycloak.sysusers)
  keycloak/repos/community-testing-any/keycloak.tmpfiles
    (from rev 965731, keycloak/trunk/keycloak.tmpfiles)
  keycloak/repos/community-testing-any/layers.conf
    (from rev 965731, keycloak/trunk/layers.conf)
  keycloak/repos/community-testing-any/pin-java-version.patch
    (from rev 965731, keycloak/trunk/pin-java-version.patch)
  keycloak/repos/community-testing-any/postgresql-module.xml
    (from rev 965731, keycloak/trunk/postgresql-module.xml)

------------------------+
 PKGBUILD               |   90 +++++++++++++++++++++++++++++++++++++++++++++++
 keycloak.service       |   27 ++++++++++++++
 keycloak.sysusers      |    1 
 keycloak.tmpfiles      |    5 ++
 layers.conf            |    1 
 pin-java-version.patch |   61 +++++++++++++++++++++++++++++++
 postgresql-module.xml  |   12 ++++++
 7 files changed, 197 insertions(+)

Copied: keycloak/repos/community-testing-any/PKGBUILD (from rev 965731, keycloak/trunk/PKGBUILD)
===================================================================
--- community-testing-any/PKGBUILD	                        (rev 0)
+++ community-testing-any/PKGBUILD	2021-06-20 01:18:28 UTC (rev 965732)
@@ -0,0 +1,90 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
+# Contributor: Nikita Volodin <volodin.n at gmail dot com>
+
+pkgname=keycloak
+pkgver=14.0.0
+_postgresql_jdbc=42.2.22
+_java=11
+pkgrel=3
+pkgdesc="Open Source Identity and Access Management For Modern Applications and Services"
+arch=('any')
+url="https://www.keycloak.org/"
+license=('Apache')
+depends=("java-runtime=${_java}" 'grep' 'bash' 'coreutils' 'util-linux')
+makedepends=('maven' 'git' "java-environment=${_java}")
+backup=(
+  opt/keycloak/standalone/configuration/application-roles.properties
+  opt/keycloak/standalone/configuration/application-users.properties
+  opt/keycloak/standalone/configuration/logging.properties
+  opt/keycloak/standalone/configuration/mgmt-groups.properties
+  opt/keycloak/standalone/configuration/mgmt-users.properties
+  opt/keycloak/standalone/configuration/standalone-ha.xml
+  opt/keycloak/standalone/configuration/standalone.xml
+)
+options=(emptydirs)
+source=(https://github.com/keycloak/keycloak/archive/$pkgver/$pkgname-$pkgver.tar.gz
+        keycloak.service
+        keycloak.sysusers
+        keycloak.tmpfiles
+        layers.conf
+        postgresql-module.xml
+        https://jdbc.postgresql.org/download/postgresql-${_postgresql_jdbc}.jar
+        pin-java-version.patch)
+sha512sums=('3bb865c71c62105420bc8975018441b9bab93326a3a8d63f12f390c6dcc72d6f88bdf44c61de6137b72cf5bacdda191fb06f7b1e363a6698a055193726c701c9'
+            'dd10a38e4c8867de6d1fcbb4939c6c5946684842462eba3d5355bf1de13fa059edfd5eba37adce587c824ddd618b6bb88d4bbe1ee568ca5abd0f72296da3ddfe'
+            'c53b734598ccf675930754514bd2af628355025197e77541e5acb8718629a8ece763c814e8373278758a30475e6a716febeff10bdebf0847d914bc193e732c79'
+            '9382b42f09040e34fe1a27d9ff4fb87cabd41525ca26f8ea9629df0169cf93d95cc4bb62bcc5c2ca30efdfd7eeeb13a6f090df9a05823baf701ba729a47f6fd1'
+            'd54a04c120edb933c4f7168460bd813ff92a4e3771cedcabfeeb76c5d3e057b3cd0d0486dc11ddbd91e8d87ca90193e4c74cc3414e45106dd556d455ac7e60b2'
+            '5eece4f3eb57372969f0e5319804198b546455828e938ff7f37bbcfb58be08efde43a5b0376c98f359c4bc5eb069e0cd9410daefe19da1c03e9e9c57d3c1b75b'
+            '1464b50c1777347ca9b5d495aff6dfff7e87c5a3b90d18518f5c8ec9b9cedbe05a501a79f54363fc2d609e6578a39be0b373f22b22bddece15179e9a8f06421b'
+            '55a9f861cf5be2bdc64a4b831fbd4d832fae5b88c8c7d620b6ee0622602cce600124e571fff9847b5eb492bf9d522a9ead4179a60d0f90f4f1f70b1d530bde66')
+
+prepare() {
+  cd $pkgname-$pkgver
+  # Pin the java version. Keycloak produces all those shell scripts deep down
+  # the rabbit hole so applying them during packaging is the best we can get.
+  # Create a local copy and dynamically adjust the patch.
+  cp ../pin-java-version.patch .
+  sed "s|java-11-openjdk|java-${_java}-openjdk|g" -i pin-java-version.patch
+  sed "s|14.0.0|${pkgver}|g" -i pin-java-version.patch
+}
+
+build() {
+  cd $pkgname-$pkgver
+
+  export PATH="/usr/lib/jvm/java-${_java}-openjdk/bin:$PATH"
+  mvn -Pdistribution \
+    -pl distribution/server-dist \
+    -am \
+    -Dmaven.test.skip \
+    clean install
+}
+
+package() {
+  cd $pkgname-$pkgver
+
+  mkdir -p "$pkgdir/opt"
+  cp -r "distribution/server-dist/target/keycloak-$pkgver" "$pkgdir/opt/keycloak"
+  install -Dm 644 "$srcdir"/layers.conf -t "$pkgdir/opt/keycloak/modules"
+  install -d "$pkgdir"/opt/keycloak/standalone/{data,log}
+
+  install -Dm644 "$srcdir"/postgresql-${_postgresql_jdbc}.jar "$pkgdir"/opt/keycloak/modules/system/layers/keycloak/org/postgresql/main/postgresql-${_postgresql_jdbc}.jar
+  sed "s/@JDBC_POSTGRESQL_JAR@/postgresql-${_postgresql_jdbc}.jar/g" "$srcdir"/postgresql-module.xml > "$pkgdir"/opt/keycloak/modules/system/layers/keycloak/org/postgresql/main/module.xml
+
+  install -d "$pkgdir/"{etc,var/log,var/lib/keycloak}
+  ln -s /opt/keycloak/standalone/configuration "$pkgdir/etc/keycloak"
+  ln -s /opt/keycloak/standalone/log "$pkgdir/var/log/keycloak"
+  ln -s /opt/keycloak/standalone/deployments "$pkgdir/var/lib/keycloak/deployments"
+
+  install -Dm644 "$srcdir"/keycloak.service "$pkgdir"/usr/lib/systemd/system/keycloak.service
+  install -Dm644 "$srcdir"/keycloak.sysusers "$pkgdir"/usr/lib/sysusers.d/keycloak.conf
+  install -Dm644 "$srcdir"/keycloak.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/keycloak.conf
+
+  mkdir -p "$pkgdir"/usr/bin
+  ln -s /opt/keycloak/bin/kcadm.sh "$pkgdir"/usr/bin/kcadm
+  ln -s /opt/keycloak/bin/kcreg.sh "$pkgdir"/usr/bin/kcreg
+
+  patch -Np1 -d "$pkgdir"/opt/keycloak/bin < pin-java-version.patch
+}
+
+# vim: ts=2 sw=2 et:

Copied: keycloak/repos/community-testing-any/keycloak.service (from rev 965731, keycloak/trunk/keycloak.service)
===================================================================
--- community-testing-any/keycloak.service	                        (rev 0)
+++ community-testing-any/keycloak.service	2021-06-20 01:18:28 UTC (rev 965732)
@@ -0,0 +1,27 @@
+[Unit]
+Description=Keycloak server
+After=network-online.target
+Wants=network-online.target systemd-networkd-wait-online.service
+
+[Service]
+User=keycloak
+Group=keycloak
+ExecStart=/opt/keycloak/bin/standalone.sh
+WorkingDirectory=/opt/keycloak
+ReadWritePaths=/opt/keycloak/standalone/data /opt/keycloak/standalone/tmp /opt/keycloak/standalone/log /opt/keycloak/standalone/configuration /opt/keycloak/standalone/deployments
+
+# Hardening options
+CapabilityBoundingSet=
+AmbientCapabilities=
+NoNewPrivileges=true
+ProtectHome=true
+ProtectSystem=strict
+ProtectKernelTunables=true
+ProtectKernelModules=true
+ProtectControlGroups=true
+PrivateTmp=true
+PrivateDevices=true
+LockPersonality=true
+
+[Install]
+WantedBy=multi-user.target

Copied: keycloak/repos/community-testing-any/keycloak.sysusers (from rev 965731, keycloak/trunk/keycloak.sysusers)
===================================================================
--- community-testing-any/keycloak.sysusers	                        (rev 0)
+++ community-testing-any/keycloak.sysusers	2021-06-20 01:18:28 UTC (rev 965732)
@@ -0,0 +1 @@
+u keycloak - "keycloak user" /opt/keycloak -

Copied: keycloak/repos/community-testing-any/keycloak.tmpfiles (from rev 965731, keycloak/trunk/keycloak.tmpfiles)
===================================================================
--- community-testing-any/keycloak.tmpfiles	                        (rev 0)
+++ community-testing-any/keycloak.tmpfiles	2021-06-20 01:18:28 UTC (rev 965732)
@@ -0,0 +1,5 @@
+z /opt/keycloak/standalone/tmp - keycloak keycloak -
+z /opt/keycloak/standalone/data - keycloak keycloak -
+z /opt/keycloak/standalone/log - keycloak keycloak -
+Z /opt/keycloak/standalone/configuration - keycloak keycloak -
+Z /opt/keycloak/standalone/deployments - keycloak keycloak -

Copied: keycloak/repos/community-testing-any/layers.conf (from rev 965731, keycloak/trunk/layers.conf)
===================================================================
--- community-testing-any/layers.conf	                        (rev 0)
+++ community-testing-any/layers.conf	2021-06-20 01:18:28 UTC (rev 965732)
@@ -0,0 +1 @@
+layers=keycloak

Copied: keycloak/repos/community-testing-any/pin-java-version.patch (from rev 965731, keycloak/trunk/pin-java-version.patch)
===================================================================
--- community-testing-any/pin-java-version.patch	                        (rev 0)
+++ community-testing-any/pin-java-version.patch	2021-06-20 01:18:28 UTC (rev 965732)
@@ -0,0 +1,61 @@
+From dbaf85e82f8da8ef85ce73bb882da1763952b86d Mon Sep 17 00:00:00 2001
+From: anthraxx <levente at leventepolyak.net>
+Date: Sun, 20 Jun 2021 02:45:24 +0200
+Subject: [PATCH] pin java version
+
+---
+ common.sh | 4 ++++
+ kcadm.sh  | 9 ++++-----
+ kcreg.sh  | 4 +++-
+ 3 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/common.sh b/common.sh
+index 48998b6..943d295 100755
+--- a/common.sh
++++ b/common.sh
+@@ -30,3 +30,7 @@ setDefaultModularJvmOptions() {
+     fi
+   fi
+ }
++
++# Pin java version
++export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
++export JAVA="$JAVA_HOME/bin/java"
+diff --git a/kcadm.sh b/kcadm.sh
+index e01a22a..64f1f54 100755
+--- a/kcadm.sh
++++ b/kcadm.sh
+@@ -20,14 +20,13 @@ if [ "x$RESOLVED_NAME" = "x" ]; then
+ fi
+ 
+ DIRNAME=`dirname "$RESOLVED_NAME"`
+-
++. "$DIRNAME/common.sh"
+ 
+ # Uncomment out these lines if you are integrating with `kcinit`
+ #if [ "$1" = "config" ]; then
+-#    java $KC_OPTS -cp $DIRNAME/client/keycloak-admin-cli-14.0.0.jar org.keycloak.client.admin.cli.KcAdmMain "$@"
++#    $JAVA $KC_OPTS -cp $DIRNAME/client/keycloak-admin-cli-14.0.0.jar org.keycloak.client.admin.cli.KcAdmMain "$@"
+ #else
+-#    java $KC_OPTS -cp $DIRNAME/client/keycloak-admin-cli-14.0.0.jar org.keycloak.client.admin.cli.KcAdmMain "$@" --noconfig --token $(kcinit token admin-cli) --server $(kcinit show server)
++#    $JAVA $KC_OPTS -cp $DIRNAME/client/keycloak-admin-cli-14.0.0.jar org.keycloak.client.admin.cli.KcAdmMain "$@" --noconfig --token $(kcinit token admin-cli) --server $(kcinit show server)
+ #fi
+ # Remove the next line if you have enabled kcinit
+-java $KC_OPTS -cp $DIRNAME/client/keycloak-admin-cli-14.0.0.jar org.keycloak.client.admin.cli.KcAdmMain "$@"
+-
++$JAVA $KC_OPTS -cp $DIRNAME/client/keycloak-admin-cli-14.0.0.jar org.keycloak.client.admin.cli.KcAdmMain "$@"
+diff --git a/kcreg.sh b/kcreg.sh
+index 9961dbf..c05ce40 100755
+--- a/kcreg.sh
++++ b/kcreg.sh
+@@ -20,4 +20,6 @@ if [ "x$RESOLVED_NAME" = "x" ]; then
+ fi
+ 
+ DIRNAME=`dirname "$RESOLVED_NAME"`
+-java $KC_OPTS -cp $DIRNAME/client/keycloak-client-registration-cli-14.0.0.jar org.keycloak.client.registration.cli.KcRegMain "$@"
++. "$DIRNAME/common.sh"
++
++$JAVA $KC_OPTS -cp $DIRNAME/client/keycloak-client-registration-cli-14.0.0.jar org.keycloak.client.registration.cli.KcRegMain "$@"
+-- 
+2.32.0
+

Copied: keycloak/repos/community-testing-any/postgresql-module.xml (from rev 965731, keycloak/trunk/postgresql-module.xml)
===================================================================
--- community-testing-any/postgresql-module.xml	                        (rev 0)
+++ community-testing-any/postgresql-module.xml	2021-06-20 01:18:28 UTC (rev 965732)
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+<module xmlns="urn:jboss:module:1.3" name="org.postgresql">
+
+    <resources>
+        <resource-root path="@JDBC_POSTGRESQL_JAR@"/>
+    </resources>
+
+    <dependencies>
+        <module name="javax.api"/>
+        <module name="javax.transaction.api"/>
+    </dependencies>
+</module>



More information about the arch-commits mailing list