From f076221002744b45619669309d58d550918282e7 Mon Sep 17 00:00:00 2001 From: Thomas Woerner Date: Tue, 4 Sep 2018 12:14:16 +0200 Subject: [PATCH] Fix only client build for Fedora>=28 and RHEL>7, readd special patch handing --- freeipa.spec | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/freeipa.spec b/freeipa.spec index c0fa7cf..d3ffaae 100644 --- a/freeipa.spec +++ b/freeipa.spec @@ -1,7 +1,9 @@ # 389-ds-base 1.4 no longer supports i686 platform, build only client # packages, https://bugzilla.redhat.com/show_bug.cgi?id=1544386 -%ifarch %{ix86} -%{!?ONLY_CLIENT:%global ONLY_CLIENT 1} +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 + %ifarch %{ix86} + %{!?ONLY_CLIENT:%global ONLY_CLIENT 1} + %endif %endif # Define ONLY_CLIENT to only make the ipa-client and ipa-python @@ -122,7 +124,7 @@ Name: %{package_name} Version: %{IPA_VERSION} -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Identity, Policy and Audit system Group: System Environment/Base @@ -936,7 +938,30 @@ This package contains tests that verify IPA functionality under Python 3. %prep +# Fedora spec file only: START +# Update timestamps on the files touched by a patch, to avoid non-equal +# .pyc/.pyo files across the multilib peers within a build, where "Level" +# is the patch prefix option (e.g. -p1) +# Taken from specfile for sssd and python-simplejson +UpdateTimestamps() { + Level=$1 + PatchFile=$2 + + # Locate the affected files: + for f in $(diffstat $Level -l $PatchFile); do + # Set the files to have the same timestamp as that of the patch: + touch -r $PatchFile $f + done +} + %setup -n freeipa-%{version} -q + +for p in %patches ; do + %__patch -p1 -i $p + UpdateTimestamps -p1 $p +done +# Fedora spec file only: END + # Workaround: We want to build Python things twice. To be sure we do not mess # up something, do two separate builds in separate directories. # freeipa-$VER-python3 for Python 3 build @@ -1032,7 +1057,7 @@ ln -rs %{buildroot}%{_bindir}/ipa-test-task-%{python3_version} %{buildroot}%{_bi pushd %{_builddir}/freeipa-%{version}-python2 %{__make} python_install DESTDIR=%{?buildroot} INSTALL="%{__install} -p" popd -%if 0%{?with_python2} && 0%{?fedora} < 29 +%if 0%{?with_ipatests} && 0%{?fedora} < 29 # Fedora 29 workaround: don't ship ipatests binaries mv %{buildroot}%{_bindir}/ipa-run-tests %{buildroot}%{_bindir}/ipa-run-tests-%{python2_version} mv %{buildroot}%{_bindir}/ipa-test-config %{buildroot}%{_bindir}/ipa-test-config-%{python2_version} @@ -1714,6 +1739,11 @@ fi %changelog +* Tue Sep 4 2018 Thomas Woerner - 4.7.0-3 +- Force generation of aclocal.m4 and configuration scripts +- Fix only client build for Fedora>=28 and RHEL>7 +- Bring back special patch handling for Fedora + * Mon Sep 3 2018 Thomas Woerner - 4.7.0-2 - Restore SELinux context of session_dir /etc/httpd/alias (pagure#7662) - Restore SELinux context of template_dir /var/log/dirsrv/slapd-X (pagure#7662)