Name: keycloak Version: 26.3.4 Release: %autorelease Summary: Open Source Identity and Access Management For Modern Applications and Services License: Apache-2.0 URL: https://github.com/keycloak/keycloak Source0: https://github.com/keycloak/keycloak/archive/refs/tags/%{version}.tar.gz Source1: %{name}.service Source2: %{name}-tmpfiles.conf Source3: %{name}.env Source4: %{name}-service.preset BuildArch: noarch BuildRequires: (java-21-openjdk-devel or java-17-openjdk-devel) BuildRequires: systemd-rpm-macros BuildRequires: tar Requires: (java-21-openjdk-headless or java-17-openjdk-headless) Requires: bash %description %{summary}. %prep %autosetup -n %{name}-%{version} %build ./mvnw install -Pdistribution -am -pl distribution/maven-plugins/licenses-processor ./mvnw install dependency:resolve -V -e -DskipTests -DskipExamples -DexcludeGroupIds=org.keycloak -Dsilent=true -DcommitProtoLockChanges=true %install install -D --directory --mode=0755 %{buildroot}%{_datadir}/java tar --extract --file quarkus/dist/target/keycloak-%{version}.tar.gz --directory=%{buildroot}%{_datadir}/java mv %{buildroot}%{_datadir}/java/keycloak-%{version} %{buildroot}%{_datadir}/java/keycloak rm %{buildroot}%{_datadir}/java/keycloak/bin/*.bat install -D --directory --mode=0750 %{buildroot}%{_datadir}/java/%{name}/data install -D --mode=0644 "%{SOURCE1}" %{buildroot}%{_unitdir}/%{name}.service install -D --mode=0644 "%{SOURCE2}" %{buildroot}%{_exec_prefix}/lib/tmpfiles.d/%{name}.conf install -D --mode=0640 "%{SOURCE3}" %{buildroot}%{_sysconfdir}/sysconfig/%{name} install -D --mode=0644 "%{SOURCE4}" "%{buildroot}%{_prefix}/lib/systemd/system-preset/90-%{name}.preset" install -D --directory --mode=0700 %{buildroot}%{_sharedstatedir}/%{name} %files %doc README.md %license LICENSE.txt %dir %{_datadir}/java/%{name}/bin %{_datadir}/java/%{name}/bin/** %defattr(640, root, %{name}, 750) %dir %{_datadir}/java/%{name}/conf %config(noreplace) %{_datadir}/java/%{name}/conf/** %defattr(-,root,root,-) %dir %{_datadir}/java/%{name}/lib/app %{_datadir}/java/%{name}/lib/app/** %dir %{_datadir}/java/%{name}/lib/lib %{_datadir}/java/%{name}/lib/lib/** %defattr(664, root, %{name}, 775) %dir %{_datadir}/java/%{name}/lib/quarkus %defattr(-,root,root,-) %{_datadir}/java/%{name}/lib/quarkus/* %{_datadir}/java/%{name}/lib/*.jar %dir %{_datadir}/java/%{name}/providers %{_datadir}/java/%{name}/providers/** %dir %{_datadir}/java/%{name}/themes %{_datadir}/java/%{name}/themes/** %{_datadir}/java/%{name}/*.md %{_datadir}/java/%{name}/*.txt %attr(0750,%{name},%{name}) %dir %{_datadir}/java/%{name}/data %{_unitdir}/%{name}.service %{_exec_prefix}/lib/tmpfiles.d/%{name}.conf %config(noreplace) %attr(0640,root,root) %{_sysconfdir}/sysconfig/%{name} %{_prefix}/lib/systemd/system-preset/90-%{name}.preset %attr(0700,%{name},%{name}) %dir %{_sharedstatedir}/%{name} %pre getent group %{name} > /dev/null || groupadd --system %{name} getent passwd %{name} > /dev/null || \ useradd --system --home-dir %{_sharedstatedir}/%{name} --gid %{name} \ -s /sbin/nologin -c "keycloak daemon" %{name} exit 0 %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun %{name}.service %changelog %autochangelog