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;
 }


Reply via email to