From 006b3d0150b6207838f1a052a7872f0b7165d231b3ebb4079e341a3c21894611 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Wed, 24 Jun 2020 06:50:07 +0000 Subject: [PATCH] Accepting request 816786 from home:fbui:systemd:openSUSE-Factory - migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) The marker is used to make sure the script is run only once. Instead of storing it in /usr, use /var which is more appropriate for such file. Also make it owned by systemd package. OBS-URL: https://build.opensuse.org/request/show/816786 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1106 --- scripts-systemd-migrate-sysconfig-i18n.sh | 18 ++++++++++++++---- systemd-mini.changes | 11 +++++++++++ systemd-mini.spec | 9 +++++---- systemd.changes | 11 +++++++++++ systemd.spec | 9 +++++---- 5 files changed, 46 insertions(+), 12 deletions(-) diff --git a/scripts-systemd-migrate-sysconfig-i18n.sh b/scripts-systemd-migrate-sysconfig-i18n.sh index 02646759..432e9e74 100644 --- a/scripts-systemd-migrate-sysconfig-i18n.sh +++ b/scripts-systemd-migrate-sysconfig-i18n.sh @@ -128,8 +128,18 @@ migrate_language () { fi } -migrate_locale; rv1=$? -migrate_keyboard; rv2=$? -migrate_language; rv3=$? -test $((rv1 + rv2 + rv3)) -eq 0 +# The marker could have been incorrectly put in /usr/lib. In this case +# move it to its new place. +mv /usr/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done \ + /var/lib/systemd/i18n-migrated &>/dev/null + +if ! test -e /var/lib/systemd/i18n-migrated; then + declare -i rv=0 + + migrate_locale; rv+=$? + migrate_keyboard; rv+=$? + migrate_language; rv+=$? + + test $rv -eq 0 && touch /var/lib/systemd/i18n-migrated +fi diff --git a/systemd-mini.changes b/systemd-mini.changes index 23628635..0fd3cfe4 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Jun 24 06:33:33 UTC 2020 - Franck Bui + +- migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) + + The marker is used to make sure the script is run only once. Instead + of storing it in /usr, use /var which is more appropriate for such + file. + + Also make it owned by systemd package. + ------------------------------------------------------------------- Tue Jun 23 13:29:18 UTC 2020 - Franck Bui diff --git a/systemd-mini.spec b/systemd-mini.spec index bf483c15..3506747e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -729,6 +729,7 @@ touch %{buildroot}%{_sysconfdir}/vconsole.conf touch %{buildroot}%{_sysconfdir}/locale.conf touch %{buildroot}%{_sysconfdir}/machine-info touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} @@ -872,10 +873,9 @@ fi # This is needed both at package updates and package installations # because we might be upgrading from a system which was running SysV # init (systemd package is being installed). -if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -fi +# +# It's run only once. +%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : %postun %systemd_postun @@ -1318,6 +1318,7 @@ fi %endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/i18n-migrated %ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/bash-completion diff --git a/systemd.changes b/systemd.changes index 23628635..0fd3cfe4 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Jun 24 06:33:33 UTC 2020 - Franck Bui + +- migrate-sysconfig-i18n.sh: fix marker handling (bsc#1173229) + + The marker is used to make sure the script is run only once. Instead + of storing it in /usr, use /var which is more appropriate for such + file. + + Also make it owned by systemd package. + ------------------------------------------------------------------- Tue Jun 23 13:29:18 UTC 2020 - Franck Bui diff --git a/systemd.spec b/systemd.spec index f9f3dc79..c96ca5e2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -727,6 +727,7 @@ touch %{buildroot}%{_sysconfdir}/vconsole.conf touch %{buildroot}%{_sysconfdir}/locale.conf touch %{buildroot}%{_sysconfdir}/machine-info touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/i18n-migrated %fdupes -s %{buildroot}%{_mandir} @@ -870,10 +871,9 @@ fi # This is needed both at package updates and package installations # because we might be upgrading from a system which was running SysV # init (systemd package is being installed). -if ! test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done; then - %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && - touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : -fi +# +# It's run only once. +%{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh || : %postun %systemd_postun @@ -1316,6 +1316,7 @@ fi %endif %ghost %{_localstatedir}/lib/systemd/catalog/database %ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/i18n-migrated %ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed %dir %{_datadir}/bash-completion