%global plugin_name fas %global ipa_version 4.8.2 %if 0%{?rhel} %global freeipa_prefix ipa %global freeipa_altprefix freeipa %else %global freeipa_prefix freeipa %global freeipa_altprefix ipa %endif %global snapdate 20200422 %global commit 2b4470e25b47a750bc8e0a002a0435fc70c1bdcf %global shortcommit %(c=%{commit}; echo ${c:0:7}) # post-release format... %global snaprel %{?snapdate:.git%{snapdate}.%{shortcommit}} Name: freeipa-%{plugin_name} Version: 0.0.2 Release: 1%{?snaprel}%{?dist} Summary: Fedora Account System extension for FreeIPA License: GPLv3 URL: https://github.com/fedora-infra/freeipa-%{plugin_name} Source0: %{url}/archive/%{commit}/freeipa-%{plugin_name}-%{shortcommit}.tar.gz BuildArch: noarch BuildRequires: python3-devel BuildRequires: systemd %if ! 0%{?rhel} Provides: %{freeipa_altprefix}-%{plugin_name} = %{version}-%{release} Requires: freeipa-server >= %{ipa_version} Requires(post): freeipa-server >= %{ipa_version} %endif %description A module for FreeIPA with extensions for Fedora Account System. %if 0%{?rhel} %package -n ipa-%{plugin_name} Summary: Fedora Account System extension for IdM Provides: %{freeipa_altprefix}-%{plugin_name} = %{version}-%{release} Requires: ipa-server >= %{ipa_version} Requires(post): ipa-server >= %{ipa_version} %description -n ipa-%{plugin_name} A module for IdM with extensions for Fedora Account System. %endif %prep %autosetup -n freeipa-%{plugin_name}-%{commit} %build # Nothing to build %install mkdir -p %{buildroot}%{python3_sitelib}/ipaserver/plugins for j in $(find ipaserver/plugins -name '*.py') ; do cp -a $j %{buildroot}%{python3_sitelib}/ipaserver/plugins done mkdir -p %{buildroot}/%{_datadir}/ipa/schema.d for j in $(find schema.d/ -name '*.ldif') ; do cp -a $j %{buildroot}/%{_datadir}/ipa/schema.d/ done mkdir -p %{buildroot}/%{_datadir}/ipa/updates for j in $(find updates/ -name '*.update') ; do cp -a $j %{buildroot}/%{_datadir}/ipa/updates/ done mkdir -p %{buildroot}/%{_datadir}/ipa/ui/js/plugins for j in $(find ui/ -name '*.js') ; do destdir=%{buildroot}/%{_datadir}/ipa/ui/js/plugins/$(basename ${j%.js}) mkdir -p $destdir cp -a $j $destdir/ done %posttrans %python3 -c "import sys; from ipaserver.install import installutils; sys.exit(0 if installutils.is_ipa_configured() else 1);" > /dev/null 2>&1 if [ $? -eq 0 ]; then # This must be run in posttrans so that updates from previous # execution that may no longer be shipped are not applied. /usr/sbin/ipa-server-upgrade --quiet >/dev/null || : # Restart IPA processes. This must be also run in postrans so that plugins # and software is in consistent state # NOTE: systemd specific section /bin/systemctl is-enabled ipa.service >/dev/null 2>&1 if [ $? -eq 0 ]; then /bin/systemctl restart ipa.service >/dev/null 2>&1 || : fi fi %files -n %{freeipa_prefix}-%{plugin_name} %license COPYING %doc README.md %{python3_sitelib}/ipaserver/plugins/*.py %{python3_sitelib}/ipaserver/plugins/__pycache__/*.pyc %{_datadir}/ipa/schema.d/*.ldif %{_datadir}/ipa/updates/*.update %{_datadir}/ipa/ui/js/plugins/* %changelog * Mon Apr 20 2020 Neal Gompa - Small cleanups and consistency fixes of the packaging * Wed Feb 12 2020 Christian Heimes - 0.0.2-1 - Make new fields readable - Make mail attribute writeable * Tue Nov 19 2019 Christian Heimes - 0.0.1-1 - Initial release