diff --git a/screen.changes b/screen.changes index 369527f..a515c66 100644 --- a/screen.changes +++ b/screen.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Mon Nov 30 13:38:31 UTC 2020 - Dominique Leuenberger + +- Use %_tmpfilesdir instead of hardcoding a path for + systemd-tmpfiles config files. +- Do not create directories before uninstalling (?) the package. + The /run/(u)screen diretories are created in the %post section. +- Do not ghost package /run/uscreens: the directory is dynamically + created during boot. Of course it would be nice to be able to + identify what package creates this, but for that we should rather + have a rpm/systemd-tmpfiles integration hook. The main problem + with the ghost is the suid flag, which breaks rpm -V. permissions + no longer lists /run/uscreens, so verify_permission cannot apply. +- Add %systemd_ordering: give zypp a hint that screen shall be + installed after systemd, so that systemd-tmpfiles already exists. + ------------------------------------------------------------------- Tue Sep 8 13:30:58 UTC 2020 - Matthias Gerstner diff --git a/screen.spec b/screen.spec index 954dae3..a7f566e 100644 --- a/screen.spec +++ b/screen.spec @@ -52,6 +52,7 @@ BuildRequires: utempter-devel BuildRequires: utempter %endif Requires: terminfo-base +%systemd_ordering %description With this program you can take advantage of the multitasking abilities @@ -98,13 +99,12 @@ chmod 755 %{buildroot}%{_bindir}/screen mkdir -p %{buildroot}/etc mkdir -p %{buildroot}/etc/pam.d mkdir -p %{buildroot}%{_prefix}/lib -mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d +mkdir -p %{buildroot}%{_tmpfilesdir} mkdir -p %{buildroot}%{rundir}/screens chmod 755 %{buildroot}%{rundir}/screens mkdir -p %{buildroot}%{rundir}/uscreens -chmod 1777 %{buildroot}%{rundir}/uscreens install -m 644 screenrc %{buildroot}%{_sysconfdir}/screenrc -install -m 644 %{SOURCE1} %{buildroot}%{_prefix}/lib/tmpfiles.d +install -m 644 %{SOURCE1} %{buildroot}%{_tmpfilesdir} install -m 644 %{SOURCE4} %{buildroot}/etc/pam.d/screen %files @@ -113,26 +113,17 @@ install -m 644 %{SOURCE4} %{buildroot}/etc/pam.d/screen %config /etc/pam.d/screen %attr(555,root,root) %{_bindir}/screen %dir %{_datadir}/screen -%dir %{_prefix}/lib/tmpfiles.d -%{_prefix}/lib/tmpfiles.d/screen.conf +%{_tmpfilesdir}/screen.conf %{_datadir}/screen/utf8encodings -# Created via aaa_base or systemd on system boot -%ghost %dir %{rundir}/screens -%ghost %dir %{rundir}/uscreens %{_infodir}/screen.info*%{ext_info} %{_mandir}/man1/screen.1%{ext_man} %license COPYING %post %install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz -%tmpfiles_create /usr/lib/tmpfiles.d/screen.conf +%tmpfiles_create %{_tmpfilesdir}/screen.conf %preun %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz -# Create our dirs immediatly, after a manual package install. -# After a reboot systemd/aaa_base will take care. -test -d %{rundir}/screens || mkdir -m 755 %{rundir}/screens -test -d %{rundir}/uscreens || mkdir -m 1777 %{rundir}/uscreens - %changelog