From 8699de76e48aafab5069ab5e405ac2c2e91dc4f34cd7f9b54359a739d77406d4 Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 6 Jul 2017 13:07:38 +0000 Subject: [PATCH] Accepting request 508561 from home:fbui:systemd:Factory - Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab f07d2022f fstab-util: introduce fstab_has_fstype() helper bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) - Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) While at it, the handling of the symlink priorities is also removed since it doesn't appear to be used at all. OBS-URL: https://build.opensuse.org/request/show/508561 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=980 --- systemd-233.tar.xz | 4 +- systemd-mini.changes | 28 +++++++++++ systemd-sysv-convert | 113 +++++++++++++------------------------------ systemd.changes | 28 +++++++++++ 4 files changed, 91 insertions(+), 82 deletions(-) diff --git a/systemd-233.tar.xz b/systemd-233.tar.xz index 15902cbf..a77e6941 100644 --- a/systemd-233.tar.xz +++ b/systemd-233.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68abe8a1ad8d19c64f4e10fdee7b8aceebc7d49fc2bb2711408171bdc841e67a -size 3255548 +oid sha256:31fe0c3bea971e0dd40b9bec3f08080859ab3710f3882e0009582dd0bf16086d +size 3257376 diff --git a/systemd-mini.changes b/systemd-mini.changes index 09daca09..ec11b71d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com + +- Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad + + 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) + d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly + f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) + e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) + c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) + 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab + f07d2022f fstab-util: introduce fstab_has_fstype() helper + bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() + a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) + 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) + 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) + 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case + 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) + a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) + +------------------------------------------------------------------- +Wed Jul 5 07:15:17 UTC 2017 - fbui@suse.com + +- Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) + + While at it, the handling of the symlink priorities is also removed + since it doesn't appear to be used at all. + ------------------------------------------------------------------- Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com diff --git a/systemd-sysv-convert b/systemd-sysv-convert index 479c8ba3..5d07c48d 100644 --- a/systemd-sysv-convert +++ b/systemd-sysv-convert @@ -5,8 +5,7 @@ if [ "$UID" != "0" ]; then exit 1 fi -declare -A results_runlevel -declare -A results_priority +declare -A results_target usage() { cat << EOF @@ -33,75 +32,30 @@ EOF } find_service() { - local service - local runlevel - declare -i priority + local service=$1 + local rcnd=$2 - service=$1 - runlevel=$2 - priority=-1 - - for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do - initscript=$(basename $l) - if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then - continue - fi - if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then - if [ ${initscript:1:1} == 0 ]; then - priority=${initscript:2:1} - else - priority=${initscript:1:2} - fi - fi - done - if [ $priority -ge 0 ]; then - return $priority - fi - return 255 + case $rcnd in + boot.d) [ -L /etc/rc.d/$rcnd/S??boot.$service ] ;; + *) [ -L /etc/rc.d/$rcnd/S??$service ] + esac } lookup_database() { - local services + local services=$@ local service - local service_file local runlevel local priority - local -i k - declare -a parsed - services=$@ - k=0 - results_runlevel=() - results_priority=() - - while read line ; do - k+=1 - parsed=($line) - service=${parsed[0]} - runlevel=${parsed[1]} - priority=${parsed[2]} - if [ $runlevel -lt 2 -o $runlevel -gt 5 ]; then - echo "Runlevel out of bounds in database line $k. Ignoring" >/dev/stderr - continue - fi - if [ $priority -lt 0 -o $priority -gt 99 ]; then - echo "Priority out of bounds in database line $k. Ignoring" >/dev/stderr - continue - fi - - declare -i found - found=0 + # 'priority' field is not used but is kept for backward compat + # reason. + while read service runlevel priority; do for s in $services ; do if [ $s == $service ]; then - found=1 - continue + results_target[$service]+=" runlevel$runlevel.target" + break fi done - if [ $found -eq 0 ]; then - continue - fi - results_runlevel[$service]+=" $runlevel" - results_priority[$service]+=" $priority" done < /var/lib/systemd/sysv-convert/database } @@ -114,16 +68,19 @@ case "$1" in --save) shift for service in $@ ; do - if [ ! -r "/etc/init.d/$service" ]; then + if [ ! -r /etc/init.d/$service ] && [ ! -r /etc/init.d/boot.$service ]; then echo "SysV service $service does not exist, skipping" continue fi - for runlevel in 2 3 4 5; do - find_service $service $runlevel - priority=$? - if [ $priority -lt 255 ]; then - echo "$service $runlevel $priority" >>/var/lib/systemd/sysv-convert/database - fi + for rcnd in rc2.d rc3.d rc4.d rc5.d boot.d; do + case $rcnd in + rc*.d) runlevel=${rcnd:2:1} ;; + boot.d) runlevel=3 ;; + esac + + # Write a dumb priority as it is not used. + find_service $service $rcnd && + echo "$service $runlevel 50" >>/var/lib/systemd/sysv-convert/database done done ;; @@ -132,17 +89,13 @@ case "$1" in services=$@ lookup_database $services for service in $services; do - if [ -z "${results_runlevel[$service]}" ]; then - echo No information found about service $service found. >/dev/stderr + if [ -z "${results_target[$service]}" ]; then + echo "No information about service $service found." >/dev/stderr let fail++ continue fi - declare -i count - count=0 - priority=(${results_priority[$service]}) - for runlevel in ${results_runlevel[$service]}; do - echo SysV service $service enabled in runlevel $runlevel at priority ${priority[$count]} - count+=1 + for target in ${results_target[$service]}; do + echo "SysV service '$service' is pulled by $target" done done ;; @@ -170,16 +123,16 @@ case "$1" in if [ -e /var/lib/systemd/sysv-convert/database ]; then lookup_database $services for service in $services; do - [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" - [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" + [ -f "/lib/systemd/system/$service.service" ] && unit="/lib/systemd/system/$service.service" + [ -f "/usr/lib/systemd/system/$service.service" ] && unit="/usr/lib/systemd/system/$service.service" # If $service is not present in the database, # then it simply means that the sysv init # service was not enabled at all. - for runlevel in ${results_runlevel[$service]}; do - echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr - mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" - /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + for target in ${results_target[$service]}; do + echo ln -sf $unit /etc/systemd/system/$target.wants/$service.service >/dev/stderr + mkdir -p "/etc/systemd/system/$target.wants" + /bin/ln -sf $unit /etc/systemd/system/$target.wants/$service.service done done fi diff --git a/systemd.changes b/systemd.changes index 09daca09..ec11b71d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Thu Jul 6 12:57:06 UTC 2017 - fbui@suse.com + +- Import commit 21827ea0875ff197e16e72003b2bfaa1c6e8daad + + 1ad06735f core: fail when syntactically invalid values for User=/Group= fields are detected (bsc#1047023) + d563972e2 timesyncd: don't use compiled-in list if FallbackNTP has been configured explicitly + f4e0c16f5 gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) + e1345aac5 fix add_esp() in the gpt-auto-generator.c (#6251) + c591ece9a automount: don't lstat(2) upon umount request (#6086) (bsc#1040968) + 643ab2eea gpt-auto-generator: disable gpt auto logic for swaps if at least one is defined in fstab + f07d2022f fstab-util: introduce fstab_has_fstype() helper + bf735bb35 fstab-util: don't eat up errors in fstab_is_mount_point() + a4b40fbed resolved: simplify alloc size calculation (bsc#1045290 CVE-2017-9445) + 8b960bec0 only check signature job error if signature job exists (#6118) (boo#1043758) + 1418bfb5b job: Ensure JobRunningTimeoutSec= survives serialization (#6128) (bsc#1004995) + 19b6d5f08 udev: turn off -Wformat-nonliteral for one safe case + 717ace439 udev: net_id add support for platform bus (ACPI, mostly arm64) devices (#5933) + a3bf2e6b5 core/mount: pass "-c" flag to /bin/umount (#6093) + +------------------------------------------------------------------- +Wed Jul 5 07:15:17 UTC 2017 - fbui@suse.com + +- Add minimal support for boot.d/* scripts in systemd-sysv-convert (boo#1046750) + + While at it, the handling of the symlink priorities is also removed + since it doesn't appear to be used at all. + ------------------------------------------------------------------- Thu Jun 22 15:24:22 UTC 2017 - fbui@suse.com