- 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)

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=856
This commit is contained in:
Marcus Meissner 2015-02-18 12:10:33 +00:00 committed by Git OBS Bridge
parent 31fc969bfc
commit 337f029af9
17 changed files with 190 additions and 780 deletions

View File

@ -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"

View File

@ -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

View File

@ -1,79 +0,0 @@
From: Frederic Crozat <fcrozat@suse.com>
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) {

View File

@ -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 -*-*/
+

View File

@ -1,8 +0,0 @@
[Unit]
Description=Shadow /etc/init.d/boot.localfs
DefaultDependencies=no
After=local-fs.target
[Service]
RemainAfterExit=true
ExecStart=/bin/true

View File

@ -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

View File

@ -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 <fcntl.h>
#include <unistd.h>
@ -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);

View File

@ -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' &&

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -12,10 +12,8 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
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 <sys/un.h>
#include <fcntl.h>
@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -1,24 +0,0 @@
From: Frederic Crozat <fcrozat@suse.com>
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)) {

View File

@ -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 +