SHA256
1
0
forked from pool/systemd

Accepting request 577997 from home:fbui:systemd:Factory

- Use %systemd_post in %post

- Own /usr/lib/systemd/system-environment-generators directory

- More systemd rpm macro usages

- Disable systemd-firstboot
  I don't think there's any use case for it currently.

- Use systemd rpm macros in paths defined in the specfile

- Stop importing i18n settings from /etc/sysconfig (fate#319454)
  Bits taken from SLE15.

- Make systemd-timesyncd use the openSUSE NTP servers by default
  Previously systemd-timesyncd used the Google Public NTP servers
  time{1..4}.google.com

- Use %systemd_post in %post

- Own /usr/lib/systemd/system-environment-generators directory

- More systemd rpm macro usages

- Disable systemd-firstboot
  I don't think there's any use case for it currently.

- Use systemd rpm macros in paths defined in the specfile

- Stop importing i18n settings from /etc/sysconfig (fate#319454)

OBS-URL: https://build.opensuse.org/request/show/577997
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1012
This commit is contained in:
Franck Bui 2018-02-19 12:48:14 +00:00 committed by Git OBS Bridge
parent c233b7b35d
commit 63f198d0b6
5 changed files with 449 additions and 208 deletions

View File

@ -0,0 +1,135 @@
#! /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

View File

@ -1,3 +1,45 @@
-------------------------------------------------------------------
Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com
- Use %systemd_post in %post
-------------------------------------------------------------------
Mon Feb 19 09:15:04 UTC 2018 - fbui@suse.com
- Own /usr/lib/systemd/system-environment-generators directory
-------------------------------------------------------------------
Mon Feb 19 09:10:03 UTC 2018 - fbui@suse.com
- More systemd rpm macro usages
-------------------------------------------------------------------
Tue Feb 13 17:11:44 UTC 2018 - fbui@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 - fbui@suse.com
- Use systemd rpm macros in paths defined in the specfile
-------------------------------------------------------------------
Mon Feb 12 15:07:29 UTC 2018 - fbui@suse.com
- Stop importing i18n settings from /etc/sysconfig (fate#319454)
Bits taken from SLE15.
-------------------------------------------------------------------
Mon Feb 12 12:59:53 UTC 2018 - fbui@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
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com

View File

@ -149,6 +149,7 @@ Source14: kbd-model-map.legacy
Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source100: scripts-systemd-fix-machines-btrfs-subvol.sh
Source101: scripts-systemd-upgrade-from-pre-210.sh Source101: scripts-systemd-upgrade-from-pre-210.sh
Source102: scripts-systemd-migrate-sysconfig-i18n.sh
Source200: scripts-udev-convert-lib-udev-path.sh Source200: scripts-udev-convert-lib-udev-path.sh
Source1065: udev-remount-tmpfs Source1065: udev-remount-tmpfs
@ -258,7 +259,7 @@ Requires: this-is-only-for-build-envs
%description -n udev%{?mini} %description -n udev%{?mini}
Udev creates and removes device nodes in /dev for devices discovered or Udev creates and removes device nodes in /dev for devices discovered or
removed from the system. It receives events via kernel netlink messages 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, rules may name a device node, create additional symlinks to the node,
call tools to initialize a device, or load needed kernel modules. call tools to initialize a device, or load needed kernel modules.
@ -406,6 +407,8 @@ Some systemd commands offer bash completion, but it is an optional dependency.
# %autopatch -p1 # %autopatch -p1
%build %build
opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org)
# keep split-usr until all packages have moved their systemd rules to /usr # keep split-usr until all packages have moved their systemd rules to /usr
%meson \ %meson \
-Ddocdir=%{_docdir}/systemd \ -Ddocdir=%{_docdir}/systemd \
@ -416,9 +419,11 @@ Some systemd commands offer bash completion, but it is an optional dependency.
-Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \
-Ddefault-hierarchy=hybrid \ -Ddefault-hierarchy=hybrid \
-Ddefault-kill-user-processes=false \ -Ddefault-kill-user-processes=false \
-Dntp-servers="${opensuse_ntp_servers[*]}" \
-Drc-local=/etc/init.d/boot.local \ -Drc-local=/etc/init.d/boot.local \
-Dhalt-local=/etc/init.d/halt.local \ -Dhalt-local=/etc/init.d/halt.local \
-Ddebug-shell=/bin/bash \ -Ddebug-shell=/bin/bash \
-Dfirstboot=false \
-Dseccomp=auto \ -Dseccomp=auto \
-Dselinux=auto \ -Dselinux=auto \
-Dapparmor=auto \ -Dapparmor=auto \
@ -476,7 +481,7 @@ install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
# Package the scripts used to fix all packaging issues. Also drop the # Package the scripts used to fix all packaging issues. Also drop the
# "scripts-{systemd/udev}" prefix which is used because osc doesn't # "scripts-{systemd/udev}" prefix which is used because osc doesn't
# allow directory structure... # 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-} install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-}
done done
for s in %{S:200}; do for s in %{S:200}; do
@ -501,11 +506,11 @@ install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/
# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs # 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 # 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. # 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 rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount
mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/
# don't enable wall ask password service, it spams every console (bnc#747783) # 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 # create %%{_libexecdir}/modules-load.d
mkdir -p %{buildroot}%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d
@ -516,11 +521,11 @@ EOF
# do not ship sysctl defaults in systemd package, will be part of # do not ship sysctl defaults in systemd package, will be part of
# aaa_base (in procps for now) # 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 # The definition of the basic users/groups are defined by system-user
# on SUSE (bsc#1006978). # 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 # Remove README file in init.d as (SUSE) rpm requires executable files
# in this directory... oh well. # in this directory... oh well.
@ -531,7 +536,7 @@ rm -f %{buildroot}/etc/init.d/README
%if ! %{with journal_remote} %if ! %{with journal_remote}
rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf
rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload 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 %endif
# legacy link # legacy link
@ -554,31 +559,33 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database
touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin
# Make sure the NTP units dir exists # 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 # Make sure the shutdown/sleep drop-in dirs exist
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/
# Make sure these directories are properly owned # Make sure these directories are properly owned
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_unitdir}/default.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants mkdir -p %{buildroot}%{_unitdir}/halt.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants
# Make sure the generator directories are created and properly owned. # Make sure the generator directories are created and properly owned.
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators mkdir -p %{buildroot}%{_systemdgeneratordir}
mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators mkdir -p %{buildroot}%{_systemdusergeneratordir}
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset mkdir -p %{buildroot}%{_presetdir}
mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset 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) # create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf
[Service] [Service]
# ensure tty1 isn't cleared (bnc#804158) # ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no TTYVTDisallocate=no
@ -586,15 +593,15 @@ EOF
# create drop-in to prevent delegate=yes for root user (bsc#954765, # create drop-in to prevent delegate=yes for root user (bsc#954765,
# bnc#953241, fate#320421) # bnc#953241, fate#320421)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ mkdir -p %{buildroot}%{_unitdir}/user@0.service.d/
cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <<EOF cat >%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <<EOF
[Service] [Service]
Delegate=no Delegate=no
EOF EOF
# ensure after.local wrapper is called # ensure after.local wrapper is called
install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ install -m 644 %{S:11} %{buildroot}%{_unitdir}/
ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed
@ -606,8 +613,8 @@ rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
# Make sure to disable all services by default. The Suse branding # Make sure to disable all services by default. The Suse branding
# presets package takes care of defining the right policies. # presets package takes care of defining the right policies.
rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset rm -f %{buildroot}%{_presetdir}/*.preset
echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset
# Add entries for xkeyboard-config converted keymaps; mappings, which # Add entries for xkeyboard-config converted keymaps; mappings, which
# already exist in original systemd mapping table are being ignored # already exist in original systemd mapping table are being ignored
@ -652,7 +659,7 @@ if [ $1 -eq 1 ]; then
chmod 666 %{_sysconfdir}/machine-id chmod 666 %{_sysconfdir}/machine-id
fi fi
%sysusers_create /usr/lib/sysusers.d/systemd.conf %sysusers_create %{_sysusersdir}/systemd.conf
%if ! 0%{?bootstrap} %if ! 0%{?bootstrap}
pam-config -a --systemd || : pam-config -a --systemd || :
%endif %endif
@ -664,21 +671,16 @@ systemctl daemon-reexec || :
# Create default config in /etc at first install. # Create default config in /etc at first install.
# Later package updates should not overwrite these settings. # Later package updates should not overwrite these settings.
if [ $1 -eq 1 ]; then %systemd_post remote-fs.target
# Enable systemd services according to the distro defaults. %systemd_post getty@.service
# Note: systemctl might abort prematurely if it fails on one %systemd_post systemd-timesyncd.service
# unit.
systemctl preset remote-fs.target || :
systemctl preset getty@.service || :
systemctl preset systemd-timesyncd.service || :
%if %{with networkd} %if %{with networkd}
systemctl preset systemd-networkd.service || : %systemd_post systemd-networkd.service
systemctl preset systemd-networkd-wait-online.service || : %systemd_post systemd-networkd-wait-online.service
%endif %endif
%if %{with resolved} %if %{with resolved}
systemctl preset systemd-resolved.service || : %systemd_post systemd-resolved.service
%endif %endif
fi >/dev/null
# v228 wrongly set world writable suid root permissions on timestamp # v228 wrongly set world writable suid root permissions on timestamp
# files used by permanent timers. Fix the timestamps that might have # files used by permanent timers. Fix the timestamps that might have
@ -712,6 +714,15 @@ if [ $1 -gt 1 ]; then
# tmpfiles_create macro previously however it's empty so there # tmpfiles_create macro previously however it's empty so there
# shouldn't be any issues. # shouldn't be any issues.
%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : %{_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 fi
%postun %postun
@ -800,8 +811,8 @@ fi
%service_add_pre systemd-journal-upload.service %service_add_pre systemd-journal-upload.service
%post journal-remote %post journal-remote
%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf %sysusers_create %{_sysusersdir}/systemd-remote.conf
%tmpfiles_create %{_libexecdir}/tmpfiles.d/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-gatewayd.socket systemd-journal-gatewayd.service
%service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service
%service_add_post systemd-journal-upload.service %service_add_post systemd-journal-upload.service
@ -840,7 +851,6 @@ fi
%{_bindir}/coredumpctl %{_bindir}/coredumpctl
%{_bindir}/systemd-delta %{_bindir}/systemd-delta
%{_bindir}/systemd-escape %{_bindir}/systemd-escape
%{_bindir}/systemd-firstboot
%{_bindir}/systemd-path %{_bindir}/systemd-path
%{_bindir}/systemd-sysusers %{_bindir}/systemd-sysusers
%{_bindir}/systemd-mount %{_bindir}/systemd-mount
@ -874,29 +884,29 @@ fi
%dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/user
%dir %{_prefix}/lib/systemd/system %dir %{_prefix}/lib/systemd/system
%if %{with journal_remote} %if %{with journal_remote}
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-gatewayd.*
%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* %exclude %{_unitdir}/systemd-journal-remote.*
%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* %exclude %{_unitdir}/systemd-journal-upload.*
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
%exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-remote
%exclude %{_prefix}/lib/systemd/systemd-journal-upload %exclude %{_prefix}/lib/systemd/systemd-journal-upload
%endif %endif
%exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-sysv*
%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/systemd-udevd
%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_unitdir}/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service
%{_prefix}/lib/systemd/system/*.automount %{_unitdir}/*.automount
%{_prefix}/lib/systemd/system/*.service %{_unitdir}/*.service
%{_prefix}/lib/systemd/system/*.slice %{_unitdir}/*.slice
%{_prefix}/lib/systemd/system/*.target %{_unitdir}/*.target
%{_prefix}/lib/systemd/system/*.mount %{_unitdir}/*.mount
%{_prefix}/lib/systemd/system/*.timer %{_unitdir}/*.timer
%{_prefix}/lib/systemd/system/*.socket %{_unitdir}/*.socket
%{_prefix}/lib/systemd/system/*.wants %{_unitdir}/*.wants
%{_prefix}/lib/systemd/system/*.path %{_unitdir}/*.path
%{_prefix}/lib/systemd/user/*.target %{_userunitdir}/*.target
%{_prefix}/lib/systemd/user/*.service %{_userunitdir}/*.service
%{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/systemd
%{_prefix}/lib/systemd/libsystemd-shared-*.so %{_prefix}/lib/systemd/libsystemd-shared-*.so
@ -904,21 +914,22 @@ fi
%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/resolv.conf
%endif %endif
%{_prefix}/lib/systemd/scripts %{_prefix}/lib/systemd/scripts
%dir %{_prefix}/lib/systemd/catalog %dir %{_journalcatalogdir}
%{_prefix}/lib/systemd/catalog/systemd.catalog %{_journalcatalogdir}/systemd.catalog
%{_prefix}/lib/systemd/catalog/systemd.*.catalog %{_journalcatalogdir}/systemd.*.catalog
%{_prefix}/lib/systemd/system-preset %{_presetdir}
%{_prefix}/lib/systemd/user-preset %{_userpresetdir}
%{_prefix}/lib/systemd/system-generators %{_systemdgeneratordir}
%{_prefix}/lib/systemd/user-generators %{_systemdusergeneratordir}
%{_prefix}/lib/systemd/user-environment-generators %{_systemd_system_env_generator_dir}
%dir %{_prefix}/lib/systemd/ntp-units.d/ %{_systemd_user_env_generator_dir}
%dir %{_ntpunitsdir}
%dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-shutdown/
%dir %{_prefix}/lib/systemd/system-sleep/ %dir %{_prefix}/lib/systemd/system-sleep/
%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d %dir %{_unitdir}/getty@tty1.service.d
%dir %{_prefix}/lib/systemd/system/user@0.service.d %dir %{_unitdir}/user@0.service.d
%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf %{_unitdir}/getty@tty1.service.d/noclear.conf
%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf %{_unitdir}/user@0.service.d/nodelagate.conf
%if %{with importd} %if %{with importd}
%{_prefix}/lib/systemd/import-pubring.gpg %{_prefix}/lib/systemd/import-pubring.gpg
%endif %endif
@ -935,23 +946,23 @@ fi
%dir %{_sysconfdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d
%{_libexecdir}/modules-load.d/sg.conf %{_libexecdir}/modules-load.d/sg.conf
%{_libexecdir}/sysusers.d/ %{_sysusersdir}/
%dir %{_sysconfdir}/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d
%{_libexecdir}/tmpfiles.d/ %{_tmpfilesdir}/
%if %{with journal_remote} %if %{with journal_remote}
%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf %exclude %{_sysusersdir}/systemd-remote.conf
%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf %exclude %{_tmpfilesdir}/systemd-remote.conf
%endif %endif
%{_libexecdir}/environment.d/ %{_libexecdir}/environment.d/
%dir %{_libexecdir}/binfmt.d %dir %{_binfmtdir}
%dir %{_sysconfdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d
%dir %{_libexecdir}/sysctl.d %dir %{_sysctldir}
%dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/sysctl.d
%{_prefix}/lib/sysctl.d/50-coredump.conf %{_sysctldir}/50-coredump.conf
%dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit
%dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xinit/xinitrc.d
@ -1073,10 +1084,10 @@ fi
%endif %endif
%{_docdir}/systemd %{_docdir}/systemd
%{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_udevrulesdir}/70-uaccess.rules
%{_prefix}/lib/udev/rules.d/71-seat.rules %{_udevrulesdir}/71-seat.rules
%{_prefix}/lib/udev/rules.d/73-seat-late.rules %{_udevrulesdir}/73-seat-late.rules
%{_prefix}/lib/udev/rules.d/99-systemd.rules %{_udevrulesdir}/99-systemd.rules
%dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd
%dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/sysv-convert
%dir %{_localstatedir}/lib/systemd/migrated %dir %{_localstatedir}/lib/systemd/migrated
@ -1138,13 +1149,13 @@ fi
%{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/remount-tmpfs
%ghost %{_prefix}/lib/udev/compat-symlink-generation %ghost %{_prefix}/lib/udev/compat-symlink-generation
%dir %{_prefix}/lib/udev/rules.d/ %dir %{_udevrulesdir}/
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_udevrulesdir}/70-uaccess.rules
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules %exclude %{_udevrulesdir}/71-seat.rules
%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules %exclude %{_udevrulesdir}/73-seat-late.rules
%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %exclude %{_udevrulesdir}/99-systemd.rules
%{_prefix}/lib/udev/rules.d/*.rules %{_udevrulesdir}/*.rules
%{_prefix}/lib/udev/hwdb.d/ %{_udevhwdbdir}/
%{_prefix}/lib/udev/scripts/ %{_prefix}/lib/udev/scripts/
%dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/
%dir %{_sysconfdir}/udev/rules.d/ %dir %{_sysconfdir}/udev/rules.d/
@ -1160,13 +1171,13 @@ fi
%endif %endif
%dir %{_prefix}/lib/systemd/system %dir %{_prefix}/lib/systemd/system
%{_prefix}/lib/systemd/systemd-udevd %{_prefix}/lib/systemd/systemd-udevd
%{_prefix}/lib/systemd/system/systemd-udev*.service %{_unitdir}/systemd-udev*.service
%{_prefix}/lib/systemd/system/systemd-udevd*.socket %{_unitdir}/systemd-udevd*.socket
%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %{_unitdir}/initrd-udevadm-cleanup-db.service
%dir %{_prefix}/lib/systemd/system/sysinit.target.wants %dir %{_unitdir}/sysinit.target.wants
%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service %{_unitdir}/sysinit.target.wants/systemd-udev*.service
%dir %{_prefix}/lib/systemd/system/sockets.target.wants %dir %{_unitdir}/sockets.target.wants
%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %{_unitdir}/sockets.target.wants/systemd-udev*.socket
%dir %{_prefix}/lib/systemd/network %dir %{_prefix}/lib/systemd/network
%{_prefix}/lib/systemd/network/*.link %{_prefix}/lib/systemd/network/*.link
%if %{with networkd} %if %{with networkd}
@ -1231,14 +1242,14 @@ fi
%defattr(-, root, root) %defattr(-, root, root)
%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf
%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %{_unitdir}/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/system/systemd-journal-remote.* %{_unitdir}/systemd-journal-remote.*
%{_prefix}/lib/systemd/system/systemd-journal-upload.* %{_unitdir}/systemd-journal-upload.*
%{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-remote
%{_prefix}/lib/systemd/systemd-journal-upload %{_prefix}/lib/systemd/systemd-journal-upload
%{_libexecdir}/sysusers.d/systemd-remote.conf %{_sysusersdir}/systemd-remote.conf
%{_libexecdir}/tmpfiles.d/systemd-remote.conf %{_tmpfilesdir}/systemd-remote.conf
%{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-remote.*
%{_mandir}/man8/systemd-journal-upload.* %{_mandir}/man8/systemd-journal-upload.*

View File

@ -1,3 +1,45 @@
-------------------------------------------------------------------
Mon Feb 19 09:25:30 UTC 2018 - fbui@suse.com
- Use %systemd_post in %post
-------------------------------------------------------------------
Mon Feb 19 09:15:04 UTC 2018 - fbui@suse.com
- Own /usr/lib/systemd/system-environment-generators directory
-------------------------------------------------------------------
Mon Feb 19 09:10:03 UTC 2018 - fbui@suse.com
- More systemd rpm macro usages
-------------------------------------------------------------------
Tue Feb 13 17:11:44 UTC 2018 - fbui@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 - fbui@suse.com
- Use systemd rpm macros in paths defined in the specfile
-------------------------------------------------------------------
Mon Feb 12 15:07:29 UTC 2018 - fbui@suse.com
- Stop importing i18n settings from /etc/sysconfig (fate#319454)
Bits taken from SLE15.
-------------------------------------------------------------------
Mon Feb 12 12:59:53 UTC 2018 - fbui@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
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com Fri Feb 9 14:01:24 UTC 2018 - fbui@suse.com

View File

@ -147,6 +147,7 @@ Source14: kbd-model-map.legacy
Source100: scripts-systemd-fix-machines-btrfs-subvol.sh Source100: scripts-systemd-fix-machines-btrfs-subvol.sh
Source101: scripts-systemd-upgrade-from-pre-210.sh Source101: scripts-systemd-upgrade-from-pre-210.sh
Source102: scripts-systemd-migrate-sysconfig-i18n.sh
Source200: scripts-udev-convert-lib-udev-path.sh Source200: scripts-udev-convert-lib-udev-path.sh
Source1065: udev-remount-tmpfs Source1065: udev-remount-tmpfs
@ -256,7 +257,7 @@ Requires: this-is-only-for-build-envs
%description -n udev%{?mini} %description -n udev%{?mini}
Udev creates and removes device nodes in /dev for devices discovered or Udev creates and removes device nodes in /dev for devices discovered or
removed from the system. It receives events via kernel netlink messages 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, rules may name a device node, create additional symlinks to the node,
call tools to initialize a device, or load needed kernel modules. call tools to initialize a device, or load needed kernel modules.
@ -404,6 +405,8 @@ Some systemd commands offer bash completion, but it is an optional dependency.
# %autopatch -p1 # %autopatch -p1
%build %build
opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org)
# keep split-usr until all packages have moved their systemd rules to /usr # keep split-usr until all packages have moved their systemd rules to /usr
%meson \ %meson \
-Ddocdir=%{_docdir}/systemd \ -Ddocdir=%{_docdir}/systemd \
@ -414,9 +417,11 @@ Some systemd commands offer bash completion, but it is an optional dependency.
-Dcertificate-root=%{_sysconfdir}/pki/systemd \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \
-Ddefault-hierarchy=hybrid \ -Ddefault-hierarchy=hybrid \
-Ddefault-kill-user-processes=false \ -Ddefault-kill-user-processes=false \
-Dntp-servers="${opensuse_ntp_servers[*]}" \
-Drc-local=/etc/init.d/boot.local \ -Drc-local=/etc/init.d/boot.local \
-Dhalt-local=/etc/init.d/halt.local \ -Dhalt-local=/etc/init.d/halt.local \
-Ddebug-shell=/bin/bash \ -Ddebug-shell=/bin/bash \
-Dfirstboot=false \
-Dseccomp=auto \ -Dseccomp=auto \
-Dselinux=auto \ -Dselinux=auto \
-Dapparmor=auto \ -Dapparmor=auto \
@ -474,7 +479,7 @@ install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
# Package the scripts used to fix all packaging issues. Also drop the # Package the scripts used to fix all packaging issues. Also drop the
# "scripts-{systemd/udev}" prefix which is used because osc doesn't # "scripts-{systemd/udev}" prefix which is used because osc doesn't
# allow directory structure... # 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-} install -m0755 -D $s %{buildroot}%{_prefix}/lib/systemd/scripts/${s#*/scripts-systemd-}
done done
for s in %{S:200}; do for s in %{S:200}; do
@ -499,11 +504,11 @@ install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/
# Remove tmp.mount from the unit search path as /tmp doesn't use tmpfs # 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 # 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. # 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 rm %{buildroot}/%{_unitdir}/local-fs.target.wants/tmp.mount
mv %{buildroot}/%{_prefix}/lib/systemd/system/tmp.mount %{buildroot}/%{_datadir}/systemd/ mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/
# don't enable wall ask password service, it spams every console (bnc#747783) # 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 # create %%{_libexecdir}/modules-load.d
mkdir -p %{buildroot}%{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d
@ -514,11 +519,11 @@ EOF
# do not ship sysctl defaults in systemd package, will be part of # do not ship sysctl defaults in systemd package, will be part of
# aaa_base (in procps for now) # 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 # The definition of the basic users/groups are defined by system-user
# on SUSE (bsc#1006978). # 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 # Remove README file in init.d as (SUSE) rpm requires executable files
# in this directory... oh well. # in this directory... oh well.
@ -529,7 +534,7 @@ rm -f %{buildroot}/etc/init.d/README
%if ! %{with journal_remote} %if ! %{with journal_remote}
rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf rm -f %{buildroot}%{_sysconfdir}/systemd/journal-upload.conf
rm -f %{buildroot}%{_prefix}/lib/systemd/systemd-journal-upload 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 %endif
# legacy link # legacy link
@ -552,31 +557,33 @@ touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database
touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin
# Make sure the NTP units dir exists # 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 # Make sure the shutdown/sleep drop-in dirs exist
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/
# Make sure these directories are properly owned # Make sure these directories are properly owned
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants mkdir -p %{buildroot}%{_unitdir}/default.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants mkdir -p %{buildroot}%{_unitdir}/dbus.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/halt.target.wants mkdir -p %{buildroot}%{_unitdir}/halt.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/kexec.target.wants mkdir -p %{buildroot}%{_unitdir}/kexec.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/poweroff.target.wants mkdir -p %{buildroot}%{_unitdir}/poweroff.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/reboot.target.wants mkdir -p %{buildroot}%{_unitdir}/reboot.target.wants
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/shutdown.target.wants mkdir -p %{buildroot}%{_unitdir}/shutdown.target.wants
# Make sure the generator directories are created and properly owned. # Make sure the generator directories are created and properly owned.
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators mkdir -p %{buildroot}%{_systemdgeneratordir}
mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators mkdir -p %{buildroot}%{_systemdusergeneratordir}
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset mkdir -p %{buildroot}%{_presetdir}
mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-preset 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) # create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf
[Service] [Service]
# ensure tty1 isn't cleared (bnc#804158) # ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no TTYVTDisallocate=no
@ -584,15 +591,15 @@ EOF
# create drop-in to prevent delegate=yes for root user (bsc#954765, # create drop-in to prevent delegate=yes for root user (bsc#954765,
# bnc#953241, fate#320421) # bnc#953241, fate#320421)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/ mkdir -p %{buildroot}%{_unitdir}/user@0.service.d/
cat >%{buildroot}%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf <<EOF cat >%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <<EOF
[Service] [Service]
Delegate=no Delegate=no
EOF EOF
# ensure after.local wrapper is called # ensure after.local wrapper is called
install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ install -m 644 %{S:11} %{buildroot}%{_unitdir}/
ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ ln -s ../after-local.service %{buildroot}%{_unitdir}/multi-user.target.wants/
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight
mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed
@ -604,8 +611,8 @@ rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
# Make sure to disable all services by default. The Suse branding # Make sure to disable all services by default. The Suse branding
# presets package takes care of defining the right policies. # presets package takes care of defining the right policies.
rm -f %{buildroot}%{_prefix}/lib/systemd/system-preset/*.preset rm -f %{buildroot}%{_presetdir}/*.preset
echo 'disable *' >%{buildroot}%{_prefix}/lib/systemd/system-preset/99-default.preset echo 'disable *' >%{buildroot}%{_presetdir}/99-default.preset
# Add entries for xkeyboard-config converted keymaps; mappings, which # Add entries for xkeyboard-config converted keymaps; mappings, which
# already exist in original systemd mapping table are being ignored # already exist in original systemd mapping table are being ignored
@ -650,7 +657,7 @@ if [ $1 -eq 1 ]; then
chmod 666 %{_sysconfdir}/machine-id chmod 666 %{_sysconfdir}/machine-id
fi fi
%sysusers_create /usr/lib/sysusers.d/systemd.conf %sysusers_create %{_sysusersdir}/systemd.conf
%if ! 0%{?bootstrap} %if ! 0%{?bootstrap}
pam-config -a --systemd || : pam-config -a --systemd || :
%endif %endif
@ -662,21 +669,16 @@ systemctl daemon-reexec || :
# Create default config in /etc at first install. # Create default config in /etc at first install.
# Later package updates should not overwrite these settings. # Later package updates should not overwrite these settings.
if [ $1 -eq 1 ]; then %systemd_post remote-fs.target
# Enable systemd services according to the distro defaults. %systemd_post getty@.service
# Note: systemctl might abort prematurely if it fails on one %systemd_post systemd-timesyncd.service
# unit.
systemctl preset remote-fs.target || :
systemctl preset getty@.service || :
systemctl preset systemd-timesyncd.service || :
%if %{with networkd} %if %{with networkd}
systemctl preset systemd-networkd.service || : %systemd_post systemd-networkd.service
systemctl preset systemd-networkd-wait-online.service || : %systemd_post systemd-networkd-wait-online.service
%endif %endif
%if %{with resolved} %if %{with resolved}
systemctl preset systemd-resolved.service || : %systemd_post systemd-resolved.service
%endif %endif
fi >/dev/null
# v228 wrongly set world writable suid root permissions on timestamp # v228 wrongly set world writable suid root permissions on timestamp
# files used by permanent timers. Fix the timestamps that might have # files used by permanent timers. Fix the timestamps that might have
@ -710,6 +712,15 @@ if [ $1 -gt 1 ]; then
# tmpfiles_create macro previously however it's empty so there # tmpfiles_create macro previously however it's empty so there
# shouldn't be any issues. # shouldn't be any issues.
%{_prefix}/lib/systemd/scripts/fix-machines-btrfs-subvol.sh || : %{_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 fi
%postun %postun
@ -798,8 +809,8 @@ fi
%service_add_pre systemd-journal-upload.service %service_add_pre systemd-journal-upload.service
%post journal-remote %post journal-remote
%sysusers_create %{_libexecdir}/sysusers.d/systemd-remote.conf %sysusers_create %{_sysusersdir}/systemd-remote.conf
%tmpfiles_create %{_libexecdir}/tmpfiles.d/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-gatewayd.socket systemd-journal-gatewayd.service
%service_add_post systemd-journal-remote.socket systemd-journal-remote.service %service_add_post systemd-journal-remote.socket systemd-journal-remote.service
%service_add_post systemd-journal-upload.service %service_add_post systemd-journal-upload.service
@ -838,7 +849,6 @@ fi
%{_bindir}/coredumpctl %{_bindir}/coredumpctl
%{_bindir}/systemd-delta %{_bindir}/systemd-delta
%{_bindir}/systemd-escape %{_bindir}/systemd-escape
%{_bindir}/systemd-firstboot
%{_bindir}/systemd-path %{_bindir}/systemd-path
%{_bindir}/systemd-sysusers %{_bindir}/systemd-sysusers
%{_bindir}/systemd-mount %{_bindir}/systemd-mount
@ -872,29 +882,29 @@ fi
%dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/user
%dir %{_prefix}/lib/systemd/system %dir %{_prefix}/lib/systemd/system
%if %{with journal_remote} %if %{with journal_remote}
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-gatewayd.*
%exclude %{_prefix}/lib/systemd/system/systemd-journal-remote.* %exclude %{_unitdir}/systemd-journal-remote.*
%exclude %{_prefix}/lib/systemd/system/systemd-journal-upload.* %exclude %{_unitdir}/systemd-journal-upload.*
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
%exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-remote
%exclude %{_prefix}/lib/systemd/systemd-journal-upload %exclude %{_prefix}/lib/systemd/systemd-journal-upload
%endif %endif
%exclude %{_prefix}/lib/systemd/systemd-sysv* %exclude %{_prefix}/lib/systemd/systemd-sysv*
%exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_prefix}/lib/systemd/systemd-udevd
%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* %exclude %{_unitdir}/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service
%{_prefix}/lib/systemd/system/*.automount %{_unitdir}/*.automount
%{_prefix}/lib/systemd/system/*.service %{_unitdir}/*.service
%{_prefix}/lib/systemd/system/*.slice %{_unitdir}/*.slice
%{_prefix}/lib/systemd/system/*.target %{_unitdir}/*.target
%{_prefix}/lib/systemd/system/*.mount %{_unitdir}/*.mount
%{_prefix}/lib/systemd/system/*.timer %{_unitdir}/*.timer
%{_prefix}/lib/systemd/system/*.socket %{_unitdir}/*.socket
%{_prefix}/lib/systemd/system/*.wants %{_unitdir}/*.wants
%{_prefix}/lib/systemd/system/*.path %{_unitdir}/*.path
%{_prefix}/lib/systemd/user/*.target %{_userunitdir}/*.target
%{_prefix}/lib/systemd/user/*.service %{_userunitdir}/*.service
%{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/systemd
%{_prefix}/lib/systemd/libsystemd-shared-*.so %{_prefix}/lib/systemd/libsystemd-shared-*.so
@ -902,21 +912,22 @@ fi
%{_prefix}/lib/systemd/resolv.conf %{_prefix}/lib/systemd/resolv.conf
%endif %endif
%{_prefix}/lib/systemd/scripts %{_prefix}/lib/systemd/scripts
%dir %{_prefix}/lib/systemd/catalog %dir %{_journalcatalogdir}
%{_prefix}/lib/systemd/catalog/systemd.catalog %{_journalcatalogdir}/systemd.catalog
%{_prefix}/lib/systemd/catalog/systemd.*.catalog %{_journalcatalogdir}/systemd.*.catalog
%{_prefix}/lib/systemd/system-preset %{_presetdir}
%{_prefix}/lib/systemd/user-preset %{_userpresetdir}
%{_prefix}/lib/systemd/system-generators %{_systemdgeneratordir}
%{_prefix}/lib/systemd/user-generators %{_systemdusergeneratordir}
%{_prefix}/lib/systemd/user-environment-generators %{_systemd_system_env_generator_dir}
%dir %{_prefix}/lib/systemd/ntp-units.d/ %{_systemd_user_env_generator_dir}
%dir %{_ntpunitsdir}
%dir %{_prefix}/lib/systemd/system-shutdown/ %dir %{_prefix}/lib/systemd/system-shutdown/
%dir %{_prefix}/lib/systemd/system-sleep/ %dir %{_prefix}/lib/systemd/system-sleep/
%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d %dir %{_unitdir}/getty@tty1.service.d
%dir %{_prefix}/lib/systemd/system/user@0.service.d %dir %{_unitdir}/user@0.service.d
%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf %{_unitdir}/getty@tty1.service.d/noclear.conf
%{_prefix}/lib/systemd/system/user@0.service.d/nodelagate.conf %{_unitdir}/user@0.service.d/nodelagate.conf
%if %{with importd} %if %{with importd}
%{_prefix}/lib/systemd/import-pubring.gpg %{_prefix}/lib/systemd/import-pubring.gpg
%endif %endif
@ -933,23 +944,23 @@ fi
%dir %{_sysconfdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d
%{_libexecdir}/modules-load.d/sg.conf %{_libexecdir}/modules-load.d/sg.conf
%{_libexecdir}/sysusers.d/ %{_sysusersdir}/
%dir %{_sysconfdir}/tmpfiles.d %dir %{_sysconfdir}/tmpfiles.d
%{_libexecdir}/tmpfiles.d/ %{_tmpfilesdir}/
%if %{with journal_remote} %if %{with journal_remote}
%exclude %{_libexecdir}/sysusers.d/systemd-remote.conf %exclude %{_sysusersdir}/systemd-remote.conf
%exclude %{_libexecdir}/tmpfiles.d/systemd-remote.conf %exclude %{_tmpfilesdir}/systemd-remote.conf
%endif %endif
%{_libexecdir}/environment.d/ %{_libexecdir}/environment.d/
%dir %{_libexecdir}/binfmt.d %dir %{_binfmtdir}
%dir %{_sysconfdir}/binfmt.d %dir %{_sysconfdir}/binfmt.d
%dir %{_libexecdir}/sysctl.d %dir %{_sysctldir}
%dir %{_sysconfdir}/sysctl.d %dir %{_sysconfdir}/sysctl.d
%{_prefix}/lib/sysctl.d/50-coredump.conf %{_sysctldir}/50-coredump.conf
%dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit
%dir %{_sysconfdir}/X11/xinit/xinitrc.d %dir %{_sysconfdir}/X11/xinit/xinitrc.d
@ -1071,10 +1082,10 @@ fi
%endif %endif
%{_docdir}/systemd %{_docdir}/systemd
%{_prefix}/lib/udev/rules.d/70-uaccess.rules %{_udevrulesdir}/70-uaccess.rules
%{_prefix}/lib/udev/rules.d/71-seat.rules %{_udevrulesdir}/71-seat.rules
%{_prefix}/lib/udev/rules.d/73-seat-late.rules %{_udevrulesdir}/73-seat-late.rules
%{_prefix}/lib/udev/rules.d/99-systemd.rules %{_udevrulesdir}/99-systemd.rules
%dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd
%dir %{_localstatedir}/lib/systemd/sysv-convert %dir %{_localstatedir}/lib/systemd/sysv-convert
%dir %{_localstatedir}/lib/systemd/migrated %dir %{_localstatedir}/lib/systemd/migrated
@ -1136,13 +1147,13 @@ fi
%{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/remount-tmpfs %{_prefix}/lib/udev/remount-tmpfs
%ghost %{_prefix}/lib/udev/compat-symlink-generation %ghost %{_prefix}/lib/udev/compat-symlink-generation
%dir %{_prefix}/lib/udev/rules.d/ %dir %{_udevrulesdir}/
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_udevrulesdir}/70-uaccess.rules
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules %exclude %{_udevrulesdir}/71-seat.rules
%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules %exclude %{_udevrulesdir}/73-seat-late.rules
%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules %exclude %{_udevrulesdir}/99-systemd.rules
%{_prefix}/lib/udev/rules.d/*.rules %{_udevrulesdir}/*.rules
%{_prefix}/lib/udev/hwdb.d/ %{_udevhwdbdir}/
%{_prefix}/lib/udev/scripts/ %{_prefix}/lib/udev/scripts/
%dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/
%dir %{_sysconfdir}/udev/rules.d/ %dir %{_sysconfdir}/udev/rules.d/
@ -1158,13 +1169,13 @@ fi
%endif %endif
%dir %{_prefix}/lib/systemd/system %dir %{_prefix}/lib/systemd/system
%{_prefix}/lib/systemd/systemd-udevd %{_prefix}/lib/systemd/systemd-udevd
%{_prefix}/lib/systemd/system/systemd-udev*.service %{_unitdir}/systemd-udev*.service
%{_prefix}/lib/systemd/system/systemd-udevd*.socket %{_unitdir}/systemd-udevd*.socket
%{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service %{_unitdir}/initrd-udevadm-cleanup-db.service
%dir %{_prefix}/lib/systemd/system/sysinit.target.wants %dir %{_unitdir}/sysinit.target.wants
%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service %{_unitdir}/sysinit.target.wants/systemd-udev*.service
%dir %{_prefix}/lib/systemd/system/sockets.target.wants %dir %{_unitdir}/sockets.target.wants
%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %{_unitdir}/sockets.target.wants/systemd-udev*.socket
%dir %{_prefix}/lib/systemd/network %dir %{_prefix}/lib/systemd/network
%{_prefix}/lib/systemd/network/*.link %{_prefix}/lib/systemd/network/*.link
%if %{with networkd} %if %{with networkd}
@ -1229,14 +1240,14 @@ fi
%defattr(-, root, root) %defattr(-, root, root)
%config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf %config(noreplace) %{_sysconfdir}/systemd/journal-remote.conf
%config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf %config(noreplace) %{_sysconfdir}/systemd/journal-upload.conf
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %{_unitdir}/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/system/systemd-journal-remote.* %{_unitdir}/systemd-journal-remote.*
%{_prefix}/lib/systemd/system/systemd-journal-upload.* %{_unitdir}/systemd-journal-upload.*
%{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_prefix}/lib/systemd/systemd-journal-remote %{_prefix}/lib/systemd/systemd-journal-remote
%{_prefix}/lib/systemd/systemd-journal-upload %{_prefix}/lib/systemd/systemd-journal-upload
%{_libexecdir}/sysusers.d/systemd-remote.conf %{_sysusersdir}/systemd-remote.conf
%{_libexecdir}/tmpfiles.d/systemd-remote.conf %{_tmpfilesdir}/systemd-remote.conf
%{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man8/systemd-journal-remote.* %{_mandir}/man8/systemd-journal-remote.*
%{_mandir}/man8/systemd-journal-upload.* %{_mandir}/man8/systemd-journal-upload.*