Hello community, here is the log from the commit of package systemd for openSUSE:Factory checked in at 2018-02-21 14:08:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd (Old) and /work/SRC/openSUSE:Factory/.systemd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd" Wed Feb 21 14:08:53 2018 rev:272 rq:578064 version:234 Changes: -------- --- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2018-02-13 10:24:52.758873965 +0100 +++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2018-02-21 14:08:54.847715053 +0100 @@ -1,0 +2,60 @@ +Mon Feb 19 14:26:51 UTC 2018 - f...@suse.com + +- Import commit 295ead0f396beb2b5199abd99a17e274c2581f95 + + f4f94ab2e meson: install rules/80-hotplug-cpu-mem.rules + 2901aa9b9 meson: install rules/60-ssd-scheduler.rules + 1293c0056 core: use id unit when retrieving unit file state (#8038) (bsc#1075801) + 596b2b241 Revert "vconsole-setup: add SUSE specific settings for font/keyboard in sysconfig" + 0b595da04 Revert "locale-setup: handle locale at boot time well" + +------------------------------------------------------------------- +Mon Feb 19 14:24:52 UTC 2018 - f...@suse.com + +- Re-enable systemd-firstboot + + It's used by the installer and also by JeOS. + +------------------------------------------------------------------- +Mon Feb 19 09:25:30 UTC 2018 - f...@suse.com + +- Use %systemd_post in %post + +------------------------------------------------------------------- +Mon Feb 19 09:15:04 UTC 2018 - f...@suse.com + +- Own /usr/lib/systemd/system-environment-generators directory + +------------------------------------------------------------------- +Mon Feb 19 09:10:03 UTC 2018 - f...@suse.com + +- More systemd rpm macro usages + +------------------------------------------------------------------- +Tue Feb 13 17:11:44 UTC 2018 - f...@suse.com + +- Disable systemd-firstboot + + I don't think there's any use case for it currently. + +------------------------------------------------------------------- +Mon Feb 12 16:40:28 UTC 2018 - f...@suse.com + +- Use systemd rpm macros in paths defined in the specfile + +------------------------------------------------------------------- +Mon Feb 12 15:07:29 UTC 2018 - f...@suse.com + +- Stop importing i18n settings from /etc/sysconfig (fate#319454) + + Bits taken from SLE15. + +------------------------------------------------------------------- +Mon Feb 12 12:59:53 UTC 2018 - f...@suse.com + +- Make systemd-timesyncd use the openSUSE NTP servers by default + + Previously systemd-timesyncd used the Google Public NTP servers + time{1..4}.google.com + +------------------------------------------------------------------- systemd.changes: same change New: ---- scripts-systemd-migrate-sysconfig-i18n.sh ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemd-mini.spec ++++++ --- /var/tmp/diff_new_pack.IEO6CB/_old 2018-02-21 14:08:55.907676883 +0100 +++ /var/tmp/diff_new_pack.IEO6CB/_new 2018-02-21 14:08:55.911676739 +0100 @@ -149,6 +149,7 @@ Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh +Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs @@ -258,7 +259,7 @@ %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in /lib/udev/rules.d/. Matching +and dispatches them according to rules in %{_udevrulesdir}/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. @@ -406,6 +407,8 @@ # %autopatch -p1 %build +opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) + # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Ddocdir=%{_docdir}/systemd \ @@ -416,6 +419,7 @@ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ + -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ @@ -476,7 +480,7 @@ # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... -for s in %{S:100} %{S:101}; do +for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done for s in %{S:200}; do @@ -501,11 +505,11 @@ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs # by default on SUSE distros. We still keep a copy in /var for those # who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path +rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path # create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d @@ -516,11 +520,11 @@ # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-default.conf # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). -rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf +rm -f %{buildroot}%{_sysusersdir}/basic.conf # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. @@ -531,7 +535,7 @@ %if ! %{with journal_remote} rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* +rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif # legacy link @@ -554,31 +558,33 @@ touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ +mkdir -p %{buildroot}%{_ntpunitsdir} # Make sure the shutdown/sleep drop-in dirs exist mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants +mkdir -p %{buildroot}%{_unitdir}/basic.target.wants +mkdir -p %{buildroot}%{_unitdir}/default.target.wants +mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants +mkdir -p %{buildroot}%{_unitdir}/halt.target.wants +mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants +mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants +mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants +mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants # Make sure the generator directories are created and properly owned. -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset +mkdir -p %{buildroot}%{_systemdgeneratordir} +mkdir -p %{buildroot}%{_systemdusergeneratordir} +mkdir -p %{buildroot}%{_presetdir} +mkdir -p %{buildroot}%{_userpresetdir} +mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} +mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -586,15 +592,15 @@ # create drop-in to prevent delegate=yes for root user (bsc#954765, # bnc#953241, fate#320421) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ -cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <<EOF +mkdir -p %{buildroot}%{_unitdir}/user@0.service.d/ +cat >%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <<EOF [Service] Delegate=no EOF # ensure after.local wrapper is called -install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ -ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ +install -m 644 %{S:11} %{buildroot}%{_unitdir}/ +ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed @@ -606,8 +612,8 @@ # Make sure to disable all services by default. The Suse branding # presets package takes care of defining the right policies. -rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset -echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset +rm -f %{buildroot}%{_presetdir}/*.preset +echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored @@ -652,7 +658,7 @@ chmod 666 %{_sysconfdir}/machine-id fi -%sysusers_create /usr/lib/sysusers.d/systemd.conf +%sysusers_create %{_sysusersdir}/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif @@ -664,21 +670,16 @@ # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-timesyncd.service || : +%systemd_post remote-fs.target +%systemd_post getty@.service +%systemd_post systemd-timesyncd.service %if %{with networkd} - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : +%systemd_post systemd-networkd.service +%systemd_post systemd-networkd-wait-online.service %endif %if %{with resolved} - systemctl preset systemd-resolved.service || : +%systemd_post systemd-resolved.service %endif -fi >/dev/null # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -712,6 +713,15 @@ # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Migrate i18n setting stuff thout could be previously + # configured in /etc/sysconfig but now is defined only in the + # systemd official places (/etc/locale.conf, + # /etc/vconsole.conf, etc...). This is done only once. + test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : + } fi %postun @@ -800,8 +810,8 @@ %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf -%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%sysusers_create %{_sysusersdir}/systemd-remote.conf +%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -874,29 +884,29 @@ %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system %if %{with journal_remote} -%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_unitdir}/systemd-journal-gatewayd.* +%exclude %{_unitdir}/systemd-journal-remote.* +%exclude %{_unitdir}/systemd-journal-upload.* %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.service -%{_prefix}/lib/systemd/system/*.slice -%{_prefix}/lib/systemd/system/*.target -%{_prefix}/lib/systemd/system/*.mount -%{_prefix}/lib/systemd/system/*.timer -%{_prefix}/lib/systemd/system/*.socket -%{_prefix}/lib/systemd/system/*.wants -%{_prefix}/lib/systemd/system/*.path -%{_prefix}/lib/systemd/user/*.target -%{_prefix}/lib/systemd/user/*.service +%exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/*.automount +%{_unitdir}/*.service +%{_unitdir}/*.slice +%{_unitdir}/*.target +%{_unitdir}/*.mount +%{_unitdir}/*.timer +%{_unitdir}/*.socket +%{_unitdir}/*.wants +%{_unitdir}/*.path +%{_userunitdir}/*.target +%{_userunitdir}/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -904,21 +914,22 @@ %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts -%dir %{_prefix}/lib/systemd/catalog -%{_prefix}/lib/systemd/catalog/systemd.catalog -%{_prefix}/lib/systemd/catalog/systemd.*.catalog -%{_prefix}/lib/systemd/system-preset -%{_prefix}/lib/systemd/user-preset -%{_prefix}/lib/systemd/system-generators -%{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-environment-generators -%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_journalcatalogdir} +%{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.*.catalog +%{_presetdir} +%{_userpresetdir} +%{_systemdgeneratordir} +%{_systemdusergeneratordir} +%{_systemd_system_env_generator_dir} +%{_systemd_user_env_generator_dir} +%dir %{_ntpunitsdir} %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d -%dir %{_prefix}/lib/systemd/system/user@0.service.d -%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%dir %{_unitdir}/getty@tty1.service.d +%dir %{_unitdir}/user@0.service.d +%{_unitdir}/getty@tty1.service.d/noclear.conf +%{_unitdir}/user@0.service.d/nodelagate.conf %if %{with importd} %{_prefix}/lib/systemd/import-pubring.gpg %endif @@ -935,23 +946,23 @@ %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%{_libexecdir}/sysusers.d/ +%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/ +%{_tmpfilesdir}/ %if %{with journal_remote} -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf -%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%exclude %{_sysusersdir}/systemd-remote.conf +%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ -%dir %{_libexecdir}/binfmt.d +%dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d -%dir %{_libexecdir}/sysctl.d +%dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_prefix}/lib/sysctl.d/50-coredump.conf +%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1073,10 +1084,10 @@ %endif %{_docdir}/systemd -%{_prefix}/lib/udev/rules.d/70-uaccess.rules -%{_prefix}/lib/udev/rules.d/71-seat.rules -%{_prefix}/lib/udev/rules.d/73-seat-late.rules -%{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_udevrulesdir}/70-uaccess.rules +%{_udevrulesdir}/71-seat.rules +%{_udevrulesdir}/73-seat-late.rules +%{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated @@ -1138,13 +1149,13 @@ %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs %ghost %{_prefix}/lib/udev/compat-symlink-generation -%dir %{_prefix}/lib/udev/rules.d/ -%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules -%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/hwdb.d/ +%dir %{_udevrulesdir}/ +%exclude %{_udevrulesdir}/70-uaccess.rules +%exclude %{_udevrulesdir}/71-seat.rules +%exclude %{_udevrulesdir}/73-seat-late.rules +%exclude %{_udevrulesdir}/99-systemd.rules +%{_udevrulesdir}/*.rules +%{_udevhwdbdir}/ %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ @@ -1160,13 +1171,13 @@ %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/systemd-udev*.service -%{_prefix}/lib/systemd/system/systemd-udevd*.socket -%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%dir %{_prefix}/lib/systemd/system/sysinit.target.wants -%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service -%dir %{_prefix}/lib/systemd/system/sockets.target.wants -%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/systemd-udev*.service +%{_unitdir}/systemd-udevd*.socket +%{_unitdir}/initrd-udevadm-cleanup-db.service +%dir %{_unitdir}/sysinit.target.wants +%{_unitdir}/sysinit.target.wants/systemd-udev*.service +%dir %{_unitdir}/sockets.target.wants +%{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %if %{with networkd} @@ -1231,14 +1242,14 @@ %defattr(-, root, root) %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/system/systemd-journal-remote.* -%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_unitdir}/systemd-journal-gatewayd.* +%{_unitdir}/systemd-journal-remote.* +%{_unitdir}/systemd-journal-upload.* %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload -%{_libexecdir}/sysusers.d/systemd-remote.conf -%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_sysusersdir}/systemd-remote.conf +%{_tmpfilesdir}/systemd-remote.conf %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* ++++++ systemd.spec ++++++ --- /var/tmp/diff_new_pack.IEO6CB/_old 2018-02-21 14:08:55.943675587 +0100 +++ /var/tmp/diff_new_pack.IEO6CB/_new 2018-02-21 14:08:55.947675443 +0100 @@ -147,6 +147,7 @@ Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source101: scripts-systemd-upgrade-from-pre-210.sh +Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs @@ -256,7 +257,7 @@ %description -n udev%{?mini} Udev creates and removes device nodes in /dev for devices discovered or removed from the system. It receives events via kernel netlink messages -and dispatches them according to rules in /lib/udev/rules.d/. Matching +and dispatches them according to rules in %{_udevrulesdir}/. Matching rules may name a device node, create additional symlinks to the node, call tools to initialize a device, or load needed kernel modules. @@ -404,6 +405,8 @@ # %autopatch -p1 %build +opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) + # keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Ddocdir=%{_docdir}/systemd \ @@ -414,6 +417,7 @@ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ + -Dntp-servers="${opensuse_ntp_servers[*]}" \ -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ @@ -474,7 +478,7 @@ # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... -for s in %{S:100} %{S:101}; do +for s in %{S:100} %{S:101} %{S:102}; do install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-} done for s in %{S:200}; do @@ -499,11 +503,11 @@ # Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs # by default on SUSE distros. We still keep a copy in /var for those # who want to switch to tmpfs: it's still can be copied in /etc. -rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount -mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ +rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount +mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # don't enable wall ask password service, it spams every console (bnc#747783) -rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path +rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path # create %%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d @@ -514,11 +518,11 @@ # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) -rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf +rm -f %{buildroot}%{_sysctldir}/50-default.conf # The definition of the basic users/groups are defined by system-user # on SUSE (bsc#1006978). -rm -f %{buildroot}%{_prefix}/lib/sysusers.d/basic.conf +rm -f %{buildroot}%{_sysusersdir}/basic.conf # Remove README file in init.d as (SUSE) rpm requires executable files # in this directory... oh well. @@ -529,7 +533,7 @@ %if ! %{with journal_remote} rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload -rm -f %{buildroot}%{_prefix}/lib/systemd/system/systemd-journal-upload.* +rm -f %{buildroot}%{_unitdir}/systemd-journal-upload.* %endif # legacy link @@ -552,31 +556,33 @@ touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists -mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ +mkdir -p %{buildroot}%{_ntpunitsdir} # Make sure the shutdown/sleep drop-in dirs exist mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ # Make sure these directories are properly owned -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants +mkdir -p %{buildroot}%{_unitdir}/basic.target.wants +mkdir -p %{buildroot}%{_unitdir}/default.target.wants +mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants +mkdir -p %{buildroot}%{_unitdir}/halt.target.wants +mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants +mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants +mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants +mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants # Make sure the generator directories are created and properly owned. -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset -mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset +mkdir -p %{buildroot}%{_systemdgeneratordir} +mkdir -p %{buildroot}%{_systemdusergeneratordir} +mkdir -p %{buildroot}%{_presetdir} +mkdir -p %{buildroot}%{_userpresetdir} +mkdir -p %{buildroot}%{_systemd_system_env_generator_dir} +mkdir -p %{buildroot}%{_systemd_user_env_generator_dir} # create drop-in to prevent tty1 to be cleared (bnc#804158) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/ +cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -584,15 +590,15 @@ # create drop-in to prevent delegate=yes for root user (bsc#954765, # bnc#953241, fate#320421) -mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ -cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <<EOF +mkdir -p %{buildroot}%{_unitdir}/user@0.service.d/ +cat >%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <<EOF [Service] Delegate=no EOF # ensure after.local wrapper is called -install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ -ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ +install -m 644 %{S:11} %{buildroot}%{_unitdir}/ +ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed @@ -604,8 +610,8 @@ # Make sure to disable all services by default. The Suse branding # presets package takes care of defining the right policies. -rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset -echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset +rm -f %{buildroot}%{_presetdir}/*.preset +echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset # Add entries for xkeyboard-config converted keymaps; mappings, which # already exist in original systemd mapping table are being ignored @@ -650,7 +656,7 @@ chmod 666 %{_sysconfdir}/machine-id fi -%sysusers_create /usr/lib/sysusers.d/systemd.conf +%sysusers_create %{_sysusersdir}/systemd.conf %if ! 0%{?bootstrap} pam-config -a --systemd || : %endif @@ -662,21 +668,16 @@ # Create default config in /etc at first install. # Later package updates should not overwrite these settings. -if [ $1 -eq 1 ]; then - # Enable systemd services according to the distro defaults. - # Note: systemctl might abort prematurely if it fails on one - # unit. - systemctl preset remote-fs.target || : - systemctl preset getty@.service || : - systemctl preset systemd-timesyncd.service || : +%systemd_post remote-fs.target +%systemd_post getty@.service +%systemd_post systemd-timesyncd.service %if %{with networkd} - systemctl preset systemd-networkd.service || : - systemctl preset systemd-networkd-wait-online.service || : +%systemd_post systemd-networkd.service +%systemd_post systemd-networkd-wait-online.service %endif %if %{with resolved} - systemctl preset systemd-resolved.service || : +%systemd_post systemd-resolved.service %endif -fi >/dev/null # v228 wrongly set world writable suid root permissions on timestamp # files used by permanent timers. Fix the timestamps that might have @@ -710,6 +711,15 @@ # tmpfiles_create macro previously however it's empty so there # shouldn't be any issues. %{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : + + # Migrate i18n setting stuff thout could be previously + # configured in /etc/sysconfig but now is defined only in the + # systemd official places (/etc/locale.conf, + # /etc/vconsole.conf, etc...). This is done only once. + test -e %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || { + %{_prefix}/lib/systemd/scripts/migrate-sysconfig-i18n.sh && + touch %{_prefix}/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done || : + } fi %postun @@ -798,8 +808,8 @@ %service_add_pre systemd-journal-upload.service %post journal-remote -%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf -%tmpfiles_create %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%sysusers_create %{_sysusersdir}/systemd-remote.conf +%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf %service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-upload.service @@ -872,29 +882,29 @@ %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system %if %{with journal_remote} -%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* -%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* +%exclude %{_unitdir}/systemd-journal-gatewayd.* +%exclude %{_unitdir}/systemd-journal-remote.* +%exclude %{_unitdir}/systemd-journal-upload.* %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif %exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-udevd -%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* -%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%{_prefix}/lib/systemd/system/*.automount -%{_prefix}/lib/systemd/system/*.service -%{_prefix}/lib/systemd/system/*.slice -%{_prefix}/lib/systemd/system/*.target -%{_prefix}/lib/systemd/system/*.mount -%{_prefix}/lib/systemd/system/*.timer -%{_prefix}/lib/systemd/system/*.socket -%{_prefix}/lib/systemd/system/*.wants -%{_prefix}/lib/systemd/system/*.path -%{_prefix}/lib/systemd/user/*.target -%{_prefix}/lib/systemd/user/*.service +%exclude %{_unitdir}/systemd-udev*.* +%exclude %{_unitdir}/*.target.wants/systemd-udev*.* +%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service +%{_unitdir}/*.automount +%{_unitdir}/*.service +%{_unitdir}/*.slice +%{_unitdir}/*.target +%{_unitdir}/*.mount +%{_unitdir}/*.timer +%{_unitdir}/*.socket +%{_unitdir}/*.wants +%{_unitdir}/*.path +%{_userunitdir}/*.target +%{_userunitdir}/*.service %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -902,21 +912,22 @@ %{_prefix}/lib/systemd/resolv.conf %endif %{_prefix}/lib/systemd/scripts -%dir %{_prefix}/lib/systemd/catalog -%{_prefix}/lib/systemd/catalog/systemd.catalog -%{_prefix}/lib/systemd/catalog/systemd.*.catalog -%{_prefix}/lib/systemd/system-preset -%{_prefix}/lib/systemd/user-preset -%{_prefix}/lib/systemd/system-generators -%{_prefix}/lib/systemd/user-generators -%{_prefix}/lib/systemd/user-environment-generators -%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_journalcatalogdir} +%{_journalcatalogdir}/systemd.catalog +%{_journalcatalogdir}/systemd.*.catalog +%{_presetdir} +%{_userpresetdir} +%{_systemdgeneratordir} +%{_systemdusergeneratordir} +%{_systemd_system_env_generator_dir} +%{_systemd_user_env_generator_dir} +%dir %{_ntpunitsdir} %dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-sleep/ -%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d -%dir %{_prefix}/lib/systemd/system/user@0.service.d -%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf -%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf +%dir %{_unitdir}/getty@tty1.service.d +%dir %{_unitdir}/user@0.service.d +%{_unitdir}/getty@tty1.service.d/noclear.conf +%{_unitdir}/user@0.service.d/nodelagate.conf %if %{with importd} %{_prefix}/lib/systemd/import-pubring.gpg %endif @@ -933,23 +944,23 @@ %dir %{_sysconfdir}/modules-load.d %{_libexecdir}/modules-load.d/sg.conf -%{_libexecdir}/sysusers.d/ +%{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d -%{_libexecdir}/tmpfiles.d/ +%{_tmpfilesdir}/ %if %{with journal_remote} -%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf -%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf +%exclude %{_sysusersdir}/systemd-remote.conf +%exclude %{_tmpfilesdir}/systemd-remote.conf %endif %{_libexecdir}/environment.d/ -%dir %{_libexecdir}/binfmt.d +%dir %{_binfmtdir} %dir %{_sysconfdir}/binfmt.d -%dir %{_libexecdir}/sysctl.d +%dir %{_sysctldir} %dir %{_sysconfdir}/sysctl.d -%{_prefix}/lib/sysctl.d/50-coredump.conf +%{_sysctldir}/50-coredump.conf %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinitrc.d @@ -1071,10 +1082,10 @@ %endif %{_docdir}/systemd -%{_prefix}/lib/udev/rules.d/70-uaccess.rules -%{_prefix}/lib/udev/rules.d/71-seat.rules -%{_prefix}/lib/udev/rules.d/73-seat-late.rules -%{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_udevrulesdir}/70-uaccess.rules +%{_udevrulesdir}/71-seat.rules +%{_udevrulesdir}/73-seat-late.rules +%{_udevrulesdir}/99-systemd.rules %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/migrated @@ -1136,13 +1147,13 @@ %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/remount-tmpfs %ghost %{_prefix}/lib/udev/compat-symlink-generation -%dir %{_prefix}/lib/udev/rules.d/ -%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules -%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules -%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules -%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/hwdb.d/ +%dir %{_udevrulesdir}/ +%exclude %{_udevrulesdir}/70-uaccess.rules +%exclude %{_udevrulesdir}/71-seat.rules +%exclude %{_udevrulesdir}/73-seat-late.rules +%exclude %{_udevrulesdir}/99-systemd.rules +%{_udevrulesdir}/*.rules +%{_udevhwdbdir}/ %{_prefix}/lib/udev/scripts/ %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ @@ -1158,13 +1169,13 @@ %endif %dir %{_prefix}/lib/systemd/system %{_prefix}/lib/systemd/systemd-udevd -%{_prefix}/lib/systemd/system/systemd-udev*.service -%{_prefix}/lib/systemd/system/systemd-udevd*.socket -%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service -%dir %{_prefix}/lib/systemd/system/sysinit.target.wants -%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service -%dir %{_prefix}/lib/systemd/system/sockets.target.wants -%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket +%{_unitdir}/systemd-udev*.service +%{_unitdir}/systemd-udevd*.socket +%{_unitdir}/initrd-udevadm-cleanup-db.service +%dir %{_unitdir}/sysinit.target.wants +%{_unitdir}/sysinit.target.wants/systemd-udev*.service +%dir %{_unitdir}/sockets.target.wants +%{_unitdir}/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link %if %{with networkd} @@ -1229,14 +1240,14 @@ %defattr(-, root, root) %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf -%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* -%{_prefix}/lib/systemd/system/systemd-journal-remote.* -%{_prefix}/lib/systemd/system/systemd-journal-upload.* +%{_unitdir}/systemd-journal-gatewayd.* +%{_unitdir}/systemd-journal-remote.* +%{_unitdir}/systemd-journal-upload.* %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-upload -%{_libexecdir}/sysusers.d/systemd-remote.conf -%{_libexecdir}/tmpfiles.d/systemd-remote.conf +%{_sysusersdir}/systemd-remote.conf +%{_tmpfilesdir}/systemd-remote.conf %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-upload.* ++++++ scripts-systemd-migrate-sysconfig-i18n.sh ++++++ #! /bin/bash # /etc/sysconfig/console | /etc/vconsole.conf # -------------------------+--------------------- # CONSOLE_FONT | FONT # CONSOLE_SCREENMAP | FONT_MAP # CONSOLE_UNICODEMAP | FONT_UNIMAP migrate_locale () { local migrated="" if ! test -f /etc/sysconfig/console; then return fi source /etc/sysconfig/console || return if test -f /etc/vconsole.conf; then source /etc/vconsole.conf || return fi if test -n "$CONSOLE_FONT" && test -z "$FONT"; then echo "FONT=$CONSOLE_FONT" >>/etc/vconsole.conf migrated+="CONSOLE_FONT " fi if test -n "$CONSOLE_SCREENMAP" && test -z "$FONT_MAP"; then echo "FONT_MAP=$CONSOLE_SCREENMAP" >>/etc/vconsole.conf migrated+="CONSOLE_SCREENMAP " fi if test -n "$CONSOLE_UNICODEMAP" && test -z "$FONT_UNIMAP"; then echo "FONT_UNIMAP=$CONSOLE_UNICODEMAP" >>/etc/vconsole.conf migrated+="CONSOLE_UNICODEMAP " fi if test -n "$migrated"; then echo >&2 "The following variables from /etc/sysconfig/console have been migrated" echo >&2 "into /etc/vconsole.conf:" echo >&2 for v in $migrated; do echo " - $v=${!v}"; done echo >&2 echo >&2 "Please edit /etc/vconsole.conf if you need to tune these settings" echo >&2 "as /etc/sysconfig/console won't be considered anymore." echo >&2 fi } # /etc/sysconfig/keyboard | /etc/vconsole.conf # -------------------------+--------------------- # KEYTABLE | KEYMAP migrate_keyboard () { local migrated="" if ! test -f /etc/sysconfig/keyboard; then return fi source /etc/sysconfig/keyboard || return if test -f /etc/vconsole.conf; then source /etc/vconsole.conf || return fi if test -n "$KEYTABLE" && test -z "$KEYMAP"; then echo "KEYMAP=$KEYTABLE" >>/etc/vconsole.conf migrated+="KEYTABLE " fi if test -n "$migrated"; then echo >&2 "The following variables from /etc/sysconfig/keyboard have been migrated" echo >&2 "into /etc/vconsole.conf:" echo >&2 for v in $migrated; do echo " - $v=${!v}"; done echo >&2 echo >&2 "Please use localectl(1) if you need to tune these settings since" echo >&2 "/etc/sysconfig/keyboard won't be considered anymore." echo >&2 fi } # According to # https://www.suse.com/documentation/sles-12/book_sle_admin/data/sec_suse_l10n.html, # variables in /etc/sysconfig/language are supposed to be passed to # the users' shell *only*. However it seems that there has been some # confusion and they ended up configuring the system-wide locale as # well. The logic followed by systemd was implemented in commit # 01c4b6f4f0d951d17f6873f68156ecd7763429c6, which was reverted. The # code below follows the same logic to migrate content of # /etc/sysconfig/language into locale.conf. migrate_language () { local lang= local migrated=false if ! test -f /etc/sysconfig/language; then return fi source /etc/sysconfig/language || return lang=$(grep ^LANG= /etc/locale.conf 2>/dev/null) lang=${lang#LANG=} case "$ROOT_USES_LANG" in yes) if test -z "$lang" && test -n "$RC_LANG"; then echo "LANG=$RC_LANG" >>/etc/locale.conf migrated=true fi ;; ctype) if ! grep -q ^LC_CTYPE= /etc/locale.conf 2>/dev/null; then : ${lc_ctype:="$lang"} : ${lc_ctype:="$RC_LC_CTYPE"} : ${lc_ctype:="$RC_LANG"} if test -n "$lc_ctype"; then echo "LC_CTYPE=$lc_ctype" >>/etc/locale.conf migrated=true fi fi ;; esac if $migrated; then echo >&2 "The content of /etc/sysconfig/language has been migrated into" echo >&2 "/etc/locale.conf. The former file is now only used for setting" echo >&2 "the locale used by user's shells. The system-wide locale is" echo >&2 "only read from /etc/locale.conf since now." echo >&2 echo >&2 "Please only use localectl(1) or YaST if you need to change the" echo >&2 "settings of the *system-wide* locale from now." fi } migrate_locale; rv1=$? migrate_keyboard; rv2=$? migrate_language; rv3=$? test $((rv1 + rv2 + rv3)) -eq 0 ++++++ systemd-234.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-234/rules/meson.build new/systemd-234/rules/meson.build --- old/systemd-234/rules/meson.build 2018-02-07 14:26:15.000000000 +0100 +++ new/systemd-234/rules/meson.build 2018-02-19 15:26:36.000000000 +0100 @@ -9,6 +9,7 @@ 60-persistent-storage.rules 60-persistent-storage-tape.rules 60-persistent-v4l.rules + 60-ssd-scheduler.rules 60-sensor.rules 60-serial.rules 61-persistent-storage-compat.rules @@ -20,6 +21,7 @@ 78-sound-card.rules 80-drivers.rules 80-net-setup-link.rules + 80-hotplug-cpu-mem.rules '''.split()) install_data(rules, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-234/src/core/locale-setup.c new/systemd-234/src/core/locale-setup.c --- old/systemd-234/src/core/locale-setup.c 2018-02-07 14:26:15.000000000 +0100 +++ new/systemd-234/src/core/locale-setup.c 2018-02-19 15:26:36.000000000 +0100 @@ -21,7 +21,6 @@ #include <stdlib.h> #include "env-util.h" -#include "alloc-util.h" #include "fileio.h" #include "locale-setup.h" #include "locale-util.h" @@ -34,8 +33,6 @@ char **add; char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; - char _cleanup_free_ *rc_lang = NULL, *rc_lc_ctype = NULL; - char _cleanup_free_ *root_uses_lang = NULL; if (detect_container() <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, @@ -83,42 +80,6 @@ log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } - r = parse_env_file("/etc/sysconfig/language", NEWLINE, - "RC_LANG", &rc_lang, - "RC_LC_CTYPE", &rc_lc_ctype, - "ROOT_USES_LANG", &root_uses_lang, - NULL); - - if (r < 0 && r != -ENOENT) - log_warning_errno(r, "Failed to read /etc/sysconfig/language: %m"); - - /* - * Use the values of the interactive locale configuration in /etc/sysconfig/language - * as fallback if /etc/locale.conf does not exist and no locale was specified on the - * kernel's command line. The special case ROOT_USES_LANG=ctype allows to set LC_CTYPE - * even if LANG for root is set to e.g. POSIX. But do this only if no LC_CTYPE has been - * set in /etc/locale.conf and on the kernel's command line. - */ - if (root_uses_lang) { - if (strcaseeq(root_uses_lang, "yes") && !variables[VARIABLE_LANG]) { - variables[VARIABLE_LANG] = rc_lang; - rc_lang = NULL; - } - if (strcaseeq(root_uses_lang, "ctype") && !variables[VARIABLE_LC_CTYPE]) { - if (variables[VARIABLE_LANG]) - variables[VARIABLE_LC_CTYPE] = strdup(variables[VARIABLE_LANG]); - - else if (!isempty(rc_lc_ctype)) { - variables[VARIABLE_LC_CTYPE] = rc_lc_ctype; - rc_lc_ctype = NULL; - - } else if (!isempty(rc_lang)) { - variables[VARIABLE_LC_CTYPE] = rc_lang; - rc_lang = NULL; - } - } - } - add = NULL; for (i = 0; i < _VARIABLE_LC_MAX; i++) { char *s; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-234/src/core/unit.c new/systemd-234/src/core/unit.c --- old/systemd-234/src/core/unit.c 2018-02-07 14:26:15.000000000 +0100 +++ new/systemd-234/src/core/unit.c 2018-02-19 15:26:36.000000000 +0100 @@ -3437,7 +3437,7 @@ r = unit_file_get_state( u->manager->unit_file_scope, NULL, - basename(u->fragment_path), + u->id, &u->unit_file_state); if (r < 0) u->unit_file_state = UNIT_FILE_BAD; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-234/src/vconsole/vconsole-setup.c new/systemd-234/src/vconsole/vconsole-setup.c --- old/systemd-234/src/vconsole/vconsole-setup.c 2018-02-07 14:26:15.000000000 +0100 +++ new/systemd-234/src/vconsole/vconsole-setup.c 2018-02-19 15:26:36.000000000 +0100 @@ -46,7 +46,6 @@ #include "terminal-util.h" #include "util.h" #include "virt.h" -#include "strv.h" static int verify_vc_device(int fd) { unsigned char data[1]; @@ -210,72 +209,6 @@ return wait_for_terminate_and_warn(KBD_SETFONT, pid, true); } -static int load_compose_table_and_wait(const char *vc, const char *compose_table) { - const char *args[1024]; - int i = 0, j = 0, r; - pid_t pid; - char **strv_compose_table = NULL; - char *to_free[1024]; - - if (isempty(compose_table)) { - /* An empty map means no compose table*/ - return 0; - } - - args[i++] = KBD_LOADKEYS; - args[i++] = "-q"; - args[i++] = "-C"; - args[i++] = vc; - - strv_compose_table = strv_split(compose_table, WHITESPACE); - if (strv_compose_table) { - bool compose_loaded = false; - bool compose_clear = false; - char **name; - char *arg; - - STRV_FOREACH (name, strv_compose_table) { - if (streq(*name,"-c") || streq(*name,"clear")) { - compose_clear = true; - continue; - } - if (!compose_loaded) { - if (compose_clear) - args[i++] = "-c"; - } - if (asprintf(&arg, "compose.%s",*name) < 0) - return log_oom(); - - compose_loaded = true; - args[i++] = to_free[j++] = arg; - assert(i < 1024); - } - strv_free(strv_compose_table); - } - args[i++] = NULL; - - if ((pid = fork()) < 0) { - log_error("Failed to fork: %m"); - return -errno; - } else if (pid == 0) { - - (void) reset_all_signal_handlers(); - (void) reset_signal_mask(); - - execv(args[0], (char **) args); - _exit(EXIT_FAILURE); - } - - r = wait_for_terminate_and_warn(KBD_LOADKEYS, pid, true); - if (r < 0) - return r; - - for (i=0 ; i < j ; i++) - free (to_free[i]); - - return 0; -} - /* * A newly allocated VT uses the font from the source VT. Here * we update all possibly already allocated VTs with the configured @@ -475,10 +408,9 @@ _cleanup_free_ char *vc = NULL, *vc_keymap = NULL, *vc_keymap_toggle = NULL, - *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL, - *vc_compose_table = NULL; + *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; _cleanup_close_ int fd = -1; - bool utf8, keyboard_ok, composetable_ok; + bool utf8, keyboard_ok; unsigned idx = 0; int r; @@ -498,25 +430,6 @@ utf8 = is_locale_utf8(); - /* Systemd default conf files have precedence over SuSE - * specific ones */ - r = parse_env_file("/etc/sysconfig/console", NEWLINE, - "CONSOLE_FONT", &vc_font, - "CONSOLE_SCREENMAP", &vc_font_map, - "CONSOLE_UNICODEMAP", &vc_font_unimap, - NULL); - - if (r < 0 && r != -ENOENT) - log_warning_errno(r, "Failed to read /etc/sysconfig/console: %m"); - - r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, - "KEYTABLE", &vc_keymap, - "COMPOSETABLE", &vc_compose_table, - NULL); - - if (r < 0 && r != -ENOENT) - log_warning_errno(r, "Failed to read /etc/sysconfig/keyboard: %m"); - r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, @@ -549,7 +462,6 @@ r = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap); keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) == 0; - composetable_ok = load_compose_table_and_wait(vc, vc_compose_table) == 0; if (idx > 0) { if (r == 0) @@ -563,5 +475,5 @@ log_warning("Setting source virtual console failed, ignoring remaining ones"); } - return IN_SET(r, 0, EX_OSERR) && keyboard_ok && composetable_ok ? EXIT_SUCCESS : EXIT_FAILURE; + return IN_SET(r, 0, EX_OSERR) && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE; }