public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/bind] rawhide: Update systemd unit files with %name and %program_suffix
@ 2026-07-01  9:47 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-07-01  9:47 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/bind
            Branch : rawhide
            Commit : 8d6979fcf3db0b078819ba7a7c8b94e2407a5292
            Author : Petr Menšík <pemensik@redhat.com>
            Date   : 2026-06-24T15:26:57+02:00
            Stats  : +113/-98 in 9 file(s)
            URL    : https://src.fedoraproject.org/rpms/bind/c/8d6979fcf3db0b078819ba7a7c8b94e2407a5292?branch=rawhide

            Log:
            Update systemd unit files with %name and %program_suffix

Move creation of systemd units into build phase. Replace not only %name,
also program_suffix.

Change services to use template for systemd unit files

To execute correctly systemd services, make them templates fixed at the
build time. Still conflicts with potential alternatives.

Solve also filter plugins to have suffix also.

---
diff --git a/bind.spec b/bind.spec
index 61844a0..eec79dd 100644
--- a/bind.spec
+++ b/bind.spec
@@ -119,12 +119,12 @@ Source25: named.conf.sample
 Source27: named.root.key
 Source35: bind.tmpfiles.d
 Source36: trusted-key.key
-Source37: named.service
-Source38: named-chroot.service
+Source37: named.service.in
+Source38: named-chroot.service.in
 Source41: setup-named-chroot.sh
 Source42: generate-rndc-key.sh
-Source44: named-chroot-setup.service
-Source46: named-setup-rndc.service
+Source44: named-chroot-setup.service.in
+Source46: named-setup-rndc.service.in
 Source48: setup-named-softhsm.sh
 Source49: named-chroot.files
 Source50: named.sysusers
@@ -355,6 +355,8 @@ in HTML and PDF format.
 
 # use this suffix for binaries
 %global program_suffix -%{mver}
+# preparation scripts directory
+%global bind_libexecdir %{_libexecdir}/%{name}
 
 
 %prep
@@ -475,6 +477,18 @@ fmtutil-user --missing || :
 
 popd # build
 
+# Prepare unit files
+for SERVICEFILE in %{SOURCE37} %{SOURCE38} %{SOURCE44} %{SOURCE46}; do
+  NEWNAME="$(basename -- "$SERVICEFILE" .in)"
+  sed -e "s|%%{program_suffix}|%{program_suffix}|g" \
+      -e "s|%%{name}|%{name}|g" \
+      -e "s|%%{bind_libexecdir}|%{bind_libexecdir}|g" \
+      -e "s|%%{_bindir}|%{_bindir}|g" \
+      -e "s|%%{_sbindir}|%{_sbindir}|g" \
+      "$SERVICEFILE" > "$NEWNAME"
+  touch -r "$SERVICEFILE" "$NEWNAME" # Set change time to time of template
+done
+
 %unit_prepare_build build
 %systemtest_prepare_build build
 
@@ -589,13 +603,8 @@ popd
 rm -f ${RPM_BUILD_ROOT}/etc/bind.keys
 
 # Systemd unit files
-mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
-install -p -m 644 %{SOURCE37} ${RPM_BUILD_ROOT}%{_unitdir}
-install -p -m 644 %{SOURCE38} ${RPM_BUILD_ROOT}%{_unitdir}
-install -p -m 644 %{SOURCE44} ${RPM_BUILD_ROOT}%{_unitdir}
-install -p -m 644 %{SOURCE46} ${RPM_BUILD_ROOT}%{_unitdir}
-
-sed -e "s|\%{name}|%{name}|" -i ${RPM_BUILD_ROOT}%{_unitdir}/named-*.service
+mkdir -p "${RPM_BUILD_ROOT}%{_unitdir}"
+install -p -m 644 *.service "${RPM_BUILD_ROOT}%{_unitdir}"
 
 mkdir -p ${RPM_BUILD_ROOT}%{_sysusersdir}
 install -p -m 644 %{SOURCE50} ${RPM_BUILD_ROOT}%{_sysusersdir}/%{name}.conf
