Alexander Scheel 3c619c7
%if 0%{?rhel}
2b097cb
%global prefix ipa
2b097cb
%global productname IPA
2b097cb
%global alt_prefix freeipa
Alexander Scheel 3c619c7
%else
Alexander Scheel 3c619c7
# Fedora
2b097cb
%global prefix freeipa
2b097cb
%global productname FreeIPA
2b097cb
%global alt_prefix ipa
Alexander Scheel 3c619c7
%endif
François Cami 6a88927
%global debug_package %{nil}
François Cami 6a88927
%global python3dir %{_builddir}/python3-%{name}-%{version}-%{release}
François Cami 6a88927
%{!?python3_sitelib: %global python3_sitelib %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
2b097cb
%global alt_name %{alt_prefix}-healthcheck
François Cami 6a88927
1bf26cd
%bcond_without tests
François Cami 6a88927
2b097cb
Name:           %{prefix}-healthcheck
5c9fd0c
Version:        0.16
dd98ad8
Release:        5%{?dist}
2b097cb
Summary:        Health check tool for %{productname}
François Cami 6a88927
BuildArch:      noarch
fc7d37f
License:        GPL-3.0-or-later
François Cami 1f85cd8
URL:            https://github.com/freeipa/freeipa-healthcheck
ef5473b
Source0:        https://github.com/freeipa/freeipa-healthcheck/archive/%{version}.tar.gz
2b097cb
Source1:        ipahealthcheck.conf
6f07f9b
6f07f9b
Patch0001:      0001-Remove-ipaclustercheck.patch
59da07c
Patch0002:      0002-Don-t-fail-if-a-service-name-cannot-be-looked-up-in-.patch
59da07c
Patch0003:      0003-Temporarily-disable-the-ipa-ods-exporter-service-sta.patch
dd98ad8
Patch0004:      0004-Skip-DogtagCertsConfigCheck-for-PKI-versions-11.5.0.patch
dd98ad8
Patch0005:      0005-test-Handle-PKI-11.5.0-not-storing-certs-in-CS.cfg.patch
6f07f9b
7ff4581
Requires:       %{name}-core = %{version}-%{release}
2b097cb
Requires:       %{prefix}-server
François Cami aca46c0
Requires:       python3-ipalib
François Cami aca46c0
Requires:       python3-ipaserver
947c6e3
Requires:       python3-lib389 >= 1.4.2.14-1
François Cami 4893681
# cronie-anacron provides anacron
François Cami 4893681
Requires:       anacron
François Cami 4893681
Requires:       logrotate
4b96e15
Requires(post): systemd-units
François Cami 1f85cd8
Requires:       %{name}-core = %{version}-%{release}
François Cami 6a88927
BuildRequires:  python3-devel
3830097
BuildRequires:  python3-setuptools
4b96e15
BuildRequires:  systemd-devel
4b96e15
%{?systemd_requires}
4b96e15
# packages for make check
c35b237
%if %{with tests}
Alexander Scheel 3c619c7
BuildRequires:  python3-pytest
4b96e15
BuildRequires:  python3-ipalib
4b96e15
BuildRequires:  python3-ipaserver
c35b237
%endif
François Cami bddbd0b
BuildRequires:  python3-lib389
François Cami fe4780b
BuildRequires:  python3-libsss_nss_idmap
François Cami 6a88927
Alexander Scheel 3c619c7
# Cross-provides for sibling OS
Alexander Scheel 3c619c7
Provides:       %{alt_name} = %{version}
Alexander Scheel 3c619c7
Conflicts:      %{alt_name}
Alexander Scheel 3c619c7
Obsoletes:      %{alt_name} < %{version}
François Cami 6a88927
François Cami 6a88927
%description
7403967
The %{productname} health check tool provides a set of checks to
François Cami aca46c0
proactively detect defects in a FreeIPA cluster.
François Cami 6a88927
François Cami 6a88927
François Cami 1f85cd8
%package -n %{name}-core
François Cami 1f85cd8
Summary: Core plugin system for healthcheck
François Cami 1f85cd8
Alexander Scheel 3c619c7
# Cross-provides for sibling OS
Alexander Scheel 3c619c7
Provides:       %{alt_name}-core = %{version}
Alexander Scheel 3c619c7
Conflicts:      %{alt_name}-core
Alexander Scheel 3c619c7
Obsoletes:      %{alt_name}-core < %{version}
Alexander Scheel 3c619c7
François Cami 1f85cd8
François Cami 1f85cd8
%description -n %{name}-core
7403967
Core plugin system for healthcheck, usable standalone with other
7403967
packages.
François Cami 1f85cd8
François Cami 1f85cd8
François Cami 6a88927
%prep
2b097cb
%autosetup -p1  -n freeipa-healthcheck-%{version}
François Cami 6a88927
François Cami 6a88927
François Cami 6a88927
%build
François Cami 6a88927
%py3_build
François Cami 6a88927
François Cami 6a88927
François Cami 6a88927
%install
François Cami 6a88927
%py3_install
François Cami 0759006
2b097cb
mkdir -p %{buildroot}%{_sysconfdir}/ipahealthcheck
2b097cb
install -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/ipahealthcheck
François Cami 0759006
4b96e15
mkdir -p %{buildroot}/%{_unitdir}
2b097cb
install -p -m644 %{_builddir}/freeipa-healthcheck-%{version}/systemd/ipa-healthcheck.service %{buildroot}%{_unitdir}
2b097cb
install -p -m644 %{_builddir}/freeipa-healthcheck-%{version}/systemd/ipa-healthcheck.timer %{buildroot}%{_unitdir}
4b96e15
François Cami 85a31bb
mkdir -p %{buildroot}/%{_libexecdir}/ipa
2b097cb
install -p -m755 %{_builddir}/freeipa-healthcheck-%{version}/systemd/ipa-healthcheck.sh %{buildroot}%{_libexecdir}/ipa/
François Cami 0759006
François Cami 4893681
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
2b097cb
install -p -m644 %{_builddir}/freeipa-healthcheck-%{version}/logrotate/ipahealthcheck %{buildroot}%{_sysconfdir}/logrotate.d
François Cami 4893681
2b097cb
mkdir -p %{buildroot}/%{_localstatedir}/log/ipa/healthcheck
François Cami 6a88927
6f07f9b
mkdir -p %{buildroot}/%{_mandir}/man8
4b96e15
mkdir -p %{buildroot}/%{_mandir}/man5
2b097cb
install -p -m644 %{_builddir}/freeipa-healthcheck-%{version}/man/man8/ipa-healthcheck.8  %{buildroot}%{_mandir}/man8/
2b097cb
install -p -m644 %{_builddir}/freeipa-healthcheck-%{version}/man/man5/ipahealthcheck.conf.5  %{buildroot}%{_mandir}/man5/
François Cami 6a88927
François Cami 1f85cd8
(cd %{buildroot}/%{python3_sitelib}/ipahealthcheck && find . -type f  | \
François Cami 1f85cd8
    grep -v '^./core' | \
François Cami 1f85cd8
    grep -v 'opt-1' | \
François Cami 1f85cd8
    sed -e 's,\.py.*$,.*,g' | sort -u | \
François Cami 1f85cd8
    sed -e 's,\./,%%{python3_sitelib}/ipahealthcheck/,g' ) >healthcheck.list
François Cami 1f85cd8
François Cami 85a31bb
c35b237
%if %{with tests}
François Cami 6a88927
%check
32b83c8
PYTHONPATH=src PATH=$PATH:$RPM_BUILD_ROOT/usr/bin pytest-3 tests/test_*
c35b237
%endif
François Cami 6a88927
François Cami 6a88927
4b96e15
%post
2b097cb
%systemd_post ipa-healthcheck.service
4b96e15
François Cami 85a31bb
4b96e15
%preun
2b097cb
%systemd_preun ipa-healthcheck.service
4b96e15
François Cami 85a31bb
4b96e15
%postun
2b097cb
%systemd_postun_with_restart ipa-healthcheck.service
4b96e15
4b96e15
François Cami 1f85cd8
%files -f healthcheck.list
François Cami 6a88927
%{!?_licensedir:%global license %%doc}
François Cami 6a88927
%license COPYING
François Cami 6a88927
%doc README.md
2b097cb
%{_bindir}/ipa-healthcheck
2b097cb
%dir %{_sysconfdir}/ipahealthcheck
2b097cb
%dir %{_localstatedir}/log/ipa/healthcheck
2b097cb
%config(noreplace) %{_sysconfdir}/ipahealthcheck/ipahealthcheck.conf
2b097cb
%config(noreplace) %{_sysconfdir}/logrotate.d/ipahealthcheck
2b097cb
%{python3_sitelib}/ipahealthcheck-%{version}-*.egg-info/
2b097cb
%{python3_sitelib}/ipahealthcheck-%{version}-*-nspkg.pth
4b96e15
%{_unitdir}/*
4b96e15
%{_libexecdir}/*
6f07f9b
%{_mandir}/man8/*
4b96e15
%{_mandir}/man5/*
François Cami 6a88927
François Cami 6a88927
François Cami 1f85cd8
%files -n %{name}-core
François Cami 1f85cd8
%{!?_licensedir:%global license %%doc}
François Cami 1f85cd8
%license COPYING
François Cami 1f85cd8
%doc README.md
2b097cb
%{python3_sitelib}/ipahealthcheck/core/
François Cami 1f85cd8
François Cami 1f85cd8
François Cami 6a88927
%changelog
dd98ad8
* Wed Feb 14 2024 Rob Crittenden <rcritten@redhat.com> - 0.16-5
dd98ad8
- Skip DogtagCertsConfigCheck for PKI versions >= 11.5.0
dd98ad8
8111c67
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-4
8111c67
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
8111c67
b58a659
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-3
b58a659
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
b58a659
59da07c
* Tue Nov 14 2023 Rob Crittenden <rcritten@redhat.com> - 0.16-2
59da07c
- Don't fail if a service name cannot be looked up in LDAP
59da07c
- Disable the ipa-ods-exporter service check
59da07c
5c9fd0c
* Wed Nov  8 2023 Rob Crittenden <rcritten@redhat.com> - 0.16-1
5c9fd0c
- Update to 0.16 release
5c9fd0c
- This fixes pki-healthcheck
5c9fd0c
a2c24b6
* Tue Nov  7 2023 Rob Crittenden <rcritten@redhat.com> - 0.15-1
a2c24b6
- Update to 0.15 release
a2c24b6
5255ca6
* Mon Aug 21 2023 Rob Crittenden <rcritten@redhat.com> - 0.14-1
5255ca6
- Update to 0.14 release
5255ca6
17d728e
* Wed Jul 19 2023 Rob Crittenden <rcritten@redhat.com> - 0.13-1
17d728e
- Update to 0.13 release
17d728e
f11dc0b
* Thu Jun 29 2023 Python Maint <python-maint@redhat.com> - 0.12-5
f11dc0b
- Rebuilt for Python 3.12
f11dc0b
ba97e2b
* Wed Jun 28 2023 Python Maint <python-maint@redhat.com> - 0.12-4
ba97e2b
- Bootstrap for Python 3.12
ba97e2b
fc7d37f
* Wed Mar 29 2023 Rob Crittenden <rcritten@redhat.com> - 0.12-3
fc7d37f
- Migrated to SPDX license
fc7d37f
a8b17c4
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.12-2
a8b17c4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
a8b17c4
ecca38c
* Thu Dec  1 2022 Rob Crittenden <rcritten@redhat.com> - 0.12
ecca38c
- Update to 0.12 release
ecca38c
ff21e58
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.11-5
ff21e58
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
ff21e58
25579a9
* Thu Jun 16 2022 Python Maint <python-maint@redhat.com> - 0.11-4
25579a9
- Rebuilt for Python 3.11
25579a9
3527d05
* Thu Jun 16 2022 Python Maint <python-maint@redhat.com> - 0.11-3
3527d05
- Bootstrap for Python 3.11
3527d05
e2e1b50
* Mon Jun 06 2022 Rob Crittenden <rcritten@redhat.com> - 0.11-2
e2e1b50
- Don't WARN on KDC workers if cpus == 1 and KRB5KDC_ARGS is empty
e2e1b50
db8c61d
* Thu Jun 02 2022 Rob Crittenden <rcritten@redhat.com> - 0.11-1
db8c61d
- Update to 0.11 release
db8c61d
5579706
* Tue Feb  8 2022 Rob Crittenden <rcritten@redhat.com> - 0.10-1
5579706
- Update to 0.10 release
5579706
d43863c
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9-4
d43863c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
d43863c
528bace
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9-3
528bace
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
528bace
c7965c7
* Mon Jun 14 2021 Rob Crittenden <rcritten@redhat.com> - 0.9-2
c7965c7
- FileCheck would raise a CRITICAL for non-existent files
c7965c7
32b83c8
* Tue Jun  8 2021 Rob Crittenden <rcritten@redhat.com> - 0.9-1
32b83c8
- Update to upstream 0.9
32b83c8
- Fix bad date in 0.8-6.1 changelog entry
32b83c8
1bf26cd
* Mon Jun 07 2021 Python Maint <python-maint@redhat.com> - 0.8-8.1
1bf26cd
- Rebuilt for Python 3.10
1bf26cd
2641114
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.8-7.1
c3c883c
- Bootstrap for Python 3.10
2641114
32b83c8
* Thu Apr 15 2021 Rob Crittenden <rcritten@redhat.com> - 0.8-6.1
05724b3
- Switch from tox to pytest as the test runner. tox is being deprecated
05724b3
  in some distros.
05724b3
François Cami 0530367
* Mon Mar  8 2021 François Cami <fcami@redhat.com> - 0.8-6
François Cami 0530367
- Make the spec file distribution-agnostic (rhbz#1935773).
François Cami 0530367
Alexander Scheel 3c619c7
* Tue Mar  2 2021 Alexander Scheel <ascheel@redhat.com> - 0.8-5
Alexander Scheel 3c619c7
- Make the spec file more distribution-agnostic
Alexander Scheel 3c619c7
- Use tox as the test runner when tests are enabled
Alexander Scheel 3c619c7
3b3b15f
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.8-4
3b3b15f
- Rebuilt for updated systemd-rpm-macros
3b3b15f
  See https://pagure.io/fesco/issue/2583.
3b3b15f
938cfa9
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-3
938cfa9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
938cfa9
881d287
* Mon Jan 18 2021 Rob Crittenden <rcritten@redhat.com> - 0.8-2
881d287
- A bad file group was reported as a python list, not a string
881d287
ef5473b
* Wed Jan 13 2021 Rob Crittenden <rcritten@redhat.com> - 0.8-1
ef5473b
- Update to upstream 0.8
ef5473b
- Fix FTBFS in F34/rawhide (#1915256)
ef5473b
5f47c7f
* Wed Dec 16 2020 Rob Crittenden <rcritten@redhat.com> - 0.7-3
5f47c7f
- Include upstream patch to fix parsing input from json files
5f47c7f
ca10bed
* Tue Nov 17 2020 Rob Crittenden <rcritten@redhat.com> - 0.7-2
ca10bed
- Include upstream patch to fix collection of AD trust domains
ca10bed
- Include upstream patch to fix failing not-valid-after test
ca10bed
7ff4581
* Thu Oct 29 2020 Rob Crittenden <rcritten@redhat.com> - 0.7-1
7ff4581
- Update to upstream 0.7
7ff4581
de38a70
* Wed Jul 29 2020 Rob Crittenden <rcritten@redhat.com> - 0.6-4
947c6e3
- Set minimum Requires on python3-lib389
947c6e3
- Don't assume that all users of healthcheck-core provide the same
947c6e3
  set of options.
947c6e3
8e3ed96
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-3
8e3ed96
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
8e3ed96
7da61ea
* Fri Jul 24 2020 Rob Crittenden <rcritten@redhat.com> - 0.6-2
7da61ea
- Don't collect IPA servers in MetaCheck
7da61ea
- Skip if dirsrv not available in IPAMetaCheck
7da61ea
6f07f9b
* Wed Jul  1 2020 Rob Crittenden <rcritten@redhat.com> - 0.6-1
6f07f9b
- Update to upstream 0.6
6f07f9b
- Don't include cluster checking yet
6f07f9b
3830097
* Tue Jun 23 2020 Rob Crittenden <rcritten@redhat.com> - 0.5-5
3830097
- Add BuildRequires on python3-setuptools
3830097
9b0305d
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.5-4
9b0305d
- Rebuilt for Python 3.9
9b0305d
1a40e57
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-3
1a40e57
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
1a40e57
939f3ea
* Mon Jan 27 2020 Rob Crittenden <rcritten@redhat.com> - 0.5-2
939f3ea
- Rebuild
939f3ea
c8eb21b
* Thu Jan  2 2020 Rob Crittenden <rcritten@redhat.com> - 0.5-1
c8eb21b
- Update to upstream 0.5
c8eb21b
François Cami 1f85cd8
* Mon Dec 2 2019 François Cami <fcami@redhat.com> - 0.4-2
François Cami 1f85cd8
- Create subpackage to split out core processing (#1771710)
François Cami 1f85cd8
François Cami fe4780b
* Mon Dec 2 2019 François Cami <fcami@redhat.com> - 0.4-1
François Cami fe4780b
- Update to upstream 0.4
François Cami fe4780b
- Change Source0 to something "spectool -g" can use. 
François Cami 1f85cd8
- Correct URL (#1773512)
François Cami 1f85cd8
- Errors not translated to strings (#1752849)
François Cami 1f85cd8
- JSON output not indented by default (#1729043)
François Cami 1f85cd8
- Add dependencies to checks to avoid false-positives (#1727900)
François Cami 1f85cd8
- Verify expected DNS records (#1695125
François Cami fe4780b
afbe8ca
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.3-3
afbe8ca
- Rebuilt for Python 3.8.0rc1 (#1748018)
afbe8ca
9ab38ee
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.3-2
9ab38ee
- Rebuilt for Python 3.8
9ab38ee
François Cami 4893681
* Thu Jul 25 2019 François Cami <fcami@redhat.com> - 0.3-1
François Cami 4893681
- Update to upstream 0.3
François Cami 4893681
- Add logrotate configs + depend on anacron and logrotate
François Cami 4893681
François Cami 0759006
* Thu Jul 25 2019 François Cami <fcami@redhat.com> - 0.2-6
François Cami 0759006
- Fix permissions
François Cami 0759006
88f57d8
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2-5
88f57d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
88f57d8
François Cami 85a31bb
* Thu Jul 11 2019 François Cami <fcami@redhat.com> - 0.2-4
François Cami 4893681
- Fix ipa-healthcheck.sh installation path (rhbz#1729188)
François Cami 4893681
- Create and own log directory (rhbz#1729188)
François Cami 85a31bb
François Cami bddbd0b
* Tue Apr 30 2019 François Cami <fcami@redhat.com> - 0.2-3
François Cami bddbd0b
- Add python3-lib389 to BRs
François Cami bddbd0b
François Cami 6a609ca
* Tue Apr 30 2019 François Cami <fcami@redhat.com> - 0.2-2
François Cami 6a609ca
- Fix changelog
François Cami 6a609ca
François Cami 6a609ca
* Thu Apr 25 2019 Rob Crittenden <rcritten@redhat.com> - 0.2-1
4b96e15
- Update to upstream 0.2
4b96e15
François Cami aca46c0
* Thu Apr 4 2019 François Cami <fcami@redhat.com> - 0.1-2
François Cami aca46c0
- Explicitly list dependencies
François Cami aca46c0
François Cami 6a88927
* Tue Apr 2 2019 François Cami <fcami@redhat.com> - 0.1-1
François Cami 6a88927
- Initial package import