diff --git a/SOURCES/man-db-cache-update.service b/SOURCES/man-db-cache-update.service index dc218af..fdf08d7 100644 --- a/SOURCES/man-db-cache-update.service +++ b/SOURCES/man-db-cache-update.service @@ -1,14 +1,11 @@ [Unit] -DefaultDependencies=no After=local-fs.target -Before=reboot.target shutdown.target halt.target -JobTimeoutSec=15min [Service] Type=oneshot -TimeoutStartSec=infinity Environment=MAN_NO_LOCALE_WARNING=1 EnvironmentFile=/etc/sysconfig/man-db ExecStart=/bin/sh -c '[ "$SERVICE" != "no" ] && /usr/bin/mandb $OPTS || true' +ExecStopPost=/bin/sh -c '[ "$SERVICE_RESULT" == "signal" ] && /usr/bin/systemctl enable man-db-restart-cache-update.service || true' Nice=19 IOWeight=20 diff --git a/SOURCES/man-db-restart-cache-update.service b/SOURCES/man-db-restart-cache-update.service new file mode 100644 index 0000000..1d0d6ef --- /dev/null +++ b/SOURCES/man-db-restart-cache-update.service @@ -0,0 +1,11 @@ +[Unit] +Before=multi-user.target + +[Service] +Type=oneshot +ExecStartPre=/usr/bin/rm -rf /var/cache/man/* +ExecStart=/usr/bin/systemd-run /usr/bin/systemctl start man-db-cache-update.service +ExecStartPost=/usr/bin/systemctl disable man-db-restart-cache-update.service + +[Install] +WantedBy=multi-user.target diff --git a/SPECS/man-db.spec b/SPECS/man-db.spec index 291a316..074abfd 100644 --- a/SPECS/man-db.spec +++ b/SPECS/man-db.spec @@ -4,7 +4,7 @@ Summary: Tools for searching and reading man pages Name: man-db Version: 2.7.6.1 -Release: 17%{?dist} +Release: 18%{?dist} # GPLv2+ .. man-db # GPLv3+ .. gnulib License: GPLv2+ and GPLv3+ @@ -15,6 +15,7 @@ Source0: http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.ta Source1: man-db.crondaily Source2: man-db.sysconfig Source3: man-db-cache-update.service +Source4: man-db-restart-cache-update.service Patch0: man-db-2.7.6.1-change-owner-of-man-cache.patch # http://lists.nongnu.org/archive/html/man-db-devel/2017-01/msg00013.html @@ -99,8 +100,9 @@ install -D -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/man-db # config for tmpfiles.d install -D -p -m 0644 init/systemd/man-db.conf $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/. -# man-db-cache-update.service +# man-db-cache-update.service and man-db-restart-cache-update.service install -D -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/man-db-cache-update.service +install -D -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}/man-db-restart-cache-update.service %find_lang %{name} %find_lang %{name}-gnulib @@ -139,6 +141,7 @@ fi %config(noreplace) %{_sysconfdir}/sysconfig/man-db %config(noreplace) %{_tmpfilesdir}/man-db.conf %{_unitdir}/man-db-cache-update.service +%{_unitdir}/man-db-restart-cache-update.service %{_sbindir}/accessdb %{_bindir}/man %{_bindir}/whatis @@ -182,6 +185,11 @@ fi %config(noreplace) %{_sysconfdir}/cron.daily/man-db.cron %changelog +* Thu Jun 24 2021 Nikola Forró - 2.7.6.1-18 +- schedule interrupted cache update for the next boot, instead of blocking + system reboot/shutdown + resolves #1874010 + * Wed Nov 07 2018 Nikola Forró - 2.7.6.1-17 - avoid multilib difference in man-db-manual.ps - get rid of hardcoded path