diff --git a/1008-add-msft-compability-rules.patch b/1008-add-msft-compability-rules.patch deleted file mode 100644 index d011737..0000000 --- a/1008-add-msft-compability-rules.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- systemd-206.orig/Makefile.am -+++ systemd-206/Makefile.am -@@ -2484,6 +2484,10 @@ dist_udevrules_DATA += \ - rules/80-hotplug-cpu-mem.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/61-msft.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ ---- /dev/null -+++ systemd-206/rules/61-msft.rules -@@ -0,0 +1,9 @@ -+# MSFT compability rules -+ACTION!="add|change", GOTO="msft_end" -+ -+ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" -+KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode" -+KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}" -+KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}-part%n" -+ -+LABEL="msft_end" diff --git a/boot.udev b/boot.udev deleted file mode 100644 index 4fa0bd6..0000000 --- a/boot.udev +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# -### BEGIN INIT INFO -# Provides: boot.udev -# Required-Start: -# Required-Stop: -# Should-Start: -# Should-Stop: -# Default-Start: B -# Default-Stop: -# Short-Description: manage /dev and kernel device-events -# Description: udevd daemon to manage /dev and kernel device events -### END INIT INFO - -. /etc/rc.status - -PATH="/sbin:/bin:/usr/sbin:/usr/bin" -DAEMON="@@SYSTEMD@@/systemd-udevd" -UDEVADM="@@BINDIR@@/udevadm" -WRITERULE="@@PREFIX@@/write_dev_root_rule" -udev_timeout=180 - -case "$1" in - start) - # create /dev/root symlink with dynamic rule - if [ -x ${WRITERULE} ]; then - ${WRITERULE} >/dev/null 2>&1 || true - fi - - # start udevd - echo -n "Starting udevd: " - ${DAEMON} --daemon - if [ $? -ne 0 ]; then - rc_status -v - rc_exit - fi - rc_status -v - - # trigger events for all devices - echo -n "Loading drivers, configuring devices: " - ${UDEVADM} trigger --type=subsystems --action=add - ${UDEVADM} trigger --type=devices --action=add - - # wait for events to finish - ${UDEVADM} settle --timeout=$udev_timeout - rc_status -v - ;; - stop) - echo -n "Stopping udevd: " - killproc ${DAEMON} - rc_status -v - ;; - restart) - echo -n "Restarting udevd: " - killproc ${DAEMON} - ${DAEMON} --daemon - rc_status -v - ;; - status) - echo -n "Checking for udevd: " - checkproc ${DAEMON} - rc_status -v - ;; - reload|force-reload) - echo -n "Reloading udevd: " - killproc -G -HUP ${DAEMON} - rc_status -v - ;; - *) - echo "Usage: $0 {start|stop|restart|status|reload|force-reload}" - exit 1 - ;; -esac -rc_exit diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch deleted file mode 100644 index f0ff726..0000000 --- a/handle-etc-HOSTNAME.patch +++ /dev/null @@ -1,79 +0,0 @@ -From: Frederic Crozat -Date: Fri, 15 Feb 2013 16:04:39 +0000 -Subject: handle /etc/HOSTNAME - -(bnc#803653) ---- - src/core/hostname-setup.c | 20 +++++++++++++++----- - src/hostname/hostnamed.c | 12 +++++++++++- - 2 files changed, 26 insertions(+), 6 deletions(-) - -Index: systemd-218/src/core/hostname-setup.c -=================================================================== ---- systemd-218.orig/src/core/hostname-setup.c -+++ systemd-218/src/core/hostname-setup.c -@@ -61,12 +61,22 @@ int hostname_setup(void) { - - r = read_and_strip_hostname("/etc/hostname", &b); - if (r < 0) { -- if (r == -ENOENT) -- enoent = true; -- else -+ if (r == -ENOENT) { -+ /* use SUSE fallback */ -+ r = read_and_strip_hostname("/etc/HOSTNAME", &b); -+ if (r < 0) { -+ if (r == -ENOENT) -+ enoent = true; -+ else -+ log_warning("Failed to read configured hostname: %s", strerror(-r)); -+ hn = NULL; -+ } else { -+ hn = b; -+ } -+ } else { - log_warning_errno(r, "Failed to read configured hostname: %m"); -- -- hn = NULL; -+ hn = NULL; -+ } - } else - hn = b; - -Index: systemd-218/src/hostname/hostnamed.c -=================================================================== ---- systemd-218.orig/src/hostname/hostnamed.c -+++ systemd-218/src/hostname/hostnamed.c -@@ -124,6 +124,10 @@ static int context_read_data(Context *c) - if (r < 0 && r != -ENOENT) - return r; - -+ r = read_one_line_file("/etc/HOSTNAME", &c->data[PROP_STATIC_HOSTNAME]); -+ if (r < 0 && r != -ENOENT) -+ return r; -+ - return 0; - } - -@@ -295,6 +299,7 @@ static int context_update_kernel_hostnam - } - - static int context_write_data_static_hostname(Context *c) { -+ int r; - - assert(c); - -@@ -305,7 +310,12 @@ static int context_write_data_static_hos - - return 0; - } -- return write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); -+ -+ r = write_string_file_atomic_label("/etc/hostname", c->data[PROP_STATIC_HOSTNAME]); -+ if (!r) { -+ r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); -+ } -+ return r; - } - - static int context_write_data_machine_info(Context *c) { diff --git a/insserv-generator.patch b/insserv-generator.patch index 11a8654..1e1cdf4 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -13,22 +13,23 @@ systemd unit drop-in files to add dependencies create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -Index: systemd/Makefile.am -=================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -399,6 +399,7 @@ rootlibexec_PROGRAMS += \ +--- systemd-219.orig/Makefile.am ++++ systemd-219/Makefile.am +@@ -621,7 +621,8 @@ nodist_systemunit_DATA += \ + + systemgenerator_PROGRAMS += \ + systemd-sysv-generator \ +- systemd-rc-local-generator ++ systemd-rc-local-generator \ ++ systemd-insserv-generator endif - systemgenerator_PROGRAMS = \ -+ systemd-insserv-generator \ - systemd-getty-generator \ - systemd-fstab-generator \ - systemd-system-update-generator \ -@@ -2328,6 +2329,14 @@ systemd_delta_LDADD = \ + EXTRA_DIST += \ +@@ -2565,6 +2566,14 @@ systemd_rc_local_generator_LDADD = \ + libsystemd-label.la \ libsystemd-shared.la - # ------------------------------------------------------------------------------ ++#------------------------------------------------------------------------------- +systemd_insserv_generator_SOURCES = \ + src/insserv-generator/insserv-generator.c + @@ -36,14 +37,11 @@ Index: systemd/Makefile.am + libsystemd-label.la \ + libsystemd-shared.la + -+# ------------------------------------------------------------------------------ - systemd_getty_generator_SOURCES = \ - src/getty-generator/getty-generator.c - -Index: systemd/src/insserv-generator/Makefile -=================================================================== + # ------------------------------------------------------------------------------ + systemd_remount_fs_SOURCES = \ + src/remount-fs/remount-fs.c \ --- /dev/null -+++ systemd/src/insserv-generator/Makefile ++++ systemd-219/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -73,10 +71,8 @@ Index: systemd/src/insserv-generator/Makefile + $(MAKE) -C .. clean + +.PHONY: all clean -Index: systemd/src/insserv-generator/insserv-generator.c -=================================================================== --- /dev/null -+++ systemd/src/insserv-generator/insserv-generator.c ++++ systemd-219/src/insserv-generator/insserv-generator.c @@ -0,0 +1,312 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + diff --git a/localfs.service b/localfs.service deleted file mode 100644 index da3face..0000000 --- a/localfs.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Shadow /etc/init.d/boot.localfs -DefaultDependencies=no -After=local-fs.target - -[Service] -RemainAfterExit=true -ExecStart=/bin/true diff --git a/prepare-suspend-to-disk.patch b/prepare-suspend-to-disk.patch deleted file mode 100644 index 01f95f9..0000000 --- a/prepare-suspend-to-disk.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -Naur systemd-210/units/systemd-hibernate.service.in systemd-210-mod/units/systemd-hibernate.service.in ---- systemd-210/units/systemd-hibernate.service.in 2013-08-13 22:02:52.808756274 +0200 -+++ systemd-210-mod/units/systemd-hibernate.service.in 2014-03-25 12:27:44.995995220 +0100 -@@ -11,7 +11,10 @@ - DefaultDependencies=no - Requires=sleep.target - After=sleep.target -+ConditionKernelCommandLine=resume - - [Service] - Type=oneshot -+ExecStart=@rootbindir@/systemd-sleep-grub pre - ExecStart=@rootlibexecdir@/systemd-sleep hibernate -+ExecStopPost=@rootbindir@/systemd-sleep-grub post -diff -Naur systemd-210/units/systemd-hybrid-sleep.service.in systemd-210-mod/units/systemd-hybrid-sleep.service.in ---- systemd-210/units/systemd-hybrid-sleep.service.in 2013-08-13 22:02:52.809756282 +0200 -+++ systemd-210-mod/units/systemd-hybrid-sleep.service.in 2014-03-25 12:27:56.115994902 +0100 -@@ -11,7 +11,10 @@ - DefaultDependencies=no - Requires=sleep.target - After=sleep.target -+ConditionKernelCommandLine=resume - - [Service] - Type=oneshot -+ExecStart=@rootbindir@/systemd-sleep-grub pre - ExecStart=@rootlibexecdir@/systemd-sleep hybrid-sleep -+ExecStopPost=@rootbindir@/systemd-sleep-grub post diff --git a/set-and-use-default-logconsole.patch b/set-and-use-default-logconsole.patch index 645e1d7..23bd016 100644 --- a/set-and-use-default-logconsole.patch +++ b/set-and-use-default-logconsole.patch @@ -6,10 +6,8 @@ Use and set default logging console for both journald and kernel messages src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) -Index: systemd-218/src/journal/journald-console.c -=================================================================== ---- systemd-218.orig/src/journal/journald-console.c -+++ systemd-218/src/journal/journald-console.c +--- systemd-219.orig/src/journal/journald-console.c ++++ systemd-219/src/journal/journald-console.c @@ -23,6 +23,14 @@ #include #include @@ -25,13 +23,13 @@ Index: systemd-218/src/journal/journald-console.c #include "fileio.h" #include "journald-server.h" -@@ -43,6 +51,74 @@ static bool prefix_timestamp(void) { +@@ -43,6 +51,76 @@ static bool prefix_timestamp(void) { return cached_printk_time; } -+#ifdef HAVE_SYSV_COMPAT +void defaul_tty_path(Server *s) +{ ++#ifdef HAVE_SYSV_COMPAT + static const char list[] = "/dev/tty10\0" "/dev/console\0"; + const char *vc; + @@ -51,10 +49,12 @@ Index: systemd-218/src/journal/journald-console.c + s->tty_path = strdup(vc); + break; + } ++#endif +} + +void klogconsole(Server *s) +{ ++#ifdef HAVE_SYSV_COMPAT + _cleanup_free_ char *klogconsole_params = NULL; + _cleanup_close_ int fd = -1; + const char *vc = s->tty_path; @@ -94,24 +94,26 @@ Index: systemd-218/src/journal/journald-console.c + num = klogconsole_params + strcspn(klogconsole_params, "0123456789"); + if (safe_atoi(num, &r) == 0) + klogctl(8, 0, r); -+} +#endif ++} + void server_forward_console( Server *s, int priority, -@@ -64,6 +140,10 @@ void server_forward_console( +@@ -64,6 +142,12 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; ++#ifdef HAVE_SYSV_COMPAT + /* Do not write security/authorization (private) messages to console */ + if ((priority & LOG_FACMASK) == LOG_AUTHPRIV) + return; ++#endif + /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -101,7 +181,23 @@ void server_forward_console( +@@ -100,7 +184,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { log_debug_errno(errno, "Failed to open %s for logging: %m", tty); @@ -135,23 +137,18 @@ Index: systemd-218/src/journal/journald-console.c } if (writev(fd, iovec, n) < 0) -Index: systemd-218/src/journal/journald-console.h -=================================================================== ---- systemd-218.orig/src/journal/journald-console.h -+++ systemd-218/src/journal/journald-console.h -@@ -24,3 +24,7 @@ +--- systemd-219.orig/src/journal/journald-console.h ++++ systemd-219/src/journal/journald-console.h +@@ -24,3 +24,6 @@ #include "journald-server.h" void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); -+#ifdef HAVE_SYSV_COMPAT ++ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); -+#endif -Index: systemd-218/src/journal/journald-server.c -=================================================================== ---- systemd-218.orig/src/journal/journald-server.c -+++ systemd-218/src/journal/journald-server.c -@@ -1512,6 +1512,11 @@ int server_init(Server *s) { +--- systemd-219.orig/src/journal/journald-server.c ++++ systemd-219/src/journal/journald-server.c +@@ -1520,6 +1520,11 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); diff --git a/suse-sysv-bootd-support.diff b/suse-sysv-bootd-support.diff index 1447c28..b11ea68 100644 --- a/suse-sysv-bootd-support.diff +++ b/suse-sysv-bootd-support.diff @@ -10,10 +10,8 @@ activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] src/sysv-generator/sysv-generator.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) -Index: systemd/src/sysv-generator/sysv-generator.c -=================================================================== ---- systemd.orig/src/sysv-generator/sysv-generator.c -+++ systemd/src/sysv-generator/sysv-generator.c +--- systemd-219.orig/src/sysv-generator/sysv-generator.c ++++ systemd-219/src/sysv-generator/sysv-generator.c @@ -42,7 +42,8 @@ typedef enum RunlevelType { @@ -24,24 +22,17 @@ Index: systemd/src/sysv-generator/sysv-generator.c } RunlevelType; static const struct { -@@ -50,6 +51,16 @@ static const struct { +@@ -50,6 +51,9 @@ static const struct { const char *target; const RunlevelType type; } rcnd_table[] = { -+#ifdef HAVE_SYSV_COMPAT + /* SUSE style boot.d */ + { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+#endif -+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || \ -+ defined(TARGET_ANGSTROM) -+ /* Debian style rcS.d */ -+ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, -+#endif + /* Standard SysV runlevels for start-up */ { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, { "rc2.d", SPECIAL_RUNLEVEL2_TARGET, RUNLEVEL_UP }, -@@ -65,7 +76,7 @@ static const struct { +@@ -65,7 +69,7 @@ static const struct { directories in this order, and we want to make sure that sysv_start_priority is known when we first load the unit. And that value we only know from S links. Hence @@ -50,7 +41,16 @@ Index: systemd/src/sysv-generator/sysv-generator.c }; typedef struct SysvStub { -@@ -235,6 +246,10 @@ static bool usage_contains_reload(const +@@ -83,7 +87,7 @@ typedef struct SysvStub { + bool reload; + } SysvStub; + +-const char *arg_dest = "/tmp"; ++static const char *arg_dest = "/tmp"; + + static int add_symlink(const char *service, const char *where) { + _cleanup_free_ char *from = NULL, *to = NULL; +@@ -235,6 +239,10 @@ static bool usage_contains_reload(const static char *sysv_translate_name(const char *name) { char *r; @@ -61,7 +61,7 @@ Index: systemd/src/sysv-generator/sysv-generator.c r = new(char, strlen(name) + strlen(".service") + 1); if (!r) return NULL; -@@ -864,10 +879,10 @@ static int set_dependencies_from_rcnd(Lo +@@ -864,10 +872,10 @@ static int set_dependencies_from_rcnd(Lo if (de->d_name[0] == 'S') { @@ -74,7 +74,7 @@ Index: systemd/src/sysv-generator/sysv-generator.c r = set_ensure_allocated(&runlevel_services[i], NULL); if (r < 0) -@@ -878,7 +893,8 @@ static int set_dependencies_from_rcnd(Lo +@@ -878,7 +886,8 @@ static int set_dependencies_from_rcnd(Lo goto finish; } else if (de->d_name[0] == 'K' && diff --git a/systemd-journald.init b/systemd-journald.init deleted file mode 100644 index 0b8d508..0000000 --- a/systemd-journald.init +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/sh -# -# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany. -# All rights reserved. -# -# /etc/init.d/systemd-journald -# -### BEGIN INIT INFO -# Provides: syslog -# Required-Start: $null -# Required-Stop: $null -# Default-Start: 2 3 5 -# Default-Stop: -# Short-Description: compat wrapper for journald -# Description: compat wrapper for journald -### END INIT INFO - -. /etc/rc.status - -rc_reset - -case "$1" in - start|stop|restart) - rc_failed 3 - rc_status -v - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 - ;; -esac - -rc_exit diff --git a/systemd-mini.changes b/systemd-mini.changes index 3937a71..b9ad1fd 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org + +- spec : remove --with-firmware-path, firmware loader was removed in v217 +- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) +- spec: Do not enable systemd-readahead-collect.service and +systemd-readahead-replay.service as these do not exist anymore. +- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch + Yast was fixed to write all timezone changes exactly how timedated expects + things to be done. +- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg + package handles the migration from /etc/HOSTNAME to /etc/hostname + and owns both files. +-spec: remove boot.udev and systemd-journald.init as they currently + serve no purpose. +- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we + are in sysvcompat-only codepath, also remove the code targetting other + distributions, never compiled as the TARGET_$DISTRO macros are never defined. +- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT +- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards +- insserv-generator.patch: Only build when sysvcompat is enabled +- vhangup-on-all-consoles.patch add a comment indicating this is a workaround + for a kernel bug. +- spec: Add option to allow disabling sysvinit compat at build time. +- spec: Add option to enable resolved at build time. +- spec: Remove all %ifs for !factory products, current systemd releases can + neither be built nor installed in older products without upgrading + several components of the base system. + (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) +- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when + those init scripts still existed. (dummy localfs.service source: gone) +- systemd-sleep-grub: moved to the grub2 package where it belongs as a + suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) +- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds + config.h everywhere in the preprocessor cmdline. + ------------------------------------------------------------------- Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 6b7fa07..ed0fa9b 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -24,6 +24,8 @@ %define udev_major 1 %bcond_without bash_completion %bcond_with networkd +%bcond_without sysvcompat +%bcond_with resolved %bcond_with python %bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 @@ -63,38 +65,24 @@ BuildRequires: gtk-doc BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: libtool BuildRequires: pam-devel -BuildRequires: config(suse-module-tools) -%if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros -%endif BuildRequires: xz -BuildRequires: pkgconfig(blkid) >= 2.20 +BuildRequires: config(suse-module-tools) +BuildRequires: pkgconfig(blkid) >= 2.24 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(mount) >= 2.20 -%if 0%{?suse_version} >= 1315 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%else -%if 0%{?suse_version} >= 1310 -%ifarch %ix86 x86_64 x32 %arm -BuildRequires: pkgconfig(libseccomp) -%endif -%endif -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -%if 0%{?suse_version} > 1310 Conflicts: sysvinit -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs @@ -151,18 +139,14 @@ Source1: systemd-rpmlintrc %else Source1: systemd-mini-rpmlintrc %endif -Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source1060: boot.udev Source1063: udev-generate-persistent-rule.sh -Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs # handle SUSE specific kbd settings @@ -170,7 +154,6 @@ Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch Patch6: insserv-generator.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -197,8 +180,6 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) -Patch24: handle-etc-HOSTNAME.patch # PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind @@ -229,8 +210,6 @@ Patch183: 0001-add-network-device-after-NFS-mount-units.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager @@ -296,8 +275,6 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 -Patch1008: 1008-add-msft-compability-rules.patch # PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) @@ -590,12 +567,10 @@ cp %{SOURCE7} m4/ %patch5 -p1 %patch6 -p1 %patch12 -p1 -%patch15 -p1 %patch16 -p1 %patch17 -p1 %patch20 -p1 %patch21 -p1 -%patch24 -p1 %patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html @@ -619,7 +594,6 @@ cp %{SOURCE7} m4/ %patch183 -p1 %patch185 -p1 %patch186 -p1 -%patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 @@ -653,9 +627,6 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 -%if 0%{?suse_version} <= 1310 -%patch1008 -p1 -%endif %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 @@ -700,17 +671,6 @@ else sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c fi -%if 0%{?suse_version} <= 1310 -# -# Older versions like oS 13.1 do not distinguish between -# network.target and network-online.target -# -for f in src/core/service.c src/insserv-generator/insserv-generator.c -do - sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f -done -%endif - # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -755,7 +715,7 @@ autoreconf -fi # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=e -export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" +export CFLAGS="%{optflags}" export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" @@ -792,9 +752,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS --enable-selinux \ --enable-split-usr \ --disable-static \ -%if 0%{?suse_version} <= 1310 - --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ -%endif %if ! 0%{?has_efi} --disable-efi \ %endif @@ -803,13 +760,16 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ -%if 0%{?suse_version} > 1310 - --disable-multi-seat-x \ -%endif %if %{without networkd} --disable-networkd \ %endif +%if %{without sysvcompat} + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ +%endif +%if %{without resolved} --disable-resolved \ +%endif --disable-kdbus make %{?_smp_mflags} %if ! 0%{?bootstrap} @@ -832,24 +792,17 @@ ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd + %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif -%if 0%{?suse_version} <= 1310 -ln -sf /lib/firmware %{buildroot}/usr/lib/firmware -%endif + %if ! 0%{?bootstrap} -install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif -sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} -sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} -sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} -install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule -install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -867,27 +820,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# aliases for /etc/init.d/* -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service -ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service -install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service -ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service -ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service + # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -976,10 +909,8 @@ done > files.completion > files.completion %endif -%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%endif %if %{without compat_libs} lib=%{_libdir}/libsystemd.so @@ -991,30 +922,6 @@ do done %endif -%if 0%{suse_version} <= 1310 -cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' - [Unit] - Description=Fix against deadlock at shutdown - Wants=remote-fs.target remote-fs-pre.target - Before=remote-fs.target systemd-logind.service - After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target - ConditionPathExists=|/etc/init.d/autofs - ConditionPathExists=|/etc/init.d/nfs - - [Service] - Type=oneshot - RemainAfterExit=true - ExecStart=/bin/true - ExecStop=-/etc/init.d/autofs stop - ExecStop=-/etc/init.d/nfs stop - - [Install] - WantedBy=remote-fs.target - EOF - mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants - ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants -%endif - # Some files which may created by us or by the admin later on mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ @@ -1110,8 +1017,6 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -1141,7 +1046,6 @@ fi %post -n %{udevpkgname} /usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : -%{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : @@ -1268,7 +1172,6 @@ exit 0 %if %{with networkd} %{_bindir}/networkctl %endif -%{_bindir}/systemd-sleep-grub %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl @@ -1366,12 +1269,14 @@ exit 0 %endif %{_prefix}/lib/systemd/system-generators/systemd-debug-generator %{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator +%if %{with sysvcompat} %{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator %{_prefix}/lib/systemd/system-preset/ %{_prefix}/lib/sysusers.d/ @@ -1497,6 +1402,12 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%if %{with resolved} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_sysconfdir}/systemd/resolved.conf +%{_libdir}/libnss_resolve.so.2 +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion @@ -1582,7 +1493,6 @@ exit 0 %{_prefix}/lib/udev/rules.d/*.rules %dir %{_prefix}/lib/udev/hwdb.d %{_prefix}/lib/udev/hwdb.d/* -%{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin @@ -1613,9 +1523,6 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/udev.pc -%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc @@ -1649,8 +1556,9 @@ exit 0 %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +%if %{with sysvcompat} %{_localstatedir}/log/README -/etc/init.d/systemd-journald +%endif %files -n nss-myhostname %defattr(-, root, root) diff --git a/systemd-powerd-initctl-support.patch b/systemd-powerd-initctl-support.patch index bc0e3ca..675124b 100644 --- a/systemd-powerd-initctl-support.patch +++ b/systemd-powerd-initctl-support.patch @@ -12,10 +12,8 @@ Signed-off-by: Hannes Reinecke src/initctl/initctl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) -diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c -index 468df35..d4794a6 100644 ---- a/src/initctl/initctl.c -+++ b/src/initctl/initctl.c +--- systemd-219.orig/src/initctl/initctl.c ++++ systemd-219/src/initctl/initctl.c @@ -32,8 +32,11 @@ #include #include @@ -36,11 +34,12 @@ index 468df35..d4794a6 100644 #define SERVER_FD_MAX 16 #define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC)) -@@ -141,7 +145,53 @@ static void change_runlevel(Server *s, int runlevel) { +@@ -141,7 +145,54 @@ static void change_runlevel(Server *s, i } } +static int send_shutdownd(unsigned delay, char mode, const char *message) { ++#ifdef HAVE_SYSV_COMPAT + usec_t t = now(CLOCK_REALTIME) + delay * USEC_PER_MINUTE; + struct sd_shutdown_command c = { + .usec = t, @@ -81,7 +80,7 @@ index 468df35..d4794a6 100644 + + if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) + return -errno; -+ ++#endif + return 0; +} + @@ -90,7 +89,7 @@ index 468df35..d4794a6 100644 assert(s); assert(req); -@@ -184,9 +234,28 @@ static void request_process(Server *s, const struct init_request *req) { +@@ -184,9 +235,28 @@ static void request_process(Server *s, c return; case INIT_CMD_POWERFAIL: @@ -120,6 +119,3 @@ index 468df35..d4794a6 100644 return; case INIT_CMD_CHANGECONS: --- -1.8.1.4 - diff --git a/systemd-sleep-grub b/systemd-sleep-grub deleted file mode 100644 index 5cd8bef..0000000 --- a/systemd-sleep-grub +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. - -set -x - -prepare-parameters() -{ - eval `grep LOADER_TYPE= /etc/sysconfig/bootloader` - - if [ x"$LOADER_TYPE" = "xgrub2" -o x"$LOADER_TYPE" = "xgrub2-efi" ]; then - GRUBONCE="/usr/sbin/grub2-once" - GRUBDEFAULT="/boot/grub2/grubenv" - GRUB2EDITENV="/usr/bin/grub2-editenv" - GRUB2CONF="/boot/grub2/grub.cfg" - BLKID="/usr/sbin/blkid" - getkernels="getkernels-grub2" - fi -} - -##################################################################### -# gets a list of available kernels from /boot/grub2/grub.cfg -# kernels are in the array $KERNELS, output to stdout to be eval-ed. -getkernels-grub2() -{ - local I DUMMY MNT ROOTDEV - declare -i I=0 J=-1 - - # we need the root partition later to decide if this is the kernel to select - while read ROOTDEV MNT DUMMY; do - [ "$ROOTDEV" = "rootfs" ] && continue # not what we are searching for - if [ "$MNT" = "/" ]; then - break - fi - done < /proc/mounts - - while read LINE; do - case $LINE in - menuentry\ *) - let J++ - ;; - set\ default*) - local DEFAULT=${LINE#*default=} - - if echo $DEFAULT | grep -q saved_entry ; then - local SAVED=`$GRUB2EDITENV $GRUBDEFAULT list | sed -n s/^saved_entry=//p` - if [ -n "$SAVED" ]; then - DEFAULT_BOOT=$($GRUBONCE --show-mapped "$SAVED") - fi - fi - - ;; - linux*noresume*|module*xen*noresume*) - echo " Skipping grub entry #${J}, because it has the noresume option" >&2 - ;; - linux*root=*|module*xen*root=*) - local ROOT - ROOT=${LINE#*root=} - DUMMY=($ROOT) - ROOT=${DUMMY[0]} - - if [ x"${ROOT:0:5}" = "xUUID=" ]; then - UUID=${ROOT#UUID=} - if [ -n "$UUID" ]; then - ROOT=$($BLKID -U $UUID) - fi - fi - - if [ "$(stat -Lc '%t:%T' $ROOT)" != "$(stat -Lc '%t:%T' $ROOTDEV)" ]; then - echo " Skipping grub entry #${J}, because its root= parameter ($ROOT)" >&2 - echo " does not match the current root device ($ROOTDEV)." >&2 - continue - fi - DUMMY=($LINE) # kernel (hd0,1)/boot/vmlinuz-ABC root=/dev/hda2 - echo "KERNELS[$I]='${DUMMY[1]##*/}'" # vmlinuz-ABC - echo "MENU_ENTRIES[$I]=$J" - # DEBUG "Found kernel entry #${I}: '${DUMMY[1]##*/}'" INFO - let I++ - ;; - linux*|module*xen*) - # a kernel without "root="? We better skip that one... - echo " Skipping grub entry #${J}, because it has no root= option" >&2 - ;; - *) ;; - esac - done < "$GRUB2CONF" -} - -############################################################# -# runs grubonce from the grub package to select which kernel -# to boot on next startup -grub-once() -{ - if [ -x "$GRUBONCE" ]; then - echo " running '$GRUBONCE $1'" - $GRUBONCE $1 - else - echo "WARNING: $GRUBONCE not found, not preparing bootloader" - fi -} - -############################################################# -# restore grub default after (eventually failed) resume -grub-once-restore() -{ - echo "INFO: running grub-once-restore" - prepare-parameters - $GRUB2EDITENV $GRUBDEFAULT unset next_entry -} - -############################################################################# -# try to find a kernel image that matches the actually running kernel. -# We need this, if more than one kernel is installed. This works reasonably -# well with grub, if all kernels are named "vmlinuz-`uname -r`" and are -# located in /boot. If they are not, good luck ;-) -find-kernel-entry() -{ - NEXT_BOOT=-1 - ARCH=`uname -m` - declare -i I=0 - # DEBUG "running kernel: $RUNNING" DIAG - while [ -n "${KERNELS[$I]}" ]; do - BOOTING="${KERNELS[$I]}" - if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then - # DEBUG "Found kernel symlink $BOOTING => $IMAGE" INFO - BOOTING=$IMAGE - fi - case $ARCH in - ppc*) BOOTING="${BOOTING#*vmlinux-}" ;; - *) BOOTING="${BOOTING#*vmlinuz-}" ;; - esac - if [ "$RUNNING" == "$BOOTING" ]; then - NEXT_BOOT=${MENU_ENTRIES[$I]} - echo " running kernel is grub menu entry $NEXT_BOOT (${KERNELS[$I]})" - break - fi - let I++ - done - # if we have not found a kernel, issue a warning. - # if we have found a kernel, we'll do "grub-once" later, after - # prepare_suspend finished. - if [ $NEXT_BOOT -eq -1 ]; then - echo "WARNING: no kernelfile matching the running kernel found" - fi -} - -############################################################################# -# if we did not find a kernel (or BOOT_LOADER is not GRUB) check, -# if the running kernel is still the one that will (probably) be booted for -# resume (default entry in menu.lst or, if there is none, the kernel file -# /boot/vmlinuz points to.) -# This will only work, if you use "original" SUSE kernels. -# you can always override with the config variable set to "yes" -prepare-grub() -{ - echo "INFO: running prepare-grub" - prepare-parameters - eval `$getkernels` - RUNNING=`uname -r` - find-kernel-entry - - RET=0 - - if [ $NEXT_BOOT -eq -1 ]; then - # which kernel is booted with the default entry? - BOOTING="${KERNELS[$DEFAULT_BOOT]}" - # if there is no default entry (no menu.lst?) we fall back to - # the default of /boot/vmlinuz. - [ -z "$BOOTING" ] && BOOTING="vmlinuz" - if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then - BOOTING=$IMAGE - fi - BOOTING="${BOOTING#*vmlinuz-}" - echo "running kernel: '$RUNNING', probably booting kernel: '$BOOTING'" - if [ "$BOOTING" != "$RUNNING" ]; then - echo "ERROR: kernel version mismatch, cannot suspend to disk" - echo "running: $RUNNING booting: $BOOTING" >> $INHIBIT - RET=1 - fi - else - # set the bootloader to the running kernel - echo " preparing boot-loader: selecting entry $NEXT_BOOT, kernel /boot/$BOOTING" - T1=`date +"%s%N"` - sync; sync; sync # this is needed to speed up grub-once on reiserfs - T2=`date +"%s%N"` - echo " grub-once: `grub-once $NEXT_BOOT`" - T3=`date +"%s%N"` - S=$(((T2-T1)/100000000)); S="$((S/10)).${S:0-1}" - G=$(((T3-T2)/100000000)); G="$((G/10)).${G:0-1}" - echo " time needed for sync: $S seconds, time needed for grub: $G seconds." - fi - - return $RET -} - - -###### main() - -if [ "$1" = pre ] ; then - prepare-grub -fi -if [ "$1" = post ] ; then - grub-once-restore -fi diff --git a/systemd.changes b/systemd.changes index 3937a71..b9ad1fd 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Wed Feb 18 05:01:38 UTC 2015 - crrodriguez@opensuse.org + +- spec : remove --with-firmware-path, firmware loader was removed in v217 +- spec: remove --disable-multi-seat-x, gone.(fixed in xorg) +- spec: Do not enable systemd-readahead-collect.service and +systemd-readahead-replay.service as these do not exist anymore. +- spec: drop timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch + Yast was fixed to write all timezone changes exactly how timedated expects + things to be done. +- spec: remove handle-etc-HOSTNAME.patch, since late 2014 the netcfg + package handles the migration from /etc/HOSTNAME to /etc/hostname + and owns both files. +-spec: remove boot.udev and systemd-journald.init as they currently + serve no purpose. +- suse-sysv-bootd-support.diff: Remove HAVE_SYSVINIT conditions, we + are in sysvcompat-only codepath, also remove the code targetting other + distributions, never compiled as the TARGET_$DISTRO macros are never defined. +- systemd-powerd-initctl-support.patch guard with HAVE_SYSV_COMPAT +- set-and-use-default-logconsole.patch: fix HAVE_SYSV_COMPAT guards +- insserv-generator.patch: Only build when sysvcompat is enabled +- vhangup-on-all-consoles.patch add a comment indicating this is a workaround + for a kernel bug. +- spec: Add option to allow disabling sysvinit compat at build time. +- spec: Add option to enable resolved at build time. +- spec: Remove all %ifs for !factory products, current systemd releases can + neither be built nor installed in older products without upgrading + several components of the base system. + (removed: 1008-add-msft-compability-rules.patch was only for =< 13.1) +- spec: remove all dummy "aliases" to /etc/init.d, that made sense only when + those init scripts still existed. (dummy localfs.service source: gone) +- systemd-sleep-grub: moved to the grub2 package where it belongs as a + suspend/resume hook (SR#286533) (drops prepare-suspend-to-disk.patch) +- remove LFS_CFLAGS from CFLAGS, never needed in systemd as it force feds + config.h everywhere in the preprocessor cmdline. + ------------------------------------------------------------------- Mon Feb 16 23:46:11 UTC 2015 - jengelh@inai.de diff --git a/systemd.spec b/systemd.spec index 61a2f1c..2f1d34c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,6 +22,8 @@ %define udev_major 1 %bcond_without bash_completion %bcond_with networkd +%bcond_without sysvcompat +%bcond_with resolved %bcond_with python %bcond_with parentpathid %ifarch %{ix86} x86_64 aarch64 @@ -58,38 +60,24 @@ BuildRequires: gtk-doc BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel -BuildRequires: libkmod-devel BuildRequires: libsepol-devel BuildRequires: libtool -BuildRequires: libtool BuildRequires: pam-devel -BuildRequires: config(suse-module-tools) -%if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros -%endif BuildRequires: xz -BuildRequires: pkgconfig(blkid) >= 2.20 +BuildRequires: config(suse-module-tools) +BuildRequires: pkgconfig(blkid) >= 2.24 BuildRequires: pkgconfig(libkmod) >= 15 BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpci) >= 3 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(mount) >= 2.20 -%if 0%{?suse_version} >= 1315 %ifarch %ix86 x86_64 x32 %arm ppc64le s390x BuildRequires: pkgconfig(libseccomp) %endif -%else -%if 0%{?suse_version} >= 1310 -%ifarch %ix86 x86_64 x32 %arm -BuildRequires: pkgconfig(libseccomp) -%endif -%endif -%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) -%if 0%{?suse_version} > 1310 Conflicts: sysvinit -%endif %if 0%{?bootstrap} #!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs @@ -146,18 +134,14 @@ Source1: systemd-rpmlintrc %else Source1: systemd-mini-rpmlintrc %endif -Source2: localfs.service Source3: systemd-sysv-convert Source6: baselibs.conf Source7: libgcrypt.m4 -Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream Source11: after-local.service -Source1060: boot.udev Source1063: udev-generate-persistent-rule.sh -Source1064: systemd-sleep-grub Source1065: systemd-remount-tmpfs # handle SUSE specific kbd settings @@ -165,7 +149,6 @@ Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch Patch6: insserv-generator.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch -Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -192,8 +175,6 @@ Patch42: systemd-pam_config.patch # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. -# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) -Patch24: handle-etc-HOSTNAME.patch # PATCH-FIX-OPENSUSE forward to pm-utils -- until boo#904828 is addressed Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind @@ -224,8 +205,6 @@ Patch183: 0001-add-network-device-after-NFS-mount-units.patch Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch Patch186: systemctl-set-default-target.patch -# PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager @@ -291,8 +270,6 @@ Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1006: 1006-udev-always-rename-network.patch # PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch -# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 -Patch1008: 1008-add-msft-compability-rules.patch # PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch # PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) @@ -585,12 +562,10 @@ cp %{SOURCE7} m4/ %patch5 -p1 %patch6 -p1 %patch12 -p1 -%patch15 -p1 %patch16 -p1 %patch17 -p1 %patch20 -p1 %patch21 -p1 -%patch24 -p1 %patch25 -p1 # check if this is still needed, or can be derived from fbdev uaccess rule # http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html @@ -614,7 +589,6 @@ cp %{SOURCE7} m4/ %patch183 -p1 %patch185 -p1 %patch186 -p1 -%patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 @@ -648,9 +622,6 @@ cp %{SOURCE7} m4/ %patch1005 -p1 %patch1006 -p1 %patch1007 -p1 -%if 0%{?suse_version} <= 1310 -%patch1008 -p1 -%endif %patch1011 -p1 %patch1012 -p1 %patch1013 -p1 @@ -695,17 +666,6 @@ else sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c fi -%if 0%{?suse_version} <= 1310 -# -# Older versions like oS 13.1 do not distinguish between -# network.target and network-online.target -# -for f in src/core/service.c src/insserv-generator/insserv-generator.c -do - sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f -done -%endif - # # In combination with Patch352 set-and-use-default-logconsole.patch # Ensure that journald log on tty10 @@ -750,7 +710,7 @@ autoreconf -fi # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=e -export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" +export CFLAGS="%{optflags}" export LDFLAGS %if 0%{?suse_version} == 1315 CFLAGS="$CFLAGS -DNET_IFNAMES=1" @@ -787,9 +747,6 @@ cflags -Wl,--hash-size=8599 LDFLAGS --enable-selinux \ --enable-split-usr \ --disable-static \ -%if 0%{?suse_version} <= 1310 - --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ -%endif %if ! 0%{?has_efi} --disable-efi \ %endif @@ -798,13 +755,16 @@ cflags -Wl,--hash-size=8599 LDFLAGS --with-debug-shell=/bin/bash \ --disable-smack \ --disable-ima \ -%if 0%{?suse_version} > 1310 - --disable-multi-seat-x \ -%endif %if %{without networkd} --disable-networkd \ %endif +%if %{without sysvcompat} + --with-sysvinit-path= \ + --with-sysvrcnd-path= \ +%endif +%if %{without resolved} --disable-resolved \ +%endif --disable-kdbus make %{?_smp_mflags} %if ! 0%{?bootstrap} @@ -827,24 +787,17 @@ ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm ln -sf %{_bindir}/systemd-ask-password %{buildroot}/bin/systemd-ask-password ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd + %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif -%if 0%{?suse_version} <= 1310 -ln -sf /lib/firmware %{buildroot}/usr/lib/firmware -%endif + %if ! 0%{?bootstrap} -install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config %endif -sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} -sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} -sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} -install -m755 -D %{S:1060} %{buildroot}/etc/init.d/boot.udev ln -s systemd-udevd.service %{buildroot}/%{_prefix}/lib/systemd/system/udev.service install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule -install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm @@ -862,27 +815,7 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel rm -rf %{buildroot}/etc/systemd/system/*.target.wants rm -f %{buildroot}/etc/systemd/system/default.target -# aliases for /etc/init.d/* -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service -ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service -install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service -ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service -ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service -ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service + # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -971,10 +904,8 @@ done > files.completion > files.completion %endif -%if 0%{suse_version} >= 1310 # packaged in systemd-rpm-macros rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd -%endif %if %{without compat_libs} lib=%{_libdir}/libsystemd.so @@ -986,30 +917,6 @@ do done %endif -%if 0%{suse_version} <= 1310 -cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF' - [Unit] - Description=Fix against deadlock at shutdown - Wants=remote-fs.target remote-fs-pre.target - Before=remote-fs.target systemd-logind.service - After=remote-fs-pre.target network.target rpcbind.target nss-lookup.target nss-user-lookup.target - ConditionPathExists=|/etc/init.d/autofs - ConditionPathExists=|/etc/init.d/nfs - - [Service] - Type=oneshot - RemainAfterExit=true - ExecStart=/bin/true - ExecStop=-/etc/init.d/autofs stop - ExecStop=-/etc/init.d/nfs stop - - [Install] - WantedBy=remote-fs.target - EOF - mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants - ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants -%endif - # Some files which may created by us or by the admin later on mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \ @@ -1105,8 +1012,6 @@ fi if [ $1 -eq 0 ]; then /usr/bin/systemctl disable \ getty@.service \ - systemd-readahead-collect.service \ - systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : rm -f /etc/systemd/system/default.target 2>&1 || : fi @@ -1136,7 +1041,6 @@ fi %post -n %{udevpkgname} /usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : -%{fillup_and_insserv -Y boot.udev} # add KERNEL name match to existing persistent net rules sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : @@ -1263,7 +1167,6 @@ exit 0 %if %{with networkd} %{_bindir}/networkctl %endif -%{_bindir}/systemd-sleep-grub %{_bindir}/busctl %{_bindir}/kernel-install %{_bindir}/hostnamectl @@ -1361,12 +1264,14 @@ exit 0 %endif %{_prefix}/lib/systemd/system-generators/systemd-debug-generator %{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator +%if %{with sysvcompat} %{_prefix}/lib/systemd/system-generators/systemd-sysv-generator -%{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator -%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator %{_prefix}/lib/systemd/system-preset/ %{_prefix}/lib/sysusers.d/ @@ -1492,6 +1397,12 @@ exit 0 %{_datadir}/zsh/site-functions/* %ghost %{_localstatedir}/lib/systemd/backlight %ghost %{_localstatedir}/lib/systemd/random-seed +%if %{with resolved} +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.resolve1.conf +%{_sysconfdir}/systemd/resolved.conf +%{_libdir}/libnss_resolve.so.2 +%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service +%endif %if ! 0%{?bootstrap} %files bash-completion -f files.completion @@ -1577,7 +1488,6 @@ exit 0 %{_prefix}/lib/udev/rules.d/*.rules %dir %{_prefix}/lib/udev/hwdb.d %{_prefix}/lib/udev/hwdb.d/* -%{_sysconfdir}/init.d/boot.udev %dir %{_sysconfdir}/udev/ %dir %{_sysconfdir}/udev/rules.d/ %ghost %{_sysconfdir}/udev/hwdb.bin @@ -1608,9 +1518,6 @@ exit 0 %defattr(-,root,root) %{_includedir}/libudev.h %{_libdir}/libudev.so -%if 0%{?suse_version} <= 1310 -%{_datadir}/pkgconfig/udev.pc -%endif %{_libdir}/pkgconfig/libudev.pc %if ! 0%{?bootstrap} %dir %{_datadir}/gtk-doc @@ -1644,8 +1551,9 @@ exit 0 %files logger %defattr(-,root,root) %dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal/ +%if %{with sysvcompat} %{_localstatedir}/log/README -/etc/init.d/systemd-journald +%endif %files -n nss-myhostname %defattr(-, root, root) diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch deleted file mode 100644 index fb97a2f..0000000 --- a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Frederic Crozat -Date: Tue, 14 Aug 2012 14:26:16 +0200 -Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock - ---- - src/timedate/timedated.c | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- systemd-206_git201308300826.orig/src/timedate/timedated.c -+++ systemd-206_git201308300826/src/timedate/timedated.c -@@ -182,6 +182,13 @@ static int read_data(void) { - goto have_timezone; - } - } -+#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, -+ "TIMEZONE", &c->zone, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); -+#endif - - have_timezone: - if (isempty(c->zone)) { diff --git a/vhangup-on-all-consoles.patch b/vhangup-on-all-consoles.patch index 6d12442..3273aba 100644 --- a/vhangup-on-all-consoles.patch +++ b/vhangup-on-all-consoles.patch @@ -2,6 +2,14 @@ Related to bnc#886599 and others. That is use the vhangup(8) tool to explicit do a virtually hangup on the specified on the terminal line to give e.g. the bash a few seconds to e.g. safe its history. +[crrodriguez@opensuse.org: Feb 2015 +This a known kernel bug, no notification from the cgroup subsystem +arrives and the processes in the "scope" units have +to be SIGKILL'ed without delay in order not to hang shutdown +Status: fix not available as of Feb 16 2015 +track progress: https://bugzilla.redhat.com/show_bug.cgi?id=1141137 +] + --- units/getty@.service.m4 | 1 + units/serial-getty@.service.m4 | 1 +