diff --git a/.gitignore b/.gitignore index 2f6361c..c49da20 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /dnsconfd-1.0.2.tar.gz /dnsconfd-1.1.2.tar.gz /dnsconfd-1.2.0.tar.gz +/dnsconfd-1.7.0.tar.gz diff --git a/dnsconfd.spec b/dnsconfd.spec index 709dd02..d34b691 100644 --- a/dnsconfd.spec +++ b/dnsconfd.spec @@ -2,16 +2,14 @@ %global selinuxtype targeted Name: dnsconfd -Version: 1.2.0 -Release: 2%{?dist} +Version: 1.7.0 +Release: 1%{?dist} Summary: Local DNS cache configuration daemon License: MIT URL: https://github.com/InfrastructureServices/dnsconfd Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source1: dnsconfd.sysusers -BuildArch: noarch - BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-setuptools @@ -24,8 +22,11 @@ BuildRequires: systemd-rpm-macros Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) Requires: python3-gobject-base Requires: python3-pyyaml +Requires: python3-systemd +Recommends: python3-idna Requires: dbus-common Requires: %{name}-cache +Requires: polkit Suggests: %{name}-unbound %?python_enable_dependency_generator @@ -46,6 +47,27 @@ BuildRequires: selinux-policy-devel %description selinux Dnsconfd SELinux policy module. +%package micro +Summary: Minimized native implementation of Dnsconfd +Requires: %{name} = %{version}-%{release} +Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) +Suggests: %{name}-unbound = %{version}-%{release} +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(check) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: gcc +BuildRequires: cmake +Requires: glib2 +Requires: libcurl +Requires: systemd-libs +Requires: unbound-dracut + +%description micro +Minimized native implementation of Dnsconfd. Able to configure +Unbound according to NetworkManager global configuration. + %package unbound Summary: dnsconfd unbound module BuildArch: noarch @@ -56,6 +78,16 @@ Provides: %{name}-cache = %{version}-%{release} %description unbound Dnsconfd management of unbound server +%package dracut +Summary: dnsconfd dracut module +Requires: %{name}-micro%{?_isa} = %{version}-%{release} +Requires: unbound +Requires: dracut +Requires: dracut-network + +%description dracut +Dnsconfd dracut module + %prep %autosetup -n %{name}-%{version} @@ -69,40 +101,52 @@ Dnsconfd management of unbound server make -f %{_datadir}/selinux/devel/Makefile %{modulename}.pp bzip2 -9 %{modulename}.pp +### micro part + +pushd micro-dnsconfd +%cmake +%cmake_build +popd + %install %py3_install mkdir -m 0755 -p %{buildroot}%{_datadir}/dbus-1/system.d/ +mkdir -m 0755 -p %{buildroot}%{_datadir}/dbus-1/system-services/ mkdir -m 0755 -p %{buildroot}%{_sysconfdir}/unbound/conf.d/ mkdir -m 0755 -p %{buildroot}%{_unitdir} mkdir -m 0755 -p %{buildroot}%{_unitdir}/unbound.service.d -mkdir -m 0755 -p %{buildroot}%{_unitdir}/unbound-anchor.service.d mkdir -m 0755 -p %{buildroot}%{_sysconfdir}/sysconfig -mkdir -m 0755 -p %{buildroot}%{_sbindir} mkdir -m 0755 -p %{buildroot}/%{_mandir}/man8 mkdir -m 0755 -p %{buildroot}/%{_mandir}/man5 mkdir -m 0755 -p %{buildroot}%{_datadir}/polkit-1/rules.d/ mkdir -m 0755 -p %{buildroot}%{_rundir}/dnsconfd mkdir -m 0755 -p %{buildroot}%{_tmpfilesdir} +mkdir -m 0755 -p %{buildroot}%{_prefix}/lib/dracut/modules.d/99dnsconfd +mkdir -m 0755 -p %{buildroot}%{_libexecdir} install -m 0644 -p distribution/com.redhat.dnsconfd.conf %{buildroot}%{_datadir}/dbus-1/system.d/com.redhat.dnsconfd.conf +install -m 0644 -p distribution/com.redhat.dnsconfd.service %{buildroot}%{_datadir}/dbus-1/system-services/com.redhat.dnsconfd.service install -m 0644 -p distribution/dnsconfd.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/dnsconfd +install -m 0644 -p distribution/micro-dnsconfd.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/micro-dnsconfd install -m 0644 -p distribution/dnsconfd.service %{buildroot}%{_unitdir}/dnsconfd.service +install -m 0644 -p distribution/micro-dnsconfd.service %{buildroot}%{_unitdir}/micro-dnsconfd.service install -m 0644 -p distribution/dnsconfd.conf %{buildroot}%{_sysconfdir}/dnsconfd.conf install -m 0644 -p distribution/dnsconfd.rules %{buildroot}%{_datadir}/polkit-1/rules.d/dnsconfd.rules install -m 0644 -p distribution/dnsconfd-tmpfiles.conf %{buildroot}%{_tmpfilesdir}/%{name}.conf install -m 0644 -p distribution/dnsconfd-unbound-tmpfiles.conf %{buildroot}%{_tmpfilesdir}/%{name}-unbound.conf +install -m 0755 -p distribution/dracut_module/module-setup.sh %{buildroot}%{_prefix}/lib/dracut/modules.d/99dnsconfd +install -m 0755 -p distribution/dnsconfd-prepare.sh %{buildroot}%{_libexecdir}/dnsconfd-prepare +install -m 0755 -p distribution/dnsconfd-prepare.sh %{buildroot}%{_libexecdir}/dnsconfd-cleanup +install -m 0644 -p distribution/dracut_module/*.conf %{buildroot}%{_prefix}/lib/dracut/modules.d/99dnsconfd touch %{buildroot}%{_rundir}/dnsconfd/unbound.conf chmod 0644 %{buildroot}%{_rundir}/dnsconfd/unbound.conf # hook to inform us about unbound stop install -m 0644 -p distribution/dnsconfd.service.d-unbound.conf %{buildroot}%{_unitdir}/unbound.service.d/dnsconfd.conf -install -m 0644 -p distribution/dnsconfd.service.d-unbound-anchor.conf %{buildroot}%{_unitdir}/unbound-anchor.service.d/dnsconfd.conf install -m 0644 -p distribution/unbound-dnsconfd.conf %{buildroot}%{_sysconfdir}/unbound/conf.d/unbound.conf -mv %{buildroot}%{_bindir}/dnsconfd %{buildroot}%{_sbindir}/dnsconfd - install -D -m 0644 %{modulename}.pp.bz2 %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2 install -m 0644 -p distribution/dnsconfd.8 %{buildroot}/%{_mandir}/man8/dnsconfd.8 @@ -113,6 +157,17 @@ install -m 0644 -p distribution/dnsconfd.conf.5 %{buildroot}/%{_mandir}/man5/dns install -p -D -m 0644 distribution/dnsconfd.sysusers %{buildroot}%{_sysusersdir}/dnsconfd.conf +### micro part + +pushd micro-dnsconfd +%cmake_install +popd + +%check +pushd micro-dnsconfd +%ctest +popd + %pre selinux %selinux_relabel_pre -s %{selinuxtype} @@ -144,33 +199,47 @@ fi %files %license LICENSE -%{_sbindir}/dnsconfd +%{_bindir}/dnsconfd %{python3_sitelib}/dnsconfd/ %{python3_sitelib}/dnsconfd-%{version}* %{_datadir}/dbus-1/system.d/com.redhat.dnsconfd.conf +%{_datadir}/dbus-1/system-services/com.redhat.dnsconfd.service %config(noreplace) %{_sysconfdir}/sysconfig/dnsconfd %config(noreplace) %{_sysconfdir}/dnsconfd.conf %{_unitdir}/dnsconfd.service +%{_libexecdir}/dnsconfd-prepare +%{_libexecdir}/dnsconfd-cleanup %{_mandir}/man8/dnsconfd*.8* %{_mandir}/man5/dnsconfd.conf.5* -%ghost %{_sysusersdir}/dnsconfd.conf -%doc README.md +%{_sysusersdir}/dnsconfd.conf +%doc README.md docs/com.redhat.dnsconfd.md %{_datadir}/polkit-1/rules.d/dnsconfd.rules %dir %attr(755,dnsconfd,dnsconfd) %{_rundir}/dnsconfd %{_tmpfilesdir}/%{name}.conf +%files micro +%{_bindir}/micro-dnsconfd +%{_unitdir}/micro-dnsconfd.service +%config(noreplace) %{_sysconfdir}/sysconfig/micro-dnsconfd + %files selinux %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.* %ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulename} %files unbound %{_unitdir}/unbound.service.d/dnsconfd.conf -%{_unitdir}/unbound-anchor.service.d/dnsconfd.conf %config(noreplace) %attr(644,unbound,unbound) %{_sysconfdir}/unbound/conf.d/unbound.conf %attr(644,dnsconfd,dnsconfd) %{_rundir}/dnsconfd/unbound.conf %{_tmpfilesdir}/dnsconfd-unbound.conf +%files dracut +%{_prefix}/lib/dracut/modules.d/99dnsconfd + %changelog +* Thu Feb 13 2025 Tomas Korbar - 1.7.0-1 +- Rebase to 1.7.0 +- Resolves: RHEL-79172 + * Tue Oct 29 2024 Troy Dawson - 1.2.0-2 - Bump release for October 2024 mass rebuild: Resolves: RHEL-64018 diff --git a/sources b/sources index 400789a..deda12c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dnsconfd-1.2.0.tar.gz) = 1429260566e3972fa72774e20e6ca811ff1b78635e7c5b97c63be988daebcbe3b6fbd2c5a7a0938861e497103a571d953ae48f1e7a8333ef737c12b3171f2601 +SHA512 (dnsconfd-1.7.0.tar.gz) = 06769045f3c98f1093c35b9013f55826361861050687acc31ec06b1a9491e36390f05ce05adfb6c7cacd28d88eb741c96dd7311fc12a358999d9ca8b04de625d