SHA256
1
0
forked from pool/systemd

Accepting request 587019 from Base:System

OBS-URL: https://build.opensuse.org/request/show/587019
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=274
This commit is contained in:
Dominique Leuenberger 2018-03-16 09:38:08 +00:00 committed by Git OBS Bridge
commit 4ee3ebe7de
11 changed files with 550 additions and 96 deletions

View File

@ -0,0 +1,201 @@
From 24051a17e8df0976b41180a6d50275e7edf3e461 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Wed, 14 Mar 2018 18:00:24 +0100
Subject: [PATCH 1/1] basic/macros: rename noreturn into _noreturn_
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
"noreturn" is reserved and can be used in other header files we include:
[ 16s] In file included from /usr/include/gcrypt.h:30:0,
[ 16s] from ../src/journal/journal-file.h:26,
[ 16s] from ../src/journal/journal-vacuum.c:31:
[ 16s] /usr/include/gpg-error.h:1544:46: error: expected , or ; before ) token
[ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2);
Here we include grcrypt.h (which in turns include gpg-error.h) *after* we
"noreturn" was defined in macro.h.
---
src/basic/log.c | 4 ++--
src/basic/log.h | 4 ++--
src/basic/macro.h | 19 +++++++++----------
src/basic/process-util.c | 2 +-
src/basic/process-util.h | 2 +-
src/core/main.c | 4 ++--
src/journal/test-journal-interleaving.c | 2 +-
src/shared/pager.c | 2 +-
src/udev/collect/collect.c | 2 +-
9 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/src/basic/log.c b/src/basic/log.c
index 7a7f2cbec..16a2431c5 100644
--- a/src/basic/log.c
+++ b/src/basic/log.c
@@ -814,7 +814,7 @@ static void log_assert(
log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer);
}
-noreturn void log_assert_failed_realm(
+_noreturn_ void log_assert_failed_realm(
LogRealm realm,
const char *text,
const char *file,
@@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm(
abort();
}
-noreturn void log_assert_failed_unreachable_realm(
+_noreturn_ void log_assert_failed_unreachable_realm(
LogRealm realm,
const char *text,
const char *file,
diff --git a/src/basic/log.h b/src/basic/log.h
index efcf0f1bf..314be128a 100644
--- a/src/basic/log.h
+++ b/src/basic/log.h
@@ -186,7 +186,7 @@ int log_dump_internal(
char *buffer);
/* Logging for various assertions */
-noreturn void log_assert_failed_realm(
+_noreturn_ void log_assert_failed_realm(
LogRealm realm,
const char *text,
const char *file,
@@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm(
#define log_assert_failed(text, ...) \
log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__)
-noreturn void log_assert_failed_unreachable_realm(
+_noreturn_ void log_assert_failed_unreachable_realm(
LogRealm realm,
const char *text,
const char *file,
diff --git a/src/basic/macro.h b/src/basic/macro.h
index 95be63a20..d8a6432f6 100644
--- a/src/basic/macro.h
+++ b/src/basic/macro.h
@@ -53,6 +53,15 @@
#else
#define _fallthrough_
#endif
+/* Define C11 noreturn without <stdnoreturn.h> and even on older gcc
+ * compiler versions */
+#ifndef noreturn
+#if __STDC_VERSION__ >= 201112L
+#define _noreturn_ _Noreturn
+#else
+#define _noreturn_ __attribute__((noreturn))
+#endif
+#endif
/* Temporarily disable some warnings */
#define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \
@@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) {
#endif
#endif
-/* Define C11 noreturn without <stdnoreturn.h> and even on older gcc
- * compiler versions */
-#ifndef noreturn
-#if __STDC_VERSION__ >= 201112L
-#define noreturn _Noreturn
-#else
-#define noreturn __attribute__((noreturn))
-#endif
-#endif
-
#define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \
static inline void func##p(type *p) { \
if (*p) \
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
index aa9846db5..e6120af5b 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -987,7 +987,7 @@ bool is_main_thread(void) {
return cached > 0;
}
-noreturn void freeze(void) {
+_noreturn_ void freeze(void) {
log_close();
diff --git a/src/basic/process-util.h b/src/basic/process-util.h
index 93029e36e..5170adec7 100644
--- a/src/basic/process-util.h
+++ b/src/basic/process-util.h
@@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid);
bool is_main_thread(void);
-noreturn void freeze(void);
+_noreturn_ void freeze(void);
bool oom_score_adjust_is_valid(int oa);
diff --git a/src/core/main.c b/src/core/main.c
index 076846a41..4b2d14923 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX;
static sd_id128_t arg_machine_id = {};
static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE;
-noreturn static void freeze_or_reboot(void) {
+_noreturn_ static void freeze_or_reboot(void) {
if (arg_crash_reboot) {
log_notice("Rebooting in 10s...");
@@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) {
freeze();
}
-noreturn static void crash(int sig) {
+_noreturn_ static void crash(int sig) {
struct sigaction sa;
pid_t pid;
diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c
index 5a88b2774..d87bdbdd3 100644
--- a/src/journal/test-journal-interleaving.c
+++ b/src/journal/test-journal-interleaving.c
@@ -37,7 +37,7 @@
static bool arg_keep = false;
-noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) {
+_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) {
log_internal(LOG_CRIT, error, file, line, func,
"'%s' failed at %s:%u (%s): %m", text, file, line, func);
abort();
diff --git a/src/shared/pager.c b/src/shared/pager.c
index 75db3c985..681af9c40 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -47,7 +47,7 @@ static int stored_stderr = -1;
static bool stdout_redirected = false;
static bool stderr_redirected = false;
-noreturn static void pager_fallback(void) {
+_noreturn_ static void pager_fallback(void) {
int r;
r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0);
diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c
index 2821640e9..c8fa47b3d 100644
--- a/src/udev/collect/collect.c
+++ b/src/udev/collect/collect.c
@@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node)
return container_of(node, struct _mate, node);
}
-noreturn static void sig_alrm(int signo)
+_noreturn_ static void sig_alrm(int signo)
{
exit(4);
}
--
2.16.2

11
60-ssd-scheduler.rules Normal file
View File

@ -0,0 +1,11 @@
# do not edit this file, it will be overwritten on update
ACTION!="add", GOTO="ssd_scheduler_end"
SUBSYSTEM!="block", GOTO="ssd_scheduler_end"
IMPORT{cmdline}="elevator"
ENV{elevator}=="*?", GOTO="ssd_scheduler_end"
KERNEL=="sd*[!0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
LABEL="ssd_scheduler_end"

24
80-hotplug-cpu-mem.rules Normal file
View File

@ -0,0 +1,24 @@
# do not edit this file, it will be overwritten on update
#
# Hotplug physical CPU
#
SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1"
#
# Hotplug physical memory. Instances of tmpfs are remounted so their
# size are recalculated. This might be needed if some sizes were
# specified relative to the total amount of memory (boo#869603). For
# now make it simple and remount all tmpfs regardless of how their
# size are specified. It should be handled by the kernel as it has a
# lot of shortcomings anyways (tmpfs mounted by other processes, mount
# namespaces, ...)
#
SUBSYSTEM=="memory", ACTION=="add", PROGRAM=="/usr/bin/systemd-detect-virt", RESULT!="zvm", ATTR{state}=="offline", \
ATTR{state}="online", \
RUN+="/bin/sh -c ' \
while read src dst fs opts unused; do \
case $fs in \
tmpfs) mount -o remount \"$dst\" ;; \
esac \
done </proc/self/mounts"

View File

@ -0,0 +1,3 @@
# enable usb and standard AT Keyboards as wakeup sources for suspend-to-idle (S2I) fate#323814
ACTION=="add", ATTR{power/wakeup}=="disabled", SUBSYSTEM=="serio", ATTR{description}=="i8042 KBD port", ATTR{power/wakeup}="enabled"
ACTION=="add", ATTR{power/wakeup}=="disabled", SUBSYSTEM=="hid", ATTRS{bInterfaceProtocol}=="01", ATTR{power/wakeup}="enabled"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49daec1195deaa22bd490d70f78aafb7bdc0058ca236125e3c39127688c6db94
size 3353696

3
systemd-237.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b420f2ff5841266d03c6691bd8adb705b2c46c391c33610923a23444232633f4
size 4630076

View File

@ -1,3 +1,106 @@
-------------------------------------------------------------------
Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com
- Add 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
This fix a build error triggered by the introduction of the new
version of libgpg-error package. Patch submitted to upsream:
https://github.com/systemd/systemd/pull/8456
-------------------------------------------------------------------
Wed Mar 14 08:05:07 UTC 2018 - fbui@suse.com
- Turn off the IP sandboxing for systemd-logind
Since v235 logind run inside an IPv4/IPv6 sandbox by default. This
creates incompatibilites for systems using NIS.
-------------------------------------------------------------------
Tue Mar 13 15:07:41 UTC 2018 - fbui@suse.com
- Restore (maybe temporarly) "pam_config --add systemd"
During its installation pam-config seems to overwrite the defaults
shipped by "pam" for "some" reasons (see bsc#1084924)
No idea why but since pam_systemd is not part of the "pam-config"
defaults, we need to restore pam_systemd in common-session
manually...
-------------------------------------------------------------------
Fri Mar 9 09:35:59 UTC 2018 - fbui@suse.com
- Remove dropin that was used to turn delegation off for user instances
Upstream now enables "memory" and "pids" controllers only which
should have a very limited impact on performance compare to the
"cpu" controller.
-------------------------------------------------------------------
Fri Mar 9 09:30:14 UTC 2018 - fbui@suse.com
- Import commit 46d6bc9c4f1c05f3b4fcfca754cc59963bd86ce3
2a79f4e78 units: delegate "memory" instead of "cpu" by default for user instances (#8320) (bsc#954765 bnc#953241 fate#320421)
88174ae85 compat-rules: fix syntax errors spotted by test/rule-syntax-check.py
-------------------------------------------------------------------
Thu Mar 8 15:22:10 UTC 2018 - fbui@suse.com
- Remove udev-remount-tmpfs script
Complete the previous commit.
-------------------------------------------------------------------
Thu Mar 8 14:31:16 UTC 2018 - fbui@suse.com
- Fix hotplug memory in 80-hotplug-cpu-mem.rules
When new memory was hotplugged, the rule was supposed to call an
external script (udev-remount-tmpfs) to remount all tmpfs. However
the script was broken since its introduction (commit rev=715,
14/07/2014) and had no effects... this makes me wonder if we
shouldn't get rid of this...
-------------------------------------------------------------------
Wed Mar 7 14:34:22 UTC 2018 - fbui@suse.com
- Make sure /var/lib/machines is created when systemd-container is installed
-------------------------------------------------------------------
Thu Mar 1 10:43:09 UTC 2018 - fbui@suse.com
- BS forces us to own %{_prefix}/lib/modprobe.d
This seems wrong but that's how the SUSE BS works.
-------------------------------------------------------------------
Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com
- Upgrade to v237 (commit 78221ca750a9c266f9f8497dda59d7ee44000a6c)
Udev rules 60-ssd-scheduler.rules and 80-hotplug-cpu-mem.rules have
been removed from the git repo and are now maintained at the package
level. Those rules have been rejected by upstream as they seem to be
written to workaround some kernel shortcomings...
-------------------------------------------------------------------
Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com
- add basic user space support for suspend to idle (fate#323814)
add 99-wakeup-from-idle.rules
Currently this only covers the power button and usb/AT keyboards
as wakeup devices. It is planned to make that configurable in
the future.
-------------------------------------------------------------------
Tue Feb 27 09:04:32 UTC 2018 - fbui@suse.com
- Don't call "pam-config --systemd"
pam_systemd.so has been integrated directly in the PAM stack since
bsc#812462. So there's no need to call pam-config.
-------------------------------------------------------------------
Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com

View File

@ -49,10 +49,10 @@
Name: systemd-mini
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 234
Version: 237
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if ! 0%{?bootstrap}
@ -152,7 +152,9 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh
Source102: scripts-systemd-migrate-sysconfig-i18n.sh
Source200: scripts-udev-convert-lib-udev-path.sh
Source1065: udev-remount-tmpfs
Source1000: 60-ssd-scheduler.rules
Source1001: 80-hotplug-cpu-mem.rules
Source1002: 99-wakeup-from-idle.rules
# Patches listed in here are put in quarantine. Normally all
# changes must go to upstream first and then are cherry-picked in the
@ -160,6 +162,7 @@ Source1065: udev-remount-tmpfs
# broken in upstream and need an urgent fix. Even in this case, the
# patches are temporary and should be removed as soon as a fix is
# merged by upstream.
Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -173,7 +176,7 @@ drop-in replacement for sysvinit.
%package devel
Summary: Development headers for systemd
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libsystemd0%{?mini} = %{version}-%{release}
Requires: systemd-rpm-macros
@ -186,7 +189,7 @@ Development headers and auxiliary files for developing applications for systemd.
%package sysvinit
Summary: System V init tools
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
Provides: sbin_init
@ -198,7 +201,7 @@ Drop-in replacement of System V init tools.
%package -n libsystemd0%{?mini}
Summary: Component library for systemd
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libsystemd0
@ -228,7 +231,7 @@ This library provides several of the systemd C APIs:
%package -n udev%{?mini}
Summary: A rule-based device node and kernel event manager
License: GPL-2.0
License: GPL-2.0-only
Group: System/Kernel
Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
Requires: system-group-hardware
@ -265,7 +268,7 @@ call tools to initialize a device, or load needed kernel modules.
%package -n libudev%{?mini}1
Summary: Dynamic library to access udev device information
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libudev1
@ -280,7 +283,7 @@ access to udev device information
%package -n libudev%{?mini}-devel
Summary: Development files for libudev
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: Development/Libraries/Other
Requires: libudev%{?mini}1 = %{version}-%{release}
%if 0%{?bootstrap}
@ -295,7 +298,7 @@ dynamic library, which provides access to udev device information.
%package container
Summary: Systemd tools for container management
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
@ -310,7 +313,7 @@ and systemd-importd.
%if ! 0%{?bootstrap}
%package logger
Summary: Journal only logging
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Provides: syslog
Provides: sysvinit(syslog)
@ -322,7 +325,7 @@ This package marks the installation to not use syslog but only the journal.
%package -n nss-systemd
Summary: Plugin for local virtual host name resolution
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-systemd
@ -335,7 +338,7 @@ To activate this NSS module, you will need to include it in
%package -n nss-myhostname
Summary: Plugin for local system host name resolution
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-myhostname
@ -352,7 +355,7 @@ To activate this NSS module, you will need to include it in
%if %{with resolved}
%package -n nss-resolve
Summary: Plugin for local hostname resolution via systemd-resolved
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
Requires: %{name} = %{version}-%{release}
@ -369,7 +372,7 @@ To activate this NSS module, you will need to include it in
%if %{with machined}
%package -n nss-mymachines
Summary: Plugin for local virtual host name resolution
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-mymachines
@ -386,7 +389,7 @@ To activate this NSS module, you will need to include it in
%if %{with journal_remote}
%package journal-remote
Summary: Gateway for serving journal events over the network using HTTP
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
@ -405,7 +408,7 @@ systemd-journal-remote, and systemd-journal-upload.
%package bash-completion
Summary: Bash completion support for systemd
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Requires: bash-completion
BuildArch: noarch
@ -418,7 +421,7 @@ Some systemd commands offer bash completion, but it is an optional dependency.
%prep
%setup -q -n systemd-%{version}
# %autopatch -p1
%autopatch -p1
%build
opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org)
@ -492,7 +495,11 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated
install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert
install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install
install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
# The rules that we shouldn't maintain
install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules
install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules
install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules
# Package the scripts used to fix all packaging issues. Also drop the
# "scripts-{systemd/udev}" prefix which is used because osc doesn't
@ -600,19 +607,22 @@ mkdir -p %{buildroot}%{_systemd_system_env_generator_dir}
mkdir -p %{buildroot}%{_systemd_user_env_generator_dir}
# create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/
cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf
mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/
cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <<EOF
[Service]
# ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no
EOF
# create drop-in to prevent delegate=yes for root user (bsc#954765,
# bnc#953241, fate#320421)
mkdir -p %{buildroot}%{_unitdir}/user@0.service.d/
cat >%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <<EOF
# Since v235 logind run inside an IPv4/IPv6 sandbox by default. This
# creates incompatibilites for systems using NIS. Turn off the IP
# sandboxing.
mkdir %{buildroot}%{_unitdir}/systemd-logind.service.d/
cat >%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf <<EOF
# To keep backward compat with system using NIS, turn off the
# IP sandboxing.
[Service]
Delegate=no
IPAddressDeny=
EOF
# ensure after.local wrapper is called
@ -671,14 +681,15 @@ fi
# especially important for appliance builds to avoid an identical
# machine ID in all images.
if [ $1 -eq 1 ]; then
touch %{_sysconfdir}/machine-id
chmod 666 %{_sysconfdir}/machine-id
touch %{_sysconfdir}/machine-id
chmod 666 %{_sysconfdir}/machine-id
fi
%sysusers_create %{_sysusersdir}/systemd.conf
%if ! 0%{?bootstrap}
pam-config -a --systemd || :
pam-config --add --systemd || :
%endif
%sysusers_create %{_sysusersdir}/systemd.conf
[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || :
/usr/lib/systemd/systemd-random-seed save || :
systemctl daemon-reexec || :
@ -780,6 +791,7 @@ systemctl daemon-reload || :
%if ! 0%{?bootstrap}
%post container
%tmpfiles_create systemd-nspawn.conf
if [ $1 -gt 1 ]; then
# Convert /var/lib/machines subvolume to make it suitable for
# rollbacks, if needed. See bsc#992573. The installer has been fixed
@ -831,7 +843,6 @@ fi
%post journal-remote
%sysusers_create %{_sysusersdir}/systemd-remote.conf
%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%service_add_post systemd-journal-remote.socket systemd-journal-remote.service
%service_add_post systemd-journal-upload.service
@ -940,8 +951,7 @@ fi
%{_unitdir}/*.socket
%{_unitdir}/*.wants
%{_unitdir}/*.path
%{_userunitdir}/*.target
%{_userunitdir}/*.service
%{_userunitdir}/
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
%{_prefix}/lib/systemd/libsystemd-shared-*.so
@ -962,10 +972,10 @@ fi
%dir %{_ntpunitsdir}
%dir %{_prefix}/lib/systemd/system-shutdown/
%dir %{_prefix}/lib/systemd/system-sleep/
%dir %{_unitdir}/getty@tty1.service.d
%dir %{_unitdir}/user@0.service.d
%{_unitdir}/getty@tty1.service.d/noclear.conf
%{_unitdir}/user@0.service.d/nodelagate.conf
%{_unitdir}/getty@tty1.service.d
%{_unitdir}/systemd-logind.service.d
/%{_lib}/security/pam_systemd.so
%if %{with gnuefi}
@ -1041,6 +1051,10 @@ fi
%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf
%endif
# FIXME: why should we have to own this dir ?
%dir %{_prefix}/lib/modprobe.d
%{_prefix}/lib/modprobe.d/systemd.conf
# Some files created at runtime.
%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf
@ -1171,7 +1185,6 @@ fi
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/remount-tmpfs
%ghost %{_prefix}/lib/udev/compat-symlink-generation
%dir %{_udevrulesdir}/
%exclude %{_udevrulesdir}/70-uaccess.rules
@ -1311,7 +1324,6 @@ fi
%{_prefix}/lib/systemd/systemd-journal-remote
%{_prefix}/lib/systemd/systemd-journal-upload
%{_sysusersdir}/systemd-remote.conf
%{_tmpfilesdir}/systemd-remote.conf
%{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man8/systemd-journal-remote.*
%{_mandir}/man8/systemd-journal-upload.*

View File

@ -1,3 +1,106 @@
-------------------------------------------------------------------
Wed Mar 14 17:22:53 UTC 2018 - fbui@suse.com
- Add 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
This fix a build error triggered by the introduction of the new
version of libgpg-error package. Patch submitted to upsream:
https://github.com/systemd/systemd/pull/8456
-------------------------------------------------------------------
Wed Mar 14 08:05:07 UTC 2018 - fbui@suse.com
- Turn off the IP sandboxing for systemd-logind
Since v235 logind run inside an IPv4/IPv6 sandbox by default. This
creates incompatibilites for systems using NIS.
-------------------------------------------------------------------
Tue Mar 13 15:07:41 UTC 2018 - fbui@suse.com
- Restore (maybe temporarly) "pam_config --add systemd"
During its installation pam-config seems to overwrite the defaults
shipped by "pam" for "some" reasons (see bsc#1084924)
No idea why but since pam_systemd is not part of the "pam-config"
defaults, we need to restore pam_systemd in common-session
manually...
-------------------------------------------------------------------
Fri Mar 9 09:35:59 UTC 2018 - fbui@suse.com
- Remove dropin that was used to turn delegation off for user instances
Upstream now enables "memory" and "pids" controllers only which
should have a very limited impact on performance compare to the
"cpu" controller.
-------------------------------------------------------------------
Fri Mar 9 09:30:14 UTC 2018 - fbui@suse.com
- Import commit 46d6bc9c4f1c05f3b4fcfca754cc59963bd86ce3
2a79f4e78 units: delegate "memory" instead of "cpu" by default for user instances (#8320) (bsc#954765 bnc#953241 fate#320421)
88174ae85 compat-rules: fix syntax errors spotted by test/rule-syntax-check.py
-------------------------------------------------------------------
Thu Mar 8 15:22:10 UTC 2018 - fbui@suse.com
- Remove udev-remount-tmpfs script
Complete the previous commit.
-------------------------------------------------------------------
Thu Mar 8 14:31:16 UTC 2018 - fbui@suse.com
- Fix hotplug memory in 80-hotplug-cpu-mem.rules
When new memory was hotplugged, the rule was supposed to call an
external script (udev-remount-tmpfs) to remount all tmpfs. However
the script was broken since its introduction (commit rev=715,
14/07/2014) and had no effects... this makes me wonder if we
shouldn't get rid of this...
-------------------------------------------------------------------
Wed Mar 7 14:34:22 UTC 2018 - fbui@suse.com
- Make sure /var/lib/machines is created when systemd-container is installed
-------------------------------------------------------------------
Thu Mar 1 10:43:09 UTC 2018 - fbui@suse.com
- BS forces us to own %{_prefix}/lib/modprobe.d
This seems wrong but that's how the SUSE BS works.
-------------------------------------------------------------------
Thu Mar 1 10:13:02 UTC 2018 - fbui@suse.com
- Upgrade to v237 (commit 78221ca750a9c266f9f8497dda59d7ee44000a6c)
Udev rules 60-ssd-scheduler.rules and 80-hotplug-cpu-mem.rules have
been removed from the git repo and are now maintained at the package
level. Those rules have been rejected by upstream as they seem to be
written to workaround some kernel shortcomings...
-------------------------------------------------------------------
Wed Feb 28 06:53:02 UTC 2018 - Thomas.Blume@suse.com
- add basic user space support for suspend to idle (fate#323814)
add 99-wakeup-from-idle.rules
Currently this only covers the power button and usb/AT keyboards
as wakeup devices. It is planned to make that configurable in
the future.
-------------------------------------------------------------------
Tue Feb 27 09:04:32 UTC 2018 - fbui@suse.com
- Don't call "pam-config --systemd"
pam_systemd.so has been integrated directly in the PAM stack since
bsc#812462. So there's no need to call pam-config.
-------------------------------------------------------------------
Mon Feb 26 10:47:39 UTC 2018 - fbui@suse.com

View File

@ -47,10 +47,10 @@
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 234
Version: 237
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if ! 0%{?bootstrap}
@ -150,7 +150,9 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh
Source102: scripts-systemd-migrate-sysconfig-i18n.sh
Source200: scripts-udev-convert-lib-udev-path.sh
Source1065: udev-remount-tmpfs
Source1000: 60-ssd-scheduler.rules
Source1001: 80-hotplug-cpu-mem.rules
Source1002: 99-wakeup-from-idle.rules
# Patches listed in here are put in quarantine. Normally all
# changes must go to upstream first and then are cherry-picked in the
@ -158,6 +160,7 @@ Source1065: udev-remount-tmpfs
# broken in upstream and need an urgent fix. Even in this case, the
# patches are temporary and should be removed as soon as a fix is
# merged by upstream.
Patch1: 0001-basic-macros-rename-noreturn-into-_noreturn_.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -171,7 +174,7 @@ drop-in replacement for sysvinit.
%package devel
Summary: Development headers for systemd
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libsystemd0%{?mini} = %{version}-%{release}
Requires: systemd-rpm-macros
@ -184,7 +187,7 @@ Development headers and auxiliary files for developing applications for systemd.
%package sysvinit
Summary: System V init tools
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
Provides: sbin_init
@ -196,7 +199,7 @@ Drop-in replacement of System V init tools.
%package -n libsystemd0%{?mini}
Summary: Component library for systemd
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libsystemd0
@ -226,7 +229,7 @@ This library provides several of the systemd C APIs:
%package -n udev%{?mini}
Summary: A rule-based device node and kernel event manager
License: GPL-2.0
License: GPL-2.0-only
Group: System/Kernel
Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
Requires: system-group-hardware
@ -263,7 +266,7 @@ call tools to initialize a device, or load needed kernel modules.
%package -n libudev%{?mini}1
Summary: Dynamic library to access udev device information
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libudev1
@ -278,7 +281,7 @@ access to udev device information
%package -n libudev%{?mini}-devel
Summary: Development files for libudev
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: Development/Libraries/Other
Requires: libudev%{?mini}1 = %{version}-%{release}
%if 0%{?bootstrap}
@ -293,7 +296,7 @@ dynamic library, which provides access to udev device information.
%package container
Summary: Systemd tools for container management
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
@ -308,7 +311,7 @@ and systemd-importd.
%if ! 0%{?bootstrap}
%package logger
Summary: Journal only logging
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Provides: syslog
Provides: sysvinit(syslog)
@ -320,7 +323,7 @@ This package marks the installation to not use syslog but only the journal.
%package -n nss-systemd
Summary: Plugin for local virtual host name resolution
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-systemd
@ -333,7 +336,7 @@ To activate this NSS module, you will need to include it in
%package -n nss-myhostname
Summary: Plugin for local system host name resolution
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-myhostname
@ -350,7 +353,7 @@ To activate this NSS module, you will need to include it in
%if %{with resolved}
%package -n nss-resolve
Summary: Plugin for local hostname resolution via systemd-resolved
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
Requires: %{name} = %{version}-%{release}
@ -367,7 +370,7 @@ To activate this NSS module, you will need to include it in
%if %{with machined}
%package -n nss-mymachines
Summary: Plugin for local virtual host name resolution
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-mymachines
@ -384,7 +387,7 @@ To activate this NSS module, you will need to include it in
%if %{with journal_remote}
%package journal-remote
Summary: Gateway for serving journal events over the network using HTTP
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
@ -403,7 +406,7 @@ systemd-journal-remote, and systemd-journal-upload.
%package bash-completion
Summary: Bash completion support for systemd
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: System/Base
Requires: bash-completion
BuildArch: noarch
@ -416,7 +419,7 @@ Some systemd commands offer bash completion, but it is an optional dependency.
%prep
%setup -q -n systemd-%{version}
# %autopatch -p1
%autopatch -p1
%build
opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org)
@ -490,7 +493,11 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated
install -m0755 -D %{S:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert
install -m0755 -D %{S:12} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install
install -m0755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
# The rules that we shouldn't maintain
install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-ssd-scheduler.rules
install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules
install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules
# Package the scripts used to fix all packaging issues. Also drop the
# "scripts-{systemd/udev}" prefix which is used because osc doesn't
@ -598,19 +605,22 @@ mkdir -p %{buildroot}%{_systemd_system_env_generator_dir}
mkdir -p %{buildroot}%{_systemd_user_env_generator_dir}
# create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_unitdir}/getty@tty1.service.d/
cat << EOF > %{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf
mkdir %{buildroot}%{_unitdir}/getty@tty1.service.d/
cat >%{buildroot}%{_unitdir}/getty@tty1.service.d/noclear.conf <<EOF
[Service]
# ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no
EOF
# create drop-in to prevent delegate=yes for root user (bsc#954765,
# bnc#953241, fate#320421)
mkdir -p %{buildroot}%{_unitdir}/user@0.service.d/
cat >%{buildroot}%{_unitdir}/user@0.service.d/nodelagate.conf <<EOF
# Since v235 logind run inside an IPv4/IPv6 sandbox by default. This
# creates incompatibilites for systems using NIS. Turn off the IP
# sandboxing.
mkdir %{buildroot}%{_unitdir}/systemd-logind.service.d/
cat >%{buildroot}%{_unitdir}/systemd-logind.service.d/nosandbox.conf <<EOF
# To keep backward compat with system using NIS, turn off the
# IP sandboxing.
[Service]
Delegate=no
IPAddressDeny=
EOF
# ensure after.local wrapper is called
@ -669,14 +679,15 @@ fi
# especially important for appliance builds to avoid an identical
# machine ID in all images.
if [ $1 -eq 1 ]; then
touch %{_sysconfdir}/machine-id
chmod 666 %{_sysconfdir}/machine-id
touch %{_sysconfdir}/machine-id
chmod 666 %{_sysconfdir}/machine-id
fi
%sysusers_create %{_sysusersdir}/systemd.conf
%if ! 0%{?bootstrap}
pam-config -a --systemd || :
pam-config --add --systemd || :
%endif
%sysusers_create %{_sysusersdir}/systemd.conf
[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || :
/usr/lib/systemd/systemd-random-seed save || :
systemctl daemon-reexec || :
@ -778,6 +789,7 @@ systemctl daemon-reload || :
%if ! 0%{?bootstrap}
%post container
%tmpfiles_create systemd-nspawn.conf
if [ $1 -gt 1 ]; then
# Convert /var/lib/machines subvolume to make it suitable for
# rollbacks, if needed. See bsc#992573. The installer has been fixed
@ -829,7 +841,6 @@ fi
%post journal-remote
%sysusers_create %{_sysusersdir}/systemd-remote.conf
%tmpfiles_create %{_tmpfilesdir}/systemd-remote.conf
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%service_add_post systemd-journal-remote.socket systemd-journal-remote.service
%service_add_post systemd-journal-upload.service
@ -938,8 +949,7 @@ fi
%{_unitdir}/*.socket
%{_unitdir}/*.wants
%{_unitdir}/*.path
%{_userunitdir}/*.target
%{_userunitdir}/*.service
%{_userunitdir}/
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
%{_prefix}/lib/systemd/libsystemd-shared-*.so
@ -960,10 +970,10 @@ fi
%dir %{_ntpunitsdir}
%dir %{_prefix}/lib/systemd/system-shutdown/
%dir %{_prefix}/lib/systemd/system-sleep/
%dir %{_unitdir}/getty@tty1.service.d
%dir %{_unitdir}/user@0.service.d
%{_unitdir}/getty@tty1.service.d/noclear.conf
%{_unitdir}/user@0.service.d/nodelagate.conf
%{_unitdir}/getty@tty1.service.d
%{_unitdir}/systemd-logind.service.d
/%{_lib}/security/pam_systemd.so
%if %{with gnuefi}
@ -1039,6 +1049,10 @@ fi
%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf
%endif
# FIXME: why should we have to own this dir ?
%dir %{_prefix}/lib/modprobe.d
%{_prefix}/lib/modprobe.d/systemd.conf
# Some files created at runtime.
%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf
@ -1169,7 +1183,6 @@ fi
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/remount-tmpfs
%ghost %{_prefix}/lib/udev/compat-symlink-generation
%dir %{_udevrulesdir}/
%exclude %{_udevrulesdir}/70-uaccess.rules
@ -1309,7 +1322,6 @@ fi
%{_prefix}/lib/systemd/systemd-journal-remote
%{_prefix}/lib/systemd/systemd-journal-upload
%{_sysusersdir}/systemd-remote.conf
%{_tmpfilesdir}/systemd-remote.conf
%{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man8/systemd-journal-remote.*
%{_mandir}/man8/systemd-journal-upload.*

View File

@ -1,15 +0,0 @@
#!/bin/sh
PATH=/usr/bin:/bin:/usr/sbin:/sbin
DIR=$(sed -rn '/^#/d;\@^[[:graph:]]+[[:space:]]+/[[:graph:]]+[[:space:]]+tmpfs[[:space:]]+.*size=[0-9]+[kmg,[:space:]]@{ s@^[[:graph:]]+[[:space:]]+(/[[:graph:]]+).*@\1@p }' /etc/fstab)
if [ -n "$DIR" ]; then
for i in $DIR; do
echo $i
mount -o remount "$i" >/dev/null 2>&1
STATE=$?
if [ "$STATE" -gt 0 ]; then
logger "Remount of $i failed with state $STATE"
fi
done
fi