summaryrefslogtreecommitdiffstats
path: root/freeipa.spec.in
diff options
context:
space:
mode:
authorMartin Kosek <mkosek@redhat.com>2012-11-15 13:29:04 +0100
committerMartin Kosek <mkosek@redhat.com>2012-11-15 13:33:16 +0100
commit2a56146d255e41cd92b79fc457c04f9dbfd1e854 (patch)
treeaea1b7eae959559a8000a2da44494af6d68cb887 /freeipa.spec.in
parent863e15c58ba5e9a447395f9272695a9333c4269f (diff)
downloadfreeipa.git-2a56146d255e41cd92b79fc457c04f9dbfd1e854.tar.gz
freeipa.git-2a56146d255e41cd92b79fc457c04f9dbfd1e854.tar.xz
freeipa.git-2a56146d255e41cd92b79fc457c04f9dbfd1e854.zip
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
Diffstat (limited to 'freeipa.spec.in')
-rw-r--r--freeipa.spec.in186
1 files changed, 49 insertions, 137 deletions
diff --git a/freeipa.spec.in b/freeipa.spec.in
index 6c8d54d6..444bebe4 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.0-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.0-3
- Set min for bind-dyndb-ldap to 2.3-2 to pick up disabling global
forwarder per-zone