@@ -605,7 +614,9 @@ install -p -m 755 %{SOURCE41} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/setup-name
 install -p -m 755 %{SOURCE42} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/generate-rndc-key.sh
 install -p -m 755 %{SOURCE48} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/setup-named-softhsm.sh
 
-install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}/etc/logrotate.d/named
+mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
+install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/named
+
 mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
 install -p -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/named
 install -p -m 644 %{SOURCE49} ${RPM_BUILD_ROOT}%{_sysconfdir}/named-chroot.files
@@ -620,7 +631,11 @@ find ${RPM_BUILD_ROOT}/%{_libdir} -name '*.la' -exec '/bin/rm' '-f' '{}' ';';
 
 pushd ${RPM_BUILD_ROOT}/%{_libdir}
   for LIB in isccc ns dns isc isccfg irs bind9; do
-    mv "lib${LIB}.so" "lib${LIB}-%{mver}.so"
+    mv "lib${LIB}.so" "lib${LIB}%{program_suffix}.so"
+  done
+  for PLUGIN in bind/*.so; do
+    TARGET="$(echo "$PLUGIN" | sed -e "s/\.so$/%{program_suffix}&/")"
+    mv "${PLUGIN}" "${TARGET}"
   done
 popd
 
@@ -633,13 +648,10 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man8/named-nzd2nzf%{program_suffix}.8* || true
 %endif
 
 pushd ${RPM_BUILD_ROOT}%{_mandir}/man8
-ln -s ddns-confgen%{program_suffix}.8.gz tsig-keygen%{program_suffix}.8.gz
+  ln -s ddns-confgen%{program_suffix}.8.gz tsig-keygen%{program_suffix}.8.gz
 popd
 pushd ${RPM_BUILD_ROOT}%{_mandir}/man1
-ln -s named-checkzone%{program_suffix}.1.gz named-compilezone%{program_suffix}.1.gz
-popd
-pushd ${RPM_BUILD_ROOT}%{_mandir}/man5
-  mv named.conf%{program_suffix}.5 named.conf.5
+  ln -s named-checkzone%{program_suffix}.1.gz named-compilezone%{program_suffix}.1.gz
 popd
 
 %if %{with DOC}
@@ -667,7 +679,7 @@ cp -p build/doc/arm/_build/latex/Bv9ARM.pdf ${RPM_BUILD_ROOT}%{_pkgdocdir}
 touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/named.log
 
 # configuration files:
-install -m 640 %{SOURCE16} ${RPM_BUILD_ROOT}%{_sysconfdir}/named%{program_suffix}.conf
+install -m 640 %{SOURCE16} ${RPM_BUILD_ROOT}%{_sysconfdir}/named.conf
 touch ${RPM_BUILD_ROOT}%{_sysconfdir}/rndc.{key,conf}
 install -m 644 %{SOURCE27} ${RPM_BUILD_ROOT}%{_sysconfdir}/named.root.key
 install -m 644 %{SOURCE36} ${RPM_BUILD_ROOT}%{_sysconfdir}/trusted-key.key
@@ -818,21 +830,21 @@ fi;
 %{_libexecdir}/%{name}/setup-named-softhsm.sh
 %{_mandir}/man1/mdig%{program_suffix}.1*
 %{_mandir}/man1/named-rrchecker%{program_suffix}.1*
-%{_mandir}/man5/named.conf.5*
+%{_mandir}/man5/named.conf%{program_suffix}.5*
 %{_mandir}/man5/rndc.conf%{program_suffix}.5*
 %{_mandir}/man8/rndc%{program_suffix}.8*
 %{_mandir}/man8/named%{program_suffix}.8*
 %{_mandir}/man1/named-checkconf%{program_suffix}.1*
 %{_mandir}/man8/rndc-confgen%{program_suffix}.8*
 %{_mandir}/man1/named-journalprint%{program_suffix}.1*
-%{_mandir}/man8/filter-*.8.gz
+%{_mandir}/man8/filter-*%{program_suffix}.8.gz
 %doc README.md named.conf.default
 %doc sample/
 
 # Hide configuration
 %defattr(0640,root,named,0750)
 %dir %{_sysconfdir}/named
-%config(noreplace) %verify(not link) %{_sysconfdir}/named%{program_suffix}.conf
+%config(noreplace) %verify(not link) %{_sysconfdir}/named.conf
 %config(noreplace) %verify(not link) %{_sysconfdir}/named.rfc1912.zones
 %defattr(0660,root,named,01770)
 %dir %{_localstatedir}/named

diff --git a/named-chroot-setup.service b/named-chroot-setup.service
deleted file mode 100644
index 1aae6e4..0000000
--- a/named-chroot-setup.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Set-up/destroy chroot environment for named (DNS)
-BindsTo=named-chroot.service
-Wants=named-setup-rndc.service
-After=named-setup-rndc.service
-
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/usr/libexec/%{name}/setup-named-chroot.sh /var/named/chroot on /etc/named-chroot.files
-ExecStop=/usr/libexec/%{name}/setup-named-chroot.sh /var/named/chroot off /etc/named-chroot.files

diff --git a/named-chroot-setup.service.in b/named-chroot-setup.service.in
new file mode 100644
index 0000000..1aae6e4
--- /dev/null
+++ b/named-chroot-setup.service.in
@@ -0,0 +1,12 @@
+[Unit]
+Description=Set-up/destroy chroot environment for named (DNS)
+BindsTo=named-chroot.service
+Wants=named-setup-rndc.service
+After=named-setup-rndc.service
+
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/libexec/%{name}/setup-named-chroot.sh /var/named/chroot on /etc/named-chroot.files
+ExecStop=/usr/libexec/%{name}/setup-named-chroot.sh /var/named/chroot off /etc/named-chroot.files

diff --git a/named-chroot.service b/named-chroot.service
deleted file mode 100644
index 4c38601..0000000
--- a/named-chroot.service
+++ /dev/null
@@ -1,31 +0,0 @@
-# Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log"
-# line to your /etc/rsyslog.conf file. Otherwise your logging becomes
-# broken when rsyslogd daemon is restarted (due update, for example).
-
-[Unit]
-Description=Berkeley Internet Name Domain (DNS)
-Wants=nss-lookup.target
-Requires=named-chroot-setup.service
-Before=nss-lookup.target
-After=named-chroot-setup.service
-After=network.target
-
-[Service]
-Type=forking
-Environment=NAMEDCONF=/etc/named.conf
-EnvironmentFile=-/etc/sysconfig/named
-Environment=KRB5_KTNAME=/etc/named.keytab
-PIDFile=/var/named/chroot/run/named/named.pid
-
-ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/bin/named-checkconf -t /var/named/chroot -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi'
-ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} -t /var/named/chroot $OPTIONS
-
-ExecReload=/bin/sh -c 'if /usr/sbin/rndc null > /dev/null 2>&1; then /usr/sbin/rndc reload; else /bin/kill -HUP $MAINPID; fi'
-
-ExecStop=/bin/sh -c '/usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID'
-
-PrivateTmp=false
-Restart=on-abnormal
-
-[Install]
-WantedBy=multi-user.target

diff --git a/named-chroot.service.in b/named-chroot.service.in
new file mode 100644
index 0000000..f9f2a3e
--- /dev/null
+++ b/named-chroot.service.in
@@ -0,0 +1,32 @@
+# Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log"
+# line to your /etc/rsyslog.conf file. Otherwise your logging becomes
+# broken when rsyslogd daemon is restarted (due update, for example).
+
+[Unit]
+Description=Berkeley Internet Name Domain (DNS)
+Wants=nss-lookup.target
+Requires=named-chroot-setup.service
+Before=nss-lookup.target
+After=named-chroot-setup.service
+After=network.target
+
+[Service]
+Type=forking
+Environment=OPTIONS=
+Environment=NAMEDCONF=/etc/named.conf
+EnvironmentFile=-/etc/sysconfig/named
+Environment=KRB5_KTNAME=/etc/named.keytab
+PIDFile=/var/named/chroot/run/named/named.pid
+
+ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then %{_bindir}/named-checkconf%{program_suffix} -t /var/named/chroot -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi'
+ExecStart=%{_sbindir}/named%{program_suffix} -u named -c ${NAMEDCONF} -t /var/named/chroot $OPTIONS
+
+ExecReload=/bin/sh -c 'if %{_sbindir}/rndc%{program_suffix} null > /dev/null 2>&1; then %{_sbindir}/rndc%{program_suffix} reload; else %{_bindir}/kill -HUP $MAINPID; fi'
+
+ExecStop=/bin/sh -c '%{_sbindir}/rndc%{program_suffix} stop > /dev/null 2>&1 || %{_bindir}/kill -TERM $MAINPID'
+
+PrivateTmp=false
+Restart=on-abnormal
+
+[Install]
+WantedBy=multi-user.target

diff --git a/named-setup-rndc.service b/named-setup-rndc.service
deleted file mode 100644
index 9abab08..0000000
--- a/named-setup-rndc.service
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=Generate rndc key for BIND (DNS)
-
-[Service]
-Type=oneshot
-
-ExecStart=/usr/libexec/%{name}/generate-rndc-key.sh

diff --git a/named-setup-rndc.service.in b/named-setup-rndc.service.in
new file mode 100644
index 0000000..9abab08
--- /dev/null
+++ b/named-setup-rndc.service.in
@@ -0,0 +1,7 @@
+[Unit]
+Description=Generate rndc key for BIND (DNS)
+
+[Service]
+Type=oneshot
+
+ExecStart=/usr/libexec/%{name}/generate-rndc-key.sh

diff --git a/named.service b/named.service
deleted file mode 100644
index 5c32fc5..0000000
--- a/named.service
+++ /dev/null
@@ -1,26 +0,0 @@
-[Unit]
-Description=Berkeley Internet Name Domain (DNS)
-Wants=nss-lookup.target
-Wants=named-setup-rndc.service
-Before=nss-lookup.target
-After=named-setup-rndc.service
-After=network.target
-
-[Service]
-Type=forking
-Environment=NAMEDCONF=/etc/named.conf
-EnvironmentFile=-/etc/sysconfig/named
-Environment=KRB5_KTNAME=/etc/named.keytab
-PIDFile=/run/named/named.pid
-
-ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/bin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi'
-ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS
-ExecReload=/bin/sh -c 'if /usr/sbin/rndc null > /dev/null 2>&1; then /usr/sbin/rndc reload; else /bin/kill -HUP $MAINPID; fi'
-
-ExecStop=/bin/sh -c '/usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID'
-
-PrivateTmp=true
-Restart=on-abnormal
-
-[Install]
-WantedBy=multi-user.target

diff --git a/named.service.in b/named.service.in
new file mode 100644
index 0000000..de9a915
--- /dev/null
+++ b/named.service.in
@@ -0,0 +1,28 @@
+[Unit]
+Description=Berkeley Internet Name Domain (DNS)
+Wants=nss-lookup.target
+Wants=named-setup-rndc.service
+Before=nss-lookup.target
+After=named-setup-rndc.service
+After=network.target
+
+[Service]
+Type=forking
+Environment=OPTIONS=
+Environment=NAMEDCONF=/etc/named.conf
+EnvironmentFile=-/etc/sysconfig/named
+Environment=KRB5_KTNAME=/etc/named.keytab
+PIDFile=/run/named/named.pid
+
+ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then %{_sbindir}/named-checkconf%{program_suffix} -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi'
+ExecStart=%{_sbindir}/named%{program_suffix} -u named -c ${NAMEDCONF} $OPTIONS
+
+ExecReload=/bin/sh -c 'if %{_sbindir}/rndc%{program_suffix} null > /dev/null 2>&1; then %{_sbindir}/rndc%{program_suffix} reload; else %{_bindir}/kill -HUP $MAINPID; fi'
+
+ExecStop=/bin/sh -c '%{_sbindir}/rndc%{program_suffix} stop > /dev/null 2>&1 || %{_bindir}/kill -TERM $MAINPID'
+
+PrivateTmp=true
+Restart=on-abnormal
+
+[Install]
+WantedBy=multi-user.target

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-01  9:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-01  9:47 [rpms/bind] rawhide: Update systemd unit files with %name and %program_suffix 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox