summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Kosek <mkosek@redhat.com>2012-11-14 16:45:41 +0100
committerMartin Kosek <mkosek@redhat.com>2012-11-15 13:32:02 +0100
commitdce53e455f2a81979089c7c4792093742d1cccff (patch)
tree83b844d0fce5d0d3a2c7c8c0e23c08d589e29806
parent33fb94982665a23d38c7e51e17f632f3bc6f47bd (diff)
Prepare spec file for Fedora 18
FreeIPA 3.0 is being released to Fedora 18 only. Since we only support Fedora 17 and Fedora 18 in FreeIPA 3.0+, compatibility code for older Fedoras can be dropped. This should clean up the spec file and make it more readable. Dogtag10 Requires were fixed. Without this patch, there is a conflict on dogtag-pki-common-theme. Tar requirement was added to avoid crashes in ipa-replica-prepare on some minimal Fedora composes. https://fedorahosted.org/freeipa/ticket/2748 https://fedorahosted.org/freeipa/ticket/3237
-rw-r--r--freeipa.spec.in186
1 files changed, 49 insertions, 137 deletions
diff --git a/freeipa.spec.in b/freeipa.spec.in
index 3f4460323..3ab0e3d40 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -3,12 +3,7 @@
%global httpd_conf /etc/httpd/conf.d
%global plugin_dir %{_libdir}/dirsrv/plugins
-%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
-%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
-distutils.sysconfig import get_python_lib; print(get_python_lib())")}
-%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from
-distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
-%endif
+
%global POLICYCOREUTILSVER 1.33.12-1
%global gettext_domain ipa
@@ -28,9 +23,7 @@ BuildRequires: 389-ds-base-devel >= 1.2.11.14
BuildRequires: svrcore-devel
BuildRequires: /usr/share/selinux/devel/Makefile
BuildRequires: policycoreutils >= %{POLICYCOREUTILSVER}
-%if 0%{?fedora} >= 16
BuildRequires: systemd-units
-%endif
%if 0%{?fedora} >= 18
BuildRequires: samba-devel >= 4.0.0-150
BuildRequires: samba-python
@@ -41,7 +34,7 @@ BuildRequires: samba4-python
%endif
BuildRequires: libtalloc-devel
BuildRequires: libtevent-devel
-%endif
+%endif # ! %{ONLY_CLIENT}
BuildRequires: nspr-devel
BuildRequires: nss-devel
BuildRequires: openssl-devel
@@ -49,18 +42,8 @@ BuildRequires: openldap-devel
BuildRequires: krb5-devel >= 1.10
BuildRequires: krb5-workstation
BuildRequires: libuuid-devel
-%if 0%{?fedora} >= 16
BuildRequires: libcurl-devel >= 7.21.7-2
BuildRequires: xmlrpc-c-devel >= 1.27.4
-%else
-%if 0%{?fedora} == 15
-BuildRequires: libcurl-devel >= 7.21.3-9
-BuildRequires: xmlrpc-c-devel >= 1.25.4
-%else
-BuildRequires: libcurl-devel
-BuildRequires: xmlrpc-c-devel
-%endif
-%endif
BuildRequires: popt-devel
BuildRequires: autoconf
BuildRequires: automake
@@ -72,11 +55,7 @@ BuildRequires: python-ldap
BuildRequires: python-setuptools
BuildRequires: python-krbV
BuildRequires: python-nss
-%if 0%{?fedora} >= 15
-BuildRequires: python-netaddr >= 0.7.5-3
-%else
BuildRequires: python-netaddr
-%endif
BuildRequires: python-kerberos
BuildRequires: python-rhsm
BuildRequires: pyOpenSSL
@@ -89,7 +68,7 @@ BuildRequires: python-lxml
BuildRequires: python-pyasn1 >= 0.0.9a
BuildRequires: python-dns
BuildRequires: python-crypto
-BuildRequires: check >= 0.9.5
+BuildRequires: check
BuildRequires: libsss_idmap-devel
%description
@@ -122,60 +101,40 @@ Requires: mod_auth_kerb >= 5.4-16
%else
Requires: mod_auth_kerb >= 5.4-8
%endif
-Requires: mod_nss >= 1.0.8-10
+Requires: mod_nss
Requires: python-ldap
Requires: python-krbV
Requires: acl
-Requires: python-pyasn1 >= 0.0.9a
+Requires: python-pyasn1
Requires: memcached
Requires: python-memcached
-%if 0%{?fedora} >= 16
Requires: systemd-units >= 36-3
Requires(pre): systemd-units
Requires(post): systemd-units
-%endif
-%if 0%{?fedora} >= 17
Requires: selinux-policy >= 3.10.0-110
-%else
-%if 0%{?fedora} == 16
-Requires: selinux-policy >= 3.10.0-78
-%else
-%if 0%{?fedora} == 15
-Requires: selinux-policy >= 3.9.16-18
-%else
-Requires: selinux-policy >= 3.9.7-27
-%endif
-%endif
-%endif
Requires(post): selinux-policy-base
Requires: slapi-nis >= 0.40
+%if 0%{?fedora} >= 18
+Requires: pki-ca >= 10.0.0-0.52.b3
+Requires: dogtag-pki-server-theme
+%else
Requires: pki-ca >= 9.0.18
Requires: pki-silent >= 9.0.18
Requires: pki-setup >= 9.0.18
Requires: dogtag-pki-common-theme
Requires: dogtag-pki-ca-theme
-%if 0%{?fedora} >= 18
-Requires: tomcat6 >= 6.0.35-4
-%else
-%if 0%{?fedora} >= 16
-# Only tomcat6 greater than this version provides proper systemd support
Requires: tomcat6 >= 6.0.32-17
%endif
-%endif
%if 0%{?rhel}
Requires: subscription-manager
%endif
-%if 0%{?fedora} >= 16
Requires(preun): python systemd-units
Requires(postun): python systemd-units
-%else
-Requires(preun): python initscripts chkconfig
-Requires(postun): python initscripts chkconfig
-%endif
Requires: python-dns
Requires: keyutils
Requires: zip
Requires: policycoreutils >= %{POLICYCOREUTILSVER}
+Requires: tar
# We have a soft-requires on bind. It is an optional part of
# IPA but if it is configured we need a way to require versions
@@ -246,7 +205,7 @@ Requires(preun): %{_sbindir}/update-alternatives
Cross-realm trusts with Active Directory in IPA require working Samba 4 installation.
This package is provided for convenience to install all required dependencies at once.
-%endif
+%endif # ! %{ONLY_CLIENT}
%package client
@@ -260,18 +219,8 @@ Requires: krb5-workstation
Requires: authconfig
Requires: pam_krb5
Requires: wget
-%if 0%{?fedora} >= 16
-Requires: libcurl >= 7.21.7-2
-Requires: xmlrpc-c >= 1.27.4
-%else
-%if 0%{?fedora} == 15
-Requires: libcurl >= 7.21.3-9
-Requires: xmlrpc-c >= 1.25.4
-%else
-Requires: libcurl
-Requires: xmlrpc-c
-%endif
-%endif
+Requires: libcurl >= 7.21.7-2
+Requires: xmlrpc-c >= 1.27.4
Requires: sssd >= 1.8.0
Requires: certmonger >= 0.60
Requires: nss-tools
@@ -311,24 +260,18 @@ user, virtual machines, groups, authentication credentials), Policy
(configuration settings, access control information) and Audit (events,
logs, analysis thereof). This package provides command-line tools for
IPA administrators.
-%endif
+%endif # ! %{ONLY_CLIENT}
%package python
Summary: Python libraries used by IPA
Group: System Environment/Libraries
-%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
-Requires: python-kerberos >= 1.1-3
-%endif
+Requires: python-kerberos
Requires: gnupg
Requires: iproute
Requires: pyOpenSSL
-Requires: python-nss >= 0.11
+Requires: python-nss
Requires: python-lxml
-%if 0%{?fedora} >= 15
-Requires: python-netaddr >= 0.7.5-3
-%else
Requires: python-netaddr
-%endif
Requires: libipa_hbac-python
Obsoletes: ipa-python >= 1.0
@@ -346,17 +289,16 @@ package.
%build
export CFLAGS="$CFLAGS %{optflags}"
export CPPFLAGS="$CPPFLAGS %{optflags}"
-%if 0%{?fedora} >= 16
+# use fedora16 platform which introduced systemd support
export SUPPORTED_PLATFORM=fedora16
# Force re-generate of platform support
rm -f ipapython/services.py
-%endif
make version-update
cd ipa-client; ../autogen.sh --prefix=%{_usr} --sysconfdir=%{_sysconfdir} --localstatedir=%{_localstatedir} --libdir=%{_libdir} --mandir=%{_mandir}; cd ..
%if ! %{ONLY_CLIENT}
cd daemons; ../autogen.sh --prefix=%{_usr} --sysconfdir=%{_sysconfdir} --localstatedir=%{_localstatedir} --libdir=%{_libdir} --mandir=%{_mandir} --with-openldap; cd ..
cd install; ../autogen.sh --prefix=%{_usr} --sysconfdir=%{_sysconfdir} --localstatedir=%{_localstatedir} --libdir=%{_libdir} --mandir=%{_mandir}; cd ..
-%endif
+%endif # ! %{ONLY_CLIENT}
%if ! %{ONLY_CLIENT}
make IPA_VERSION_IS_GIT_SNAPSHOT=no %{?_smp_mflags} all
@@ -365,15 +307,13 @@ cd selinux
make all
%else
make IPA_VERSION_IS_GIT_SNAPSHOT=no %{?_smp_mflags} client
-%endif
+%endif # ! %{ONLY_CLIENT}
%install
rm -rf %{buildroot}
-%if 0%{?fedora} >= 16
export SUPPORTED_PLATFORM=fedora16
# Force re-generate of platform support
rm -f ipapython/services.py
-%endif
%if ! %{ONLY_CLIENT}
make install DESTDIR=%{buildroot}
cd selinux
@@ -381,7 +321,7 @@ make install DESTDIR=%{buildroot}
cd ..
%else
make client-install DESTDIR=%{buildroot}
-%endif
+%endif # ! %{ONLY_CLIENT}
%find_lang %{gettext_domain}
@@ -441,10 +381,10 @@ mkdir -p %{buildroot}%{_initrddir}
mkdir %{buildroot}%{_sysconfdir}/sysconfig/
install -m 644 init/ipa_memcached.conf %{buildroot}%{_sysconfdir}/sysconfig/ipa_memcached
-%if 0%{?fedora} >= 15
+# NOTE: systemd specific section
mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d/
install -m 0644 init/systemd/ipa.conf.tmpfiles %{buildroot}%{_sysconfdir}/tmpfiles.d/ipa.conf
-%endif
+# END
mkdir -p %{buildroot}%{_localstatedir}/run/
install -d -m 0700 %{buildroot}%{_localstatedir}/run/ipa_memcached/
@@ -453,16 +393,12 @@ install -d -m 0700 %{buildroot}%{_localstatedir}/run/ipa/
mkdir -p %{buildroot}%{_libdir}/krb5/plugins/libkrb5
touch %{buildroot}%{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so
-%if 0%{?fedora} >= 16
-# Default to systemd initscripts for F16 and above
+# NOTE: systemd specific section
mkdir -p %{buildroot}%{_unitdir}
install -m 644 init/systemd/ipa.service %{buildroot}%{_unitdir}/ipa.service
install -m 644 init/systemd/ipa_memcached.service %{buildroot}%{_unitdir}/ipa_memcached.service
-%else
-install -m755 init/SystemV/ipa.init %{buildroot}%{_initrddir}/ipa
-install -m755 init/SystemV/ipa_memcached.init %{buildroot}%{_initrddir}/ipa_memcached
-%endif
-%endif
+# END
+%endif # ! %{ONLY_CLIENT}
mkdir -p %{buildroot}%{_sysconfdir}/ipa/
/bin/touch %{buildroot}%{_sysconfdir}/ipa/default.conf
@@ -479,22 +415,16 @@ install -pm 644 ipa-compliance.cron %{buildroot}%{_sysconfdir}/cron.d/ipa-compli
grep -v dcerpc | grep -v adtrustinstance | \
sed -e 's,\.py.*$,.*,g' | sort -u | \
sed -e 's,\./,%%{python_sitelib}/ipaserver/,g' ) >server-python.list
-%endif
+%endif # ! %{ONLY_CLIENT}
%clean
rm -rf %{buildroot}
%if ! %{ONLY_CLIENT}
%post server
-%if 0%{?fedora} >= 16
-# Use systemd scheme
+# NOTE: systemd specific section
/bin/systemctl --system daemon-reload 2>&1 || :
-%else
-# Use SystemV scheme only before F16
-if [ $1 = 1 ]; then
- /sbin/chkconfig --add ipa
-fi
-%endif
+# END
if [ $1 -gt 1 ] ; then
/usr/sbin/ipa-upgradeconfig --quiet >/dev/null || :
fi
@@ -506,40 +436,27 @@ fi
%preun server
if [ $1 = 0 ]; then
-%if 0%{?fedora} >= 16
-# Use systemd scheme
+# NOTE: systemd specific section
/bin/systemctl --quiet stop ipa.service || :
/bin/systemctl --quiet disable ipa.service || :
-%else
-# Use SystemV scheme only before F16
- /sbin/chkconfig --del ipa
- /sbin/service ipa stop >/dev/null 2>&1 || :
-%endif
+# END
fi
%postun server
if [ "$1" -ge "1" ]; then
-%if 0%{?fedora} >= 16
-# Use systemd scheme
+# NOTE: systemd specific section
/bin/systemctl --quiet is-active ipa.service >/dev/null && \
/bin/systemctl try-restart ipa.service >/dev/null 2>&1 || :
-%else
-# Use SystemV scheme only before F16
- /sbin/service ipa condrestart >/dev/null 2>&1 || :
-%endif
+# END
fi
%pre server
# Stop ipa_kpasswd if it exists before upgrading so we don't have a
# zombie process when we're done.
if [ -e /usr/sbin/ipa_kpasswd ]; then
-%if 0%{?fedora} >= 16
-# Use systemd scheme
+# NOTE: systemd specific section
/bin/systemctl stop ipa_kpasswd.service >/dev/null 2>&1 || :
-%else
-# Use SystemV scheme only before F16
- /sbin/service ipa_kpasswd stop >/dev/null 2>&1 || :
-%endif
+# END
fi
%pre server-selinux
@@ -596,20 +513,16 @@ fi
winbind_krb5_locator.so /dev/null 90
python -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
-%if 0%{?fedora} >= 16
-# Use systemd scheme
+# NOTE: systemd specific section
/bin/systemctl try-restart httpd.service >/dev/null 2>&1 || :
-%else
-# Use SystemV scheme only before F16
- /sbin/service httpd condrestart >/dev/null 2>&1 || :
-%endif
+# END
fi
%preun server-trust-ad
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives --remove winbind_krb5_locator.so /dev/null
fi
-%endif
+%endif # ! %{ONLY_CLIENT}
%if ! %{ONLY_CLIENT}
@@ -637,18 +550,11 @@ fi
%config(noreplace) %{_sysconfdir}/sysconfig/ipa_memcached
%dir %attr(0700,apache,apache) %{_localstatedir}/run/ipa_memcached/
%dir %attr(0700,root,root) %{_localstatedir}/run/ipa/
-%if 0%{?fedora} >= 15
+# NOTE: systemd specific section
%config %{_sysconfdir}/tmpfiles.d/ipa.conf
-%endif
-%if 0%{?fedora} >= 16
-# Use systemd scheme
%attr(644,root,root) %{_unitdir}/ipa.service
%attr(644,root,root) %{_unitdir}/ipa_memcached.service
-%else
-# Use SystemV scheme only before F16
-%attr(755,root,root) %{_initrddir}/ipa
-%attr(755,root,root) %{_initrddir}/ipa_memcached
-%endif
+# END
%dir %{python_sitelib}/ipaserver
%dir %{python_sitelib}/ipaserver/install
%dir %{python_sitelib}/ipaserver/install/plugins
@@ -776,7 +682,7 @@ fi
%{python_sitelib}/ipaserver/dcerpc*
%{python_sitelib}/ipaserver/install/adtrustinstance*
%ghost %{_libdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so
-%endif
+%endif # ! %{ONLY_CLIENT}
%files client
%defattr(-,root,root,-)
@@ -808,7 +714,7 @@ fi
%{_bindir}/ipa
%config %{_sysconfdir}/bash_completion.d
%{_mandir}/man1/ipa.1.gz
-%endif
+%endif # ! %{ONLY_CLIENT}
%files python -f %{gettext_domain}.lang
%defattr(-,root,root,-)
@@ -820,15 +726,21 @@ fi
%dir %{python_sitelib}/ipalib
%{python_sitelib}/ipalib/*
%{python_sitearch}/default_encoding_utf8.so
-%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
%{python_sitelib}/ipapython-*.egg-info
%{python_sitelib}/freeipa-*.egg-info
%{python_sitearch}/python_default_encoding-*.egg-info
-%endif
%ghost %attr(0644,root,apache) %config(noreplace) %{_sysconfdir}/ipa/default.conf
%ghost %attr(0644,root,apache) %config(noreplace) %{_sysconfdir}/ipa/ca.crt
%changelog
+* Wed Nov 14 2012 Martin Kosek <mkosek@redhat.com> - 3.0.99-4
+- Remove compatibility definitions for unsupported Fedora versions (Fedora 16 and lower)
+ - Do not require specific package version when the package was available in Fedora 17
+ - Remove old SysV initscript compatibility code - we run on systemd now
+- Add Requires for the new Dogtag 10 and dogtag-pki-server-theme
+- Remove Requires on tomcat6 for Fedora 18 and later, Dogtag 10 pulls tomcat7 itself
+- Add Requires for tar (used by ipa-replica-prepare)
+
* Fri Nov 09 2012 Martin Kosek <mkosek@redhat.com> - 3.0.99-3
- Set min for bind-dyndb-ldap to 2.3-2 to pick up disabling global
forwarder per-zone