public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
To: git-commits@fedoraproject.org
Subject: [rpms/bind] rawhide: Update systemd unit files with %name and %program_suffix
Date: Wed, 01 Jul 2026 09:47:25 GMT	[thread overview]
Message-ID: <178289924543.1.7977340838595400038.rpms-bind-8d6979fcf3db@fedoraproject.org> (raw)

            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

                 reply	other threads:[~2026-07-01  9:47 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178289924543.1.7977340838595400038.rpms-bind-8d6979fcf3db@fedoraproject.org \
    --to=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox