forked from pool/systemd
Compare commits
20 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
ae7315ccf2 | ||
|
b38a354c9a | ||
|
00eedab31f | ||
|
85bd0af3de | ||
|
91bd7f7c9e | ||
|
e0c1b38755 | ||
|
61520895d1 | ||
|
ed20425da7 | ||
|
736f93b7ca | ||
|
ca395feb14 | ||
|
090cfdae6a | ||
|
f130b45d7f | ||
|
5356f8d10a | ||
|
59c5e9b68d | ||
|
a340263435 | ||
|
5a3b6c724b | ||
|
a7f1c6bb72 | ||
|
5692553234 | ||
|
42901c0464 | ||
|
1056aaf159 |
80
0001-Drop-support-for-efivar-SystemdOptions.patch
Normal file
80
0001-Drop-support-for-efivar-SystemdOptions.patch
Normal file
@ -0,0 +1,80 @@
|
||||
From 72d766c5a17fc31902b367e949c4d90193f823b9 Mon Sep 17 00:00:00 2001
|
||||
From: Franck Bui <fbui@suse.com>
|
||||
Date: Fri, 22 Mar 2024 12:07:34 +0100
|
||||
Subject: [PATCH 1/1] Drop support for efivar SystemdOptions
|
||||
|
||||
Upstream deprecated it and plan to drop it in the future.
|
||||
|
||||
Let's get ahead and drop it now as this feature might be used to gain access to
|
||||
encrypted SLEM systems with unattended disk unlock and with secure boot
|
||||
disabled.
|
||||
|
||||
[fbui: fixes bsc#1220338]
|
||||
---
|
||||
src/basic/efivars.c | 27 ++++++--------------------
|
||||
src/boot/bootctl-systemd-efi-options.c | 4 ++++
|
||||
2 files changed, 10 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/src/basic/efivars.c b/src/basic/efivars.c
|
||||
index 9011ae29a3..01ab7e5092 100644
|
||||
--- a/src/basic/efivars.c
|
||||
+++ b/src/basic/efivars.c
|
||||
@@ -351,29 +351,14 @@ SecureBootMode efi_get_secure_boot_mode(void) {
|
||||
}
|
||||
|
||||
static int read_efi_options_variable(char **ret) {
|
||||
- int r;
|
||||
|
||||
- /* In SecureBoot mode this is probably not what you want. As your cmdline is cryptographically signed
|
||||
- * like when using Type #2 EFI Unified Kernel Images (https://uapi-group.org/specifications/specs/boot_loader_specification)
|
||||
- * The user's intention is then that the cmdline should not be modified. You want to make sure that
|
||||
- * the system starts up as exactly specified in the signed artifact.
|
||||
- *
|
||||
- * (NB: For testing purposes, we still check the $SYSTEMD_EFI_OPTIONS env var before accessing this
|
||||
- * cache, even when in SecureBoot mode.) */
|
||||
- if (is_efi_secure_boot()) {
|
||||
- /* Let's be helpful with the returned error and check if the variable exists at all. If it
|
||||
- * does, let's return a recognizable error (EPERM), and if not ENODATA. */
|
||||
-
|
||||
- if (access(EFIVAR_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), F_OK) < 0)
|
||||
- return errno == ENOENT ? -ENODATA : -errno;
|
||||
-
|
||||
- return -EPERM;
|
||||
- }
|
||||
+ /* For SUSE distros, support for SystemdOptions has already been dropped as it might be a security
|
||||
+ * concern for systems with unattended disk unlock and with disabled secure boot. */
|
||||
|
||||
- r = efi_get_variable_string(EFI_SYSTEMD_VARIABLE(SystemdOptions), ret);
|
||||
- if (r == -ENOENT)
|
||||
- return -ENODATA;
|
||||
- return r;
|
||||
+ if (access(EFIVAR_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), F_OK) < 0)
|
||||
+ return errno == ENOENT ? -ENODATA : -errno;
|
||||
+
|
||||
+ return log_warning_errno(SYNTHETIC_ERRNO(EPERM), "Boot options passed via SystemdOptions EFI variable is no more supported, ignoring: %m");
|
||||
}
|
||||
|
||||
int cache_efi_options_variable(void) {
|
||||
diff --git a/src/boot/bootctl-systemd-efi-options.c b/src/boot/bootctl-systemd-efi-options.c
|
||||
index 7f8308fc3d..216b99546f 100644
|
||||
--- a/src/boot/bootctl-systemd-efi-options.c
|
||||
+++ b/src/boot/bootctl-systemd-efi-options.c
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "efi-loader.h"
|
||||
|
||||
int verb_systemd_efi_options(int argc, char *argv[], void *userdata) {
|
||||
+#if 0
|
||||
int r;
|
||||
|
||||
/* This is obsolete and subject to removal */
|
||||
@@ -40,4 +41,7 @@ int verb_systemd_efi_options(int argc, char *argv[], void *userdata) {
|
||||
}
|
||||
|
||||
return 0;
|
||||
+#else
|
||||
+ return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Support for the SystemdOptions EFI variable has been dropped.");
|
||||
+#endif
|
||||
}
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,180 +0,0 @@
|
||||
---
|
||||
rules/99-systemd.rules.in | 2 -
|
||||
src/basic/terminal-util.c | 55 ++++++++++++++++++++++++++++++++++++++++++++--
|
||||
src/basic/terminal-util.h | 1
|
||||
src/core/manager.c | 24 +++++++++++++++-----
|
||||
4 files changed, 74 insertions(+), 8 deletions(-)
|
||||
|
||||
|
||||
Index: systemd-228/rules/99-systemd.rules.in
|
||||
===================================================================
|
||||
--- systemd-228.orig/rules/99-systemd.rules.in
|
||||
+++ systemd-228/rules/99-systemd.rules.in
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
ACTION=="remove", GOTO="systemd_end"
|
||||
|
||||
-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd"
|
||||
+SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd"
|
||||
KERNEL=="vport*", TAG+="systemd"
|
||||
|
||||
SUBSYSTEM=="block", TAG+="systemd"
|
||||
Index: systemd-228/src/basic/terminal-util.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/basic/terminal-util.c
|
||||
+++ systemd-228/src/basic/terminal-util.c
|
||||
@@ -717,10 +717,47 @@ bool tty_is_vc_resolve(const char *tty)
|
||||
return tty_is_vc(tty);
|
||||
}
|
||||
|
||||
+bool ansi_console(int fd) {
|
||||
+ static int cached_ansi_console = -1;
|
||||
+
|
||||
+ if (_likely_(cached_ansi_console >= 0))
|
||||
+ return cached_ansi_console;
|
||||
+
|
||||
+ cached_ansi_console = isatty(fd) > 0;
|
||||
+#if defined(__s390__) || defined(__s390x__)
|
||||
+ if (cached_ansi_console) {
|
||||
+ const char *e = getenv("TERM");
|
||||
+ if (e != NULL && (streq(e, "dumb") || strneq(e, "ibm3", 4))) {
|
||||
+ _cleanup_free_ char *mode = NULL;
|
||||
+ int r = parse_env_file("/proc/cmdline", WHITESPACE,
|
||||
+ "conmode", &mode, NULL);
|
||||
+ if (r < 0 || mode == NULL || !streq(mode, "3270"))
|
||||
+ cached_ansi_console = 0;
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+ return cached_ansi_console;
|
||||
+}
|
||||
+
|
||||
const char *default_term_for_tty(const char *tty) {
|
||||
assert(tty);
|
||||
|
||||
- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220";
|
||||
+ if (tty_is_vc_resolve(tty))
|
||||
+ return "TERM=linux";
|
||||
+ if (startswith(tty, "/dev/"))
|
||||
+ tty += 5;
|
||||
+#if defined (__s390__) || defined (__s390x__)
|
||||
+ if (streq(tty, "ttyS0")) {
|
||||
+ _cleanup_free_ char *mode = NULL;
|
||||
+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode",
|
||||
+ &mode, NULL);
|
||||
+ if (r < 0 || mode == NULL || !streq(mode, "3270"))
|
||||
+ return "TERM=dumb";
|
||||
+ if (streq(mode, "3270"))
|
||||
+ return "TERM=ibm327x";
|
||||
+ }
|
||||
+#endif
|
||||
+ return "TERM=vt220";
|
||||
}
|
||||
|
||||
int fd_columns(int fd) {
|
||||
@@ -800,8 +837,22 @@ void columns_lines_cache_reset(int signu
|
||||
bool on_tty(void) {
|
||||
static int cached_on_tty = -1;
|
||||
|
||||
- if (_unlikely_(cached_on_tty < 0))
|
||||
+ if (_unlikely_(cached_on_tty < 0)) {
|
||||
cached_on_tty = isatty(STDOUT_FILENO) > 0;
|
||||
+#if defined (__s390__) || defined (__s390x__)
|
||||
+ if (cached_on_tty) {
|
||||
+ const char *e = getenv("TERM");
|
||||
+ if (!e)
|
||||
+ return cached_on_tty;
|
||||
+ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) {
|
||||
+ char *mode = NULL;
|
||||
+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL);
|
||||
+ if (r < 0 || !mode || !streq(mode, "3270"))
|
||||
+ cached_on_tty = 0;
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
return cached_on_tty;
|
||||
}
|
||||
Index: systemd-228/src/basic/terminal-util.h
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/basic/terminal-util.h
|
||||
+++ systemd-228/src/basic/terminal-util.h
|
||||
@@ -78,6 +78,7 @@ unsigned lines(void);
|
||||
void columns_lines_cache_reset(int _unused_ signum);
|
||||
|
||||
bool on_tty(void);
|
||||
+bool ansi_console(int fd);
|
||||
|
||||
static inline const char *ansi_underline(void) {
|
||||
return on_tty() ? ANSI_UNDERLINE : "";
|
||||
Index: systemd-228/src/core/manager.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/core/manager.c
|
||||
+++ systemd-228/src/core/manager.c
|
||||
@@ -126,7 +126,7 @@ static void manager_watch_jobs_in_progre
|
||||
|
||||
#define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED)-1) + sizeof(ANSI_HIGHLIGHT_RED)-1 + 2*(sizeof(ANSI_NORMAL)-1))
|
||||
|
||||
-static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) {
|
||||
+static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) {
|
||||
char *p = buffer;
|
||||
|
||||
assert(buflen >= CYLON_BUFFER_EXTRA + width + 1);
|
||||
@@ -135,12 +135,14 @@ static void draw_cylon(char buffer[], si
|
||||
if (pos > 1) {
|
||||
if (pos > 2)
|
||||
p = mempset(p, ' ', pos-2);
|
||||
- p = stpcpy(p, ANSI_RED);
|
||||
+ if (ansi_console)
|
||||
+ p = stpcpy(p, ANSI_RED);
|
||||
*p++ = '*';
|
||||
}
|
||||
|
||||
if (pos > 0 && pos <= width) {
|
||||
- p = stpcpy(p, ANSI_HIGHLIGHT_RED);
|
||||
+ if (ansi_console)
|
||||
+ p = stpcpy(p, ANSI_HIGHLIGHT_RED);
|
||||
*p++ = '*';
|
||||
}
|
||||
|
||||
@@ -151,7 +153,8 @@ static void draw_cylon(char buffer[], si
|
||||
*p++ = '*';
|
||||
if (pos < width-1)
|
||||
p = mempset(p, ' ', width-1-pos);
|
||||
- strcpy(p, ANSI_NORMAL);
|
||||
+ if (ansi_console)
|
||||
+ strcpy(p, ANSI_NORMAL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,6 +171,7 @@ void manager_flip_auto_status(Manager *m
|
||||
}
|
||||
|
||||
static void manager_print_jobs_in_progress(Manager *m) {
|
||||
+ static int is_ansi_console = -1;
|
||||
_cleanup_free_ char *job_of_n = NULL;
|
||||
Iterator i;
|
||||
Job *j;
|
||||
@@ -193,10 +197,20 @@ static void manager_print_jobs_in_progre
|
||||
assert(counter == print_nr + 1);
|
||||
assert(j);
|
||||
|
||||
+ if (_unlikely_(is_ansi_console < 0)) {
|
||||
+ int fd = open_terminal("/dev/console", O_RDONLY|O_NOCTTY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ is_ansi_console = 0;
|
||||
+ else {
|
||||
+ is_ansi_console = (int)ansi_console(fd);
|
||||
+ close(fd);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
cylon_pos = m->jobs_in_progress_iteration % 14;
|
||||
if (cylon_pos >= 8)
|
||||
cylon_pos = 14 - cylon_pos;
|
||||
- draw_cylon(cylon, sizeof(cylon), 6, cylon_pos);
|
||||
+ draw_cylon(cylon, sizeof(cylon), 6, cylon_pos, (bool)is_ansi_console);
|
||||
|
||||
m->jobs_in_progress_iteration++;
|
||||
|
@ -1,84 +0,0 @@
|
||||
---
|
||||
src/core/shutdown.c | 4 ++++
|
||||
src/systemctl/systemctl.c | 18 ++++++++++++------
|
||||
2 files changed, 16 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: systemd-227/src/core/shutdown.c
|
||||
===================================================================
|
||||
--- systemd-227.orig/src/core/shutdown.c
|
||||
+++ systemd-227/src/core/shutdown.c
|
||||
@@ -418,6 +418,10 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
|
||||
reboot(cmd);
|
||||
+
|
||||
+ if (cmd == (int)RB_POWER_OFF)
|
||||
+ reboot(RB_HALT_SYSTEM);
|
||||
+
|
||||
if (errno == EPERM && in_container) {
|
||||
/* If we are in a container, and we lacked
|
||||
* CAP_SYS_BOOT just exit, this will kill our
|
||||
Index: systemd-227/src/systemctl/systemctl.c
|
||||
===================================================================
|
||||
--- systemd-227.orig/src/systemctl/systemctl.c
|
||||
+++ systemd-227/src/systemctl/systemctl.c
|
||||
@@ -94,6 +94,7 @@ static bool arg_no_pager = false;
|
||||
static bool arg_no_wtmp = false;
|
||||
static bool arg_no_wall = false;
|
||||
static bool arg_no_reload = false;
|
||||
+static bool arg_no_sync = false;
|
||||
static bool arg_show_types = false;
|
||||
static bool arg_ignore_inhibitors = false;
|
||||
static bool arg_dry = false;
|
||||
@@ -6938,6 +6939,7 @@ static int halt_parse_argv(int argc, cha
|
||||
{ "reboot", no_argument, NULL, ARG_REBOOT },
|
||||
{ "force", no_argument, NULL, 'f' },
|
||||
{ "wtmp-only", no_argument, NULL, 'w' },
|
||||
+ { "no-sync", no_argument, NULL, 'n' },
|
||||
{ "no-wtmp", no_argument, NULL, 'd' },
|
||||
{ "no-wall", no_argument, NULL, ARG_NO_WALL },
|
||||
{}
|
||||
@@ -6990,10 +6992,13 @@ static int halt_parse_argv(int argc, cha
|
||||
|
||||
case 'i':
|
||||
case 'h':
|
||||
- case 'n':
|
||||
/* Compatibility nops */
|
||||
break;
|
||||
|
||||
+ case 'n':
|
||||
+ arg_no_sync = true;
|
||||
+ break;
|
||||
+
|
||||
case '?':
|
||||
return -EINVAL;
|
||||
|
||||
@@ -7506,7 +7511,8 @@ static int halt_now(enum action a) {
|
||||
/* The kernel will automaticall flush ATA disks and suchlike
|
||||
* on reboot(), but the file systems need to be synce'd
|
||||
* explicitly in advance. */
|
||||
- (void) sync();
|
||||
+ if (!arg_no_sync)
|
||||
+ (void) sync();
|
||||
|
||||
/* Make sure C-A-D is handled by the kernel from this point
|
||||
* on... */
|
||||
@@ -7514,14 +7520,13 @@ static int halt_now(enum action a) {
|
||||
|
||||
switch (a) {
|
||||
|
||||
- case ACTION_HALT:
|
||||
- log_info("Halting.");
|
||||
- (void) reboot(RB_HALT_SYSTEM);
|
||||
- return -errno;
|
||||
-
|
||||
case ACTION_POWEROFF:
|
||||
log_info("Powering off.");
|
||||
(void) reboot(RB_POWER_OFF);
|
||||
+ /* fall-through */
|
||||
+ case ACTION_HALT:
|
||||
+ log_info("Halting.");
|
||||
+ (void) reboot(RB_HALT_SYSTEM);
|
||||
return -errno;
|
||||
|
||||
case ACTION_KEXEC:
|
@ -1,315 +0,0 @@
|
||||
Avoid possible race on NFS shares in which may that the network devices disappears
|
||||
before the associated NFS share becomes unmounted (bug #861489).
|
||||
To do this make sure that sys-subsystem-net-devices-<iface>.device used for the
|
||||
NFS share is added as "After=" dependency to the <nfs-share-mount-point>.mount.
|
||||
|
||||
---
|
||||
Makefile.am | 2
|
||||
src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
src/core/mount-iface.h | 25 +++++++
|
||||
src/core/mount.c | 35 +++++++++
|
||||
4 files changed, 233 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-228/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-228.orig/Makefile.am
|
||||
+++ systemd-228/Makefile.am
|
||||
@@ -1223,6 +1223,8 @@ libcore_la_SOURCES = \
|
||||
src/core/machine-id-setup.h \
|
||||
src/core/mount-setup.c \
|
||||
src/core/mount-setup.h \
|
||||
+ src/core/mount-iface.c \
|
||||
+ src/core/mount-iface.h \
|
||||
src/core/kmod-setup.c \
|
||||
src/core/kmod-setup.h \
|
||||
src/core/loopback-setup.h \
|
||||
Index: systemd-228/src/core/mount-iface.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-228/src/core/mount-iface.c
|
||||
@@ -0,0 +1,173 @@
|
||||
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
|
||||
+
|
||||
+/***
|
||||
+ This file is part of systemd.
|
||||
+
|
||||
+ Copyright 2014 Werner Fink
|
||||
+
|
||||
+ systemd is free software; you can redistribute it and/or modify it
|
||||
+ under the terms of the GNU Lesser General Public License as published by
|
||||
+ the Free Software Foundation; either version 2.1 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ systemd is distributed in the hope that it will be useful, but
|
||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public License
|
||||
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
+***/
|
||||
+
|
||||
+/*
|
||||
+ * Find the name of the network interface to which a IP address belongs to.
|
||||
+ */
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <arpa/inet.h>
|
||||
+#include <ifaddrs.h>
|
||||
+#include <net/if.h>
|
||||
+#include <assert.h>
|
||||
+
|
||||
+#include "log.h"
|
||||
+#include "def.h"
|
||||
+#include "mount-iface.h"
|
||||
+
|
||||
+static struct ifaddrs *ifa_list;
|
||||
+
|
||||
+_pure_ static unsigned int mask2prefix(const void* ipv6)
|
||||
+{
|
||||
+ unsigned int nippels = 0;
|
||||
+ unsigned int i;
|
||||
+
|
||||
+ assert(ipv6);
|
||||
+
|
||||
+ for (i = 0; i < sizeof(struct in6_addr); i++) {
|
||||
+ uint8_t byte = ((const uint8_t*)ipv6)[i];
|
||||
+ if (byte == 0xFF) {
|
||||
+ nippels += sizeof(uint8_t);
|
||||
+ continue;
|
||||
+ }
|
||||
+ while (byte & 0x80) {
|
||||
+ nippels++;
|
||||
+ byte <<= 1;
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return nippels;
|
||||
+}
|
||||
+
|
||||
+static void netmask(unsigned int prefix, const void* in6, void* out6)
|
||||
+{
|
||||
+ unsigned int nippels;
|
||||
+ unsigned int i;
|
||||
+
|
||||
+ assert(in6);
|
||||
+ assert(out6);
|
||||
+
|
||||
+ for (i = 0; i < sizeof(struct in6_addr); i++) {
|
||||
+ nippels = (prefix < sizeof(uint8_t)) ? prefix : sizeof(uint8_t);
|
||||
+ ((uint8_t*)out6)[i] = ((const uint8_t*)in6)[i] & (0xFF00>>nippels);
|
||||
+ prefix -= nippels;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+char *host2iface(const char *ip)
|
||||
+{
|
||||
+ const struct ifaddrs *ifa;
|
||||
+ uint32_t ip4 = 0;
|
||||
+ char *ret = NULL;
|
||||
+ struct search {
|
||||
+ union {
|
||||
+ struct in_addr addr;
|
||||
+ struct in6_addr addr6;
|
||||
+ };
|
||||
+ int family;
|
||||
+ } host;
|
||||
+ int r;
|
||||
+
|
||||
+ if (!ifa_list && (getifaddrs(&ifa_list) < 0)) {
|
||||
+ log_oom();
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ if (strchr(ip, ':')) {
|
||||
+ r = inet_pton(AF_INET6, ip, &host.addr6);
|
||||
+ host.family = AF_INET6;
|
||||
+ } else {
|
||||
+ r = inet_pton(AF_INET, ip, &host.addr);
|
||||
+ host.family = AF_INET;
|
||||
+ }
|
||||
+
|
||||
+ if (r < 0) {
|
||||
+ log_error("Failed to convert IP address %s from text to binary: %m", ip);
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ for (ifa = ifa_list; ifa != NULL; ifa = ifa->ifa_next) {
|
||||
+
|
||||
+ if (!ifa->ifa_addr)
|
||||
+ continue;
|
||||
+ if (ifa->ifa_flags & IFF_POINTOPOINT)
|
||||
+ continue;
|
||||
+ if (!ifa->ifa_addr)
|
||||
+ continue;
|
||||
+ if (!ifa->ifa_netmask)
|
||||
+ continue;
|
||||
+
|
||||
+ if (ifa->ifa_addr->sa_family == AF_INET) {
|
||||
+ uint32_t addr, dest, mask;
|
||||
+
|
||||
+ if (host.family != AF_INET)
|
||||
+ continue;
|
||||
+ if (!ifa->ifa_broadaddr)
|
||||
+ continue;
|
||||
+
|
||||
+ if (!ip4)
|
||||
+ ip4 = (uint32_t)ntohl(host.addr.s_addr);
|
||||
+
|
||||
+ addr = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_addr)->sin_addr.s_addr);
|
||||
+ if ((addr & 0xFF000000) == 0x7F000000) /* IPV4 loopback */
|
||||
+ continue;
|
||||
+
|
||||
+ mask = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_netmask)->sin_addr.s_addr);
|
||||
+ dest = (uint32_t)ntohl(((struct sockaddr_in*)ifa->ifa_broadaddr)->sin_addr.s_addr);
|
||||
+ if ((ip4 & mask) != (dest & mask))
|
||||
+ continue;
|
||||
+
|
||||
+ ret = ifa->ifa_name;
|
||||
+ break;
|
||||
+ } else if (ifa->ifa_addr->sa_family == AF_INET6) {
|
||||
+ struct in6_addr *addr, *mask, dest, ip6;
|
||||
+ unsigned int prefix;
|
||||
+
|
||||
+ if (host.family != AF_INET6)
|
||||
+ continue;
|
||||
+
|
||||
+ addr = &((struct sockaddr_in6*)ifa->ifa_addr)->sin6_addr;
|
||||
+ mask = &((struct sockaddr_in6*)ifa->ifa_netmask)->sin6_addr;
|
||||
+ prefix = mask2prefix(mask);
|
||||
+
|
||||
+ netmask(prefix, addr, &dest);
|
||||
+ netmask(prefix, &host.addr6, &ip6);
|
||||
+
|
||||
+ if (memcmp(&dest, &ip6, sizeof(struct in6_addr)) != 0)
|
||||
+ continue;
|
||||
+
|
||||
+ ret = ifa->ifa_name;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+err:
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+void freeroutes(void)
|
||||
+{
|
||||
+ if (ifa_list)
|
||||
+ freeifaddrs(ifa_list);
|
||||
+ ifa_list = NULL;
|
||||
+}
|
||||
Index: systemd-228/src/core/mount-iface.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-228/src/core/mount-iface.h
|
||||
@@ -0,0 +1,25 @@
|
||||
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
|
||||
+
|
||||
+#pragma once
|
||||
+
|
||||
+/***
|
||||
+ This file is part of systemd.
|
||||
+
|
||||
+ Copyright 2014 Werner Fink
|
||||
+
|
||||
+ systemd is free software; you can redistribute it and/or modify it
|
||||
+ under the terms of the GNU Lesser General Public License as published by
|
||||
+ the Free Software Foundation; either version 2.1 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ systemd is distributed in the hope that it will be useful, but
|
||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public License
|
||||
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
+***/
|
||||
+
|
||||
+char *host2iface(const char *ip);
|
||||
+void freeroutes(void);
|
||||
Index: systemd-228/src/core/mount.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/core/mount.c
|
||||
+++ systemd-228/src/core/mount.c
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "manager.h"
|
||||
#include "mkdir.h"
|
||||
#include "mount-setup.h"
|
||||
+#include "mount-iface.h"
|
||||
#include "mount-util.h"
|
||||
#include "mount.h"
|
||||
#include "parse-util.h"
|
||||
@@ -1344,8 +1345,9 @@ static int mount_setup_unit(
|
||||
_cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL;
|
||||
bool load_extras = false;
|
||||
MountParameters *p;
|
||||
- bool delete, changed = false;
|
||||
+ bool delete, changed = false, isnetwork;
|
||||
Unit *u;
|
||||
+ char *c;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
@@ -1370,6 +1372,8 @@ static int mount_setup_unit(
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
+ isnetwork = fstype_is_network(fstype);
|
||||
+
|
||||
u = manager_get_unit(m, e);
|
||||
if (!u) {
|
||||
delete = true;
|
||||
@@ -1397,7 +1401,7 @@ static int mount_setup_unit(
|
||||
if (m->running_as == MANAGER_SYSTEM) {
|
||||
const char* target;
|
||||
|
||||
- target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET;
|
||||
+ target = isnetwork ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET;
|
||||
r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true);
|
||||
if (r < 0)
|
||||
goto fail;
|
||||
@@ -1483,6 +1487,32 @@ static int mount_setup_unit(
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+ if (isnetwork && (c = strrchr(p->what, ':')) && *(c+1) == '/') {
|
||||
+ _cleanup_free_ char *opt = strdup(p->options);
|
||||
+ char *addr;
|
||||
+
|
||||
+ if (opt && (addr = strstr(opt, ",addr="))) {
|
||||
+ char *colon, *iface;
|
||||
+
|
||||
+ addr += 6;
|
||||
+ if ((colon = strchr(addr, ',')))
|
||||
+ *colon = '\0';
|
||||
+
|
||||
+ iface = host2iface(addr);
|
||||
+ if (iface) {
|
||||
+ _cleanup_free_ char* target = NULL;
|
||||
+ if (asprintf(&target, "sys-subsystem-net-devices-%s.device", iface) < 0)
|
||||
+ log_oom();
|
||||
+ else {
|
||||
+ r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true);
|
||||
+ if (r < 0)
|
||||
+ log_unit_error(u, "Failed to add dependency on %s, ignoring: %s",
|
||||
+ target, strerror(-r));
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (changed)
|
||||
unit_add_to_dbus_queue(u);
|
||||
|
||||
@@ -1549,6 +1579,7 @@ static int mount_load_proc_self_mountinf
|
||||
if (r == 0 && k < 0)
|
||||
r = k;
|
||||
}
|
||||
+ freeroutes(); /* Just in case of using the routing table with host2iface() */
|
||||
|
||||
return r;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
---
|
||||
src/login/logind-session.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: systemd-221/src/login/logind-session.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/login/logind-session.c
|
||||
+++ systemd-221/src/login/logind-session.c
|
||||
@@ -548,6 +548,12 @@ int session_start(Session *s) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
+ if (!s->user->slice) {
|
||||
+ if (errno)
|
||||
+ return -errno;
|
||||
+ return -ESTALE;
|
||||
+ }
|
||||
+
|
||||
/* Create cgroup */
|
||||
r = session_start_scope(s);
|
||||
if (r < 0)
|
@ -1,101 +0,0 @@
|
||||
---
|
||||
src/login/logind-action.c | 5 +++++
|
||||
src/login/logind-dbus.c | 31 +++++++++++++++++++++++--------
|
||||
2 files changed, 28 insertions(+), 8 deletions(-)
|
||||
|
||||
Index: systemd-227/src/login/logind-action.c
|
||||
===================================================================
|
||||
--- systemd-227.orig/src/login/logind-action.c
|
||||
+++ systemd-227/src/login/logind-action.c
|
||||
@@ -85,6 +85,11 @@ int manager_handle_action(
|
||||
|
||||
/* If the key handling is inhibited, don't do anything */
|
||||
if (inhibit_key > 0) {
|
||||
+ if (inhibit_key == INHIBIT_HANDLE_POWER_KEY) {
|
||||
+ int fd;
|
||||
+ fd = open("/run/systemd/acpi-shutdown", O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR);
|
||||
+ close(fd);
|
||||
+ }
|
||||
if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) {
|
||||
log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key));
|
||||
return 0;
|
||||
Index: systemd-227/src/login/logind-dbus.c
|
||||
===================================================================
|
||||
--- systemd-227.orig/src/login/logind-dbus.c
|
||||
+++ systemd-227/src/login/logind-dbus.c
|
||||
@@ -1646,12 +1646,13 @@ static int verify_shutdown_creds(
|
||||
const char *action,
|
||||
const char *action_multiple_sessions,
|
||||
const char *action_ignore_inhibit,
|
||||
- sd_bus_error *error) {
|
||||
+ sd_bus_error *error, const char *sleep_verb) {
|
||||
|
||||
_cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL;
|
||||
- bool multiple_sessions, blocked;
|
||||
+ bool multiple_sessions, blocked, shutdown_through_acpi;
|
||||
uid_t uid;
|
||||
- int r;
|
||||
+ int r, fd;
|
||||
+ struct stat buf;
|
||||
|
||||
assert(m);
|
||||
assert(message);
|
||||
@@ -1673,7 +1674,19 @@ static int verify_shutdown_creds(
|
||||
multiple_sessions = r > 0;
|
||||
blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL);
|
||||
|
||||
- if (multiple_sessions && action_multiple_sessions) {
|
||||
+ fd = open ("/run/systemd/acpi-shutdown", O_NOFOLLOW|O_PATH|O_CLOEXEC);
|
||||
+ if (fd >= 0) {
|
||||
+ shutdown_through_acpi = fstat(fd, &buf) == 0 &&
|
||||
+ time(NULL) - buf.st_mtime <= 65 &&
|
||||
+ sleep_verb == NULL;
|
||||
+ close(fd);
|
||||
+ unlink ("/run/systemd/acpi-shutdown");
|
||||
+ }
|
||||
+ else
|
||||
+ shutdown_through_acpi = false;
|
||||
+
|
||||
+ if (multiple_sessions && action_multiple_sessions &&
|
||||
+ !shutdown_through_acpi) {
|
||||
r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, NULL, interactive, UID_INVALID, &m->polkit_registry, error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@@ -1681,7 +1694,7 @@ static int verify_shutdown_creds(
|
||||
return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
|
||||
}
|
||||
|
||||
- if (blocked && action_ignore_inhibit) {
|
||||
+ if (blocked && action_ignore_inhibit && !shutdown_through_acpi) {
|
||||
r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, NULL, interactive, UID_INVALID, &m->polkit_registry, error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@@ -1689,7 +1702,8 @@ static int verify_shutdown_creds(
|
||||
return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
|
||||
}
|
||||
|
||||
- if (!multiple_sessions && !blocked && action) {
|
||||
+ if (!multiple_sessions && !blocked && action &&
|
||||
+ !shutdown_through_acpi) {
|
||||
r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, NULL, interactive, UID_INVALID, &m->polkit_registry, error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@@ -1737,7 +1751,7 @@ static int method_do_shutdown_or_sleep(
|
||||
}
|
||||
|
||||
r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions,
|
||||
- action_ignore_inhibit, error);
|
||||
+ action_ignore_inhibit, error, sleep_verb);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
@@ -1931,7 +1945,8 @@ static int method_schedule_shutdown(sd_b
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type");
|
||||
|
||||
r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false,
|
||||
- action, action_multiple_sessions, action_ignore_inhibit, error);
|
||||
+ action, action_multiple_sessions,
|
||||
+ action_ignore_inhibit, error, "UNUSED");
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
@ -1,17 +0,0 @@
|
||||
---
|
||||
shell-completion/bash/systemctl.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/shell-completion/bash/systemctl.in
|
||||
===================================================================
|
||||
--- systemd-221.orig/shell-completion/bash/systemctl.in
|
||||
+++ systemd-221/shell-completion/bash/systemctl.in
|
||||
@@ -43,7 +43,7 @@ __filter_units_by_property () {
|
||||
local units=("$@")
|
||||
local props
|
||||
IFS=$'\n' read -rd '' -a props < \
|
||||
- <(__systemctl $mode show --property "$property" -- "${units[@]}")
|
||||
+ <(__systemctl $mode show --property "$property" -- "${units[@]}" 2> /dev/null)
|
||||
for ((i=0; $i < ${#units[*]}; i++)); do
|
||||
if [[ "${props[i]}" = "$property=$value" ]]; then
|
||||
echo " ${units[i]}"
|
@ -1,37 +0,0 @@
|
||||
From cb31827d62066a04b02111df3052949fda4b6888 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Mon, 23 Nov 2015 13:59:43 -0500
|
||||
Subject: [PATCH] nss-mymachines: do not allow overlong machine names
|
||||
|
||||
https://github.com/systemd/systemd/issues/2002
|
||||
---
|
||||
src/nss-mymachines/nss-mymachines.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
|
||||
index 969fa96..c98a959 100644
|
||||
--- a/src/nss-mymachines/nss-mymachines.c
|
||||
+++ b/src/nss-mymachines/nss-mymachines.c
|
||||
@@ -416,6 +416,9 @@ enum nss_status _nss_mymachines_getpwnam_r(
|
||||
if (!e || e == p)
|
||||
goto not_found;
|
||||
|
||||
+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */
|
||||
+ goto not_found;
|
||||
+
|
||||
r = parse_uid(e + 1, &uid);
|
||||
if (r < 0)
|
||||
goto not_found;
|
||||
@@ -573,6 +576,9 @@ enum nss_status _nss_mymachines_getgrnam_r(
|
||||
if (!e || e == p)
|
||||
goto not_found;
|
||||
|
||||
+ if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */
|
||||
+ goto not_found;
|
||||
+
|
||||
r = parse_gid(e + 1, &gid);
|
||||
if (r < 0)
|
||||
goto not_found;
|
||||
--
|
||||
2.1.4
|
||||
|
@ -1,43 +0,0 @@
|
||||
From: Werner Fink <werner@suse.de>
|
||||
Date: Wed Feb 26 14:36:27 UTC 2014
|
||||
Subject: Do not clobber XDG_RUNTIME_DIR if su command preserve environment
|
||||
|
||||
Make sure that even if a su command without option -l or with option -m
|
||||
is used, the XDG_RUNTIME_DIR will not be clobbered by the new uid.
|
||||
|
||||
This belongs to BNC#852015 and also to BNC#855160
|
||||
|
||||
---
|
||||
src/login/pam_systemd.c | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
Index: systemd-221/src/login/pam_systemd.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/login/pam_systemd.c
|
||||
+++ systemd-221/src/login/pam_systemd.c
|
||||
@@ -445,6 +445,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess
|
||||
r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path);
|
||||
if (r != PAM_SUCCESS)
|
||||
return r;
|
||||
+ } else if (getenv("XDG_RUNTIME_DIR")) {
|
||||
+ _cleanup_free_ char *p = NULL;
|
||||
+
|
||||
+ /* Make sure that after running YaST2 or the xdg-su scripts
|
||||
+ * the runtime directory is not clobbered. Even a normal su
|
||||
+ * command without -l or with -m may clobber. */
|
||||
+
|
||||
+ if ((r = asprintf(&p, "/run/user/%lu", (unsigned long)pw->pw_uid)) < 0)
|
||||
+ return PAM_BUF_ERR;
|
||||
+
|
||||
+ r = pam_misc_setenv(handle, "XDG_RUNTIME_DIR", p, 0);
|
||||
+ if (r != PAM_SUCCESS) {
|
||||
+ pam_syslog(handle, LOG_ERR, "Failed to set runtime dir.");
|
||||
+ return r;
|
||||
+ }
|
||||
+
|
||||
+ r = export_legacy_dbus_address(handle, pw->pw_uid, p);
|
||||
+ if (r != PAM_SUCCESS)
|
||||
+ return r;
|
||||
}
|
||||
|
||||
if (!isempty(seat)) {
|
@ -0,0 +1,26 @@
|
||||
From e1562e145272efea60275ffe8e7edeb65224ab8d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Blume <thomas.blume@suse.com>
|
||||
Date: Tue, 25 Mar 2014 13:08:56 +0000
|
||||
Subject: [PATCH] rc-local: fix ordering startup for /etc/init.d/boot.local
|
||||
|
||||
[tblume: fixes bnc#869142]
|
||||
---
|
||||
units/rc-local.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/units/rc-local.service.in b/units/rc-local.service.in
|
||||
index 6fb0838cdb..768f720032 100644
|
||||
--- a/units/rc-local.service.in
|
||||
+++ b/units/rc-local.service.in
|
||||
@@ -13,7 +13,7 @@
|
||||
Description={{RC_LOCAL_PATH}} Compatibility
|
||||
Documentation=man:systemd-rc-local-generator(8)
|
||||
ConditionFileIsExecutable={{RC_LOCAL_PATH}}
|
||||
-After=network.target
|
||||
+After=basic.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,57 @@
|
||||
From 6eb24d1fcf8ea676bd0f0e32a9afda7431eafd77 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Blume <Thomas.Blume@suse.com>
|
||||
Date: Wed, 4 May 2016 17:40:04 +0200
|
||||
Subject: [PATCH] sysv-generator: translate "Required-Start" into a "Wants"
|
||||
dependency
|
||||
|
||||
'Required-Start:' used to be supported by insserv but this functionality was
|
||||
dropped when insserv was rewritten into a compat perl wrapper (insserv-compat),
|
||||
which happened when systemd was introduced in SUSE, I guess.
|
||||
|
||||
It's been decided to add back the support in systemd instead of insserv-compat,
|
||||
see the comments in bsc#857204.
|
||||
|
||||
[tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch]
|
||||
[fbui: patch sysv-generator-test.py to take this SUSE's specifity into account]
|
||||
|
||||
[wfink: fixes bsc#857204]
|
||||
---
|
||||
src/sysv-generator/sysv-generator.c | 7 ++++++-
|
||||
test/sysv-generator-test.py | 2 +-
|
||||
2 files changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
|
||||
index 4485e2e368..e0833a7179 100644
|
||||
--- a/src/sysv-generator/sysv-generator.c
|
||||
+++ b/src/sysv-generator/sysv-generator.c
|
||||
@@ -412,8 +412,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text
|
||||
return log_oom();
|
||||
|
||||
r = strv_extend(&s->wants, m);
|
||||
- } else
|
||||
+ } else {
|
||||
r = strv_extend(is_before ? &s->before : &s->after, m);
|
||||
+
|
||||
+ if (startswith_no_case(full_text, "Required-Start:"))
|
||||
+ r = strv_extend(&s->wants, m);
|
||||
+ }
|
||||
+
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
}
|
||||
diff --git a/test/sysv-generator-test.py b/test/sysv-generator-test.py
|
||||
index 24fafbaaa4..827d802a17 100755
|
||||
--- a/test/sysv-generator-test.py
|
||||
+++ b/test/sysv-generator-test.py
|
||||
@@ -224,7 +224,7 @@ class SysvGeneratorTest(unittest.TestCase):
|
||||
self.add_sysv('foo', {'Required-Start': '$named $portmap'})
|
||||
s = self.run_generator()[1]['foo.service']
|
||||
self.assertEqual(set(s.options('Unit')),
|
||||
- set(['Documentation', 'SourcePath', 'Description', 'After']))
|
||||
+ set(['Documentation', 'SourcePath', 'Description', 'After', 'Wants']))
|
||||
self.assertEqual(s.get('Unit', 'After').split(), ['nss-lookup.target', 'rpcbind.target'])
|
||||
|
||||
def test_lsb_deps(self):
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,59 @@
|
||||
From 745ab2ac0f5424b0c04d9c38234bb9babcbd90ef Mon Sep 17 00:00:00 2001
|
||||
From: Franck Bui <fbui@suse.com>
|
||||
Date: Fri, 10 Jun 2016 15:19:57 +0200
|
||||
Subject: [PATCH] pid1: handle console specificities/weirdness for s390 arch
|
||||
|
||||
The 3270 console on S/390 can do color but not the 3215 console.
|
||||
|
||||
Partial forward port of
|
||||
0001-On_s390_con3270_disable_ANSI_colour_esc.patch from SLE12-SP1. A
|
||||
bunch of the previous code has been dropped since some changes
|
||||
imported from upsteam made them uneeded.
|
||||
|
||||
The remaining bits are probably hackish but at least they are now
|
||||
minimal.
|
||||
|
||||
It was an attempt to address bnc#860937. And yes turning the console
|
||||
color mode off by passing $TERM=dumb via the kernel command line would
|
||||
have been much more easier and enough.
|
||||
|
||||
This is actually implemented by recent systemd. There's also another
|
||||
command line option: systemd.log_color=off.
|
||||
|
||||
See also a short discussion which happened on @systemd-maintainers
|
||||
whose $subject is "[PATCH] support conmode setting on command line".
|
||||
|
||||
[fbui: fixes bsc#860937]
|
||||
---
|
||||
src/basic/terminal-util.c | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c
|
||||
index 3355b749cc..e96b053217 100644
|
||||
--- a/src/basic/terminal-util.c
|
||||
+++ b/src/basic/terminal-util.c
|
||||
@@ -784,7 +784,20 @@ bool tty_is_vc_resolve(const char *tty) {
|
||||
}
|
||||
|
||||
const char *default_term_for_tty(const char *tty) {
|
||||
- return tty && tty_is_vc_resolve(tty) ? "linux" : "vt220";
|
||||
+ if (tty && tty_is_vc_resolve(tty))
|
||||
+ return "linux";
|
||||
+
|
||||
+#if defined (__s390__) || defined (__s390x__)
|
||||
+ if (tty && tty_is_console(tty)) {
|
||||
+ _cleanup_free_ char *mode = NULL;
|
||||
+
|
||||
+ /* Simply return "dumb" in case of OOM. */
|
||||
+ (void) proc_cmdline_get_key("conmode", 0, &mode);
|
||||
+ (void) proc_cmdline_value_missing("conmode", mode);
|
||||
+ return streq_ptr(mode, "3270") ? "ibm327x" : "dumb";
|
||||
+ }
|
||||
+#endif
|
||||
+ return "vt220";
|
||||
}
|
||||
|
||||
int fd_columns(int fd) {
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,19 +0,0 @@
|
||||
|
|
||||
| Belongs to bnc#849071 that is do not install console-shell.service
|
||||
| in any system target as this will cause automatic poweroff at boot.
|
||||
|
|
||||
---
|
||||
units/console-shell.service.m4.in | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
Index: systemd-221/units/console-shell.service.m4.in
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/console-shell.service.m4.in
|
||||
+++ systemd-221/units/console-shell.service.m4.in
|
||||
@@ -28,6 +28,3 @@ StandardError=inherit
|
||||
KillMode=process
|
||||
IgnoreSIGPIPE=no
|
||||
SendSIGHUP=yes
|
||||
-
|
||||
-[Install]
|
||||
-WantedBy=getty.target
|
@ -1,75 +0,0 @@
|
||||
From: werner@suse.de
|
||||
Upstream: marked as openSUSE-specific fix originally, but may well
|
||||
worth be to be sent upstream.
|
||||
|
||||
Original description:
|
||||
(none)
|
||||
|
||||
Augmented description [jengelh@inai.de]:
|
||||
Disable COW on journal files, as that is naturally leading to a lot
|
||||
of unwanted fragmentation on btrfs.
|
||||
No word on compression…
|
||||
---
|
||||
src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
Index: systemd-227/src/journal/journald-server.c
|
||||
===================================================================
|
||||
--- systemd-227.orig/src/journal/journald-server.c
|
||||
+++ systemd-227/src/journal/journald-server.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <selinux/selinux.h>
|
||||
#endif
|
||||
#include <sys/ioctl.h>
|
||||
+#include <linux/fs.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/signalfd.h>
|
||||
#include <sys/statvfs.h>
|
||||
@@ -861,6 +862,39 @@ void server_driver_message(Server *s, sd
|
||||
dispatch_message_real(s, iovec, n, ELEMENTSOF(iovec), &ucred, NULL, NULL, 0, NULL, LOG_INFO, 0);
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * On journaling and/or compressing file systems, avoid doubling the efforts
|
||||
+ * for the system, that is, set NOCOW and NOCOMP inode flags. Check for every
|
||||
+ * single flag, as otherwise, some of the file systems may return EOPNOTSUPP on
|
||||
+ * a single unkown flag (like Btrfs does).
|
||||
+ *
|
||||
+ * …but src/journal/journal-file.c already sets NOCOW too…⸘
|
||||
+ */
|
||||
+static void disable_cow(const char *dir, const Server *serv)
|
||||
+{
|
||||
+ unsigned long flags;
|
||||
+ int fd = open(dir, O_DIRECTORY);
|
||||
+
|
||||
+ if (fd < 0)
|
||||
+ return;
|
||||
+ if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) {
|
||||
+ unsigned long old = flags;
|
||||
+ if (!(flags & FS_NOATIME_FL) &&
|
||||
+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOATIME_FL) == 0)
|
||||
+ flags |= FS_NOATIME_FL;
|
||||
+ if (!(flags & FS_NOCOW_FL) &&
|
||||
+ ioctl(fd, FS_IOC_SETFLAGS, flags | FS_NOCOW_FL) == 0)
|
||||
+ flags |= FS_NOCOW_FL;
|
||||
+ if (!(flags & FS_NOCOMP_FL) && serv->compress) {
|
||||
+ flags &= ~FS_COMPR_FL;
|
||||
+ flags |= FS_NOCOMP_FL;
|
||||
+ }
|
||||
+ if (old != flags)
|
||||
+ ioctl(fd, FS_IOC_SETFLAGS, flags);
|
||||
+ }
|
||||
+ close(fd);
|
||||
+}
|
||||
+
|
||||
void server_dispatch_message(
|
||||
Server *s,
|
||||
struct iovec *iovec, unsigned n, unsigned m,
|
||||
@@ -948,6 +982,7 @@ static int system_journal_open(Server *s
|
||||
|
||||
fn = strjoina("/var/log/journal/", SERVER_MACHINE_ID(s));
|
||||
(void) mkdir(fn, 0755);
|
||||
+ disable_cow(fn, s);
|
||||
|
||||
fn = strjoina(fn, "/system.journal");
|
||||
r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal);
|
@ -1,272 +0,0 @@
|
||||
---
|
||||
shell-completion/bash/coredumpctl | 6 +++++-
|
||||
shell-completion/bash/hostnamectl | 6 +++++-
|
||||
shell-completion/bash/journalctl | 6 +++++-
|
||||
shell-completion/bash/kernel-install | 13 ++++++++++++-
|
||||
shell-completion/bash/localectl | 6 +++++-
|
||||
shell-completion/bash/loginctl | 6 +++++-
|
||||
shell-completion/bash/systemctl.in | 6 +++++-
|
||||
shell-completion/bash/systemd-analyze | 6 +++++-
|
||||
shell-completion/bash/systemd-run | 14 +++++++++++++-
|
||||
shell-completion/bash/timedatectl | 6 +++++-
|
||||
shell-completion/bash/udevadm | 6 +++++-
|
||||
11 files changed, 70 insertions(+), 11 deletions(-)
|
||||
|
||||
Index: systemd-228/shell-completion/bash/coredumpctl
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/coredumpctl
|
||||
+++ systemd-228/shell-completion/bash/coredumpctl
|
||||
@@ -44,6 +44,10 @@ _coredumpctl() {
|
||||
[DUMP]='dump gdb'
|
||||
)
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
if __contains_word "$prev" '--output -o'; then
|
||||
comps=$( compgen -A file -- "$cur" )
|
||||
compopt -o filenames
|
||||
@@ -82,4 +86,4 @@ _coredumpctl() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _coredumpctl coredumpctl
|
||||
+complete -o default -o bashdefault -F _coredumpctl coredumpctl
|
||||
Index: systemd-228/shell-completion/bash/hostnamectl
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/hostnamectl
|
||||
+++ systemd-228/shell-completion/bash/hostnamectl
|
||||
@@ -30,6 +30,10 @@ _hostnamectl() {
|
||||
local OPTS='-h --help --version --transient --static --pretty
|
||||
--no-ask-password -H --host --machine'
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
if [[ $cur = -* ]]; then
|
||||
COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
|
||||
return 0
|
||||
@@ -61,4 +65,4 @@ _hostnamectl() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _hostnamectl hostnamectl
|
||||
+complete -o default -o bashdefault -F _hostnamectl hostnamectl
|
||||
Index: systemd-228/shell-completion/bash/journalctl
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/journalctl
|
||||
+++ systemd-228/shell-completion/bash/journalctl
|
||||
@@ -56,6 +56,10 @@ _journalctl() {
|
||||
--root -M --machine'
|
||||
)
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then
|
||||
case $prev in
|
||||
--boot|--this-boot|-b)
|
||||
@@ -121,4 +125,4 @@ _journalctl() {
|
||||
fi
|
||||
}
|
||||
|
||||
-complete -F _journalctl journalctl
|
||||
+complete -o default -o bashdefault -F _journalctl journalctl
|
||||
Index: systemd-228/shell-completion/bash/kernel-install
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/kernel-install
|
||||
+++ systemd-228/shell-completion/bash/kernel-install
|
||||
@@ -18,11 +18,22 @@
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
+__contains_word () {
|
||||
+ local w word=$1; shift
|
||||
+ for w in "$@"; do
|
||||
+ [[ $w = "$word" ]] && return
|
||||
+ done
|
||||
+}
|
||||
+
|
||||
_kernel_install() {
|
||||
local comps
|
||||
local MACHINE_ID
|
||||
local cur=${COMP_WORDS[COMP_CWORD]}
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
case $COMP_CWORD in
|
||||
1)
|
||||
comps="add remove"
|
||||
@@ -47,4 +58,4 @@ _kernel_install() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _kernel_install kernel-install
|
||||
+complete -o default -o bashdefault -F _kernel_install kernel-install
|
||||
Index: systemd-228/shell-completion/bash/localectl
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/localectl
|
||||
+++ systemd-228/shell-completion/bash/localectl
|
||||
@@ -36,6 +36,10 @@ _localectl() {
|
||||
local OPTS='-h --help --version --no-convert --no-pager --no-ask-password
|
||||
-H --host --machine'
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
if __contains_word "$prev" $OPTS; then
|
||||
case $prev in
|
||||
--host|-H)
|
||||
@@ -89,4 +93,4 @@ _localectl() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _localectl localectl
|
||||
+complete -o default -o bashdefault -F _localectl localectl
|
||||
Index: systemd-228/shell-completion/bash/loginctl
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/loginctl
|
||||
+++ systemd-228/shell-completion/bash/loginctl
|
||||
@@ -38,6 +38,10 @@ _loginctl () {
|
||||
[ARG]='--host -H --kill-who --property -p --signal -s --machine'
|
||||
)
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
if __contains_word "$prev" ${OPTS[ARG]}; then
|
||||
case $prev in
|
||||
--signal|-s)
|
||||
@@ -107,4 +111,4 @@ _loginctl () {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _loginctl loginctl
|
||||
+complete -o default -o bashdefault -F _loginctl loginctl
|
||||
Index: systemd-228/shell-completion/bash/systemctl.in
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/systemctl.in
|
||||
+++ systemd-228/shell-completion/bash/systemctl.in
|
||||
@@ -104,6 +104,10 @@ _systemctl () {
|
||||
--preset-mode -n --lines -o --output -M --machine'
|
||||
)
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
if __contains_word "--user" ${COMP_WORDS[*]}; then
|
||||
mode=--user
|
||||
elif __contains_word "--global" ${COMP_WORDS[*]}; then
|
||||
@@ -280,4 +284,4 @@ _systemctl () {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _systemctl systemctl
|
||||
+complete -o default -o bashdefault -F _systemctl systemctl
|
||||
Index: systemd-228/shell-completion/bash/systemd-analyze
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/systemd-analyze
|
||||
+++ systemd-228/shell-completion/bash/systemd-analyze
|
||||
@@ -47,6 +47,10 @@ _systemd_analyze() {
|
||||
[VERIFY]='verify'
|
||||
)
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
_init_completion || return
|
||||
|
||||
for ((i=0; i < COMP_CWORD; i++)); do
|
||||
@@ -114,4 +118,4 @@ _systemd_analyze() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _systemd_analyze systemd-analyze
|
||||
+complete -o default -o bashdefault -F _systemd_analyze systemd-analyze
|
||||
Index: systemd-228/shell-completion/bash/systemd-run
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/systemd-run
|
||||
+++ systemd-228/shell-completion/bash/systemd-run
|
||||
@@ -17,6 +17,13 @@
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
+__contains_word () {
|
||||
+ local w word=$1; shift
|
||||
+ for w in "$@"; do
|
||||
+ [[ $w = "$word" ]] && return
|
||||
+ done
|
||||
+}
|
||||
+
|
||||
__systemctl() {
|
||||
local mode=$1; shift 1
|
||||
systemctl $mode --full --no-legend "$@"
|
||||
@@ -40,6 +47,11 @@ _systemd_run() {
|
||||
|
||||
local mode=--system
|
||||
local i
|
||||
+
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
local opts_with_values=(
|
||||
--unit --description --slice --service-type -H --host -M --machine -p --property --on-active
|
||||
--on-boot --on-startup --on-unit-active --on-unit-inactive --on-calendar --timer-property
|
||||
@@ -114,4 +126,4 @@ _systemd_run() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _systemd_run systemd-run
|
||||
+complete -o default -o bashdefault -F _systemd_run systemd-run
|
||||
Index: systemd-228/shell-completion/bash/timedatectl
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/timedatectl
|
||||
+++ systemd-228/shell-completion/bash/timedatectl
|
||||
@@ -30,6 +30,10 @@ _timedatectl() {
|
||||
local OPTS='-h --help --version --adjust-system-clock --no-pager
|
||||
--no-ask-password -H --host --machine'
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
if __contains_word "$prev" $OPTS; then
|
||||
case $prev in
|
||||
--host|-H)
|
||||
@@ -73,4 +77,4 @@ _timedatectl() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _timedatectl timedatectl
|
||||
+complete -o default -o bashdefault -F _timedatectl timedatectl
|
||||
Index: systemd-228/shell-completion/bash/udevadm
|
||||
===================================================================
|
||||
--- systemd-228.orig/shell-completion/bash/udevadm
|
||||
+++ systemd-228/shell-completion/bash/udevadm
|
||||
@@ -36,6 +36,10 @@ _udevadm() {
|
||||
|
||||
local verbs=(info trigger settle control monitor hwdb test-builtin test)
|
||||
|
||||
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
for ((i=0; i < COMP_CWORD; i++)); do
|
||||
if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" &&
|
||||
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
|
||||
@@ -94,4 +98,4 @@ _udevadm() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-complete -F _udevadm udevadm
|
||||
+complete -o default -o bashdefault -F _udevadm udevadm
|
@ -1,24 +0,0 @@
|
||||
From: Robert Milasan <rmilasan@suse.com>
|
||||
Date: Wed, 27 Jun 2012 08:55:59 +0000
|
||||
Subject: rules create by id scsi links for ATA devices
|
||||
|
||||
Re-enable creation of by-id scsi links for ATA devices. (bnc#769002)
|
||||
---
|
||||
rules/60-persistent-storage.rules | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
Index: systemd-221/rules/60-persistent-storage.rules
|
||||
===================================================================
|
||||
--- systemd-221.orig/rules/60-persistent-storage.rules
|
||||
+++ systemd-221/rules/60-persistent-storage.rules
|
||||
@@ -36,6 +36,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk",
|
||||
KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
|
||||
KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
|
||||
|
||||
+# scsi compat links for ATA devices
|
||||
+KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}"
|
||||
+KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n"
|
||||
+
|
||||
# FireWire
|
||||
KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}"
|
||||
KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n"
|
@ -1,22 +0,0 @@
|
||||
From: Robert Milasan <rmilasan@suse.com>
|
||||
Date: Mon, 6 Aug 2012 13:35:34 +0000
|
||||
Subject: udev netlink null rules
|
||||
|
||||
udevd race for netlink events (bnc#774646)
|
||||
---
|
||||
src/udev/udevd.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: systemd-221/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/udev/udevd.c
|
||||
+++ systemd-221/src/udev/udevd.c
|
||||
@@ -917,6 +917,8 @@ static int on_uevent(sd_event_source *s,
|
||||
dev = udev_monitor_receive_device(manager->monitor);
|
||||
if (dev) {
|
||||
udev_device_ensure_usec_initialized(dev, NULL);
|
||||
+ if (manager->rules == NULL)
|
||||
+ manager->rules = udev_rules_new(manager->udev, arg_resolve_names);
|
||||
r = event_queue_insert(manager, dev);
|
||||
if (r < 0)
|
||||
udev_device_unref(dev);
|
@ -1,24 +0,0 @@
|
||||
From: Robert Milasan <rmilasan@suse.com>
|
||||
Date: Tue, 12 Feb 2013 09:16:23 +0000
|
||||
Subject: create default links for primary cd_dvd drive
|
||||
|
||||
cdrom_id: created links for the default cd/dvd drive (bnc#783054).
|
||||
---
|
||||
rules/60-cdrom_id.rules | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/rules/60-cdrom_id.rules
|
||||
===================================================================
|
||||
--- systemd-221.orig/rules/60-cdrom_id.rules
|
||||
+++ systemd-221/rules/60-cdrom_id.rules
|
||||
@@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $
|
||||
# stale mounts after ejecting
|
||||
ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0"
|
||||
|
||||
-KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
|
||||
+KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
|
||||
+KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100"
|
||||
+KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
|
||||
+KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100"
|
||||
|
||||
LABEL="cdrom_end"
|
@ -1,77 +0,0 @@
|
||||
From: Robert Milasan <rmilasan@suse.com>
|
||||
Cc: Werner Fink <werner@suse.de>
|
||||
Subject: udev always rename network
|
||||
|
||||
Date: Thu, 28 Mar 2013 09:24:43 +0000
|
||||
udev: ensure that the network interfaces are renamed even if they exist (bnc#809843).
|
||||
|
||||
Date: Tue, 4 Mar 2014 10:29:21 +0000
|
||||
Port the patch of Robert to systemd v210 and test it out.
|
||||
|
||||
---
|
||||
src/udev/udev-event.c | 41 +++++++++++++++++++++++++++++++++++++----
|
||||
1 file changed, 37 insertions(+), 4 deletions(-)
|
||||
|
||||
|
||||
Index: systemd-221/src/udev/udev-event.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/udev/udev-event.c
|
||||
+++ systemd-221/src/udev/udev-event.c
|
||||
@@ -796,20 +796,53 @@ out:
|
||||
static int rename_netif(struct udev_event *event) {
|
||||
struct udev_device *dev = event->dev;
|
||||
char name[IFNAMSIZ];
|
||||
+ char interim[IFNAMSIZ], *ptr = &interim[0];
|
||||
const char *oldname;
|
||||
- int r;
|
||||
+ int r, loop;
|
||||
|
||||
oldname = udev_device_get_sysname(dev);
|
||||
|
||||
strscpy(name, IFNAMSIZ, event->name);
|
||||
|
||||
r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name);
|
||||
- if (r < 0)
|
||||
+ if (r == 0) {
|
||||
+ log_info("renamed network interface %s to %s\n", oldname, name);
|
||||
+ return r;
|
||||
+ } else if (r != -EEXIST) {
|
||||
return log_error_errno(r, "Error changing net interface name '%s' to '%s': %m", oldname, name);
|
||||
+ }
|
||||
|
||||
- log_debug("renamed network interface '%s' to '%s'", oldname, name);
|
||||
+ /* free our own name, another process may wait for us */
|
||||
+ strpcpyf(&ptr, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev));
|
||||
|
||||
- return 0;
|
||||
+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), interim);
|
||||
+ if (r < 0) {
|
||||
+ log_error("error changing net interface name %s to %s: %s",
|
||||
+ oldname, interim, strerror(-r));
|
||||
+ return r;
|
||||
+ }
|
||||
+
|
||||
+ /* log temporary name */
|
||||
+ log_info("renamed network interface %s to %s\n", oldname, interim);
|
||||
+
|
||||
+ loop = 90 * 20;
|
||||
+ while (loop--) {
|
||||
+ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 };
|
||||
+ nanosleep(&duration, NULL);
|
||||
+
|
||||
+ r = rtnl_set_link_name(&event->rtnl, udev_device_get_ifindex(dev), name);
|
||||
+ if (r == 0) {
|
||||
+ log_info("renamed network interface %s to %s\n", interim, name);
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (r != -EEXIST) {
|
||||
+ log_error("error changing net interface name %s to %s: %s",
|
||||
+ interim, name, strerror(-r));
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ return r;
|
||||
}
|
||||
|
||||
void udev_event_execute_rules(struct udev_event *event,
|
@ -1,37 +0,0 @@
|
||||
---
|
||||
Makefile.am | 4 ++++
|
||||
rules/80-hotplug-cpu-mem.rules | 12 ++++++++++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
Index: systemd-221/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-221.orig/Makefile.am
|
||||
+++ systemd-221/Makefile.am
|
||||
@@ -3841,6 +3841,10 @@ dist_udevrules_DATA += \
|
||||
rules/73-seat-numlock.rules
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
+dist_udevrules_DATA += \
|
||||
+ rules/80-hotplug-cpu-mem.rules
|
||||
+
|
||||
+# ------------------------------------------------------------------------------
|
||||
mtd_probe_SOURCES = \
|
||||
src/udev/mtd_probe/mtd_probe.c \
|
||||
src/udev/mtd_probe/mtd_probe.h \
|
||||
Index: systemd-221/rules/80-hotplug-cpu-mem.rules
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-221/rules/80-hotplug-cpu-mem.rules
|
||||
@@ -0,0 +1,12 @@
|
||||
+# 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
|
||||
+SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \
|
||||
+ ATTR{state}="online", TAG+="tmpfs"
|
||||
+
|
||||
+#
|
||||
+TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs"
|
@ -1,24 +0,0 @@
|
||||
From e26a5bb50b8aa741c5b2e57749d576c488e7ab32 Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Reinecke <hare@suse.de>
|
||||
Date: Thu, 10 Apr 2014 11:10:41 +0200
|
||||
Subject: [PATCH 1/2] 64-btrfs.rules: skip btrfs check if devices are not ready
|
||||
|
||||
If any devices are marked with 'SYSTEMD_READY=0' then
|
||||
we shouldn't run any btrfs check on them.
|
||||
|
||||
---
|
||||
rules/64-btrfs.rules | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: systemd-221/rules/64-btrfs.rules
|
||||
===================================================================
|
||||
--- systemd-221.orig/rules/64-btrfs.rules
|
||||
+++ systemd-221/rules/64-btrfs.rules
|
||||
@@ -3,6 +3,7 @@
|
||||
SUBSYSTEM!="block", GOTO="btrfs_end"
|
||||
ACTION=="remove", GOTO="btrfs_end"
|
||||
ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end"
|
||||
+ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end"
|
||||
|
||||
# let the kernel know about this btrfs filesystem, and check if it is complete
|
||||
IMPORT{builtin}="btrfs ready $devnode"
|
@ -1,40 +0,0 @@
|
||||
From f9e1ee09fadbd4fb146d4f7bb45a6212773dff63 Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Reinecke <hare@suse.de>
|
||||
Date: Thu, 10 Apr 2014 11:14:20 +0200
|
||||
Subject: [PATCH 2/2] Skip persistent device link creation on multipath device
|
||||
paths
|
||||
|
||||
When a device is marked as a multipath device path by setting
|
||||
DM_MULTIPATH_DEVICE_PATH="1" udev should not create any
|
||||
persistent symlinks to that device.
|
||||
Otherwise systemd will get confused about which device to use.
|
||||
|
||||
---
|
||||
rules/60-persistent-storage.rules | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-221/rules/60-persistent-storage.rules
|
||||
===================================================================
|
||||
--- systemd-221.orig/rules/60-persistent-storage.rules
|
||||
+++ systemd-221/rules/60-persistent-storage.rules
|
||||
@@ -33,8 +33,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!
|
||||
# SCSI devices
|
||||
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi"
|
||||
KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss"
|
||||
-KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
|
||||
-KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
|
||||
+KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
|
||||
+KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
|
||||
|
||||
# scsi compat links for ATA devices
|
||||
KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}"
|
||||
@@ -66,6 +66,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!=
|
||||
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
|
||||
IMPORT{builtin}="blkid --noraid"
|
||||
|
||||
+# Skip blkid on multipath device paths
|
||||
+ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="persistent_storage_end"
|
||||
+
|
||||
# probe filesystem metadata of disks
|
||||
KERNEL!="sr*", IMPORT{builtin}="blkid"
|
||||
|
@ -1,29 +0,0 @@
|
||||
From c9af1be90db5a29ac86605c67bc2bb4bc5780520 Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Reinecke <hare@suse.de>
|
||||
Date: Thu, 12 Jun 2014 12:25:03 +0200
|
||||
Subject: [PATCH] 99-systemd.rules: Ignore devices with 'SYSTEMD_READY=0'
|
||||
|
||||
Whenever a rule sets 'SYSTEMD_READY=0' it tries to indicate
|
||||
that systemd should ignore this device. So we should not
|
||||
set the 'systemd' tag in these cases; otherwise systemd
|
||||
will pick up the device.
|
||||
|
||||
References: bnc#881942
|
||||
|
||||
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
||||
---
|
||||
rules/99-systemd.rules.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: systemd-221/rules/99-systemd.rules.in
|
||||
===================================================================
|
||||
--- systemd-221.orig/rules/99-systemd.rules.in
|
||||
+++ systemd-221/rules/99-systemd.rules.in
|
||||
@@ -10,6 +10,7 @@ ACTION=="remove", GOTO="systemd_end"
|
||||
SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd"
|
||||
KERNEL=="vport*", TAG+="systemd"
|
||||
|
||||
+SUBSYSTEM=="block", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end"
|
||||
SUBSYSTEM=="block", TAG+="systemd"
|
||||
SUBSYSTEM=="block", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
|
||||
|
@ -1,20 +0,0 @@
|
||||
Exclude cd/dvd as well (bnc#882714)
|
||||
|
||||
---
|
||||
src/udev/udevd.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/udev/udevd.c
|
||||
+++ systemd-221/src/udev/udevd.c
|
||||
@@ -1022,7 +1022,8 @@ static int synthesize_change(struct udev
|
||||
|
||||
if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
|
||||
streq_ptr("disk", udev_device_get_devtype(dev)) &&
|
||||
- !startswith(udev_device_get_sysname(dev), "dm-")) {
|
||||
+ !startswith(udev_device_get_sysname(dev), "dm-") &&
|
||||
+ !startswith(udev_device_get_sysname(dev), "sr")) {
|
||||
bool part_table_read = false;
|
||||
bool has_partitions = false;
|
||||
int fd;
|
@ -1,45 +0,0 @@
|
||||
From: Jeff Mahoney <jeffm@suse.com>
|
||||
Subject: udev: use device mapper target name for btrfs device ready
|
||||
References: bnc#888215
|
||||
|
||||
When udev gets a change event for a block device, it calls the builtin
|
||||
btrfs helper to scan it for a btrfs file system. If the file system was
|
||||
mounted using a device mapper node, mount(8) will have looked up the
|
||||
device mapper table and used the /dev/mapper/<name> node for mount.
|
||||
|
||||
If something like partprobe runs, and then causes change events to be
|
||||
handled, the btrfs ready event is handled using /dev/dm-N instead of
|
||||
the device mapper named node. Btrfs caches the last name passed to
|
||||
the scanning ioctl and uses that to report the device name for
|
||||
things like /proc/mounts.
|
||||
|
||||
So, after running partprobe we go from:
|
||||
/dev/mapper/test-test on /mnt type btrfs (rw,relatime,space_cache)
|
||||
... to ...
|
||||
/dev/dm-0 on /mnt type btrfs (rw,relatime,space_cache)
|
||||
|
||||
This doesn't apply only to LVM device, but multipath as well.
|
||||
|
||||
If the device is a DM device, udev will have already cached the table name
|
||||
from sysfs and we can use that to pass /dev/mapper/<name> to the builtin
|
||||
so that the correct name is used.
|
||||
|
||||
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||
---
|
||||
rules/64-btrfs.rules | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/rules/64-btrfs.rules
|
||||
===================================================================
|
||||
--- systemd-221.orig/rules/64-btrfs.rules
|
||||
+++ systemd-221/rules/64-btrfs.rules
|
||||
@@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en
|
||||
ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end"
|
||||
|
||||
# let the kernel know about this btrfs filesystem, and check if it is complete
|
||||
-IMPORT{builtin}="btrfs ready $devnode"
|
||||
+ENV{DM_NAME}=="", IMPORT{builtin}="btrfs ready $devnode"
|
||||
+ENV{DM_NAME}=="?*", IMPORT{builtin}="btrfs ready /dev/mapper/$env{DM_NAME}"
|
||||
|
||||
# mark the device as not ready to be used by the system
|
||||
ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0"
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
rules/50-udev-default.rules | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: systemd-221/rules/50-udev-default.rules
|
||||
===================================================================
|
||||
--- systemd-221.orig/rules/50-udev-default.rules
|
||||
+++ systemd-221/rules/50-udev-default.rules
|
||||
@@ -74,4 +74,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st
|
||||
|
||||
KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
|
||||
|
||||
+KERNEL=="genwqe*", MODE="0666"
|
||||
+
|
||||
LABEL="default_end"
|
@ -1,175 +0,0 @@
|
||||
From: Jeff Mahoney <jeffm@suse.com>
|
||||
Subject: udev: add option to generate old 'buggy' serials
|
||||
References: bnc#886852
|
||||
|
||||
Prior to udev 184, scsi_id would truncate the last character of the model
|
||||
string when generating the ID_SERIAL value. If a system was installed
|
||||
prior to that fix being available in udev, there may be configuration
|
||||
information that refers to the truncated link.
|
||||
|
||||
This patch adds a --truncated-serial option and a udev rule will created
|
||||
the old truncated links.
|
||||
|
||||
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||
---
|
||||
rules/60-persistent-storage.rules | 4 ++++
|
||||
src/udev/scsi_id/scsi_id.c | 15 ++++++++++++++-
|
||||
src/udev/scsi_id/scsi_id.h | 1 +
|
||||
src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------
|
||||
4 files changed, 32 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: systemd-221/rules/60-persistent-storage.rules
|
||||
===================================================================
|
||||
--- systemd-221.orig/rules/60-persistent-storage.rules
|
||||
+++ systemd-221/rules/60-persistent-storage.rules
|
||||
@@ -40,6 +40,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par
|
||||
KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}"
|
||||
KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n"
|
||||
|
||||
+# scsi compat links for ATA devices (for compatibility with udev < 184)
|
||||
+KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --truncated-serial --whitelisted --replace-whitespace -p0x80 -d$tempnode", RESULT=="?*", ENV{ID_SCSI_COMPAT_TRUNCATED}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}"
|
||||
+KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT_TRUNCATED}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}-part%n"
|
||||
+
|
||||
# FireWire
|
||||
KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}"
|
||||
KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n"
|
||||
Index: systemd-221/src/udev/scsi_id/scsi_id.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/udev/scsi_id/scsi_id.c
|
||||
+++ systemd-221/src/udev/scsi_id/scsi_id.c
|
||||
@@ -43,6 +43,7 @@ static const struct option options[] = {
|
||||
{ "replace-whitespace", no_argument, NULL, 'u' },
|
||||
{ "sg-version", required_argument, NULL, 's' },
|
||||
{ "verbose", no_argument, NULL, 'v' },
|
||||
+ { "truncated-serial", no_argument, NULL, '9' },
|
||||
{ "version", no_argument, NULL, 'V' }, /* don't advertise -V */
|
||||
{ "export", no_argument, NULL, 'x' },
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
@@ -54,6 +55,7 @@ static bool dev_specified = false;
|
||||
static char config_file[MAX_PATH_LEN] = "/etc/scsi_id.config";
|
||||
static enum page_code default_page_code = PAGE_UNSPECIFIED;
|
||||
static int sg_version = 4;
|
||||
+static bool compat_truncated = false;
|
||||
static bool reformat_serial = false;
|
||||
static bool export = false;
|
||||
static char vendor_str[64];
|
||||
@@ -316,6 +318,7 @@ static void help(void) {
|
||||
" -g --whitelisted Treat device as whitelisted\n"
|
||||
" -u --replace-whitespace Replace all whitespace by underscores\n"
|
||||
" -v --verbose Verbose logging\n"
|
||||
+ " --truncated-serial truncated serial for compatibility with systems configured with by-id links created by udev < 184\n"
|
||||
" -x --export Print values as environment keys\n"
|
||||
, program_invocation_short_name);
|
||||
|
||||
@@ -387,6 +390,10 @@ static int set_options(struct udev *udev
|
||||
log_open();
|
||||
break;
|
||||
|
||||
+ case '9':
|
||||
+ compat_truncated = true;
|
||||
+ break;
|
||||
+
|
||||
case 'V':
|
||||
printf("%s\n", VERSION);
|
||||
exit(0);
|
||||
@@ -528,6 +535,9 @@ static int scsi_id(struct udev *udev, ch
|
||||
util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str));
|
||||
util_replace_chars(serial_str, NULL);
|
||||
printf("ID_SERIAL=%s\n", serial_str);
|
||||
+ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str));
|
||||
+ util_replace_chars(serial_str, NULL);
|
||||
+ printf("ID_SERIAL_COMPAT=%s\n", serial_str);
|
||||
util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str));
|
||||
util_replace_chars(serial_str, NULL);
|
||||
printf("ID_SERIAL_SHORT=%s\n", serial_str);
|
||||
@@ -558,7 +568,10 @@ static int scsi_id(struct udev *udev, ch
|
||||
if (reformat_serial) {
|
||||
char serial_str[MAX_SERIAL_LEN];
|
||||
|
||||
- util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str));
|
||||
+ if (compat_truncated)
|
||||
+ util_replace_whitespace(dev_scsi.serial_compat, serial_str, sizeof(serial_str));
|
||||
+ else
|
||||
+ util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str));
|
||||
util_replace_chars(serial_str, NULL);
|
||||
printf("%s\n", serial_str);
|
||||
goto out;
|
||||
Index: systemd-221/src/udev/scsi_id/scsi_id.h
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/udev/scsi_id/scsi_id.h
|
||||
+++ systemd-221/src/udev/scsi_id/scsi_id.h
|
||||
@@ -45,6 +45,7 @@ struct scsi_id_device {
|
||||
char kernel[64];
|
||||
char serial[MAX_SERIAL_LEN];
|
||||
char serial_short[MAX_SERIAL_LEN];
|
||||
+ char serial_compat[MAX_SERIAL_LEN];
|
||||
int use_sg;
|
||||
|
||||
/* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */
|
||||
Index: systemd-221/src/udev/scsi_id/scsi_serial.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/udev/scsi_id/scsi_serial.c
|
||||
+++ systemd-221/src/udev/scsi_id/scsi_serial.c
|
||||
@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a
|
||||
|
||||
static int do_scsi_page80_inquiry(struct udev *udev,
|
||||
struct scsi_id_device *dev_scsi, int fd,
|
||||
- char *serial, char *serial_short, int max_len);
|
||||
+ char *serial, char *serial_short,
|
||||
+ char *serial_compat, int max_len);
|
||||
|
||||
static int sg_err_category_new(struct udev *udev,
|
||||
int scsi_status, int msg_status, int
|
||||
@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct
|
||||
unsigned char page_83[SCSI_INQ_BUFF_LEN];
|
||||
|
||||
/* also pick up the page 80 serial number */
|
||||
- do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, MAX_SERIAL_LEN);
|
||||
+ do_scsi_page80_inquiry(udev, dev_scsi, fd, NULL, unit_serial_number, NULL, MAX_SERIAL_LEN);
|
||||
|
||||
memzero(page_83, SCSI_INQ_BUFF_LEN);
|
||||
retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83,
|
||||
@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir
|
||||
/* Get unit serial number VPD page */
|
||||
static int do_scsi_page80_inquiry(struct udev *udev,
|
||||
struct scsi_id_device *dev_scsi, int fd,
|
||||
- char *serial, char *serial_short, int max_len)
|
||||
+ char *serial, char *serial_short,
|
||||
+ char *serial_compat, int max_len)
|
||||
{
|
||||
int retval;
|
||||
int ser_ind;
|
||||
@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct
|
||||
ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]);
|
||||
if (ser_ind < 0)
|
||||
return 1;
|
||||
+ if (serial_compat)
|
||||
+ strcpy(serial_compat, serial);
|
||||
ser_ind++; /* for the leading 'S' */
|
||||
- for (i = 4; i < len + 4; i++, ser_ind++)
|
||||
+ for (i = 4; i < len + 4; i++, ser_ind++) {
|
||||
serial[ser_ind] = buf[i];
|
||||
+ if (serial_compat)
|
||||
+ serial_compat[ser_ind - 1] = buf[i];
|
||||
+ }
|
||||
}
|
||||
if (serial_short != NULL) {
|
||||
memcpy(serial_short, &buf[4], len);
|
||||
@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev,
|
||||
return 1;
|
||||
|
||||
if (page_code == PAGE_80) {
|
||||
- if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, len)) {
|
||||
+ if (do_scsi_page80_inquiry(udev, dev_scsi, fd, dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) {
|
||||
retval = 1;
|
||||
goto completed;
|
||||
} else {
|
||||
@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev,
|
||||
for (ind = 4; ind <= page0[3] + 3; ind++)
|
||||
if (page0[ind] == PAGE_80)
|
||||
if (!do_scsi_page80_inquiry(udev, dev_scsi, fd,
|
||||
- dev_scsi->serial, dev_scsi->serial_short, len)) {
|
||||
+ dev_scsi->serial, dev_scsi->serial_short, dev_scsi->serial_compat, len)) {
|
||||
/*
|
||||
* Success
|
||||
*/
|
@ -1,33 +0,0 @@
|
||||
---
|
||||
Makefile.am | 1 +
|
||||
rules/60-ssd-scheduler.rules | 11 +++++++++++
|
||||
2 files changed, 12 insertions(+)
|
||||
|
||||
Index: systemd-221/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-221.orig/Makefile.am
|
||||
+++ systemd-221/Makefile.am
|
||||
@@ -3501,6 +3501,7 @@ dist_udevrules_DATA += \
|
||||
rules/60-persistent-input.rules \
|
||||
rules/60-persistent-alsa.rules \
|
||||
rules/60-persistent-storage.rules \
|
||||
+ rules/60-ssd-scheduler.rules \
|
||||
rules/60-serial.rules \
|
||||
rules/64-btrfs.rules \
|
||||
rules/70-mouse.rules \
|
||||
Index: systemd-221/rules/60-ssd-scheduler.rules
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-221/rules/60-ssd-scheduler.rules
|
||||
@@ -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"
|
@ -1,108 +0,0 @@
|
||||
---
|
||||
Makefile.am | 19 +++++
|
||||
src/udev/rootsymlink_generator/rootsymlink_generator.c | 57 +++++++++++++++++
|
||||
units/systemd-udev-root-symlink.service | 10 ++
|
||||
units/systemd-udev-root-symlink.service.in | 10 ++
|
||||
4 files changed, 96 insertions(+)
|
||||
|
||||
--- systemd-222.orig/Makefile.am
|
||||
+++ systemd-222/Makefile.am
|
||||
@@ -3759,6 +3759,25 @@ EXTRA_DIST += \
|
||||
test/mocks/fsck
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
+rootsymlink_generator_SOURCES = \
|
||||
+ src/udev/rootsymlink_generator/rootsymlink_generator.c
|
||||
+
|
||||
+rootsymlink_generator_CFLAGS = \
|
||||
+ $(AM_CFLAGS)
|
||||
+
|
||||
+udevlibexec_PROGRAMS += \
|
||||
+ rootsymlink-generator
|
||||
+
|
||||
+nodist_systemunit_DATA += \
|
||||
+ units/systemd-udev-root-symlink.service
|
||||
+
|
||||
+SYSINIT_TARGET_WANTS += \
|
||||
+ systemd-udev-root-symlink.service
|
||||
+
|
||||
+EXTRA_DIST += \
|
||||
+ units/systemd-udev-root-symlink.service.in
|
||||
+
|
||||
+# ------------------------------------------------------------------------------
|
||||
ata_id_SOURCES = \
|
||||
src/udev/ata_id/ata_id.c
|
||||
|
||||
--- /dev/null
|
||||
+++ systemd-222/src/udev/rootsymlink_generator/rootsymlink_generator.c
|
||||
@@ -0,0 +1,57 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2014-2015 Robert Milasan <rmilasan@suse.com>
|
||||
+ *
|
||||
+ * This program is free software: you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation, either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <string.h>
|
||||
+#include <errno.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <unistd.h>
|
||||
+
|
||||
+#define BUFFER_SIZE 128
|
||||
+
|
||||
+#define _ROOTDEV_ "/"
|
||||
+#define _PATH_ "/run/udev/rules.d"
|
||||
+#define _FILE_ "10-root-symlink.rules"
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ char filename[BUFFER_SIZE], buf[BUFFER_SIZE];
|
||||
+ struct stat statbuf;
|
||||
+ int fd;
|
||||
+
|
||||
+ if (stat(_ROOTDEV_, &statbuf) < 0)
|
||||
+ return 1;
|
||||
+ if (major(statbuf.st_dev) <= 0)
|
||||
+ return 0;
|
||||
+ if (mkdir(_PATH_, 0755) < 0 && errno != EEXIST)
|
||||
+ return errno;
|
||||
+ snprintf(filename, BUFFER_SIZE, "%s/%s", _PATH_, _FILE_);
|
||||
+ fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644);
|
||||
+ if (fd < 0)
|
||||
+ return errno;
|
||||
+ snprintf(buf, BUFFER_SIZE,
|
||||
+ "ACTION==\"add|change\", SUBSYSTEM==\"block\", "
|
||||
+ "ENV{MAJOR}==\"%d\", ENV{MINOR}==\"%d\", SYMLINK+=\"root\"\n",
|
||||
+ major(statbuf.st_dev), minor(statbuf.st_dev));
|
||||
+ if (write(fd, buf, strlen(buf)) < 0)
|
||||
+ return errno;
|
||||
+ if (close(fd) < 0)
|
||||
+ return errno;
|
||||
+ return 0;
|
||||
+}
|
||||
--- /dev/null
|
||||
+++ systemd-222/units/systemd-udev-root-symlink.service.in
|
||||
@@ -0,0 +1,10 @@
|
||||
+[Unit]
|
||||
+Description=Rule generator for /dev/root symlink
|
||||
+Before=systemd-udevd.service
|
||||
+DefaultDependencies=no
|
||||
+ConditionPathIsReadWrite=/run/udev
|
||||
+
|
||||
+[Service]
|
||||
+Type=oneshot
|
||||
+RemainAfterExit=yes
|
||||
+ExecStart=@udevlibexecdir@/rootsymlink-generator
|
@ -1,26 +0,0 @@
|
||||
---
|
||||
src/udev/udevd.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-227/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-227.orig/src/udev/udevd.c
|
||||
+++ systemd-227/src/udev/udevd.c
|
||||
@@ -568,7 +568,7 @@ static void event_run(Manager *manager,
|
||||
|
||||
if (hashmap_size(manager->workers) >= arg_children_max) {
|
||||
if (arg_children_max > 1)
|
||||
- log_debug("maximum number (%i) of children reached", hashmap_size(manager->workers));
|
||||
+ log_error("maximum number (%i) of children reached", hashmap_size(manager->workers));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1672,7 +1672,7 @@ int main(int argc, char *argv[]) {
|
||||
arg_children_max = 8;
|
||||
|
||||
if (sched_getaffinity(0, sizeof(cpu_set), &cpu_set) == 0)
|
||||
- arg_children_max += CPU_COUNT(&cpu_set) * 2;
|
||||
+ arg_children_max += CPU_COUNT(&cpu_set) * 64;
|
||||
|
||||
log_debug("set children_max to %u", arg_children_max);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
---
|
||||
units/systemd-networkd.service.m4.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: systemd-221/units/systemd-networkd.service.m4.in
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/systemd-networkd.service.m4.in
|
||||
+++ systemd-221/units/systemd-networkd.service.m4.in
|
||||
@@ -34,4 +34,5 @@ WatchdogSec=1min
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
+Alias=network.service
|
||||
Also=systemd-networkd.socket
|
@ -0,0 +1,37 @@
|
||||
From d624ceb7f2e6e286cf876f2ff9bf90532166c7f9 Mon Sep 17 00:00:00 2001
|
||||
From: Franck Bui <fbui@suse.com>
|
||||
Date: Fri, 12 Jan 2024 10:54:57 +0100
|
||||
Subject: [PATCH 5001/5002] Revert "udev: update devlink with the newer device
|
||||
node even when priority is equivalent"
|
||||
|
||||
This reverts commit 277cb24ffb7a520f640eb36d11340f11bf0c7c4f.
|
||||
---
|
||||
src/udev/udev-node.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c
|
||||
index e12c26ce5a..6ba38087dc 100644
|
||||
--- a/src/udev/udev-node.c
|
||||
+++ b/src/udev/udev-node.c
|
||||
@@ -467,13 +467,13 @@ static int link_update(sd_device *dev, const char *slink, bool add) {
|
||||
/* The devlink priority is downgraded. Another device may have a higher
|
||||
* priority now. Let's find the device node with the highest priority. */
|
||||
} else {
|
||||
- if (current_prio > prio)
|
||||
- /* The devlink with a higher priority already exists and is owned by
|
||||
- * another device. Hence, it is not necessary to recreate it. */
|
||||
+ if (current_prio >= prio)
|
||||
+ /* The devlink with equal or higher priority already exists and is
|
||||
+ * owned by another device. Hence, it is not necessary to recreate it. */
|
||||
return 0;
|
||||
|
||||
- /* This device has the equal or a higher priority than the current. Let's
|
||||
- * create the devlink to our device node. */
|
||||
+ /* This device has a higher priority than the current. Let's create the
|
||||
+ * devlink to our device node. */
|
||||
return node_symlink(dev, NULL, slink);
|
||||
}
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,36 @@
|
||||
From 1861e68a986c39cfec3c7fe8a348d331d93800d7 Mon Sep 17 00:00:00 2001
|
||||
From: Franck Bui <fbui@suse.com>
|
||||
Date: Fri, 12 Jan 2024 10:55:17 +0100
|
||||
Subject: [PATCH 5002/5002] Revert "udev: revert workarounds for issues caused
|
||||
by the devlink creation optimization"
|
||||
|
||||
This reverts commit b8fa62589271a0a7552c6eb02e6beac3ca759ba7.
|
||||
---
|
||||
rules.d/60-persistent-storage.rules.in | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/rules.d/60-persistent-storage.rules.in b/rules.d/60-persistent-storage.rules.in
|
||||
index 6787430208..39a6555045 100644
|
||||
--- a/rules.d/60-persistent-storage.rules.in
|
||||
+++ b/rules.d/60-persistent-storage.rules.in
|
||||
@@ -134,6 +134,17 @@ KERNEL!="sr*|mmcblk[0-9]boot[0-9]", IMPORT{builtin}="blkid"
|
||||
LABEL="persistent_storage_blkid_probe_end"
|
||||
{% endif %}
|
||||
|
||||
+# Decrease devlink priority for whole disk of ISO hybrid images, and make the
|
||||
+# priority for partitions in the image relatively higher. This is for the case
|
||||
+# that a disk and one of its partition have the same label or so.
|
||||
+# See issue #28468.
|
||||
+ENV{ID_FS_TYPE}=="iso9660", ENV{DEVTYPE}=="disk", OPTIONS+="link_priority=-10"
|
||||
+
|
||||
+# Decrease devlink priority for encrypted partitions, and make the priority for
|
||||
+# decrypted DM devices relatively higher. This is for the case that an encrypted
|
||||
+# partition and its decrypted DM device have the same label.
|
||||
+ENV{ID_FS_USAGE}=="crypto", OPTIONS+="link_priority=-10"
|
||||
+
|
||||
# by-label/by-uuid links (filesystem metadata)
|
||||
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
|
||||
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,51 @@
|
||||
From 437ea859ca6fa13e1b4b5075c85f6a5ebe93cd01 Mon Sep 17 00:00:00 2001
|
||||
From: Franck Bui <fbui@suse.com>
|
||||
Date: Wed, 17 Jul 2024 11:02:03 +0200
|
||||
Subject: [PATCH 5003/5003] core: when switching root remove /run/systemd
|
||||
before executing the binary specified by init=
|
||||
|
||||
It's important if the binary specified by the init= boot option is not systemd
|
||||
otherwise it confuses systemctl that incorrectly assumes that systemd is still
|
||||
the init system due to the presence of /run/systemd/system.
|
||||
|
||||
Also some tools might also check the presence of /run/systemd/private to test
|
||||
if systemd is running as pid1.
|
||||
|
||||
(cherry picked from commit 8c28dd24427598214d4464565192ec3f3b1a74a4)
|
||||
---
|
||||
src/core/main.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/src/core/main.c b/src/core/main.c
|
||||
index 4b8a315d86..ae8272d7e7 100644
|
||||
--- a/src/core/main.c
|
||||
+++ b/src/core/main.c
|
||||
@@ -80,6 +80,7 @@
|
||||
#include "psi-util.h"
|
||||
#include "random-util.h"
|
||||
#include "rlimit-util.h"
|
||||
+#include "rm-rf.h"
|
||||
#include "seccomp-util.h"
|
||||
#include "selinux-setup.h"
|
||||
#include "selinux-util.h"
|
||||
@@ -2037,6 +2038,17 @@ static int do_reexecute(
|
||||
arg_serialization = safe_fclose(arg_serialization);
|
||||
fds = fdset_free(fds);
|
||||
|
||||
+ /* Drop /run/systemd directory. Some of its content can be used as a flag indicating that systemd is
|
||||
+ * the init system but we might be replacing it with something different. If systemd is used again it
|
||||
+ * will recreate the directory and its content anyway. */
|
||||
+ r = rm_rf("/run/systemd.pre-switch-root", REMOVE_ROOT|REMOVE_MISSING_OK);
|
||||
+ if (r < 0)
|
||||
+ log_warning_errno(r, "Failed to prepare /run/systemd.pre-switch-root/, ignoring: %m");
|
||||
+
|
||||
+ r = RET_NERRNO(rename("/run/systemd", "/run/systemd.pre-switch-root"));
|
||||
+ if (r < 0)
|
||||
+ log_warning_errno(r, "Failed to move /run/systemd/ to /run/systemd.pre-switch-root/, ignoring: %m");
|
||||
+
|
||||
/* Reopen the console */
|
||||
(void) make_console_stdio();
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
53
5004-disable-session-freeze.patch
Normal file
53
5004-disable-session-freeze.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From: Michal Koutný <mkoutny@suse.com>
|
||||
Date: Wed, 24 Jul 2024 14:20:17 +0200
|
||||
Subject: Disable session freeze
|
||||
|
||||
Freezing of user.slice is not reliable and it breaks regular suspend/resume
|
||||
operations for users [1].
|
||||
Disable the partial (user.slice) freezing (rely on kernel freezing of every
|
||||
task upon suspend) since the benefit of user.slice freezing does not outweight
|
||||
the breakage caused by cgroup freezing implementation.
|
||||
|
||||
[1] https://github.com/systemd/systemd/issues/33083
|
||||
---
|
||||
src/home/homework.c | 7 ++++---
|
||||
src/sleep/sleep.c | 8 +++++---
|
||||
2 files changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
--- a/src/sleep/sleep.c
|
||||
+++ b/src/sleep/sleep.c
|
||||
@@ -603,12 +603,14 @@ static int run(int argc, char *argv[]) {
|
||||
r = getenv_bool("SYSTEMD_SLEEP_FREEZE_USER_SESSIONS");
|
||||
if (r < 0 && r != -ENXIO)
|
||||
log_warning_errno(r, "Cannot parse value of $SYSTEMD_SLEEP_FREEZE_USER_SESSIONS, ignoring.");
|
||||
+ if (r == -ENXIO)
|
||||
+ r = 0; /* Do not freeze by default unless requested */
|
||||
if (r != 0)
|
||||
(void) unit_freezer_new_freeze(SPECIAL_USER_SLICE, &user_slice_freezer);
|
||||
else
|
||||
- log_notice("User sessions remain unfrozen on explicit request ($SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=0).\n"
|
||||
- "This is not recommended, and might result in unexpected behavior, particularly\n"
|
||||
- "in suspend-then-hibernate operations or setups with encrypted home directories.");
|
||||
+ log_notice("User sessions remain unfrozen (add $SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=1 to override),\n"
|
||||
+ "relying on kernel to perform the freeze.\n"
|
||||
+ "This is a temporary downstream workaround for https://github.com/systemd/systemd/issues/33083.");
|
||||
|
||||
switch (arg_operation) {
|
||||
|
||||
--- a/src/home/homework.c
|
||||
+++ b/src/home/homework.c
|
||||
@@ -1879,10 +1879,11 @@ static int user_session_freezer(uid_t ui
|
||||
r = getenv_bool("SYSTEMD_HOME_LOCK_FREEZE_SESSION");
|
||||
if (r < 0 && r != -ENXIO)
|
||||
log_warning_errno(r, "Cannot parse value of $SYSTEMD_HOME_LOCK_FREEZE_SESSION, ignoring: %m");
|
||||
- else if (r == 0) {
|
||||
+ else if (r == 0 || r == -ENXIO) { /* Do not freeze by default unless requested */
|
||||
if (freeze_now)
|
||||
- log_notice("Session remains unfrozen on explicit request ($SYSTEMD_HOME_LOCK_FREEZE_SESSION=0).\n"
|
||||
- "This is not recommended, and might result in unexpected behavior including data loss!");
|
||||
+ log_notice("Session remains unfrozen (add $SYSTEMD_HOME_LOCK_FREEZE_SESSION=1 to override).\n"
|
||||
+ "This is a temporary downstream workaround for https://github.com/systemd/systemd/issues/33083.\n"
|
||||
+ "Home locking is thus experimental and might result in unexpected behavior including data loss!");
|
||||
|
||||
*ret = NULL;
|
||||
return 0;
|
@ -1,21 +0,0 @@
|
||||
---
|
||||
src/login/pam_systemd.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-228/src/login/pam_systemd.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/login/pam_systemd.c
|
||||
+++ systemd-228/src/login/pam_systemd.c
|
||||
@@ -515,7 +515,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess
|
||||
r = pam_set_data(handle, "systemd.session-fd", FD_TO_PTR(session_fd), NULL);
|
||||
if (r != PAM_SUCCESS) {
|
||||
pam_syslog(handle, LOG_ERR, "Failed to install session fd.");
|
||||
- safe_close(session_fd);
|
||||
+ if (session_fd >= 0) {
|
||||
+ PROTECT_ERRNO;
|
||||
+ if (_unlikely_(!(close_nointr(session_fd) != -EBADF)))
|
||||
+ pam_syslog(handle, LOG_ERR, "Unexpected error code on closing session fd: %m");
|
||||
+ }
|
||||
return r;
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Wed, 7 Dec 2011 15:15:07 +0000
|
||||
Subject: Fix /run/lock directories permissions to follow openSUSE policy
|
||||
|
||||
disable /var/lock/{subsys,lockdev} and change default permissions on
|
||||
/var/lock (bnc#733523).
|
||||
---
|
||||
tmpfiles.d/legacy.conf | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: systemd-221/tmpfiles.d/legacy.conf
|
||||
===================================================================
|
||||
--- systemd-221.orig/tmpfiles.d/legacy.conf
|
||||
+++ systemd-221/tmpfiles.d/legacy.conf
|
||||
@@ -10,13 +10,14 @@
|
||||
# These files are considered legacy and are unnecessary on legacy-free
|
||||
# systems.
|
||||
|
||||
-d /run/lock 0755 root root -
|
||||
+# changed for openSUSE: only /run/lock should be available.
|
||||
+d /run/lock 0775 root lock -
|
||||
L /var/lock - - - - ../run/lock
|
||||
|
||||
# /run/lock/subsys is used for serializing SysV service execution, and
|
||||
# hence without use on SysV-less systems.
|
||||
|
||||
-d /run/lock/subsys 0755 root root -
|
||||
+#d /run/lock/subsys 0755 root root -
|
||||
|
||||
# /run/lock/lockdev is used to serialize access to tty devices via
|
||||
# LCK..xxx style lock files, For more information see:
|
||||
@@ -24,7 +25,7 @@ d /run/lock/subsys 0755 root root -
|
||||
# On modern systems a BSD file lock is a better choice if
|
||||
# serialization is needed on those devices.
|
||||
|
||||
-d /run/lock/lockdev 0775 root lock -
|
||||
+#d /run/lock/lockdev 0775 root lock -
|
||||
|
||||
# /forcefsck, /fastboot and /forcequotacheck are deprecated in favor of the
|
||||
# kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>mini</package>
|
||||
</multibuild>
|
16
_service
Normal file
16
_service
Normal file
@ -0,0 +1,16 @@
|
||||
<!-- See https://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService -->
|
||||
<!-- for more details on the syntax -->
|
||||
|
||||
<services>
|
||||
<service name="tar_scm" mode="disabled">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://github.com/openSUSE/systemd.git</param>
|
||||
<param name="filename">systemd</param>
|
||||
<param name="versionformat">@PARENT_TAG@+suse.@TAG_OFFSET@.g%h</param>
|
||||
<param name="revision">openSUSE-Factory</param>
|
||||
</service>
|
||||
<service name="recompress" mode="disabled">
|
||||
<param name="file">*systemd-v243+suse.*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
</service>
|
||||
</services>
|
@ -1,17 +0,0 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
[Unit]
|
||||
Description=/etc/init.d/after.local Compatibility
|
||||
ConditionFileIsExecutable=/etc/init.d/after.local
|
||||
After=getty.target
|
||||
|
||||
[Service]
|
||||
Type=idle
|
||||
ExecStart=/etc/init.d/after.local
|
||||
TimeoutSec=0
|
||||
RemainAfterExit=yes
|
@ -1,47 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Thu, 10 Jan 2013 15:43:25 +0000
|
||||
Subject: allow multiple sulogin to be started
|
||||
|
||||
allows multiple sulogin instance (bnc#793182).
|
||||
---
|
||||
units/getty@.service.m4 | 1 +
|
||||
units/rescue.target | 1 +
|
||||
units/serial-getty@.service.m4 | 1 +
|
||||
3 files changed, 3 insertions(+)
|
||||
|
||||
Index: systemd-221/units/getty@.service.m4
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/getty@.service.m4
|
||||
+++ systemd-221/units/getty@.service.m4
|
||||
@@ -9,6 +9,7 @@
|
||||
Description=Getty on %I
|
||||
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
||||
Documentation=http://0pointer.de/blog/projects/serial-console.html
|
||||
+Conflicts=rescue.service
|
||||
After=systemd-user-sessions.service plymouth-quit-wait.service
|
||||
m4_ifdef(`HAVE_SYSV_COMPAT',
|
||||
After=rc-local.service
|
||||
Index: systemd-221/units/rescue.target
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/rescue.target
|
||||
+++ systemd-221/units/rescue.target
|
||||
@@ -10,6 +10,7 @@ Description=Rescue Mode
|
||||
Documentation=man:systemd.special(7)
|
||||
Requires=sysinit.target rescue.service
|
||||
After=sysinit.target rescue.service
|
||||
+Conflicts=getty.target
|
||||
AllowIsolate=yes
|
||||
|
||||
[Install]
|
||||
Index: systemd-221/units/serial-getty@.service.m4
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/serial-getty@.service.m4
|
||||
+++ systemd-221/units/serial-getty@.service.m4
|
||||
@@ -10,6 +10,7 @@ Description=Serial Getty on %I
|
||||
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
||||
Documentation=http://0pointer.de/blog/projects/serial-console.html
|
||||
BindsTo=dev-%i.device
|
||||
+Conflicts=rescue.service
|
||||
After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
|
||||
m4_ifdef(`HAVE_SYSV_COMPAT',
|
||||
After=rc-local.service
|
@ -1,31 +0,0 @@
|
||||
From: Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Date: Mon, 8 Apr 2013 14:51:47 +0200
|
||||
Subject: apply ACL for nvidia device nodes
|
||||
|
||||
set ACL on nvidia devices (bnc#808319).
|
||||
---
|
||||
src/login/logind-acl.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
Index: systemd-221/src/login/logind-acl.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/login/logind-acl.c
|
||||
+++ systemd-221/src/login/logind-acl.c
|
||||
@@ -285,5 +285,17 @@ int devnode_acl_all(struct udev *udev,
|
||||
r = k;
|
||||
}
|
||||
|
||||
+ /* only apply ACL on nvidia* if /dev/nvidiactl exists */
|
||||
+ if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) {
|
||||
+ int j;
|
||||
+ for (j = 0; j <= 256 ; j++) {
|
||||
+ _cleanup_free_ char *devname = NULL;
|
||||
+ if (asprintf(&devname, "/dev/nvidia%d", j) < 0)
|
||||
+ break;
|
||||
+ if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0)
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
return r;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
From c79437b7967cf5a23faa881bc5da6b88b63a1ada Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Dirsch <sndirsch@suse.de>
|
||||
Date: Tue, 3 Jun 2014 15:05:55 +0200
|
||||
Subject: [PATCH] apply ACL for nvidia-uvm device node
|
||||
|
||||
set ACL on nvidia-uvm device (bnc#879767).
|
||||
---
|
||||
src/login/logind-acl.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: systemd-221/src/login/logind-acl.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/login/logind-acl.c
|
||||
+++ systemd-221/src/login/logind-acl.c
|
||||
@@ -295,6 +295,8 @@ int devnode_acl_all(struct udev *udev,
|
||||
if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0)
|
||||
break;
|
||||
}
|
||||
+ /* required for additional CUDA support (nvidia-uvm module with appropriate device), bnc#879767 */
|
||||
+ devnode_acl("/dev/nvidia-uvm", flush, del, old_uid, add, new_uid);
|
||||
}
|
||||
|
||||
return r;
|
@ -1,34 +0,0 @@
|
||||
Nasty bug reported on boo#867663
|
||||
|
||||
---
|
||||
src/basic/def.h | 2 +-
|
||||
src/core/manager.c | 3 ++-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-228/src/basic/def.h
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/basic/def.h
|
||||
+++ systemd-228/src/basic/def.h
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
#define SYSTEMD_CGROUP_CONTROLLER "name=systemd"
|
||||
|
||||
-#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT
|
||||
+#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS
|
||||
#define SIGNALS_IGNORE SIGPIPE
|
||||
|
||||
#define REBOOT_PARAM_FILE "/run/systemd/reboot-param"
|
||||
Index: systemd-228/src/core/manager.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/core/manager.c
|
||||
+++ systemd-228/src/core/manager.c
|
||||
@@ -2003,7 +2003,8 @@ static int manager_dispatch_jobs_in_prog
|
||||
assert(m);
|
||||
assert(source);
|
||||
|
||||
- manager_print_jobs_in_progress(m);
|
||||
+ if (m->n_running_jobs > 0)
|
||||
+ manager_print_jobs_in_progress(m);
|
||||
|
||||
next = now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_PERIOD_USEC;
|
||||
r = sd_event_source_set_time(source, next);
|
@ -1,29 +0,0 @@
|
||||
Found this during debugging an other problem. The issue was that
|
||||
after ``sudo -i'' and a ``cd /usr/lib/systemd/system/'' followed
|
||||
later by a shutdown may fail with (journalctl -b -1):
|
||||
|
||||
systemd-exit.service: Failed at step CHDIR spawning: /usr/bin/kill
|
||||
|
||||
which then caused the subsequent fault that umounting the users
|
||||
home directories done by automount are busy.
|
||||
|
||||
---
|
||||
units/user/systemd-exit.service.in | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-221/units/user/systemd-exit.service.in
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/user/systemd-exit.service.in
|
||||
+++ systemd-221/units/user/systemd-exit.service.in
|
||||
@@ -10,8 +10,9 @@ Description=Exit the Session
|
||||
Documentation=man:systemd.special(7)
|
||||
DefaultDependencies=no
|
||||
Requires=shutdown.target
|
||||
-After=shutdown.target
|
||||
+After=shutdown.target multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
-ExecStart=@KILL@ -s 58 $MANAGERPID
|
||||
+WorkingDirectory=/
|
||||
+ExecStart=@KILL@ -s SIGRTMIN+24 $MANAGERPID
|
@ -1,8 +1,11 @@
|
||||
#
|
||||
# https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart
|
||||
#
|
||||
systemd
|
||||
supplements "packageand(systemd:pam-<targettype>)"
|
||||
supplements "(systemd and pam-<targettype>)"
|
||||
-/lib/systemd/system/
|
||||
post "<prefix>%{_sbindir}/pam-config -a --systemd || :"
|
||||
-/usr/lib/systemd
|
||||
-/usr/lib/cryptsetup
|
||||
libsystemd0
|
||||
libudev1
|
||||
nss-myhostname
|
||||
nss-mymachines
|
||||
systemd-devel
|
||||
|
@ -1,17 +0,0 @@
|
||||
---
|
||||
units/rc-local.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/units/rc-local.service.in
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/rc-local.service.in
|
||||
+++ systemd-221/units/rc-local.service.in
|
||||
@@ -10,7 +10,7 @@
|
||||
[Unit]
|
||||
Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility
|
||||
ConditionFileIsExecutable=@RC_LOCAL_SCRIPT_PATH_START@
|
||||
-After=network.target
|
||||
+After=basic.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
@ -1,25 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Cc: Werner Fink <werner@suse.de>
|
||||
Date: Wed, 24 Aug 2011 13:02:12 +0000
|
||||
Subject: ensure ask-password-wall starts after getty@tty1
|
||||
|
||||
ensure passphrase is handled before starting getty on tty1.
|
||||
|
||||
---
|
||||
units/systemd-ask-password-wall.service.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/units/systemd-ask-password-wall.service.in
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/systemd-ask-password-wall.service.in
|
||||
+++ systemd-221/units/systemd-ask-password-wall.service.in
|
||||
@@ -8,7 +8,8 @@
|
||||
[Unit]
|
||||
Description=Forward Password Requests to Wall
|
||||
Documentation=man:systemd-ask-password-console.service(8)
|
||||
-After=systemd-user-sessions.service
|
||||
+Wants=getty.target
|
||||
+After=systemd-user-sessions.service getty.target
|
||||
|
||||
[Service]
|
||||
ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service
|
@ -1,31 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Tue, 28 May 2013 15:17:35 +0200
|
||||
Subject: ensure shortname is set as hostname (bnc#820213)
|
||||
|
||||
strip hostname so the domain part isn't set as part of the hostname
|
||||
---
|
||||
src/core/hostname-setup.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
Index: systemd-221/src/core/hostname-setup.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/core/hostname-setup.c
|
||||
+++ systemd-221/src/core/hostname-setup.c
|
||||
@@ -34,6 +34,7 @@ int hostname_setup(void) {
|
||||
int r;
|
||||
_cleanup_free_ char *b = NULL;
|
||||
const char *hn;
|
||||
+ char *domain;
|
||||
bool enoent = false;
|
||||
|
||||
r = read_hostname_config("/etc/hostname", &b);
|
||||
@@ -46,6 +47,9 @@ int hostname_setup(void) {
|
||||
hn = NULL;
|
||||
} else
|
||||
hn = b;
|
||||
+ /* strip any leftover of a domain name */
|
||||
+ if ((domain = strchr(hn, '.')) != NULL)
|
||||
+ *domain = '\0';
|
||||
|
||||
if (isempty(hn)) {
|
||||
/* Don't override the hostname if it is already set
|
93
files.container
Normal file
93
files.container
Normal file
@ -0,0 +1,93 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_sysconfdir}/systemd/nspawn
|
||||
%{_bindir}/systemd-nspawn
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/bash-completion/completions/systemd-nspawn
|
||||
%endif
|
||||
%{_datadir}/polkit-1/actions/io.systemd.mount-file-system.policy
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/zsh/site-functions/_systemd-nspawn
|
||||
%{_mandir}/man1/systemd-nspawn.1.gz
|
||||
%{_mandir}/man5/systemd.nspawn.5.gz
|
||||
%{_mandir}/man8/libnss_mymachines.so.2.8.gz
|
||||
%{_mandir}/man8/nss-mymachines.8.gz
|
||||
%{_mandir}/man8/systemd-mountfsd.8.gz
|
||||
%{_mandir}/man8/systemd-mountfsd.service.8.gz
|
||||
%{_mandir}/man8/systemd-nsresourced.8.gz
|
||||
%{_mandir}/man8/systemd-nsresourced.service.8.gz
|
||||
%endif
|
||||
%if %{with networkd}
|
||||
%{_systemd_util_dir}/network/80-container-host0.network
|
||||
%{_systemd_util_dir}/network/80-container-vb.link
|
||||
%{_systemd_util_dir}/network/80-container-vb.network
|
||||
%{_systemd_util_dir}/network/80-container-ve.link
|
||||
%{_systemd_util_dir}/network/80-container-ve.network
|
||||
%{_systemd_util_dir}/network/80-container-vz.link
|
||||
%{_systemd_util_dir}/network/80-container-vz.network
|
||||
%{_systemd_util_dir}/network/80-namespace-ns.link
|
||||
%{_systemd_util_dir}/network/80-namespace-ns.network
|
||||
%endif
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/systemd-mountfsd
|
||||
%{_systemd_util_dir}/systemd-mountwork
|
||||
%{_systemd_util_dir}/systemd-nsresourced
|
||||
%{_systemd_util_dir}/systemd-nsresourcework
|
||||
%{_unitdir}/systemd-mountfsd.service
|
||||
%{_unitdir}/systemd-mountfsd.socket
|
||||
%{_unitdir}/systemd-nspawn@.service
|
||||
%{_unitdir}/systemd-nsresourced.service
|
||||
%{_unitdir}/systemd-nsresourced.socket
|
||||
%endif
|
||||
|
||||
%if %{with machined}
|
||||
%dir %{_unitdir}/machines.target.wants
|
||||
%{_bindir}/machinectl
|
||||
%{_datadir}/bash-completion/completions/machinectl
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy
|
||||
%{_datadir}/zsh/site-functions/_machinectl
|
||||
%{_datadir}/zsh/site-functions/_sd_machines
|
||||
%{_libdir}/libnss_mymachines.so.2
|
||||
%{_mandir}/man1/machinectl.1.gz
|
||||
%{_mandir}/man5/org.freedesktop.machine1.5.gz
|
||||
%{_mandir}/man8/systemd-machined.8.gz
|
||||
%{_mandir}/man8/systemd-machined.service.8.gz
|
||||
%{_systemd_util_dir}/rpm/fixlet-container-post.sh
|
||||
%{_systemd_util_dir}/systemd-machined
|
||||
%{_tmpfilesdir}/systemd-nspawn.conf
|
||||
%{_unitdir}/dbus-org.freedesktop.machine1.service
|
||||
%{_unitdir}/machine.slice
|
||||
%{_unitdir}/machines.target
|
||||
%{_unitdir}/machines.target.wants/var-lib-machines.mount
|
||||
%{_unitdir}/remote-fs.target.wants/var-lib-machines.mount
|
||||
%{_unitdir}/systemd-machined.service
|
||||
%{_unitdir}/var-lib-machines.mount
|
||||
%endif
|
||||
|
||||
%if %{with importd}
|
||||
%{_bindir}/importctl
|
||||
%{_datadir}/bash-completion/completions/importctl
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.import1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.import1.policy
|
||||
%{_mandir}/man1/importctl.1.gz
|
||||
%{_mandir}/man5/org.freedesktop.import1.5.gz
|
||||
%{_mandir}/man8/systemd-importd.8.gz
|
||||
%{_mandir}/man8/systemd-importd.service.8.gz
|
||||
%{_systemd_util_dir}/import-pubring.gpg
|
||||
%{_systemd_util_dir}/systemd-export
|
||||
%{_systemd_util_dir}/systemd-import
|
||||
%{_systemd_util_dir}/systemd-import-fs
|
||||
%{_systemd_util_dir}/systemd-importd
|
||||
%{_systemd_util_dir}/systemd-pull
|
||||
%{_unitdir}/dbus-org.freedesktop.import1.service
|
||||
%{_unitdir}/systemd-importd.service
|
||||
%endif
|
9
files.devel
Normal file
9
files.devel
Normal file
@ -0,0 +1,9 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%{_includedir}/libudev.h
|
||||
%{_includedir}/systemd/
|
||||
%{_libdir}/libsystemd.so
|
||||
%{_libdir}/libudev.so
|
||||
%{_libdir}/pkgconfig/libsystemd.pc
|
||||
%{_libdir}/pkgconfig/libudev.pc
|
787
files.devel-doc
Normal file
787
files.devel-doc
Normal file
@ -0,0 +1,787 @@
|
||||
#
|
||||
# Keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%if %{without bootstrap}
|
||||
%{_mandir}/man3/SD_ALERT.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_AUTH_FAILED.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_BAD_ADDRESS.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_DISCONNECTED.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_END.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_FAILED.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_FILE_EXISTS.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_FILE_NOT_FOUND.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_INVALID_ARGS.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_INVALID_FILE_CONTENT.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_INVALID_SIGNATURE.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_IO_ERROR.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_LIMITS_EXCEEDED.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_MAKE_CONST.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_MAP.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_INVALID.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_MATCH_RULE_NOT_FOUND.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_NAME_HAS_NO_OWNER.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_NOT_SUPPORTED.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_NO_MEMORY.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_NO_NETWORK.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_NO_REPLY.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_NO_SERVER.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_NULL.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_OBJECT_PATH_IN_USE.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_PROPERTY_READ_ONLY.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_SERVICE_UNKNOWN.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_TIMED_OUT.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_TIMEOUT.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_INTERFACE.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_METHOD.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_OBJECT.3.gz
|
||||
%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_PROPERTY.3.gz
|
||||
%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_CALL.3.gz
|
||||
%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_ERROR.3.gz
|
||||
%{_mandir}/man3/SD_BUS_MESSAGE_METHOD_RETURN.3.gz
|
||||
%{_mandir}/man3/SD_BUS_MESSAGE_SIGNAL.3.gz
|
||||
%{_mandir}/man3/SD_BUS_METHOD.3.gz
|
||||
%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES.3.gz
|
||||
%{_mandir}/man3/SD_BUS_METHOD_WITH_NAMES_OFFSET.3.gz
|
||||
%{_mandir}/man3/SD_BUS_METHOD_WITH_OFFSET.3.gz
|
||||
%{_mandir}/man3/SD_BUS_PARAM.3.gz
|
||||
%{_mandir}/man3/SD_BUS_PROPERTY.3.gz
|
||||
%{_mandir}/man3/SD_BUS_SIGNAL.3.gz
|
||||
%{_mandir}/man3/SD_BUS_SIGNAL_WITH_NAMES.3.gz
|
||||
%{_mandir}/man3/SD_BUS_VTABLE_CAPABILITY.3.gz
|
||||
%{_mandir}/man3/SD_BUS_VTABLE_END.3.gz
|
||||
%{_mandir}/man3/SD_BUS_VTABLE_START.3.gz
|
||||
%{_mandir}/man3/SD_BUS_WRITABLE_PROPERTY.3.gz
|
||||
%{_mandir}/man3/SD_CRIT.3.gz
|
||||
%{_mandir}/man3/SD_DEBUG.3.gz
|
||||
%{_mandir}/man3/SD_EMERG.3.gz
|
||||
%{_mandir}/man3/SD_ERR.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_ARMED.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_EXITING.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_FINISHED.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_INITIAL.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_OFF.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_ON.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_ONESHOT.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_PENDING.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_PREPARING.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_PRIORITY_IDLE.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_PRIORITY_IMPORTANT.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_PRIORITY_NORMAL.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_RUNNING.3.gz
|
||||
%{_mandir}/man3/SD_EVENT_SIGNAL_PROCMASK.3.gz
|
||||
%{_mandir}/man3/SD_HWDB_FOREACH_PROPERTY.3.gz
|
||||
%{_mandir}/man3/SD_ID128_ALLF.3.gz
|
||||
%{_mandir}/man3/SD_ID128_CONST_STR.3.gz
|
||||
%{_mandir}/man3/SD_ID128_FORMAT_STR.3.gz
|
||||
%{_mandir}/man3/SD_ID128_FORMAT_VAL.3.gz
|
||||
%{_mandir}/man3/SD_ID128_MAKE.3.gz
|
||||
%{_mandir}/man3/SD_ID128_MAKE_STR.3.gz
|
||||
%{_mandir}/man3/SD_ID128_MAKE_UUID_STR.3.gz
|
||||
%{_mandir}/man3/SD_ID128_NULL.3.gz
|
||||
%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz
|
||||
%{_mandir}/man3/SD_ID128_TO_STRING.3.gz
|
||||
%{_mandir}/man3/SD_ID128_TO_UUID_STRING.3.gz
|
||||
%{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz
|
||||
%{_mandir}/man3/SD_ID128_UUID_STRING_MAX.3.gz
|
||||
%{_mandir}/man3/SD_INFO.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_APPEND.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_CURRENT_USER.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_FOREACH.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_FOREACH_BACKWARDS.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_FOREACH_DATA.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_FOREACH_FIELD.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_FOREACH_UNIQUE.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_INVALIDATE.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_LOCAL_ONLY.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_NOP.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_OS_ROOT.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_RUNTIME_ONLY.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_SUPPRESS_LOCATION.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_SYSTEM.3.gz
|
||||
%{_mandir}/man3/SD_JOURNAL_TAKE_DIRECTORY_FD.3.gz
|
||||
%{_mandir}/man3/SD_LISTEN_FDS_START.3.gz
|
||||
%{_mandir}/man3/SD_NOTICE.3.gz
|
||||
%{_mandir}/man3/SD_WARNING.3.gz
|
||||
%{_mandir}/man3/libsystemd.3.gz
|
||||
%{_mandir}/man3/libudev.3.gz
|
||||
%{_mandir}/man3/sd-bus-errors.3.gz
|
||||
%{_mandir}/man3/sd-bus.3.gz
|
||||
%{_mandir}/man3/sd-daemon.3.gz
|
||||
%{_mandir}/man3/sd-device.3.gz
|
||||
%{_mandir}/man3/sd-event.3.gz
|
||||
%{_mandir}/man3/sd-hwdb.3.gz
|
||||
%{_mandir}/man3/sd-id128.3.gz
|
||||
%{_mandir}/man3/sd-journal.3.gz
|
||||
%{_mandir}/man3/sd-login.3.gz
|
||||
%{_mandir}/man3/sd_booted.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_fallback.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_fallback_vtable.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_filter.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_match.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_match_async.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_node_enumerator.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_object.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_object_manager.3.gz
|
||||
%{_mandir}/man3/sd_bus_add_object_vtable.3.gz
|
||||
%{_mandir}/man3/sd_bus_attach_event.3.gz
|
||||
%{_mandir}/man3/sd_bus_call.3.gz
|
||||
%{_mandir}/man3/sd_bus_call_async.3.gz
|
||||
%{_mandir}/man3/sd_bus_call_method.3.gz
|
||||
%{_mandir}/man3/sd_bus_call_method_async.3.gz
|
||||
%{_mandir}/man3/sd_bus_call_method_asyncv.3.gz
|
||||
%{_mandir}/man3/sd_bus_call_methodv.3.gz
|
||||
%{_mandir}/man3/sd_bus_can_send.3.gz
|
||||
%{_mandir}/man3/sd_bus_close.3.gz
|
||||
%{_mandir}/man3/sd_bus_close_unref.3.gz
|
||||
%{_mandir}/man3/sd_bus_close_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_audit_login_uid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_audit_session_id.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_augmented_mask.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_cgroup.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_cmdline.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_comm.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_description.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_egid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_euid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_exe.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_fsgid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_fsuid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_gid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_mask.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_owner_uid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_pid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_pidfd_dup.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_ppid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_selinux_context.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_session.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_sgid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_slice.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_suid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_supplementary_gids.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_tid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_tid_comm.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_tty.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_uid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_unique_name.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_unit.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_user_slice.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_user_unit.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_get_well_known_names.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_has_bounding_cap.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_has_effective_cap.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_has_inheritable_cap.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_has_permitted_cap.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_new_from_pid.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_new_from_pidfd.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_ref.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_unref.3.gz
|
||||
%{_mandir}/man3/sd_bus_creds_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_bus_default.3.gz
|
||||
%{_mandir}/man3/sd_bus_default_flush_close.3.gz
|
||||
%{_mandir}/man3/sd_bus_default_system.3.gz
|
||||
%{_mandir}/man3/sd_bus_default_user.3.gz
|
||||
%{_mandir}/man3/sd_bus_destroy_t.3.gz
|
||||
%{_mandir}/man3/sd_bus_detach_event.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_interfaces_added.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_interfaces_added_strv.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_interfaces_removed.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_interfaces_removed_strv.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_object_added.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_object_removed.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_properties_changed.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_properties_changed_strv.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_signal.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_signal_to.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_signal_tov.3.gz
|
||||
%{_mandir}/man3/sd_bus_emit_signalv.3.gz
|
||||
%{_mandir}/man3/sd_bus_enqueue_for_read.3.gz
|
||||
%{_mandir}/man3/sd_bus_error.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_add_map.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_copy.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_free.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_get_errno.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_has_name.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_has_names.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_has_names_sentinel.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_is_set.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_map.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_move.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_set.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_set_const.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_set_errno.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_set_errnof.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_set_errnofv.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_setf.3.gz
|
||||
%{_mandir}/man3/sd_bus_error_setfv.3.gz
|
||||
%{_mandir}/man3/sd_bus_flush.3.gz
|
||||
%{_mandir}/man3/sd_bus_flush_close_unref.3.gz
|
||||
%{_mandir}/man3/sd_bus_flush_close_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_address.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_allow_interactive_authorization.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_bus_id.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_close_on_exit.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_connected_signal.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_creds_mask.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_current_handler.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_current_message.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_current_slot.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_current_userdata.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_description.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_event.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_events.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_exit_on_disconnect.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_fd.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_method_call_timeout.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_n_queued_read.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_n_queued_write.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_name_creds.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_name_machine_id.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_owner_creds.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_property.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_property_string.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_property_strv.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_property_trivial.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_scope.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_sender.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_tid.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_timeout.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_unique_name.3.gz
|
||||
%{_mandir}/man3/sd_bus_get_watch_bind.3.gz
|
||||
%{_mandir}/man3/sd_bus_interface_name_is_valid.3.gz
|
||||
%{_mandir}/man3/sd_bus_is_anonymous.3.gz
|
||||
%{_mandir}/man3/sd_bus_is_bus_client.3.gz
|
||||
%{_mandir}/man3/sd_bus_is_monitor.3.gz
|
||||
%{_mandir}/man3/sd_bus_is_open.3.gz
|
||||
%{_mandir}/man3/sd_bus_is_ready.3.gz
|
||||
%{_mandir}/man3/sd_bus_is_server.3.gz
|
||||
%{_mandir}/man3/sd_bus_is_trusted.3.gz
|
||||
%{_mandir}/man3/sd_bus_list_names.3.gz
|
||||
%{_mandir}/man3/sd_bus_match_signal.3.gz
|
||||
%{_mandir}/man3/sd_bus_match_signal_async.3.gz
|
||||
%{_mandir}/man3/sd_bus_member_name_is_valid.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_array.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_array_iovec.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_array_memfd.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_array_space.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_basic.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_string_iovec.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_string_memfd.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_string_space.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_append_strv.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_appendv.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_at_end.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_close_container.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_copy.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_dump.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_enter_container.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_exit_container.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_allow_interactive_authorization.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_auto_start.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_bus.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_cookie.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_creds.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_destination.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_errno.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_error.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_expect_reply.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_interface.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_member.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_monotonic_usec.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_path.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_realtime_usec.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_reply_cookie.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_sender.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_seqnum.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_signature.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_get_type.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_has_signature.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_is_empty.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_is_method_call.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_is_method_error.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_is_signal.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new_method_call.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new_method_errno.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new_method_errnof.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new_method_error.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new_method_errorf.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new_method_return.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new_signal.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_new_signal_to.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_open_container.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_peek_type.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_read.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_read_array.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_read_basic.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_read_strv.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_read_strv_extend.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_readv.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_ref.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_rewind.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_seal.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_send.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_sensitive.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_set_allow_interactive_authorization.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_set_auto_start.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_set_destination.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_set_expect_reply.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_set_sender.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_skip.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_unref.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_bus_message_verify_type.3.gz
|
||||
%{_mandir}/man3/sd_bus_negotiate_creds.3.gz
|
||||
%{_mandir}/man3/sd_bus_negotiate_fds.3.gz
|
||||
%{_mandir}/man3/sd_bus_negotiate_timestamp.3.gz
|
||||
%{_mandir}/man3/sd_bus_new.3.gz
|
||||
%{_mandir}/man3/sd_bus_object_path_is_valid.3.gz
|
||||
%{_mandir}/man3/sd_bus_open.3.gz
|
||||
%{_mandir}/man3/sd_bus_open_system.3.gz
|
||||
%{_mandir}/man3/sd_bus_open_system_machine.3.gz
|
||||
%{_mandir}/man3/sd_bus_open_system_remote.3.gz
|
||||
%{_mandir}/man3/sd_bus_open_system_with_description.3.gz
|
||||
%{_mandir}/man3/sd_bus_open_user.3.gz
|
||||
%{_mandir}/man3/sd_bus_open_user_machine.3.gz
|
||||
%{_mandir}/man3/sd_bus_open_user_with_description.3.gz
|
||||
%{_mandir}/man3/sd_bus_open_with_description.3.gz
|
||||
%{_mandir}/man3/sd_bus_path_decode.3.gz
|
||||
%{_mandir}/man3/sd_bus_path_decode_many.3.gz
|
||||
%{_mandir}/man3/sd_bus_path_encode.3.gz
|
||||
%{_mandir}/man3/sd_bus_path_encode_many.3.gz
|
||||
%{_mandir}/man3/sd_bus_process.3.gz
|
||||
%{_mandir}/man3/sd_bus_query_sender_creds.3.gz
|
||||
%{_mandir}/man3/sd_bus_query_sender_privilege.3.gz
|
||||
%{_mandir}/man3/sd_bus_ref.3.gz
|
||||
%{_mandir}/man3/sd_bus_release_name.3.gz
|
||||
%{_mandir}/man3/sd_bus_release_name_async.3.gz
|
||||
%{_mandir}/man3/sd_bus_reply_method_errno.3.gz
|
||||
%{_mandir}/man3/sd_bus_reply_method_errnof.3.gz
|
||||
%{_mandir}/man3/sd_bus_reply_method_errnofv.3.gz
|
||||
%{_mandir}/man3/sd_bus_reply_method_error.3.gz
|
||||
%{_mandir}/man3/sd_bus_reply_method_errorf.3.gz
|
||||
%{_mandir}/man3/sd_bus_reply_method_errorfv.3.gz
|
||||
%{_mandir}/man3/sd_bus_reply_method_return.3.gz
|
||||
%{_mandir}/man3/sd_bus_reply_method_returnv.3.gz
|
||||
%{_mandir}/man3/sd_bus_request_name.3.gz
|
||||
%{_mandir}/man3/sd_bus_request_name_async.3.gz
|
||||
%{_mandir}/man3/sd_bus_send.3.gz
|
||||
%{_mandir}/man3/sd_bus_send_to.3.gz
|
||||
%{_mandir}/man3/sd_bus_service_name_is_valid.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_address.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_allow_interactive_authorization.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_anonymous.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_bus_client.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_close_on_exit.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_connected_signal.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_description.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_exec.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_exit_on_disconnect.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_fd.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_method_call_timeout.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_monitor.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_property.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_propertyv.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_sender.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_server.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_trusted.3.gz
|
||||
%{_mandir}/man3/sd_bus_set_watch_bind.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_get_bus.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_get_current_handler.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_get_current_message.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_get_current_userdata.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_get_description.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_get_destroy_callback.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_get_floating.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_get_userdata.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_ref.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_set_description.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_set_destroy_callback.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_set_floating.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_set_userdata.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_unref.3.gz
|
||||
%{_mandir}/man3/sd_bus_slot_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_bus_start.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_add_name.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_add_sender.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_contains.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_count.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_count_name.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_count_sender.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_first.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_get_bus.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_get_destroy_callback.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_get_recursive.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_get_userdata.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_new.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_next.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_ref.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_remove_name.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_remove_sender.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_set_destroy_callback.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_set_recursive.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_set_userdata.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_unref.3.gz
|
||||
%{_mandir}/man3/sd_bus_track_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_bus_unref.3.gz
|
||||
%{_mandir}/man3/sd_bus_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_bus_wait.3.gz
|
||||
%{_mandir}/man3/sd_device_get_devname.3.gz
|
||||
%{_mandir}/man3/sd_device_get_devnum.3.gz
|
||||
%{_mandir}/man3/sd_device_get_devpath.3.gz
|
||||
%{_mandir}/man3/sd_device_get_devtype.3.gz
|
||||
%{_mandir}/man3/sd_device_get_diskseq.3.gz
|
||||
%{_mandir}/man3/sd_device_get_driver.3.gz
|
||||
%{_mandir}/man3/sd_device_get_ifindex.3.gz
|
||||
%{_mandir}/man3/sd_device_get_subsystem.3.gz
|
||||
%{_mandir}/man3/sd_device_get_sysname.3.gz
|
||||
%{_mandir}/man3/sd_device_get_sysnum.3.gz
|
||||
%{_mandir}/man3/sd_device_get_syspath.3.gz
|
||||
%{_mandir}/man3/sd_device_ref.3.gz
|
||||
%{_mandir}/man3/sd_device_unref.3.gz
|
||||
%{_mandir}/man3/sd_device_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_event.3.gz
|
||||
%{_mandir}/man3/sd_event_add_child.3.gz
|
||||
%{_mandir}/man3/sd_event_add_child_pidfd.3.gz
|
||||
%{_mandir}/man3/sd_event_add_defer.3.gz
|
||||
%{_mandir}/man3/sd_event_add_exit.3.gz
|
||||
%{_mandir}/man3/sd_event_add_inotify.3.gz
|
||||
%{_mandir}/man3/sd_event_add_inotify_fd.3.gz
|
||||
%{_mandir}/man3/sd_event_add_io.3.gz
|
||||
%{_mandir}/man3/sd_event_add_memory_pressure.3.gz
|
||||
%{_mandir}/man3/sd_event_add_post.3.gz
|
||||
%{_mandir}/man3/sd_event_add_signal.3.gz
|
||||
%{_mandir}/man3/sd_event_add_time.3.gz
|
||||
%{_mandir}/man3/sd_event_add_time_relative.3.gz
|
||||
%{_mandir}/man3/sd_event_child_handler_t.3.gz
|
||||
%{_mandir}/man3/sd_event_default.3.gz
|
||||
%{_mandir}/man3/sd_event_destroy_t.3.gz
|
||||
%{_mandir}/man3/sd_event_dispatch.3.gz
|
||||
%{_mandir}/man3/sd_event_exit.3.gz
|
||||
%{_mandir}/man3/sd_event_get_exit_code.3.gz
|
||||
%{_mandir}/man3/sd_event_get_fd.3.gz
|
||||
%{_mandir}/man3/sd_event_get_iteration.3.gz
|
||||
%{_mandir}/man3/sd_event_get_state.3.gz
|
||||
%{_mandir}/man3/sd_event_get_tid.3.gz
|
||||
%{_mandir}/man3/sd_event_get_watchdog.3.gz
|
||||
%{_mandir}/man3/sd_event_handler_t.3.gz
|
||||
%{_mandir}/man3/sd_event_inotify_handler_t.3.gz
|
||||
%{_mandir}/man3/sd_event_io_handler_t.3.gz
|
||||
%{_mandir}/man3/sd_event_loop.3.gz
|
||||
%{_mandir}/man3/sd_event_new.3.gz
|
||||
%{_mandir}/man3/sd_event_now.3.gz
|
||||
%{_mandir}/man3/sd_event_prepare.3.gz
|
||||
%{_mandir}/man3/sd_event_ref.3.gz
|
||||
%{_mandir}/man3/sd_event_run.3.gz
|
||||
%{_mandir}/man3/sd_event_set_signal_exit.3.gz
|
||||
%{_mandir}/man3/sd_event_set_watchdog.3.gz
|
||||
%{_mandir}/man3/sd_event_signal_handler_t.3.gz
|
||||
%{_mandir}/man3/sd_event_source.3.gz
|
||||
%{_mandir}/man3/sd_event_source_disable_unref.3.gz
|
||||
%{_mandir}/man3/sd_event_source_disable_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_child_pid.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_child_pidfd.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_child_pidfd_own.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_child_process_own.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_description.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_destroy_callback.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_enabled.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_event.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_exit_on_failure.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_floating.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_inotify_mask.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_inotify_path.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_io_events.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_io_fd.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_io_fd_own.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_io_revents.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_pending.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_priority.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_ratelimit.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_signal.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_time.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_time_accuracy.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_time_clock.3.gz
|
||||
%{_mandir}/man3/sd_event_source_get_userdata.3.gz
|
||||
%{_mandir}/man3/sd_event_source_is_ratelimited.3.gz
|
||||
%{_mandir}/man3/sd_event_source_leave_ratelimit.3.gz
|
||||
%{_mandir}/man3/sd_event_source_ref.3.gz
|
||||
%{_mandir}/man3/sd_event_source_send_child_signal.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_child_pidfd_own.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_child_process_own.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_description.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_destroy_callback.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_enabled.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_exit_on_failure.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_floating.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_io_events.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_io_fd.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_io_fd_own.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_memory_pressure_period.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_memory_pressure_type.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_prepare.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_priority.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_ratelimit.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_ratelimit_expire_callback.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_time.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_time_accuracy.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_time_relative.3.gz
|
||||
%{_mandir}/man3/sd_event_source_set_userdata.3.gz
|
||||
%{_mandir}/man3/sd_event_source_unref.3.gz
|
||||
%{_mandir}/man3/sd_event_source_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_event_time_handler_t.3.gz
|
||||
%{_mandir}/man3/sd_event_trim_memory.3.gz
|
||||
%{_mandir}/man3/sd_event_unref.3.gz
|
||||
%{_mandir}/man3/sd_event_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_event_wait.3.gz
|
||||
%{_mandir}/man3/sd_get_machine_names.3.gz
|
||||
%{_mandir}/man3/sd_get_seats.3.gz
|
||||
%{_mandir}/man3/sd_get_sessions.3.gz
|
||||
%{_mandir}/man3/sd_get_uids.3.gz
|
||||
%{_mandir}/man3/sd_hwdb_enumerate.3.gz
|
||||
%{_mandir}/man3/sd_hwdb_get.3.gz
|
||||
%{_mandir}/man3/sd_hwdb_new.3.gz
|
||||
%{_mandir}/man3/sd_hwdb_new_from_path.3.gz
|
||||
%{_mandir}/man3/sd_hwdb_ref.3.gz
|
||||
%{_mandir}/man3/sd_hwdb_seek.3.gz
|
||||
%{_mandir}/man3/sd_hwdb_unref.3.gz
|
||||
%{_mandir}/man3/sd_id128_equal.3.gz
|
||||
%{_mandir}/man3/sd_id128_from_string.3.gz
|
||||
%{_mandir}/man3/sd_id128_get_app_specific.3.gz
|
||||
%{_mandir}/man3/sd_id128_get_boot.3.gz
|
||||
%{_mandir}/man3/sd_id128_get_boot_app_specific.3.gz
|
||||
%{_mandir}/man3/sd_id128_get_invocation.3.gz
|
||||
%{_mandir}/man3/sd_id128_get_machine.3.gz
|
||||
%{_mandir}/man3/sd_id128_get_machine_app_specific.3.gz
|
||||
%{_mandir}/man3/sd_id128_in_set.3.gz
|
||||
%{_mandir}/man3/sd_id128_in_set_sentinel.3.gz
|
||||
%{_mandir}/man3/sd_id128_in_setv.3.gz
|
||||
%{_mandir}/man3/sd_id128_is_allf.3.gz
|
||||
%{_mandir}/man3/sd_id128_is_null.3.gz
|
||||
%{_mandir}/man3/sd_id128_randomize.3.gz
|
||||
%{_mandir}/man3/sd_id128_string_equal.3.gz
|
||||
%{_mandir}/man3/sd_id128_t.3.gz
|
||||
%{_mandir}/man3/sd_id128_to_string.3.gz
|
||||
%{_mandir}/man3/sd_id128_to_uuid_string.3.gz
|
||||
%{_mandir}/man3/sd_is_fifo.3.gz
|
||||
%{_mandir}/man3/sd_is_mq.3.gz
|
||||
%{_mandir}/man3/sd_is_socket.3.gz
|
||||
%{_mandir}/man3/sd_is_socket_inet.3.gz
|
||||
%{_mandir}/man3/sd_is_socket_sockaddr.3.gz
|
||||
%{_mandir}/man3/sd_is_socket_unix.3.gz
|
||||
%{_mandir}/man3/sd_is_special.3.gz
|
||||
%{_mandir}/man3/sd_journal.3.gz
|
||||
%{_mandir}/man3/sd_journal_add_conjunction.3.gz
|
||||
%{_mandir}/man3/sd_journal_add_disjunction.3.gz
|
||||
%{_mandir}/man3/sd_journal_add_match.3.gz
|
||||
%{_mandir}/man3/sd_journal_close.3.gz
|
||||
%{_mandir}/man3/sd_journal_enumerate_available_data.3.gz
|
||||
%{_mandir}/man3/sd_journal_enumerate_available_unique.3.gz
|
||||
%{_mandir}/man3/sd_journal_enumerate_data.3.gz
|
||||
%{_mandir}/man3/sd_journal_enumerate_fields.3.gz
|
||||
%{_mandir}/man3/sd_journal_enumerate_unique.3.gz
|
||||
%{_mandir}/man3/sd_journal_flush_matches.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_catalog.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_catalog_for_message_id.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_cursor.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_cutoff_monotonic_usec.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_cutoff_realtime_usec.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_data.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_data_threshold.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_events.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_fd.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_monotonic_usec.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_realtime_usec.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_seqnum.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_timeout.3.gz
|
||||
%{_mandir}/man3/sd_journal_get_usage.3.gz
|
||||
%{_mandir}/man3/sd_journal_has_persistent_files.3.gz
|
||||
%{_mandir}/man3/sd_journal_has_runtime_files.3.gz
|
||||
%{_mandir}/man3/sd_journal_next.3.gz
|
||||
%{_mandir}/man3/sd_journal_next_skip.3.gz
|
||||
%{_mandir}/man3/sd_journal_open.3.gz
|
||||
%{_mandir}/man3/sd_journal_open_directory.3.gz
|
||||
%{_mandir}/man3/sd_journal_open_directory_fd.3.gz
|
||||
%{_mandir}/man3/sd_journal_open_files.3.gz
|
||||
%{_mandir}/man3/sd_journal_open_files_fd.3.gz
|
||||
%{_mandir}/man3/sd_journal_open_namespace.3.gz
|
||||
%{_mandir}/man3/sd_journal_perror.3.gz
|
||||
%{_mandir}/man3/sd_journal_perror_with_location.3.gz
|
||||
%{_mandir}/man3/sd_journal_previous.3.gz
|
||||
%{_mandir}/man3/sd_journal_previous_skip.3.gz
|
||||
%{_mandir}/man3/sd_journal_print.3.gz
|
||||
%{_mandir}/man3/sd_journal_print_with_location.3.gz
|
||||
%{_mandir}/man3/sd_journal_printv.3.gz
|
||||
%{_mandir}/man3/sd_journal_printv_with_location.3.gz
|
||||
%{_mandir}/man3/sd_journal_process.3.gz
|
||||
%{_mandir}/man3/sd_journal_query_unique.3.gz
|
||||
%{_mandir}/man3/sd_journal_reliable_fd.3.gz
|
||||
%{_mandir}/man3/sd_journal_restart_data.3.gz
|
||||
%{_mandir}/man3/sd_journal_restart_fields.3.gz
|
||||
%{_mandir}/man3/sd_journal_restart_unique.3.gz
|
||||
%{_mandir}/man3/sd_journal_seek_cursor.3.gz
|
||||
%{_mandir}/man3/sd_journal_seek_head.3.gz
|
||||
%{_mandir}/man3/sd_journal_seek_monotonic_usec.3.gz
|
||||
%{_mandir}/man3/sd_journal_seek_realtime_usec.3.gz
|
||||
%{_mandir}/man3/sd_journal_seek_tail.3.gz
|
||||
%{_mandir}/man3/sd_journal_send.3.gz
|
||||
%{_mandir}/man3/sd_journal_send_with_location.3.gz
|
||||
%{_mandir}/man3/sd_journal_sendv.3.gz
|
||||
%{_mandir}/man3/sd_journal_sendv_with_location.3.gz
|
||||
%{_mandir}/man3/sd_journal_set_data_threshold.3.gz
|
||||
%{_mandir}/man3/sd_journal_step_one.3.gz
|
||||
%{_mandir}/man3/sd_journal_stream_fd.3.gz
|
||||
%{_mandir}/man3/sd_journal_stream_fd_with_namespace.3.gz
|
||||
%{_mandir}/man3/sd_journal_test_cursor.3.gz
|
||||
%{_mandir}/man3/sd_journal_wait.3.gz
|
||||
%{_mandir}/man3/sd_listen_fds.3.gz
|
||||
%{_mandir}/man3/sd_listen_fds_with_names.3.gz
|
||||
%{_mandir}/man3/sd_login_monitor.3.gz
|
||||
%{_mandir}/man3/sd_login_monitor_flush.3.gz
|
||||
%{_mandir}/man3/sd_login_monitor_get_events.3.gz
|
||||
%{_mandir}/man3/sd_login_monitor_get_fd.3.gz
|
||||
%{_mandir}/man3/sd_login_monitor_get_timeout.3.gz
|
||||
%{_mandir}/man3/sd_login_monitor_new.3.gz
|
||||
%{_mandir}/man3/sd_login_monitor_unref.3.gz
|
||||
%{_mandir}/man3/sd_login_monitor_unrefp.3.gz
|
||||
%{_mandir}/man3/sd_machine_get_class.3.gz
|
||||
%{_mandir}/man3/sd_machine_get_ifindices.3.gz
|
||||
%{_mandir}/man3/sd_notify.3.gz
|
||||
%{_mandir}/man3/sd_notify_barrier.3.gz
|
||||
%{_mandir}/man3/sd_notifyf.3.gz
|
||||
%{_mandir}/man3/sd_path_lookup.3.gz
|
||||
%{_mandir}/man3/sd_path_lookup_strv.3.gz
|
||||
%{_mandir}/man3/sd_peer_get_cgroup.3.gz
|
||||
%{_mandir}/man3/sd_peer_get_machine_name.3.gz
|
||||
%{_mandir}/man3/sd_peer_get_owner_uid.3.gz
|
||||
%{_mandir}/man3/sd_peer_get_session.3.gz
|
||||
%{_mandir}/man3/sd_peer_get_slice.3.gz
|
||||
%{_mandir}/man3/sd_peer_get_unit.3.gz
|
||||
%{_mandir}/man3/sd_peer_get_user_slice.3.gz
|
||||
%{_mandir}/man3/sd_peer_get_user_unit.3.gz
|
||||
%{_mandir}/man3/sd_pid_get_cgroup.3.gz
|
||||
%{_mandir}/man3/sd_pid_get_machine_name.3.gz
|
||||
%{_mandir}/man3/sd_pid_get_owner_uid.3.gz
|
||||
%{_mandir}/man3/sd_pid_get_session.3.gz
|
||||
%{_mandir}/man3/sd_pid_get_slice.3.gz
|
||||
%{_mandir}/man3/sd_pid_get_unit.3.gz
|
||||
%{_mandir}/man3/sd_pid_get_user_slice.3.gz
|
||||
%{_mandir}/man3/sd_pid_get_user_unit.3.gz
|
||||
%{_mandir}/man3/sd_pid_notify.3.gz
|
||||
%{_mandir}/man3/sd_pid_notify_barrier.3.gz
|
||||
%{_mandir}/man3/sd_pid_notify_with_fds.3.gz
|
||||
%{_mandir}/man3/sd_pid_notifyf.3.gz
|
||||
%{_mandir}/man3/sd_pid_notifyf_with_fds.3.gz
|
||||
%{_mandir}/man3/sd_pidfd_get_cgroup.3.gz
|
||||
%{_mandir}/man3/sd_pidfd_get_machine_name.3.gz
|
||||
%{_mandir}/man3/sd_pidfd_get_owner_uid.3.gz
|
||||
%{_mandir}/man3/sd_pidfd_get_session.3.gz
|
||||
%{_mandir}/man3/sd_pidfd_get_slice.3.gz
|
||||
%{_mandir}/man3/sd_pidfd_get_unit.3.gz
|
||||
%{_mandir}/man3/sd_pidfd_get_user_slice.3.gz
|
||||
%{_mandir}/man3/sd_pidfd_get_user_unit.3.gz
|
||||
%{_mandir}/man3/sd_seat_can_graphical.3.gz
|
||||
%{_mandir}/man3/sd_seat_can_tty.3.gz
|
||||
%{_mandir}/man3/sd_seat_get_active.3.gz
|
||||
%{_mandir}/man3/sd_seat_get_sessions.3.gz
|
||||
%{_mandir}/man3/sd_session_get_class.3.gz
|
||||
%{_mandir}/man3/sd_session_get_desktop.3.gz
|
||||
%{_mandir}/man3/sd_session_get_display.3.gz
|
||||
%{_mandir}/man3/sd_session_get_leader.3.gz
|
||||
%{_mandir}/man3/sd_session_get_remote_host.3.gz
|
||||
%{_mandir}/man3/sd_session_get_remote_user.3.gz
|
||||
%{_mandir}/man3/sd_session_get_seat.3.gz
|
||||
%{_mandir}/man3/sd_session_get_service.3.gz
|
||||
%{_mandir}/man3/sd_session_get_start_time.3.gz
|
||||
%{_mandir}/man3/sd_session_get_state.3.gz
|
||||
%{_mandir}/man3/sd_session_get_tty.3.gz
|
||||
%{_mandir}/man3/sd_session_get_type.3.gz
|
||||
%{_mandir}/man3/sd_session_get_uid.3.gz
|
||||
%{_mandir}/man3/sd_session_get_username.3.gz
|
||||
%{_mandir}/man3/sd_session_get_vt.3.gz
|
||||
%{_mandir}/man3/sd_session_is_active.3.gz
|
||||
%{_mandir}/man3/sd_session_is_remote.3.gz
|
||||
%{_mandir}/man3/sd_uid_get_display.3.gz
|
||||
%{_mandir}/man3/sd_uid_get_login_time.3.gz
|
||||
%{_mandir}/man3/sd_uid_get_seats.3.gz
|
||||
%{_mandir}/man3/sd_uid_get_sessions.3.gz
|
||||
%{_mandir}/man3/sd_uid_get_state.3.gz
|
||||
%{_mandir}/man3/sd_uid_is_on_seat.3.gz
|
||||
%{_mandir}/man3/sd_watchdog_enabled.3.gz
|
||||
%{_mandir}/man3/udev_device_get_action.3.gz
|
||||
%{_mandir}/man3/udev_device_get_current_tags_list_entry.3.gz
|
||||
%{_mandir}/man3/udev_device_get_devlinks_list_entry.3.gz
|
||||
%{_mandir}/man3/udev_device_get_devnode.3.gz
|
||||
%{_mandir}/man3/udev_device_get_devnum.3.gz
|
||||
%{_mandir}/man3/udev_device_get_devpath.3.gz
|
||||
%{_mandir}/man3/udev_device_get_devtype.3.gz
|
||||
%{_mandir}/man3/udev_device_get_driver.3.gz
|
||||
%{_mandir}/man3/udev_device_get_is_initialized.3.gz
|
||||
%{_mandir}/man3/udev_device_get_parent.3.gz
|
||||
%{_mandir}/man3/udev_device_get_parent_with_subsystem_devtype.3.gz
|
||||
%{_mandir}/man3/udev_device_get_properties_list_entry.3.gz
|
||||
%{_mandir}/man3/udev_device_get_property_value.3.gz
|
||||
%{_mandir}/man3/udev_device_get_subsystem.3.gz
|
||||
%{_mandir}/man3/udev_device_get_sysattr_list_entry.3.gz
|
||||
%{_mandir}/man3/udev_device_get_sysattr_value.3.gz
|
||||
%{_mandir}/man3/udev_device_get_sysname.3.gz
|
||||
%{_mandir}/man3/udev_device_get_sysnum.3.gz
|
||||
%{_mandir}/man3/udev_device_get_syspath.3.gz
|
||||
%{_mandir}/man3/udev_device_get_tags_list_entry.3.gz
|
||||
%{_mandir}/man3/udev_device_get_udev.3.gz
|
||||
%{_mandir}/man3/udev_device_has_current_tag.3.gz
|
||||
%{_mandir}/man3/udev_device_has_tag.3.gz
|
||||
%{_mandir}/man3/udev_device_new_from_device_id.3.gz
|
||||
%{_mandir}/man3/udev_device_new_from_devnum.3.gz
|
||||
%{_mandir}/man3/udev_device_new_from_environment.3.gz
|
||||
%{_mandir}/man3/udev_device_new_from_subsystem_sysname.3.gz
|
||||
%{_mandir}/man3/udev_device_new_from_syspath.3.gz
|
||||
%{_mandir}/man3/udev_device_ref.3.gz
|
||||
%{_mandir}/man3/udev_device_set_sysattr_value.3.gz
|
||||
%{_mandir}/man3/udev_device_unref.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_match_is_initialized.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_match_parent.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_match_property.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_match_subsystem.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_match_sysattr.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_match_sysname.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_match_tag.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_nomatch_subsystem.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_nomatch_sysattr.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_add_syspath.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_get_list_entry.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_get_udev.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_new.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_ref.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_scan_devices.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_scan_subsystems.3.gz
|
||||
%{_mandir}/man3/udev_enumerate_unref.3.gz
|
||||
%{_mandir}/man3/udev_list_entry.3.gz
|
||||
%{_mandir}/man3/udev_list_entry_get_by_name.3.gz
|
||||
%{_mandir}/man3/udev_list_entry_get_name.3.gz
|
||||
%{_mandir}/man3/udev_list_entry_get_next.3.gz
|
||||
%{_mandir}/man3/udev_list_entry_get_value.3.gz
|
||||
%{_mandir}/man3/udev_monitor_enable_receiving.3.gz
|
||||
%{_mandir}/man3/udev_monitor_filter_add_match_subsystem_devtype.3.gz
|
||||
%{_mandir}/man3/udev_monitor_filter_add_match_tag.3.gz
|
||||
%{_mandir}/man3/udev_monitor_filter_remove.3.gz
|
||||
%{_mandir}/man3/udev_monitor_filter_update.3.gz
|
||||
%{_mandir}/man3/udev_monitor_get_fd.3.gz
|
||||
%{_mandir}/man3/udev_monitor_get_udev.3.gz
|
||||
%{_mandir}/man3/udev_monitor_new_from_netlink.3.gz
|
||||
%{_mandir}/man3/udev_monitor_receive_device.3.gz
|
||||
%{_mandir}/man3/udev_monitor_ref.3.gz
|
||||
%{_mandir}/man3/udev_monitor_set_receive_buffer_size.3.gz
|
||||
%{_mandir}/man3/udev_monitor_unref.3.gz
|
||||
%{_mandir}/man3/udev_new.3.gz
|
||||
%{_mandir}/man3/udev_ref.3.gz
|
||||
%{_mandir}/man3/udev_unref.3.gz
|
||||
%endif
|
170
files.experimental
Normal file
170
files.experimental
Normal file
@ -0,0 +1,170 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_prefix}/lib/pcrlock.d
|
||||
%dir %{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d
|
||||
%dir %{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d
|
||||
%dir %{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d
|
||||
%dir %{_sysconfdir}/systemd/oomd.conf.d
|
||||
%if %{with sd_boot}
|
||||
%dir %{_unitdir}/initrd.target.wants
|
||||
%endif
|
||||
# Main config files have been replaced in favor of drop-ins.
|
||||
%ghost %{_sysconfdir}/systemd/oomd.conf
|
||||
%{_bindir}/oomctl
|
||||
%{_bindir}/run0
|
||||
%{_bindir}/systemd-vmspawn
|
||||
%if %{with sd_boot}
|
||||
%{_bindir}/ukify
|
||||
%endif
|
||||
%{_datadir}/bash-completion/completions/oomctl
|
||||
%{_datadir}/bash-completion/completions/run0
|
||||
%{_datadir}/bash-completion/completions/systemd-vmspawn
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.oom1.Manager.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Image.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.portable1.Manager.xml
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.oom1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.oom1.conf
|
||||
%{_datadir}/zsh/site-functions/_oomctl
|
||||
%{_datadir}/zsh/site-functions/_run0
|
||||
%{_mandir}/man1/oomctl.1.gz
|
||||
%{_mandir}/man1/run0.1.gz
|
||||
%{_mandir}/man1/systemd-measure.1.gz
|
||||
%{_mandir}/man1/systemd-vmspawn.1.gz
|
||||
%if %{with sd_boot}
|
||||
%{_mandir}/man1/ukify.1.gz
|
||||
%endif
|
||||
%{_mandir}/man5/oomd.conf.5.gz
|
||||
%{_mandir}/man5/oomd.conf.d.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.oom1.5.gz
|
||||
%{_mandir}/man5/systemd.pcrlock.5.gz
|
||||
%{_mandir}/man5/systemd.pcrlock.d.5.gz
|
||||
%{_mandir}/man5/sysupdate.d.5.gz
|
||||
%{_mandir}/man8/systemd-bsod.8.gz
|
||||
%{_mandir}/man8/systemd-bsod.service.8.gz
|
||||
%{_mandir}/man8/systemd-oomd.8.gz
|
||||
%{_mandir}/man8/systemd-oomd.service.8.gz
|
||||
%if %{with sd_boot}
|
||||
%{_mandir}/man8/systemd-pcrextend.8.gz
|
||||
%{_mandir}/man8/systemd-pcrfs-root.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrfs@.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrlock-file-system.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrlock-firmware-code.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrlock-firmware-config.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrlock-machine-id.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrlock-make-policy.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrlock-secureboot-authority.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrlock-secureboot-policy.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrlock.8.gz
|
||||
%{_mandir}/man8/systemd-pcrmachine.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrphase-initrd.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrphase-sysinit.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrphase.service.8.gz
|
||||
%endif
|
||||
%{_mandir}/man8/systemd-storagetm.8.gz
|
||||
%{_mandir}/man8/systemd-storagetm.service.8.gz
|
||||
%{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz
|
||||
%{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz
|
||||
%{_mandir}/man8/systemd-sysupdate.8.gz
|
||||
%{_mandir}/man8/systemd-sysupdate.service.8.gz
|
||||
%{_mandir}/man8/systemd-sysupdate.timer.8.gz
|
||||
%{_mandir}/man8/systemd-tpm2-generator.8.gz
|
||||
%if %{with sd_boot}
|
||||
%{_mandir}/man8/systemd-tpm2-setup-early.service.8.gz
|
||||
%{_mandir}/man8/systemd-tpm2-setup.8.gz
|
||||
%{_mandir}/man8/systemd-tpm2-setup.service.8.gz
|
||||
%{_prefix}/lib/kernel/install.d/60-ukify.install
|
||||
%endif
|
||||
%{_pam_vendordir}/systemd-run0
|
||||
%{_prefix}/lib/pcrlock.d/350-action-efi-application.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d/300-0x00000000.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/400-secureboot-separator.pcrlock.d/600-0xffffffff.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d/300-0x00000000.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/500-separator.pcrlock.d/600-0xffffffff.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d/300-present.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d/600-absent.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/750-enter-initrd.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/800-leave-initrd.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/850-sysinit.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/900-ready.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/950-shutdown.pcrlock
|
||||
%{_prefix}/lib/pcrlock.d/990-final.pcrlock
|
||||
%{_systemd_util_dir}/oomd.conf
|
||||
%{_systemd_util_dir}/systemd-bsod
|
||||
%{_systemd_util_dir}/systemd-measure
|
||||
%{_systemd_util_dir}/systemd-oomd
|
||||
%if %{with sd_boot}
|
||||
%{_systemd_util_dir}/systemd-pcrextend
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-pcrlock
|
||||
%{_systemd_util_dir}/systemd-storagetm
|
||||
%{_systemd_util_dir}/systemd-sysupdate
|
||||
%if %{with sd_boot}
|
||||
%{_systemd_util_dir}/systemd-tpm2-setup
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-userwork
|
||||
%if %{with sd_boot}
|
||||
%{_systemd_util_dir}/ukify
|
||||
%endif
|
||||
%{_systemdgeneratordir}/systemd-tpm2-generator
|
||||
%{_sysusersdir}/systemd-oom.conf
|
||||
%{_unitdir}/initrd.target.wants/systemd-bsod.service
|
||||
%if %{with sd_boot}
|
||||
%{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service
|
||||
%{_unitdir}/sockets.target.wants/systemd-pcrextend.socket
|
||||
%{_unitdir}/sockets.target.wants/systemd-pcrlock.socket
|
||||
%endif
|
||||
%{_unitdir}/storage-target-mode.target
|
||||
%if %{with sd_boot}
|
||||
%{_unitdir}/sysinit.target.wants/systemd-pcrmachine.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-pcrphase.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-tpm2-setup-early.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-tpm2-setup.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-bsod.service
|
||||
%{_unitdir}/systemd-oomd.service
|
||||
%{_unitdir}/systemd-oomd.socket
|
||||
%if %{with sd_boot}
|
||||
%{_unitdir}/systemd-pcrextend.socket
|
||||
%{_unitdir}/systemd-pcrextend@.service
|
||||
%{_unitdir}/systemd-pcrfs-root.service
|
||||
%{_unitdir}/systemd-pcrfs@.service
|
||||
%{_unitdir}/systemd-pcrlock-file-system.service
|
||||
%{_unitdir}/systemd-pcrlock-firmware-code.service
|
||||
%{_unitdir}/systemd-pcrlock-firmware-config.service
|
||||
%{_unitdir}/systemd-pcrlock-machine-id.service
|
||||
%{_unitdir}/systemd-pcrlock-make-policy.service
|
||||
%{_unitdir}/systemd-pcrlock-secureboot-authority.service
|
||||
%{_unitdir}/systemd-pcrlock-secureboot-policy.service
|
||||
%{_unitdir}/systemd-pcrlock.socket
|
||||
%{_unitdir}/systemd-pcrlock@.service
|
||||
%{_unitdir}/systemd-pcrmachine.service
|
||||
%{_unitdir}/systemd-pcrphase-initrd.service
|
||||
%{_unitdir}/systemd-pcrphase-sysinit.service
|
||||
%{_unitdir}/systemd-pcrphase.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-storagetm.service
|
||||
%{_unitdir}/systemd-sysupdate-reboot.service
|
||||
%{_unitdir}/systemd-sysupdate-reboot.timer
|
||||
%{_unitdir}/systemd-sysupdate.service
|
||||
%{_unitdir}/systemd-sysupdate.timer
|
||||
%if %{with sd_boot}
|
||||
%{_unitdir}/systemd-tpm2-setup-early.service
|
||||
%{_unitdir}/systemd-tpm2-setup.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-vmspawn@.service
|
||||
|
||||
# ssh-generator: in the futur to be moved to the main package
|
||||
%{_systemdgeneratordir}/systemd-ssh-generator
|
||||
%if %{without bootstrap}
|
||||
%{_mandir}/man8/systemd-ssh-generator.8.gz
|
||||
%endif
|
||||
# the ssh proxy will likely be promoted to systemd-container
|
||||
%dir %{_distconfdir}/ssh
|
||||
%dir %{_distconfdir}/ssh/ssh_config.d
|
||||
%{_distconfdir}/ssh/ssh_config.d/20-systemd-ssh-proxy.conf
|
||||
%{_systemd_util_dir}/systemd-ssh-proxy
|
||||
%if %{without bootstrap}
|
||||
%{_mandir}/man1/systemd-ssh-proxy.1.gz
|
||||
%endif
|
29
files.homed
Normal file
29
files.homed
Normal file
@ -0,0 +1,29 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_distconfdir}/ssh
|
||||
%dir %{_distconfdir}/ssh/sshd_config.d
|
||||
%{_bindir}/homectl
|
||||
%{_bindir}/systemd-home-fallback-shell
|
||||
%{_datadir}/bash-completion/completions/homectl
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Home.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.home1.Manager.xml
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.home1.policy
|
||||
%{_distconfdir}/ssh/sshd_config.d/20-systemd-userdb.conf
|
||||
%{_mandir}/man1/homectl.1.gz
|
||||
%{_mandir}/man1/systemd-homed-firstboot.service.1.gz
|
||||
%{_mandir}/man5/homed.conf.5.gz
|
||||
%{_mandir}/man5/homed.conf.d.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.home1.5.gz
|
||||
%{_mandir}/man8/pam_systemd_home.8.gz
|
||||
%{_mandir}/man8/systemd-homed.8.gz
|
||||
%{_mandir}/man8/systemd-homed.service.8.gz
|
||||
%{_pam_moduledir}/pam_systemd_home.so
|
||||
%{_systemd_util_dir}/homed.conf
|
||||
%{_systemd_util_dir}/systemd-homed
|
||||
%{_systemd_util_dir}/systemd-homework
|
||||
%{_unitdir}/systemd-homed-activate.service
|
||||
%{_unitdir}/systemd-homed-firstboot.service
|
||||
%{_unitdir}/systemd-homed.service
|
34
files.journal-remote
Normal file
34
files.journal-remote
Normal file
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_sysconfdir}/systemd/journal-remote.conf.d
|
||||
%dir %{_sysconfdir}/systemd/journal-upload.conf.d
|
||||
%ghost %dir %{_localstatedir}/log/journal/remote
|
||||
# Main config files have been replaced in favor of drop-ins.
|
||||
%ghost %{_sysconfdir}/systemd/journal-remote.conf
|
||||
%ghost %{_sysconfdir}/systemd/journal-upload.conf
|
||||
%{_datadir}/systemd/gatewayd
|
||||
%{_datadir}/systemd/gatewayd/browse.html
|
||||
%{_mandir}/man5/journal-remote.conf.5.gz
|
||||
%{_mandir}/man5/journal-remote.conf.d.5.gz
|
||||
%{_mandir}/man5/journal-upload.conf.5.gz
|
||||
%{_mandir}/man5/journal-upload.conf.d.5.gz
|
||||
%{_mandir}/man8/systemd-journal-gatewayd.8.gz
|
||||
%{_mandir}/man8/systemd-journal-gatewayd.service.8.gz
|
||||
%{_mandir}/man8/systemd-journal-gatewayd.socket.8.gz
|
||||
%{_mandir}/man8/systemd-journal-remote.8.gz
|
||||
%{_mandir}/man8/systemd-journal-remote.service.8.gz
|
||||
%{_mandir}/man8/systemd-journal-remote.socket.8.gz
|
||||
%{_mandir}/man8/systemd-journal-upload.8.gz
|
||||
%{_mandir}/man8/systemd-journal-upload.service.8.gz
|
||||
%{_systemd_util_dir}/journal-remote.conf
|
||||
%{_systemd_util_dir}/journal-upload.conf
|
||||
%{_systemd_util_dir}/systemd-journal-gatewayd
|
||||
%{_systemd_util_dir}/systemd-journal-remote
|
||||
%{_systemd_util_dir}/systemd-journal-upload
|
||||
%{_sysusersdir}/systemd-remote.conf
|
||||
%{_unitdir}/systemd-journal-gatewayd.service
|
||||
%{_unitdir}/systemd-journal-gatewayd.socket
|
||||
%{_unitdir}/systemd-journal-remote.service
|
||||
%{_unitdir}/systemd-journal-remote.socket
|
||||
%{_unitdir}/systemd-journal-upload.service
|
19
files.lang
Normal file
19
files.lang
Normal file
@ -0,0 +1,19 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%lang(be) %{_journalcatalogdir}/systemd.be.catalog
|
||||
%lang(be@latin) %{_journalcatalogdir}/systemd.be@latin.catalog
|
||||
%lang(bg) %{_journalcatalogdir}/systemd.bg.catalog
|
||||
%lang(da) %{_journalcatalogdir}/systemd.da.catalog
|
||||
%lang(de) %{_journalcatalogdir}/systemd.de.catalog
|
||||
%lang(fr) %{_journalcatalogdir}/systemd.fr.catalog
|
||||
%lang(hr) %{_journalcatalogdir}/systemd.hr.catalog
|
||||
%lang(hu) %{_journalcatalogdir}/systemd.hu.catalog
|
||||
%lang(it) %{_journalcatalogdir}/systemd.it.catalog
|
||||
%lang(ko) %{_journalcatalogdir}/systemd.ko.catalog
|
||||
%lang(pl) %{_journalcatalogdir}/systemd.pl.catalog
|
||||
%lang(pt_BR) %{_journalcatalogdir}/systemd.pt_BR.catalog
|
||||
%lang(ru) %{_journalcatalogdir}/systemd.ru.catalog
|
||||
%lang(sr) %{_journalcatalogdir}/systemd.sr.catalog
|
||||
%lang(zh_CN) %{_journalcatalogdir}/systemd.zh_CN.catalog
|
||||
%lang(zh_TW) %{_journalcatalogdir}/systemd.zh_TW.catalog
|
83
files.network
Normal file
83
files.network
Normal file
@ -0,0 +1,83 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%if %{with networkd}
|
||||
%dir %{_sysconfdir}/systemd/network
|
||||
%dir %{_sysconfdir}/systemd/networkd.conf.d
|
||||
%dir %{_systemd_util_dir}/network
|
||||
# Main config files have been replaced in favor of drop-ins.
|
||||
%ghost %{_sysconfdir}/systemd/networkd.conf
|
||||
%{_bindir}/networkctl
|
||||
%{_datadir}/bash-completion/completions/networkctl
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPv4Client.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPv6Client.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Link.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Manager.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.Network.xml
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.network1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.network1.policy
|
||||
%{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules
|
||||
%{_datadir}/zsh/site-functions/_networkctl
|
||||
%{_mandir}/man1/networkctl.1.gz
|
||||
%{_mandir}/man5/networkd.conf.5.gz
|
||||
%{_mandir}/man5/networkd.conf.d.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.network1.5.gz
|
||||
%{_mandir}/man5/systemd.network.5.gz
|
||||
%{_mandir}/man8/systemd-networkd-wait-online.8.gz
|
||||
%{_mandir}/man8/systemd-networkd-wait-online.service.8.gz
|
||||
%{_mandir}/man8/systemd-networkd-wait-online@.service.8.gz
|
||||
%{_mandir}/man8/systemd-networkd.8.gz
|
||||
%{_mandir}/man8/systemd-networkd.service.8.gz
|
||||
%{_systemd_util_dir}/network/80-6rd-tunnel.link
|
||||
%{_systemd_util_dir}/network/80-6rd-tunnel.network
|
||||
%{_systemd_util_dir}/network/80-auto-link-local.network.example
|
||||
%{_systemd_util_dir}/network/80-container-host0-tun.network
|
||||
%{_systemd_util_dir}/network/80-vm-vt.link
|
||||
%{_systemd_util_dir}/network/80-vm-vt.network
|
||||
%{_systemd_util_dir}/network/80-wifi-adhoc.network
|
||||
%{_systemd_util_dir}/network/80-wifi-ap.network.example
|
||||
%{_systemd_util_dir}/network/80-wifi-station.network.example
|
||||
%{_systemd_util_dir}/network/89-ethernet.network.example
|
||||
%{_systemd_util_dir}/networkd.conf
|
||||
%{_systemd_util_dir}/systemd-networkd
|
||||
%{_systemd_util_dir}/systemd-networkd-wait-online
|
||||
%{_sysusersdir}/systemd-network.conf
|
||||
%{_tmpfilesdir}/systemd-network.conf
|
||||
%{_unitdir}/systemd-networkd-persistent-storage.service
|
||||
%{_unitdir}/systemd-networkd-wait-online.service
|
||||
%{_unitdir}/systemd-networkd-wait-online@.service
|
||||
%{_unitdir}/systemd-networkd.service
|
||||
%{_unitdir}/systemd-networkd.socket
|
||||
%endif
|
||||
|
||||
%if %{with resolved}
|
||||
%dir %{_sysconfdir}/systemd/resolved.conf.d
|
||||
%{_bindir}/resolvectl
|
||||
%{_bindir}/systemd-resolve
|
||||
%{_datadir}/bash-completion/completions/resolvectl
|
||||
%{_datadir}/bash-completion/completions/systemd-resolve
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.DnssdService.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Link.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.resolve1.Manager.xml
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.resolve1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy
|
||||
%{_datadir}/zsh/site-functions/_resolvectl
|
||||
%{_libdir}/libnss_resolve.so.2
|
||||
%{_mandir}/man1/resolvectl.1.gz
|
||||
%{_mandir}/man5/org.freedesktop.resolve1.5.gz
|
||||
%{_mandir}/man5/resolved.conf.5.gz
|
||||
%{_mandir}/man5/resolved.conf.d.5.gz
|
||||
%{_mandir}/man8/libnss_resolve.so.2.8.gz
|
||||
%{_mandir}/man8/nss-resolve.8.gz
|
||||
%{_mandir}/man8/systemd-resolved.8.gz
|
||||
%{_mandir}/man8/systemd-resolved.service.8.gz
|
||||
%{_systemd_util_dir}/resolv.conf
|
||||
%{_systemd_util_dir}/resolved.conf
|
||||
%{_systemd_util_dir}/systemd-resolved
|
||||
%{_sysusersdir}/systemd-resolve.conf
|
||||
%{_tmpfilesdir}/systemd-resolve.conf
|
||||
%{_unitdir}/systemd-resolved.service
|
||||
%endif
|
15
files.portable
Normal file
15
files.portable
Normal file
@ -0,0 +1,15 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%{_bindir}/portablectl
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy
|
||||
%{_mandir}/man1/portablectl.1.gz
|
||||
%{_mandir}/man8/systemd-portabled.8.gz
|
||||
%{_mandir}/man8/systemd-portabled.service.8.gz
|
||||
%{_systemd_util_dir}/portable
|
||||
%{_systemd_util_dir}/systemd-portabled
|
||||
%{_tmpfilesdir}/portables.conf
|
||||
%{_unitdir}/dbus-org.freedesktop.portable1.service
|
||||
%{_unitdir}/systemd-portabled.service
|
705
files.systemd
Normal file
705
files.systemd
Normal file
@ -0,0 +1,705 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
|
||||
%dir %{_binfmtdir}
|
||||
%if %{without bootstrap}
|
||||
%dir %{_datadir}/bash-completion
|
||||
%dir %{_datadir}/bash-completion/completions
|
||||
%endif
|
||||
%dir %{_datadir}/dbus-1
|
||||
%dir %{_datadir}/dbus-1/interfaces
|
||||
%dir %{_datadir}/dbus-1/services
|
||||
%dir %{_datadir}/dbus-1/system-services
|
||||
%dir %{_datadir}/dbus-1/system.d
|
||||
%dir %{_datadir}/factory
|
||||
%dir %{_datadir}/polkit-1
|
||||
%dir %{_datadir}/polkit-1/actions
|
||||
%dir %{_datadir}/systemd
|
||||
%if %{without bootstrap}
|
||||
%dir %{_datadir}/zsh
|
||||
%dir %{_datadir}/zsh/site-functions
|
||||
%endif
|
||||
%dir %{_environmentdir}
|
||||
%dir %{_journalcatalogdir}
|
||||
%dir %{_libdir}/systemd
|
||||
%dir %{_localstatedir}/lib/systemd
|
||||
%dir %{_localstatedir}/lib/systemd/catalog
|
||||
%dir %{_localstatedir}/lib/systemd/coredump
|
||||
%dir %{_localstatedir}/lib/systemd/rpm
|
||||
%dir %{_modprobedir}
|
||||
%dir %{_sysconfdir}/X11/xorg.conf.d
|
||||
%dir %{_sysconfdir}/binfmt.d
|
||||
%dir %{_sysconfdir}/sysctl.d
|
||||
%dir %{_sysconfdir}/systemd
|
||||
%dir %{_sysconfdir}/systemd/coredump.conf.d
|
||||
%dir %{_sysconfdir}/systemd/journald.conf.d
|
||||
%dir %{_sysconfdir}/systemd/logind.conf.d
|
||||
%dir %{_sysconfdir}/systemd/system
|
||||
%dir %{_sysconfdir}/systemd/system.conf.d
|
||||
%dir %{_sysconfdir}/systemd/user
|
||||
%dir %{_sysconfdir}/systemd/user.conf.d
|
||||
%dir %{_sysconfdir}/sysusers.d
|
||||
%dir %{_sysconfdir}/tmpfiles.d
|
||||
%dir %{_sysconfdir}/xdg/systemd
|
||||
%dir %{_sysctldir}
|
||||
%dir %{_systemd_system_env_generator_dir}
|
||||
%dir %{_systemd_user_env_generator_dir}
|
||||
%dir %{_systemd_util_dir}
|
||||
%dir %{_systemd_util_dir}/ntp-units.d
|
||||
%dir %{_systemd_util_dir}/rpm
|
||||
%dir %{_systemd_util_dir}/system-preset
|
||||
%dir %{_systemd_util_dir}/system-shutdown
|
||||
%dir %{_systemd_util_dir}/user
|
||||
%dir %{_systemd_util_dir}/user-preset
|
||||
%dir %{_systemdgeneratordir}
|
||||
%dir %{_systemdusergeneratordir}
|
||||
%dir %{_sysusersdir}
|
||||
%dir %{_tmpfilesdir}
|
||||
%dir %{_unitdir}
|
||||
%dir %{_unitdir}/basic.target.wants
|
||||
%dir %{_unitdir}/dbus.target.wants
|
||||
%dir %{_unitdir}/default.target.wants
|
||||
%dir %{_unitdir}/graphical.target.wants
|
||||
%dir %{_unitdir}/halt.target.wants
|
||||
%dir %{_unitdir}/initrd-root-device.target.wants
|
||||
%dir %{_unitdir}/initrd-root-fs.target.wants
|
||||
%dir %{_unitdir}/kexec.target.wants
|
||||
%dir %{_unitdir}/local-fs.target.wants
|
||||
%dir %{_unitdir}/multi-user.target.wants
|
||||
%dir %{_unitdir}/poweroff.target.wants
|
||||
%dir %{_unitdir}/reboot.target.wants
|
||||
%dir %{_unitdir}/remote-fs.target.wants
|
||||
%dir %{_unitdir}/rescue.target.wants
|
||||
%dir %{_unitdir}/shutdown.target.wants
|
||||
%dir %{_unitdir}/sockets.target.wants
|
||||
%dir %{_unitdir}/sysinit.target.wants
|
||||
%dir %{_unitdir}/timers.target.wants
|
||||
%dir %{_unitdir}/user-.slice.d
|
||||
%dir %{_unitdir}/user@.service.d
|
||||
%dir %{_unitdir}/user@0.service.d
|
||||
%dir %{xinitconfdir}
|
||||
%dir %{xinitconfdir}/xinitrc.d
|
||||
%doc %{_modprobedir}/README
|
||||
%doc %{_sysctldir}/README
|
||||
%doc %{_sysusersdir}/README
|
||||
%doc %{_tmpfilesdir}/README
|
||||
%exclude %{_sysconfdir}/sysctl.conf
|
||||
%ghost %attr(0444,root,root) %config(noreplace) %{_sysconfdir}/machine-id
|
||||
%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/locale.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/machine-info
|
||||
%ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal
|
||||
%ghost %{_localstatedir}/lib/systemd/catalog/database
|
||||
# Main config files have been replaced in favor of drop-ins.
|
||||
%ghost %{_sysconfdir}/systemd/journald.conf
|
||||
%ghost %{_sysconfdir}/systemd/logind.conf
|
||||
%ghost %{_sysconfdir}/systemd/system.conf
|
||||
%ghost %{_sysconfdir}/systemd/user.conf
|
||||
%license LICENSE.GPL2
|
||||
%license LICENSE.LGPL2.1
|
||||
%{_bindir}/busctl
|
||||
%if %{without bootstrap}
|
||||
%{_bindir}/coredumpctl
|
||||
%endif
|
||||
%{_bindir}/hostnamectl
|
||||
%{_bindir}/journalctl
|
||||
%{_bindir}/localectl
|
||||
%{_bindir}/loginctl
|
||||
%{_bindir}/systemctl
|
||||
%{_bindir}/systemd-ac-power
|
||||
%{_bindir}/systemd-analyze
|
||||
%{_bindir}/systemd-ask-password
|
||||
%{_bindir}/systemd-cat
|
||||
%{_bindir}/systemd-cgls
|
||||
%{_bindir}/systemd-cgtop
|
||||
%{_bindir}/systemd-confext
|
||||
%{_bindir}/systemd-creds
|
||||
%{_bindir}/systemd-delta
|
||||
%{_bindir}/systemd-detect-virt
|
||||
%{_bindir}/systemd-dissect
|
||||
%{_bindir}/systemd-escape
|
||||
%{_bindir}/systemd-firstboot
|
||||
%{_bindir}/systemd-id128
|
||||
%{_bindir}/systemd-inhibit
|
||||
%{_bindir}/systemd-machine-id-setup
|
||||
%{_bindir}/systemd-mount
|
||||
%{_bindir}/systemd-notify
|
||||
%{_bindir}/systemd-path
|
||||
%{_bindir}/systemd-run
|
||||
%{_bindir}/systemd-socket-activate
|
||||
%{_bindir}/systemd-stdio-bridge
|
||||
%{_bindir}/systemd-sysext
|
||||
%{_bindir}/systemd-sysusers
|
||||
%{_bindir}/systemd-tmpfiles
|
||||
%{_bindir}/systemd-tty-ask-password-agent
|
||||
%{_bindir}/systemd-umount
|
||||
%{_bindir}/systemd-vpick
|
||||
%{_bindir}/timedatectl
|
||||
%if %{without bootstrap}
|
||||
%{_bindir}/userdbctl
|
||||
%endif
|
||||
%{_bindir}/varlinkctl
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/bash-completion/completions/busctl
|
||||
%{_datadir}/bash-completion/completions/coredumpctl
|
||||
%{_datadir}/bash-completion/completions/hostnamectl
|
||||
%{_datadir}/bash-completion/completions/journalctl
|
||||
%{_datadir}/bash-completion/completions/localectl
|
||||
%{_datadir}/bash-completion/completions/loginctl
|
||||
%{_datadir}/bash-completion/completions/portablectl
|
||||
%{_datadir}/bash-completion/completions/systemctl
|
||||
%{_datadir}/bash-completion/completions/systemd-analyze
|
||||
%{_datadir}/bash-completion/completions/systemd-cat
|
||||
%{_datadir}/bash-completion/completions/systemd-cgls
|
||||
%{_datadir}/bash-completion/completions/systemd-cgtop
|
||||
%{_datadir}/bash-completion/completions/systemd-confext
|
||||
%{_datadir}/bash-completion/completions/systemd-delta
|
||||
%{_datadir}/bash-completion/completions/systemd-detect-virt
|
||||
%{_datadir}/bash-completion/completions/systemd-dissect
|
||||
%{_datadir}/bash-completion/completions/systemd-id128
|
||||
%{_datadir}/bash-completion/completions/systemd-path
|
||||
%{_datadir}/bash-completion/completions/systemd-run
|
||||
%{_datadir}/bash-completion/completions/systemd-sysext
|
||||
%{_datadir}/bash-completion/completions/systemd-vpick
|
||||
%{_datadir}/bash-completion/completions/timedatectl
|
||||
%endif
|
||||
# dbus introspection data for code generators: https://github.com/systemd/systemd/pull/20294
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.LogControl1.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Manager.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Seat.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.Session.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.login1.User.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Automount.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Device.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Job.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Mount.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Path.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Scope.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Service.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Slice.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Socket.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Swap.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Target.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Timer.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.Unit.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml
|
||||
%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.locale1.conf
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.login1.conf
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf
|
||||
%{_datadir}/mime/packages/io.systemd.xml
|
||||
%{_datadir}/pkgconfig/systemd.pc
|
||||
%{_datadir}/polkit-1/actions/io.systemd.credentials.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
|
||||
%{_datadir}/systemd/kbd-model-map
|
||||
%{_datadir}/systemd/language-fallback-map
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/zsh/site-functions/_busctl
|
||||
%{_datadir}/zsh/site-functions/_coredumpctl
|
||||
%{_datadir}/zsh/site-functions/_hostnamectl
|
||||
%{_datadir}/zsh/site-functions/_journalctl
|
||||
%{_datadir}/zsh/site-functions/_localectl
|
||||
%{_datadir}/zsh/site-functions/_loginctl
|
||||
%{_datadir}/zsh/site-functions/_sd_hosts_or_user_at_host
|
||||
%{_datadir}/zsh/site-functions/_sd_outputmodes
|
||||
%{_datadir}/zsh/site-functions/_sd_unit_files
|
||||
%{_datadir}/zsh/site-functions/_systemctl
|
||||
%{_datadir}/zsh/site-functions/_systemd
|
||||
%{_datadir}/zsh/site-functions/_systemd-analyze
|
||||
%{_datadir}/zsh/site-functions/_systemd-delta
|
||||
%{_datadir}/zsh/site-functions/_systemd-inhibit
|
||||
%{_datadir}/zsh/site-functions/_systemd-path
|
||||
%{_datadir}/zsh/site-functions/_systemd-run
|
||||
%{_datadir}/zsh/site-functions/_systemd-tmpfiles
|
||||
%{_datadir}/zsh/site-functions/_timedatectl
|
||||
%{_datadir}/zsh/site-functions/_varlinkctl
|
||||
%{_journalcatalogdir}/systemd.catalog
|
||||
%{_libdir}/libnss_myhostname.so.2
|
||||
%{_libdir}/libnss_systemd.so.2
|
||||
%endif
|
||||
%{_libdir}/systemd/libsystemd-core-%{systemd_major}.so
|
||||
%{_libdir}/systemd/libsystemd-shared-%{systemd_major}.so
|
||||
%if %{without bootstrap}
|
||||
%{_mandir}/man1/busctl.1.gz
|
||||
%{_mandir}/man1/coredumpctl.1.gz
|
||||
%{_mandir}/man1/hostnamectl.1.gz
|
||||
%{_mandir}/man1/init.1.gz
|
||||
%{_mandir}/man1/journalctl.1.gz
|
||||
%{_mandir}/man1/localectl.1.gz
|
||||
%{_mandir}/man1/loginctl.1.gz
|
||||
%{_mandir}/man1/mount.ddi.1.gz
|
||||
%{_mandir}/man1/systemctl.1.gz
|
||||
%{_mandir}/man1/systemd-ac-power.1.gz
|
||||
%{_mandir}/man1/systemd-analyze.1.gz
|
||||
%{_mandir}/man1/systemd-ask-password.1.gz
|
||||
%{_mandir}/man1/systemd-cat.1.gz
|
||||
%{_mandir}/man1/systemd-cgls.1.gz
|
||||
%{_mandir}/man1/systemd-cgtop.1.gz
|
||||
%{_mandir}/man1/systemd-creds.1.gz
|
||||
%{_mandir}/man1/systemd-delta.1.gz
|
||||
%{_mandir}/man1/systemd-detect-virt.1.gz
|
||||
%{_mandir}/man1/systemd-dissect.1.gz
|
||||
%{_mandir}/man1/systemd-escape.1.gz
|
||||
%{_mandir}/man1/systemd-firstboot.1.gz
|
||||
%{_mandir}/man1/systemd-firstboot.service.1.gz
|
||||
%{_mandir}/man1/systemd-id128.1.gz
|
||||
%{_mandir}/man1/systemd-inhibit.1.gz
|
||||
%{_mandir}/man1/systemd-machine-id-setup.1.gz
|
||||
%{_mandir}/man1/systemd-mount.1.gz
|
||||
%{_mandir}/man1/systemd-notify.1.gz
|
||||
%{_mandir}/man1/systemd-path.1.gz
|
||||
%{_mandir}/man1/systemd-run.1.gz
|
||||
%{_mandir}/man1/systemd-socket-activate.1.gz
|
||||
%{_mandir}/man1/systemd-stdio-bridge.1.gz
|
||||
%{_mandir}/man1/systemd-tty-ask-password-agent.1.gz
|
||||
%{_mandir}/man1/systemd-umount.1.gz
|
||||
%{_mandir}/man1/systemd-vpick.1.gz
|
||||
%{_mandir}/man1/systemd.1.gz
|
||||
%{_mandir}/man1/timedatectl.1.gz
|
||||
%{_mandir}/man1/userdbctl.1.gz
|
||||
%{_mandir}/man1/varlinkctl.1.gz
|
||||
%{_mandir}/man5/binfmt.d.5.gz
|
||||
%{_mandir}/man5/capsule@.service.5.gz
|
||||
%{_mandir}/man5/coredump.conf.5.gz
|
||||
%{_mandir}/man5/coredump.conf.d.5.gz
|
||||
%{_mandir}/man5/dnssec-trust-anchors.d.5.gz
|
||||
%{_mandir}/man5/environment.d.5.gz
|
||||
%{_mandir}/man5/extension-release.5.gz
|
||||
%{_mandir}/man5/hostname.5.gz
|
||||
%{_mandir}/man5/initrd-release.5.gz
|
||||
%{_mandir}/man5/journald.conf.5.gz
|
||||
%{_mandir}/man5/journald.conf.d.5.gz
|
||||
%{_mandir}/man5/journald@.conf.5.gz
|
||||
%{_mandir}/man5/locale.conf.5.gz
|
||||
%{_mandir}/man5/localtime.5.gz
|
||||
%{_mandir}/man5/logind.conf.5.gz
|
||||
%{_mandir}/man5/logind.conf.d.5.gz
|
||||
%{_mandir}/man5/machine-id.5.gz
|
||||
%{_mandir}/man5/machine-info.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.LogControl1.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.hostname1.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.locale1.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.login1.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.portable1.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.systemd1.5.gz
|
||||
%{_mandir}/man5/org.freedesktop.timedate1.5.gz
|
||||
%{_mandir}/man5/os-release.5.gz
|
||||
%{_mandir}/man5/sysctl.d.5.gz
|
||||
%{_mandir}/man5/system.conf.d.5.gz
|
||||
%{_mandir}/man5/systemd-system.conf.5.gz
|
||||
%{_mandir}/man5/systemd-user-runtime-dir.5.gz
|
||||
%{_mandir}/man5/systemd-user.conf.5.gz
|
||||
%{_mandir}/man5/systemd.automount.5.gz
|
||||
%{_mandir}/man5/systemd.device.5.gz
|
||||
%{_mandir}/man5/systemd.dnssd.5.gz
|
||||
%{_mandir}/man5/systemd.exec.5.gz
|
||||
%{_mandir}/man5/systemd.kill.5.gz
|
||||
%{_mandir}/man5/systemd.link.5.gz
|
||||
%{_mandir}/man5/systemd.mount.5.gz
|
||||
%{_mandir}/man5/systemd.negative.5.gz
|
||||
%{_mandir}/man5/systemd.netdev.5.gz
|
||||
%{_mandir}/man5/systemd.path.5.gz
|
||||
%{_mandir}/man5/systemd.positive.5.gz
|
||||
%{_mandir}/man5/systemd.preset.5.gz
|
||||
%{_mandir}/man5/systemd.resource-control.5.gz
|
||||
%{_mandir}/man5/systemd.scope.5.gz
|
||||
%{_mandir}/man5/systemd.service.5.gz
|
||||
%{_mandir}/man5/systemd.slice.5.gz
|
||||
%{_mandir}/man5/systemd.socket.5.gz
|
||||
%{_mandir}/man5/systemd.swap.5.gz
|
||||
%{_mandir}/man5/systemd.target.5.gz
|
||||
%{_mandir}/man5/systemd.timer.5.gz
|
||||
%{_mandir}/man5/systemd.unit.5.gz
|
||||
%{_mandir}/man5/sysusers.d.5.gz
|
||||
%{_mandir}/man5/tmpfiles.d.5.gz
|
||||
%{_mandir}/man5/user-runtime-dir@.service.5.gz
|
||||
%{_mandir}/man5/user.conf.d.5.gz
|
||||
%{_mandir}/man5/user@.service.5.gz
|
||||
%{_mandir}/man7/bootup.7.gz
|
||||
%{_mandir}/man7/daemon.7.gz
|
||||
%{_mandir}/man7/file-hierarchy.7.gz
|
||||
%{_mandir}/man7/kernel-command-line.7.gz
|
||||
%{_mandir}/man7/systemd.directives.7.gz
|
||||
%{_mandir}/man7/systemd.environment-generator.7.gz
|
||||
%{_mandir}/man7/systemd.generator.7.gz
|
||||
%{_mandir}/man7/systemd.index.7.gz
|
||||
%{_mandir}/man7/systemd.journal-fields.7.gz
|
||||
%{_mandir}/man7/systemd.net-naming-scheme.7.gz
|
||||
%{_mandir}/man7/systemd.offline-updates.7.gz
|
||||
%{_mandir}/man7/systemd.special.7.gz
|
||||
%{_mandir}/man7/systemd.syntax.7.gz
|
||||
%{_mandir}/man7/systemd.system-credentials.7.gz
|
||||
%{_mandir}/man7/systemd.time.7.gz
|
||||
%{_mandir}/man7/systemd.v.7.gz
|
||||
%{_mandir}/man8/30-systemd-environment-d-generator.8.gz
|
||||
%{_mandir}/man8/halt.8.gz
|
||||
%{_mandir}/man8/libnss_myhostname.so.2.8.gz
|
||||
%{_mandir}/man8/libnss_systemd.so.2.8.gz
|
||||
%{_mandir}/man8/nss-myhostname.8.gz
|
||||
%{_mandir}/man8/nss-systemd.8.gz
|
||||
%{_mandir}/man8/pam_systemd.8.gz
|
||||
%{_mandir}/man8/pam_systemd_loadkey.8.gz
|
||||
%{_mandir}/man8/poweroff.8.gz
|
||||
%{_mandir}/man8/reboot.8.gz
|
||||
%{_mandir}/man8/shutdown.8.gz
|
||||
%{_mandir}/man8/systemd-ask-password-console.path.8.gz
|
||||
%{_mandir}/man8/systemd-ask-password-console.service.8.gz
|
||||
%{_mandir}/man8/systemd-ask-password-wall.path.8.gz
|
||||
%{_mandir}/man8/systemd-ask-password-wall.service.8.gz
|
||||
%{_mandir}/man8/systemd-binfmt.8.gz
|
||||
%{_mandir}/man8/systemd-binfmt.service.8.gz
|
||||
%{_mandir}/man8/systemd-boot-check-no-failures.8.gz
|
||||
%{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz
|
||||
%{_mandir}/man8/systemd-confext.8.gz
|
||||
%{_mandir}/man8/systemd-confext.service.8.gz
|
||||
%{_mandir}/man8/systemd-coredump.8.gz
|
||||
%{_mandir}/man8/systemd-coredump.socket.8.gz
|
||||
%{_mandir}/man8/systemd-coredump@.service.8.gz
|
||||
%{_mandir}/man8/systemd-debug-generator.8.gz
|
||||
%{_mandir}/man8/systemd-environment-d-generator.8.gz
|
||||
%{_mandir}/man8/systemd-getty-generator.8.gz
|
||||
%{_mandir}/man8/systemd-halt.service.8.gz
|
||||
%{_mandir}/man8/systemd-hibernate-resume.service.8.gz
|
||||
%{_mandir}/man8/systemd-hostnamed.8.gz
|
||||
%{_mandir}/man8/systemd-hostnamed.service.8.gz
|
||||
%{_mandir}/man8/systemd-journald-audit.socket.8.gz
|
||||
%{_mandir}/man8/systemd-journald-dev-log.socket.8.gz
|
||||
%{_mandir}/man8/systemd-journald-varlink@.socket.8.gz
|
||||
%{_mandir}/man8/systemd-journald.8.gz
|
||||
%{_mandir}/man8/systemd-journald.service.8.gz
|
||||
%{_mandir}/man8/systemd-journald.socket.8.gz
|
||||
%{_mandir}/man8/systemd-journald@.service.8.gz
|
||||
%{_mandir}/man8/systemd-journald@.socket.8.gz
|
||||
%{_mandir}/man8/systemd-kexec.service.8.gz
|
||||
%{_mandir}/man8/systemd-localed.8.gz
|
||||
%{_mandir}/man8/systemd-localed.service.8.gz
|
||||
%{_mandir}/man8/systemd-logind.8.gz
|
||||
%{_mandir}/man8/systemd-logind.service.8.gz
|
||||
%{_mandir}/man8/systemd-machine-id-commit.service.8.gz
|
||||
%{_mandir}/man8/systemd-poweroff.service.8.gz
|
||||
%{_mandir}/man8/systemd-reboot.service.8.gz
|
||||
%{_mandir}/man8/systemd-run-generator.8.gz
|
||||
%{_mandir}/man8/systemd-shutdown.8.gz
|
||||
%{_mandir}/man8/systemd-socket-proxyd.8.gz
|
||||
%{_mandir}/man8/systemd-soft-reboot.service.8.gz
|
||||
%{_mandir}/man8/systemd-sysctl.8.gz
|
||||
%{_mandir}/man8/systemd-sysctl.service.8.gz
|
||||
%{_mandir}/man8/systemd-sysext.8.gz
|
||||
%{_mandir}/man8/systemd-sysext.service.8.gz
|
||||
%{_mandir}/man8/systemd-system-update-generator.8.gz
|
||||
%{_mandir}/man8/systemd-sysusers.8.gz
|
||||
%{_mandir}/man8/systemd-sysusers.service.8.gz
|
||||
%{_mandir}/man8/systemd-time-wait-sync.8.gz
|
||||
%{_mandir}/man8/systemd-time-wait-sync.service.8.gz
|
||||
%{_mandir}/man8/systemd-timedated.8.gz
|
||||
%{_mandir}/man8/systemd-timedated.service.8.gz
|
||||
%{_mandir}/man8/systemd-tmpfiles-clean.service.8.gz
|
||||
%{_mandir}/man8/systemd-tmpfiles-clean.timer.8.gz
|
||||
%{_mandir}/man8/systemd-tmpfiles-setup.service.8.gz
|
||||
%{_mandir}/man8/systemd-tmpfiles.8.gz
|
||||
%{_mandir}/man8/systemd-update-done.8.gz
|
||||
%{_mandir}/man8/systemd-update-done.service.8.gz
|
||||
%if %{with utmp}
|
||||
%{_mandir}/man8/systemd-update-utmp.8.gz
|
||||
%{_mandir}/man8/systemd-update-utmp.service.8.gz
|
||||
%endif
|
||||
%{_mandir}/man8/systemd-user-sessions.8.gz
|
||||
%{_mandir}/man8/systemd-user-sessions.service.8.gz
|
||||
%{_mandir}/man8/systemd-userdbd.8.gz
|
||||
%{_mandir}/man8/systemd-userdbd.service.8.gz
|
||||
%{_mandir}/man8/systemd-xdg-autostart-generator.8.gz
|
||||
%endif
|
||||
%{_modprobedir}/systemd.conf
|
||||
%{_pam_moduledir}/pam_systemd.so
|
||||
%{_pam_moduledir}/pam_systemd_loadkey.so
|
||||
%{_pam_vendordir}/systemd-user
|
||||
%{_sbindir}/halt
|
||||
%{_sbindir}/init
|
||||
%{_sbindir}/mount.ddi
|
||||
%{_sbindir}/poweroff
|
||||
%{_sbindir}/reboot
|
||||
%{_sbindir}/shutdown
|
||||
%{_sysconfdir}/xdg/systemd/user
|
||||
%if %{without bootstrap}
|
||||
%{_sysctldir}/50-coredump.conf
|
||||
%endif
|
||||
%{_sysctldir}/99-sysctl.conf
|
||||
%{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/coredump.conf
|
||||
%endif
|
||||
%{_systemd_util_dir}/journald.conf
|
||||
%{_systemd_util_dir}/logind.conf
|
||||
%{_systemd_util_dir}/rpm/fixlet-systemd-post.sh
|
||||
%{_systemd_util_dir}/system-preset/99-default.preset
|
||||
%{_systemd_util_dir}/system.conf
|
||||
%{_systemd_util_dir}/systemd
|
||||
%{_systemd_util_dir}/systemd-binfmt
|
||||
%{_systemd_util_dir}/systemd-boot-check-no-failures
|
||||
%{_systemd_util_dir}/systemd-cgroups-agent
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/systemd-coredump
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-executor
|
||||
%{_systemd_util_dir}/systemd-hostnamed
|
||||
%{_systemd_util_dir}/systemd-journald
|
||||
%{_systemd_util_dir}/systemd-localed
|
||||
%{_systemd_util_dir}/systemd-logind
|
||||
%{_systemd_util_dir}/systemd-reply-password
|
||||
%{_systemd_util_dir}/systemd-shutdown
|
||||
%{_systemd_util_dir}/systemd-socket-proxyd
|
||||
%{_systemd_util_dir}/systemd-sulogin-shell
|
||||
%{_systemd_util_dir}/systemd-sysctl
|
||||
%{_systemd_util_dir}/systemd-sysroot-fstab-check
|
||||
%{_systemd_util_dir}/systemd-time-wait-sync
|
||||
%{_systemd_util_dir}/systemd-timedated
|
||||
%{_systemd_util_dir}/systemd-update-done
|
||||
%{_systemd_util_dir}/systemd-update-helper
|
||||
%if %{with utmp}
|
||||
%{_systemd_util_dir}/systemd-update-utmp
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-user-runtime-dir
|
||||
%{_systemd_util_dir}/systemd-user-sessions
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/systemd-userdbd
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-xdg-autostart-condition
|
||||
%{_systemd_util_dir}/user-preset/90-systemd.preset
|
||||
%{_systemd_util_dir}/user-preset/99-default.preset
|
||||
%{_systemd_util_dir}/user.conf
|
||||
%{_systemd_util_dir}/user/app.slice
|
||||
%{_systemd_util_dir}/user/background.slice
|
||||
%{_systemd_util_dir}/user/basic.target
|
||||
%{_systemd_util_dir}/user/bluetooth.target
|
||||
%{_systemd_util_dir}/user/default.target
|
||||
%{_systemd_util_dir}/user/exit.target
|
||||
%{_systemd_util_dir}/user/graphical-session-pre.target
|
||||
%{_systemd_util_dir}/user/graphical-session.target
|
||||
%{_systemd_util_dir}/user/paths.target
|
||||
%{_systemd_util_dir}/user/printer.target
|
||||
%{_systemd_util_dir}/user/session.slice
|
||||
%{_systemd_util_dir}/user/shutdown.target
|
||||
%{_systemd_util_dir}/user/smartcard.target
|
||||
%{_systemd_util_dir}/user/sockets.target
|
||||
%{_systemd_util_dir}/user/sound.target
|
||||
%{_systemd_util_dir}/user/systemd-exit.service
|
||||
%{_systemd_util_dir}/user/systemd-tmpfiles-clean.service
|
||||
%{_systemd_util_dir}/user/systemd-tmpfiles-clean.timer
|
||||
%{_systemd_util_dir}/user/systemd-tmpfiles-setup.service
|
||||
%{_systemd_util_dir}/user/timers.target
|
||||
%{_systemd_util_dir}/user/xdg-desktop-autostart.target
|
||||
%{_systemdgeneratordir}/systemd-debug-generator
|
||||
%{_systemdgeneratordir}/systemd-getty-generator
|
||||
%{_systemdgeneratordir}/systemd-run-generator
|
||||
%{_systemdgeneratordir}/systemd-system-update-generator
|
||||
%{_systemdusergeneratordir}/systemd-xdg-autostart-generator
|
||||
%if %{without bootstrap}
|
||||
%{_sysusersdir}/systemd-coredump.conf
|
||||
%endif
|
||||
%{_sysusersdir}/systemd-journal.conf
|
||||
%{_tmpfilesdir}/credstore.conf
|
||||
%{_tmpfilesdir}/journal-nocow.conf
|
||||
%{_tmpfilesdir}/provision.conf
|
||||
%{_tmpfilesdir}/systemd-nologin.conf
|
||||
%{_tmpfilesdir}/systemd-suse.conf
|
||||
%{_tmpfilesdir}/systemd-tmp.conf
|
||||
%{_tmpfilesdir}/systemd.conf
|
||||
%{_tmpfilesdir}/x11.conf
|
||||
%{_udevrulesdir}/70-uaccess.rules
|
||||
%{_udevrulesdir}/71-seat.rules
|
||||
%{_udevrulesdir}/73-seat-late.rules
|
||||
%{_udevrulesdir}/99-systemd.rules
|
||||
%{_unitdir}/autovt@.service
|
||||
%{_unitdir}/basic.target
|
||||
%{_unitdir}/blockdev@.target
|
||||
%{_unitdir}/bluetooth.target
|
||||
%{_unitdir}/boot-complete.target
|
||||
%{_unitdir}/capsule.slice
|
||||
%{_unitdir}/capsule@.service
|
||||
%{_unitdir}/console-getty.service
|
||||
%{_unitdir}/container-getty@.service
|
||||
%{_unitdir}/ctrl-alt-del.target
|
||||
%{_unitdir}/dbus-org.freedesktop.hostname1.service
|
||||
%{_unitdir}/dbus-org.freedesktop.locale1.service
|
||||
%{_unitdir}/dbus-org.freedesktop.login1.service
|
||||
%{_unitdir}/dbus-org.freedesktop.timedate1.service
|
||||
%{_unitdir}/debug-shell.service
|
||||
%{_unitdir}/default.target
|
||||
%{_unitdir}/dev-hugepages.mount
|
||||
%{_unitdir}/dev-mqueue.mount
|
||||
%{_unitdir}/emergency.service
|
||||
%{_unitdir}/emergency.target
|
||||
%{_unitdir}/exit.target
|
||||
%{_unitdir}/factory-reset.target
|
||||
%{_unitdir}/final.target
|
||||
%{_unitdir}/first-boot-complete.target
|
||||
%{_unitdir}/getty-pre.target
|
||||
%{_unitdir}/getty.target
|
||||
%{_unitdir}/getty@.service
|
||||
%{_unitdir}/graphical.target
|
||||
%{_unitdir}/halt.target
|
||||
%{_unitdir}/initrd-cleanup.service
|
||||
%{_unitdir}/initrd-fs.target
|
||||
%{_unitdir}/initrd-parse-etc.service
|
||||
%{_unitdir}/initrd-root-device.target
|
||||
%{_unitdir}/initrd-root-fs.target
|
||||
%{_unitdir}/initrd-switch-root.service
|
||||
%{_unitdir}/initrd-switch-root.target
|
||||
%{_unitdir}/initrd-usr-fs.target
|
||||
%{_unitdir}/initrd.target
|
||||
%{_unitdir}/kexec.target
|
||||
%{_unitdir}/local-fs-pre.target
|
||||
%{_unitdir}/local-fs.target
|
||||
%{_unitdir}/local-fs.target.wants/tmp.mount
|
||||
%{_unitdir}/modprobe@.service
|
||||
%{_unitdir}/multi-user.target
|
||||
%{_unitdir}/multi-user.target.wants/getty.target
|
||||
%{_unitdir}/multi-user.target.wants/systemd-logind.service
|
||||
%{_unitdir}/multi-user.target.wants/systemd-user-sessions.service
|
||||
%{_unitdir}/network-online.target
|
||||
%{_unitdir}/network-pre.target
|
||||
%{_unitdir}/network.target
|
||||
%{_unitdir}/nss-lookup.target
|
||||
%{_unitdir}/nss-user-lookup.target
|
||||
%{_unitdir}/paths.target
|
||||
%{_unitdir}/poweroff.target
|
||||
%{_unitdir}/printer.target
|
||||
%{_unitdir}/proc-sys-fs-binfmt_misc.automount
|
||||
%{_unitdir}/proc-sys-fs-binfmt_misc.mount
|
||||
%{_unitdir}/reboot.target
|
||||
%{_unitdir}/remote-fs-pre.target
|
||||
%{_unitdir}/remote-fs.target
|
||||
%{_unitdir}/rescue.service
|
||||
%{_unitdir}/rescue.target
|
||||
%{_unitdir}/rpcbind.target
|
||||
%{_unitdir}/serial-getty@.service
|
||||
%{_unitdir}/shutdown.target
|
||||
%{_unitdir}/sigpwr.target
|
||||
%{_unitdir}/slices.target
|
||||
%{_unitdir}/smartcard.target
|
||||
%{_unitdir}/sockets.target
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/sockets.target.wants/systemd-coredump.socket
|
||||
%endif
|
||||
%{_unitdir}/sockets.target.wants/systemd-creds.socket
|
||||
%{_unitdir}/sockets.target.wants/systemd-hostnamed.socket
|
||||
%{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket
|
||||
%{_unitdir}/sockets.target.wants/systemd-journald.socket
|
||||
%{_unitdir}/sockets.target.wants/systemd-sysext.socket
|
||||
%{_unitdir}/soft-reboot.target
|
||||
%{_unitdir}/sound.target
|
||||
%{_unitdir}/ssh-access.target
|
||||
%{_unitdir}/swap.target
|
||||
%{_unitdir}/sys-fs-fuse-connections.mount
|
||||
%{_unitdir}/sys-kernel-config.mount
|
||||
%{_unitdir}/sys-kernel-debug.mount
|
||||
%{_unitdir}/sys-kernel-tracing.mount
|
||||
%{_unitdir}/sysinit.target
|
||||
%{_unitdir}/sysinit.target.wants/dev-hugepages.mount
|
||||
%{_unitdir}/sysinit.target.wants/dev-mqueue.mount
|
||||
%{_unitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount
|
||||
%{_unitdir}/sysinit.target.wants/sys-fs-fuse-connections.mount
|
||||
%{_unitdir}/sysinit.target.wants/sys-kernel-config.mount
|
||||
%{_unitdir}/sysinit.target.wants/sys-kernel-debug.mount
|
||||
%{_unitdir}/sysinit.target.wants/sys-kernel-tracing.mount
|
||||
%{_unitdir}/sysinit.target.wants/systemd-ask-password-console.path
|
||||
%{_unitdir}/sysinit.target.wants/systemd-binfmt.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-firstboot.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-journal-catalog-update.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-journal-flush.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-journald.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-machine-id-commit.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-sysctl.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-sysusers.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-update-done.service
|
||||
%if %{with utmp}
|
||||
%{_unitdir}/sysinit.target.wants/systemd-update-utmp.service
|
||||
%endif
|
||||
%{_unitdir}/syslog.socket
|
||||
%{_unitdir}/system-update-cleanup.service
|
||||
%{_unitdir}/system-update-pre.target
|
||||
%{_unitdir}/system-update.target
|
||||
%{_unitdir}/systemd-ask-password-console.path
|
||||
%{_unitdir}/systemd-ask-password-console.service
|
||||
%{_unitdir}/systemd-ask-password-wall.path
|
||||
%{_unitdir}/systemd-ask-password-wall.service
|
||||
%{_unitdir}/systemd-binfmt.service
|
||||
%{_unitdir}/systemd-boot-check-no-failures.service
|
||||
%{_unitdir}/systemd-confext.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/systemd-coredump.socket
|
||||
%{_unitdir}/systemd-coredump@.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-creds.socket
|
||||
%{_unitdir}/systemd-creds@.service
|
||||
%{_unitdir}/systemd-exit.service
|
||||
%{_unitdir}/systemd-halt.service
|
||||
%{_unitdir}/systemd-hostnamed.service
|
||||
%{_unitdir}/systemd-hostnamed.socket
|
||||
%{_unitdir}/systemd-journal-catalog-update.service
|
||||
%{_unitdir}/systemd-journal-flush.service
|
||||
%{_unitdir}/systemd-journald-audit.socket
|
||||
%{_unitdir}/systemd-journald-dev-log.socket
|
||||
%{_unitdir}/systemd-journald-sync@.service
|
||||
%{_unitdir}/systemd-journald-varlink@.socket
|
||||
%{_unitdir}/systemd-journald.service
|
||||
%{_unitdir}/systemd-journald.socket
|
||||
%{_unitdir}/systemd-journald@.service
|
||||
%{_unitdir}/systemd-journald@.socket
|
||||
%{_unitdir}/systemd-kexec.service
|
||||
%{_unitdir}/systemd-localed.service
|
||||
%{_unitdir}/systemd-logind.service
|
||||
%{_unitdir}/systemd-machine-id-commit.service
|
||||
%{_unitdir}/systemd-poweroff.service
|
||||
%{_unitdir}/systemd-reboot.service
|
||||
%{_unitdir}/systemd-soft-reboot.service
|
||||
%{_unitdir}/systemd-sysctl.service
|
||||
%{_unitdir}/systemd-sysext.service
|
||||
%{_unitdir}/systemd-sysext.socket
|
||||
%{_unitdir}/systemd-sysext@.service
|
||||
%{_unitdir}/systemd-sysusers.service
|
||||
%{_unitdir}/systemd-time-wait-sync.service
|
||||
%{_unitdir}/systemd-timedated.service
|
||||
%{_unitdir}/systemd-tmpfiles-clean.service
|
||||
%{_unitdir}/systemd-tmpfiles-clean.timer
|
||||
%{_unitdir}/systemd-tmpfiles-setup.service
|
||||
%{_unitdir}/systemd-update-done.service
|
||||
%if %{with utmp}
|
||||
%{_unitdir}/systemd-update-utmp.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-user-sessions.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/systemd-userdbd.service
|
||||
%{_unitdir}/systemd-userdbd.socket
|
||||
%endif
|
||||
%{_unitdir}/time-set.target
|
||||
%{_unitdir}/time-sync.target
|
||||
%{_unitdir}/timers.target
|
||||
%{_unitdir}/timers.target.wants/systemd-tmpfiles-clean.timer
|
||||
%{_unitdir}/tmp.mount
|
||||
%{_unitdir}/umount.target
|
||||
%{_unitdir}/usb-gadget.target
|
||||
%{_unitdir}/user-.slice.d/10-defaults.conf
|
||||
%{_unitdir}/user-runtime-dir@.service
|
||||
%{_unitdir}/user.slice
|
||||
%{_unitdir}/user@.service
|
||||
%{_unitdir}/user@.service.d/10-login-barrier.conf
|
||||
%{_unitdir}/user@0.service.d/10-login-barrier.conf
|
||||
%{_userunitdir}/capsule@.target
|
||||
%{xinitconfdir}/xinitrc.d/50-systemd-user.sh
|
50
files.sysvcompat
Normal file
50
files.sysvcompat
Normal file
@ -0,0 +1,50 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_unitdir}/runlevel1.target.wants
|
||||
%dir %{_unitdir}/runlevel2.target.wants
|
||||
%dir %{_unitdir}/runlevel3.target.wants
|
||||
%dir %{_unitdir}/runlevel4.target.wants
|
||||
%dir %{_unitdir}/runlevel5.target.wants
|
||||
%{_mandir}/man8/rc-local.service.8.gz
|
||||
%{_mandir}/man8/runlevel.8.gz
|
||||
%{_mandir}/man8/systemd-initctl.8.gz
|
||||
%{_mandir}/man8/systemd-initctl.service.8.gz
|
||||
%{_mandir}/man8/systemd-initctl.socket.8.gz
|
||||
%{_mandir}/man8/systemd-rc-local-generator.8.gz
|
||||
%{_mandir}/man8/systemd-sysv-generator.8.gz
|
||||
%if %{with utmp}
|
||||
%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz
|
||||
%endif
|
||||
%{_mandir}/man8/telinit.8.gz
|
||||
%{_sbindir}/runlevel
|
||||
%{_sbindir}/telinit
|
||||
%{_systemd_util_dir}/systemd-initctl
|
||||
%{_systemd_util_dir}/systemd-sysv-install
|
||||
%{_systemdgeneratordir}/systemd-rc-local-generator
|
||||
%{_systemdgeneratordir}/systemd-sysv-generator
|
||||
%if %{with utmp}
|
||||
%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service
|
||||
%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service
|
||||
%endif
|
||||
%{_unitdir}/rc-local.service
|
||||
%if %{with utmp}
|
||||
%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service
|
||||
%endif
|
||||
%{_unitdir}/runlevel0.target
|
||||
%{_unitdir}/runlevel1.target
|
||||
%{_unitdir}/runlevel2.target
|
||||
%{_unitdir}/runlevel3.target
|
||||
%{_unitdir}/runlevel4.target
|
||||
%{_unitdir}/runlevel5.target
|
||||
%{_unitdir}/runlevel6.target
|
||||
%{_unitdir}/sockets.target.wants/systemd-initctl.socket
|
||||
%{_unitdir}/systemd-initctl.service
|
||||
%{_unitdir}/systemd-initctl.socket
|
||||
%if %{with utmp}
|
||||
%{_unitdir}/systemd-update-utmp-runlevel.service
|
||||
%endif
|
||||
%if %{with split_usr}
|
||||
/sbin/runlevel
|
||||
/sbin/telinit
|
||||
%endif
|
411
files.udev
Normal file
411
files.udev
Normal file
@ -0,0 +1,411 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%if %{without bootstrap}
|
||||
%dir %{_libdir}/cryptsetup
|
||||
%endif
|
||||
%dir %{_modulesloaddir}
|
||||
%if %{without bootstrap}
|
||||
%dir %{_prefix}/lib/kernel
|
||||
%dir %{_prefix}/lib/kernel/install.d
|
||||
%endif
|
||||
%dir %{_prefix}/lib/udev
|
||||
%if %{without bootstrap}
|
||||
%dir %{_sysconfdir}/modules-load.d
|
||||
%endif
|
||||
%dir %{_sysconfdir}/systemd/network
|
||||
%dir %{_sysconfdir}/systemd/pstore.conf.d
|
||||
%dir %{_sysconfdir}/systemd/sleep.conf.d
|
||||
%dir %{_sysconfdir}/systemd/timesyncd.conf.d
|
||||
%dir %{_sysconfdir}/udev
|
||||
%dir %{_sysconfdir}/udev/iocost.conf.d
|
||||
%dir %{_sysconfdir}/udev/rules.d
|
||||
%dir %{_sysconfdir}/udev/udev.conf.d
|
||||
%dir %{_systemd_util_dir}/network
|
||||
%if %{without bootstrap}
|
||||
%dir %{_systemd_util_dir}/repart
|
||||
%dir %{_systemd_util_dir}/repart/definitions
|
||||
%dir %{_systemd_util_dir}/repart/definitions/confext.repart.d
|
||||
%dir %{_systemd_util_dir}/repart/definitions/portable.repart.d
|
||||
%dir %{_systemd_util_dir}/repart/definitions/sysext.repart.d
|
||||
%endif
|
||||
%dir %{_systemd_util_dir}/system-sleep
|
||||
%dir %{_udevhwdbdir}
|
||||
%dir %{_udevrulesdir}
|
||||
%dir %{_unitdir}/initrd.target.wants
|
||||
%doc %{_udevhwdbdir}/README
|
||||
%doc %{_udevrulesdir}/README
|
||||
%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed
|
||||
%ghost %attr(444, root, root) %{_sysconfdir}/udev/hwdb.bin
|
||||
%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation
|
||||
%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf
|
||||
%ghost %{_localstatedir}/lib/systemd/backlight
|
||||
# Main config files have been replaced in favor of drop-ins.
|
||||
%ghost %{_sysconfdir}/systemd/pstore.conf
|
||||
%ghost %{_sysconfdir}/systemd/sleep.conf
|
||||
%ghost %{_sysconfdir}/systemd/timesyncd.conf
|
||||
%ghost %{_sysconfdir}/udev/iocost.conf
|
||||
%{_bindir}/bootctl
|
||||
%if %{without bootstrap}
|
||||
%{_bindir}/kernel-install
|
||||
%{_bindir}/systemd-cryptenroll
|
||||
%{_bindir}/systemd-cryptsetup
|
||||
%endif
|
||||
%{_bindir}/systemd-hwdb
|
||||
%if %{without bootstrap}
|
||||
%{_bindir}/systemd-repart
|
||||
%endif
|
||||
%{_bindir}/udevadm
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/bash-completion/completions/bootctl
|
||||
%{_datadir}/bash-completion/completions/kernel-install
|
||||
%{_datadir}/bash-completion/completions/systemd-cryptenroll
|
||||
%{_datadir}/bash-completion/completions/udevadm
|
||||
%endif
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service
|
||||
%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf
|
||||
%{_datadir}/pkgconfig/udev.pc
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.timesync1.policy
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/zsh/site-functions/_bootctl
|
||||
%{_datadir}/zsh/site-functions/_kernel-install
|
||||
%{_datadir}/zsh/site-functions/_udevadm
|
||||
%{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so
|
||||
%{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so
|
||||
%{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so
|
||||
%{_mandir}/man1/bootctl.1.gz
|
||||
%{_mandir}/man1/systemd-cryptenroll.1.gz
|
||||
%{_mandir}/man5/crypttab.5.gz
|
||||
%{_mandir}/man5/integritytab.5.gz
|
||||
%{_mandir}/man5/iocost.conf.5.gz
|
||||
%{_mandir}/man5/modules-load.d.5.gz
|
||||
%{_mandir}/man5/pstore.conf.5.gz
|
||||
%{_mandir}/man5/pstore.conf.d.5.gz
|
||||
%{_mandir}/man5/repart.d.5.gz
|
||||
%{_mandir}/man5/sleep.conf.d.5.gz
|
||||
%{_mandir}/man5/systemd-sleep.conf.5.gz
|
||||
%{_mandir}/man5/timesyncd.conf.5.gz
|
||||
%{_mandir}/man5/timesyncd.conf.d.5.gz
|
||||
%{_mandir}/man5/udev.conf.5.gz
|
||||
%{_mandir}/man5/udev.conf.d.5.gz
|
||||
%{_mandir}/man5/vconsole.conf.5.gz
|
||||
%{_mandir}/man5/veritytab.5.gz
|
||||
%{_mandir}/man7/hwdb.7.gz
|
||||
%{_mandir}/man7/smbios-type-11.7.gz
|
||||
%{_mandir}/man7/systemd.image-policy.7.gz
|
||||
%{_mandir}/man7/udev.7.gz
|
||||
%{_mandir}/man8/kernel-install.8.gz
|
||||
%{_mandir}/man8/systemd-backlight.8.gz
|
||||
%{_mandir}/man8/systemd-backlight@.service.8.gz
|
||||
%{_mandir}/man8/systemd-battery-check.8.gz
|
||||
%{_mandir}/man8/systemd-battery-check.service.8.gz
|
||||
%{_mandir}/man8/systemd-cryptsetup-generator.8.gz
|
||||
%{_mandir}/man8/systemd-cryptsetup.8.gz
|
||||
%{_mandir}/man8/systemd-cryptsetup@.service.8.gz
|
||||
%{_mandir}/man8/systemd-fsck-root.service.8.gz
|
||||
%{_mandir}/man8/systemd-fsck-usr.service.8.gz
|
||||
%{_mandir}/man8/systemd-fsck.8.gz
|
||||
%{_mandir}/man8/systemd-fsck@.service.8.gz
|
||||
%{_mandir}/man8/systemd-fstab-generator.8.gz
|
||||
%{_mandir}/man8/systemd-gpt-auto-generator.8.gz
|
||||
%{_mandir}/man8/systemd-growfs-root.service.8.gz
|
||||
%{_mandir}/man8/systemd-growfs.8.gz
|
||||
%{_mandir}/man8/systemd-growfs@.service.8.gz
|
||||
%{_mandir}/man8/systemd-hibernate-clear.service.8.gz
|
||||
%{_mandir}/man8/systemd-hibernate-resume-generator.8.gz
|
||||
%{_mandir}/man8/systemd-hibernate-resume.8.gz
|
||||
%{_mandir}/man8/systemd-hibernate.service.8.gz
|
||||
%{_mandir}/man8/systemd-hwdb.8.gz
|
||||
%{_mandir}/man8/systemd-hybrid-sleep.service.8.gz
|
||||
%{_mandir}/man8/systemd-integritysetup-generator.8.gz
|
||||
%{_mandir}/man8/systemd-integritysetup.8.gz
|
||||
%{_mandir}/man8/systemd-integritysetup@.service.8.gz
|
||||
%{_mandir}/man8/systemd-makefs.8.gz
|
||||
%{_mandir}/man8/systemd-makefs@.service.8.gz
|
||||
%{_mandir}/man8/systemd-mkswap@.service.8.gz
|
||||
%{_mandir}/man8/systemd-modules-load.8.gz
|
||||
%{_mandir}/man8/systemd-modules-load.service.8.gz
|
||||
%{_mandir}/man8/systemd-network-generator.8.gz
|
||||
%{_mandir}/man8/systemd-network-generator.service.8.gz
|
||||
%{_mandir}/man8/systemd-pstore.8.gz
|
||||
%{_mandir}/man8/systemd-pstore.service.8.gz
|
||||
%{_mandir}/man8/systemd-quotacheck.8.gz
|
||||
%{_mandir}/man8/systemd-quotacheck.service.8.gz
|
||||
%{_mandir}/man8/systemd-random-seed.8.gz
|
||||
%{_mandir}/man8/systemd-random-seed.service.8.gz
|
||||
%{_mandir}/man8/systemd-remount-fs.8.gz
|
||||
%{_mandir}/man8/systemd-remount-fs.service.8.gz
|
||||
%{_mandir}/man8/systemd-repart.8.gz
|
||||
%{_mandir}/man8/systemd-repart.service.8.gz
|
||||
%{_mandir}/man8/systemd-rfkill.8.gz
|
||||
%{_mandir}/man8/systemd-rfkill.service.8.gz
|
||||
%{_mandir}/man8/systemd-rfkill.socket.8.gz
|
||||
%{_mandir}/man8/systemd-sleep.8.gz
|
||||
%{_mandir}/man8/systemd-suspend-then-hibernate.service.8.gz
|
||||
%{_mandir}/man8/systemd-suspend.service.8.gz
|
||||
%{_mandir}/man8/systemd-timesyncd.8.gz
|
||||
%{_mandir}/man8/systemd-timesyncd.service.8.gz
|
||||
%{_mandir}/man8/systemd-tmpfiles-setup-dev-early.service.8.gz
|
||||
%{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8.gz
|
||||
%{_mandir}/man8/systemd-udev-settle.service.8.gz
|
||||
%{_mandir}/man8/systemd-udevd-control.socket.8.gz
|
||||
%{_mandir}/man8/systemd-udevd-kernel.socket.8.gz
|
||||
%{_mandir}/man8/systemd-udevd.8.gz
|
||||
%{_mandir}/man8/systemd-udevd.service.8.gz
|
||||
%{_mandir}/man8/systemd-vconsole-setup.8.gz
|
||||
%{_mandir}/man8/systemd-vconsole-setup.service.8.gz
|
||||
%{_mandir}/man8/systemd-veritysetup-generator.8.gz
|
||||
%{_mandir}/man8/systemd-veritysetup.8.gz
|
||||
%{_mandir}/man8/systemd-veritysetup@.service.8.gz
|
||||
%{_mandir}/man8/systemd-volatile-root.8.gz
|
||||
%{_mandir}/man8/systemd-volatile-root.service.8.gz
|
||||
%{_mandir}/man8/udevadm.8.gz
|
||||
%{_prefix}/lib/kernel/install.conf
|
||||
%{_prefix}/lib/kernel/install.d/50-depmod.install
|
||||
%{_prefix}/lib/kernel/install.d/90-loaderentry.install
|
||||
%{_prefix}/lib/kernel/install.d/90-uki-copy.install
|
||||
%endif
|
||||
%{_prefix}/lib/udev/ata_id
|
||||
%{_prefix}/lib/udev/cdrom_id
|
||||
%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips
|
||||
# dmi_memory_id is only relevant on arches with DMI
|
||||
%{_prefix}/lib/udev/dmi_memory_id
|
||||
%endif
|
||||
%{_prefix}/lib/udev/fido_id
|
||||
%{_prefix}/lib/udev/iocost
|
||||
%{_prefix}/lib/udev/iocost.conf
|
||||
%{_prefix}/lib/udev/mtd_probe
|
||||
%{_prefix}/lib/udev/scsi_id
|
||||
%{_prefix}/lib/udev/udev.conf
|
||||
%{_prefix}/lib/udev/v4l_id
|
||||
%{_systemd_util_dir}/network/99-default.link
|
||||
%{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list
|
||||
%{_systemd_util_dir}/pstore.conf
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/repart/definitions/confext.repart.d/10-root.conf
|
||||
%{_systemd_util_dir}/repart/definitions/confext.repart.d/20-root-verity.conf
|
||||
%{_systemd_util_dir}/repart/definitions/confext.repart.d/30-root-verity-sig.conf
|
||||
%{_systemd_util_dir}/repart/definitions/portable.repart.d/10-root.conf
|
||||
%{_systemd_util_dir}/repart/definitions/portable.repart.d/20-root-verity.conf
|
||||
%{_systemd_util_dir}/repart/definitions/portable.repart.d/30-root-verity-sig.conf
|
||||
%{_systemd_util_dir}/repart/definitions/sysext.repart.d/10-root.conf
|
||||
%{_systemd_util_dir}/repart/definitions/sysext.repart.d/20-root-verity.conf
|
||||
%{_systemd_util_dir}/repart/definitions/sysext.repart.d/30-root-verity-sig.conf
|
||||
%endif
|
||||
%{_systemd_util_dir}/sleep.conf
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service
|
||||
%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-backlight
|
||||
%{_systemd_util_dir}/systemd-battery-check
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/systemd-cryptsetup
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-fsck
|
||||
%{_systemd_util_dir}/systemd-growfs
|
||||
%{_systemd_util_dir}/systemd-hibernate-resume
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/systemd-integritysetup
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-makefs
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/systemd-modules-load
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-network-generator
|
||||
%{_systemd_util_dir}/systemd-pstore
|
||||
%{_systemd_util_dir}/systemd-quotacheck
|
||||
%{_systemd_util_dir}/systemd-random-seed
|
||||
%{_systemd_util_dir}/systemd-remount-fs
|
||||
%{_systemd_util_dir}/systemd-rfkill
|
||||
%{_systemd_util_dir}/systemd-sleep
|
||||
%{_systemd_util_dir}/systemd-timesyncd
|
||||
%{_systemd_util_dir}/systemd-udevd
|
||||
%{_systemd_util_dir}/systemd-vconsole-setup
|
||||
%if %{without bootstrap}
|
||||
%{_systemd_util_dir}/systemd-veritysetup
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-volatile-root
|
||||
%{_systemd_util_dir}/timesyncd.conf
|
||||
%if %{without bootstrap}
|
||||
%{_systemdgeneratordir}/systemd-cryptsetup-generator
|
||||
%endif
|
||||
%{_systemdgeneratordir}/systemd-fstab-generator
|
||||
%{_systemdgeneratordir}/systemd-gpt-auto-generator
|
||||
%{_systemdgeneratordir}/systemd-hibernate-resume-generator
|
||||
%if %{without bootstrap}
|
||||
%{_systemdgeneratordir}/systemd-integritysetup-generator
|
||||
%{_systemdgeneratordir}/systemd-veritysetup-generator
|
||||
%endif
|
||||
%{_sysusersdir}/systemd-timesync.conf
|
||||
%{_tmpfilesdir}/static-nodes-permissions.conf
|
||||
%{_tmpfilesdir}/systemd-pstore.conf
|
||||
%{_udevhwdbdir}/20-OUI.hwdb
|
||||
%{_udevhwdbdir}/20-acpi-vendor.hwdb
|
||||
%{_udevhwdbdir}/20-bluetooth-vendor-product.hwdb
|
||||
%{_udevhwdbdir}/20-dmi-id.hwdb
|
||||
%{_udevhwdbdir}/20-net-ifname.hwdb
|
||||
%{_udevhwdbdir}/20-pci-classes.hwdb
|
||||
%{_udevhwdbdir}/20-pci-vendor-model.hwdb
|
||||
%{_udevhwdbdir}/20-sdio-classes.hwdb
|
||||
%{_udevhwdbdir}/20-sdio-vendor-model.hwdb
|
||||
%{_udevhwdbdir}/20-usb-classes.hwdb
|
||||
%{_udevhwdbdir}/20-usb-vendor-model.hwdb
|
||||
%{_udevhwdbdir}/20-vmbus-class.hwdb
|
||||
%{_udevhwdbdir}/60-autosuspend-chromiumos.hwdb
|
||||
%{_udevhwdbdir}/60-autosuspend-fingerprint-reader.hwdb
|
||||
%{_udevhwdbdir}/60-autosuspend.hwdb
|
||||
%{_udevhwdbdir}/60-evdev.hwdb
|
||||
%{_udevhwdbdir}/60-input-id.hwdb
|
||||
%{_udevhwdbdir}/60-keyboard.hwdb
|
||||
%{_udevhwdbdir}/60-seat.hwdb
|
||||
%{_udevhwdbdir}/60-sensor.hwdb
|
||||
%{_udevhwdbdir}/70-analyzers.hwdb
|
||||
%{_udevhwdbdir}/70-av-production.hwdb
|
||||
%{_udevhwdbdir}/70-cameras.hwdb
|
||||
%{_udevhwdbdir}/70-hardware-wallets.hwdb
|
||||
%{_udevhwdbdir}/70-joystick.hwdb
|
||||
%{_udevhwdbdir}/70-mouse.hwdb
|
||||
%{_udevhwdbdir}/70-pda.hwdb
|
||||
%{_udevhwdbdir}/70-pointingstick.hwdb
|
||||
%{_udevhwdbdir}/70-sound-card.hwdb
|
||||
%{_udevhwdbdir}/70-touchpad.hwdb
|
||||
%{_udevhwdbdir}/80-ieee1394-unit-function.hwdb
|
||||
%{_udevrulesdir}/50-udev-default.rules
|
||||
%{_udevrulesdir}/60-autosuspend.rules
|
||||
%{_udevrulesdir}/60-block.rules
|
||||
%{_udevrulesdir}/60-cdrom_id.rules
|
||||
%{_udevrulesdir}/60-dmi-id.rules
|
||||
%{_udevrulesdir}/60-drm.rules
|
||||
%{_udevrulesdir}/60-evdev.rules
|
||||
%{_udevrulesdir}/60-fido-id.rules
|
||||
%{_udevrulesdir}/60-infiniband.rules
|
||||
%{_udevrulesdir}/60-input-id.rules
|
||||
%{_udevrulesdir}/60-persistent-alsa.rules
|
||||
%{_udevrulesdir}/60-persistent-input.rules
|
||||
%{_udevrulesdir}/60-persistent-storage-mtd.rules
|
||||
%{_udevrulesdir}/60-persistent-storage-tape.rules
|
||||
%{_udevrulesdir}/60-persistent-storage.rules
|
||||
%{_udevrulesdir}/60-persistent-v4l.rules
|
||||
%{_udevrulesdir}/60-sensor.rules
|
||||
%{_udevrulesdir}/60-serial.rules
|
||||
%{_udevrulesdir}/64-btrfs.rules
|
||||
%{_udevrulesdir}/70-camera.rules
|
||||
%{_udevrulesdir}/70-joystick.rules
|
||||
%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips
|
||||
%{_udevrulesdir}/70-memory.rules
|
||||
%endif
|
||||
%{_udevrulesdir}/70-mouse.rules
|
||||
%{_udevrulesdir}/70-power-switch.rules
|
||||
%{_udevrulesdir}/70-touchpad.rules
|
||||
%{_udevrulesdir}/75-net-description.rules
|
||||
%{_udevrulesdir}/75-probe_mtd.rules
|
||||
%{_udevrulesdir}/78-sound-card.rules
|
||||
%if %{without bootstrap}
|
||||
%{_udevrulesdir}/80-drivers.rules
|
||||
%endif
|
||||
%{_udevrulesdir}/80-net-setup-link.rules
|
||||
%{_udevrulesdir}/81-net-dhcp.rules
|
||||
%{_udevrulesdir}/90-iocost.rules
|
||||
%{_udevrulesdir}/90-vconsole.rules
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/cryptsetup-pre.target
|
||||
%{_unitdir}/cryptsetup.target
|
||||
%endif
|
||||
%{_unitdir}/hibernate.target
|
||||
%{_unitdir}/hybrid-sleep.target
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/initrd-root-device.target.wants/remote-cryptsetup.target
|
||||
%{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target
|
||||
%endif
|
||||
%{_unitdir}/initrd-udevadm-cleanup-db.service
|
||||
%{_unitdir}/initrd.target.wants/systemd-battery-check.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/integritysetup-pre.target
|
||||
%{_unitdir}/integritysetup.target
|
||||
%{_unitdir}/kmod-static-nodes.service
|
||||
%endif
|
||||
%{_unitdir}/quotaon-root.service
|
||||
%{_unitdir}/quotaon@.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/remote-cryptsetup.target
|
||||
%{_unitdir}/remote-veritysetup.target
|
||||
%endif
|
||||
%{_unitdir}/sleep.target
|
||||
%if %{with sd_boot}
|
||||
%{_unitdir}/sockets.target.wants/systemd-bootctl.socket
|
||||
%endif
|
||||
%{_unitdir}/sockets.target.wants/systemd-udevd-control.socket
|
||||
%{_unitdir}/sockets.target.wants/systemd-udevd-kernel.socket
|
||||
%{_unitdir}/suspend-then-hibernate.target
|
||||
%{_unitdir}/suspend.target
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/sysinit.target.wants/cryptsetup.target
|
||||
%{_unitdir}/sysinit.target.wants/integritysetup.target
|
||||
%{_unitdir}/sysinit.target.wants/kmod-static-nodes.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-hibernate-clear.service
|
||||
%endif
|
||||
%{_unitdir}/sysinit.target.wants/systemd-hwdb-update.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/sysinit.target.wants/systemd-modules-load.service
|
||||
%endif
|
||||
%{_unitdir}/sysinit.target.wants/systemd-random-seed.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev-early.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-tmpfiles-setup-dev.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-udev-trigger.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-udevd.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/sysinit.target.wants/veritysetup.target
|
||||
%{_unitdir}/system-systemd\x2dcryptsetup.slice
|
||||
%{_unitdir}/system-systemd\x2dveritysetup.slice
|
||||
%endif
|
||||
%{_unitdir}/systemd-backlight@.service
|
||||
%{_unitdir}/systemd-battery-check.service
|
||||
%if %{with sd_boot}
|
||||
%{_unitdir}/systemd-bootctl.socket
|
||||
%{_unitdir}/systemd-bootctl@.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-firstboot.service
|
||||
%{_unitdir}/systemd-fsck-root.service
|
||||
%{_unitdir}/systemd-fsck@.service
|
||||
%{_unitdir}/systemd-growfs-root.service
|
||||
%{_unitdir}/systemd-growfs@.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/systemd-hibernate-clear.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-hibernate-resume.service
|
||||
%{_unitdir}/systemd-hibernate.service
|
||||
%{_unitdir}/systemd-hwdb-update.service
|
||||
%{_unitdir}/systemd-hybrid-sleep.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/systemd-modules-load.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-network-generator.service
|
||||
%{_unitdir}/systemd-pstore.service
|
||||
%{_unitdir}/systemd-quotacheck-root.service
|
||||
%{_unitdir}/systemd-quotacheck@.service
|
||||
%{_unitdir}/systemd-random-seed.service
|
||||
%{_unitdir}/systemd-remount-fs.service
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/systemd-repart.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-rfkill.service
|
||||
%{_unitdir}/systemd-rfkill.socket
|
||||
%{_unitdir}/systemd-suspend-then-hibernate.service
|
||||
%{_unitdir}/systemd-suspend.service
|
||||
%{_unitdir}/systemd-timesyncd.service
|
||||
%{_unitdir}/systemd-tmpfiles-setup-dev-early.service
|
||||
%{_unitdir}/systemd-tmpfiles-setup-dev.service
|
||||
%{_unitdir}/systemd-udev-load-credentials.service
|
||||
%{_unitdir}/systemd-udev-settle.service
|
||||
%{_unitdir}/systemd-udev-trigger.service
|
||||
%{_unitdir}/systemd-udevd-control.socket
|
||||
%{_unitdir}/systemd-udevd-kernel.socket
|
||||
%{_unitdir}/systemd-udevd.service
|
||||
%{_unitdir}/systemd-vconsole-setup.service
|
||||
%{_unitdir}/systemd-volatile-root.service
|
||||
%{_unitdir}/tpm2.target
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/veritysetup-pre.target
|
||||
%{_unitdir}/veritysetup.target
|
||||
%endif
|
29
files.uefi-boot
Normal file
29
files.uefi-boot
Normal file
@ -0,0 +1,29 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_systemd_util_dir}/boot
|
||||
%dir %{_systemd_util_dir}/boot/efi
|
||||
%if %{without bootstrap}
|
||||
%{_mandir}/man5/loader.conf.5.gz
|
||||
%{_mandir}/man7/linuxaa64.efi.stub.7.gz
|
||||
%{_mandir}/man7/linuxia32.efi.stub.7.gz
|
||||
%{_mandir}/man7/linuxx64.efi.stub.7.gz
|
||||
%{_mandir}/man7/sd-boot.7.gz
|
||||
%{_mandir}/man7/sd-stub.7.gz
|
||||
%{_mandir}/man7/systemd-boot.7.gz
|
||||
%{_mandir}/man7/systemd-stub.7.gz
|
||||
%{_mandir}/man8/systemd-bless-boot-generator.8.gz
|
||||
%{_mandir}/man8/systemd-bless-boot.8.gz
|
||||
%{_mandir}/man8/systemd-bless-boot.service.8.gz
|
||||
%{_mandir}/man8/systemd-boot-random-seed.service.8.gz
|
||||
%endif
|
||||
# These are the few exceptions where glob pattern is allowed.
|
||||
%{_systemd_util_dir}/boot/efi/addon*.efi.stub
|
||||
%{_systemd_util_dir}/boot/efi/linux*.efi.stub
|
||||
%{_systemd_util_dir}/boot/efi/systemd-boot*.efi
|
||||
%{_systemd_util_dir}/systemd-bless-boot
|
||||
%{_systemdgeneratordir}/systemd-bless-boot-generator
|
||||
%{_unitdir}/sysinit.target.wants/systemd-boot-random-seed.service
|
||||
%{_unitdir}/systemd-bless-boot.service
|
||||
%{_unitdir}/systemd-boot-random-seed.service
|
||||
%{_unitdir}/systemd-boot-update.service
|
@ -1,38 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Thu, 23 Aug 2012 11:08:25 +0200
|
||||
Subject: fix support for boot prefixed initscript (bnc#746506)
|
||||
|
||||
---
|
||||
src/systemctl/systemctl.c | 18 +++++++++++++++++-
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/src/systemctl/systemctl.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/systemctl/systemctl.c
|
||||
+++ systemd-221/src/systemctl/systemctl.c
|
||||
@@ -5165,8 +5165,24 @@ static int enable_sysv_units(const char
|
||||
|
||||
p[strlen(p) - strlen(".service")] = 0;
|
||||
found_sysv = access(p, F_OK) >= 0;
|
||||
- if (!found_sysv)
|
||||
+ if (!found_sysv) {
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ free(p);
|
||||
+ p = NULL;
|
||||
+ if (!isempty(arg_root))
|
||||
+ asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name);
|
||||
+ else
|
||||
+ asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name);
|
||||
+ if (!p)
|
||||
+ return -ENOMEM;
|
||||
+ p[strlen(p) - sizeof(".service") + 1] = 0;
|
||||
+ found_sysv = access(p, F_OK) >= 0;
|
||||
+ if (!found_sysv)
|
||||
+ continue;
|
||||
+#else
|
||||
continue;
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
if (found_native)
|
||||
log_info("Synchronizing state of %s with SysV init with %s...", name, argv[0]);
|
146
fixlet-container-post.sh
Normal file
146
fixlet-container-post.sh
Normal file
@ -0,0 +1,146 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# This script contains all the fixups run when systemd-container package is
|
||||
# installed or updated.
|
||||
#
|
||||
|
||||
warn() {
|
||||
echo >&2 "warning: $@"
|
||||
}
|
||||
|
||||
is_btrfs_subvolume() {
|
||||
# On btrfs subvolumes always have the inode 256
|
||||
test $(stat --format=%i "$1") -eq 256
|
||||
}
|
||||
|
||||
# This assumes the directory/subvol is emptied by the caller.
|
||||
rm_subvolume_or_directory() {
|
||||
is_btrfs_subvolume "$1" && {
|
||||
btrfs subvolume delete "$1"
|
||||
return
|
||||
}
|
||||
rmdir "$1"
|
||||
}
|
||||
|
||||
# On systems using BTRFS, convert /var/lib/machines into a subvolume suitable
|
||||
# for snapper to perform snapshots, rollbacks.. in case it was not properly set
|
||||
# up, see bsc#992573. The installer has been fixed to properly initialize it at
|
||||
# installation time.
|
||||
#
|
||||
# The conversion might only be problematic for openSUSE distros (TW/Factory)
|
||||
# where the subvolume was created at the wrong place (via tmpfiles for example)
|
||||
# and it got populated before we had time to fix it. In this case we'll let the
|
||||
# user fix it manually.
|
||||
#
|
||||
# On SLE12 this subvolume was only introduced during the upgrade from v210 to
|
||||
# v228 (ie SLE12-SP[01] -> SLE12-SP2+ when we added this workaround hence no
|
||||
# user should had time to populate it. Note that the subvolume is still created
|
||||
# at the wrong place due to the call to tmpfiles_create macro in the %post
|
||||
# section however it's empty so again we shouldn't face any issue to convert it.
|
||||
#
|
||||
# In order to avoid ugly dependencies added in systemd package, this function
|
||||
# should only be called during package updates when mksubvolume(8) is
|
||||
# available. During installation, /var/lib/machines is supposed to be created by
|
||||
# the installer now.
|
||||
#
|
||||
# See bsc#992573
|
||||
#
|
||||
fix_machines_subvol() {
|
||||
local tagfile=/var/lib/systemd/rpm/container-machines_subvol
|
||||
|
||||
if [ -e $tagfile ]; then
|
||||
return 0
|
||||
fi
|
||||
touch $tagfile
|
||||
|
||||
#
|
||||
# If there's already an entry in fstab for /var/lib/machines, it
|
||||
# means that:
|
||||
#
|
||||
# - the installer initialized /var/lib/machines correctly (default)
|
||||
# - we already fixed it
|
||||
# - the sysadmin added it manually
|
||||
#
|
||||
# In any cases we should return.
|
||||
#
|
||||
# Note: we can't simply check if /var/lib/machines has been mounted
|
||||
# because an update through a chroot might be in progress (see
|
||||
# bsc#1030290).
|
||||
#
|
||||
if mount --fake /var/lib/machines 2>/dev/null; then
|
||||
return
|
||||
fi
|
||||
|
||||
#
|
||||
# If there is already an entry in fstab for /var, it means that:
|
||||
#
|
||||
# - the system has a seperate /var subvolume (default from Feb 2018)
|
||||
# - the system has a seperate /var partition
|
||||
#
|
||||
# In any case we should return.
|
||||
#
|
||||
if mount --fake /var 2>/dev/null; then
|
||||
return
|
||||
fi
|
||||
|
||||
#
|
||||
# If something is already mounted don't try to fix anything, it's been
|
||||
# done manually by the sysadmin.
|
||||
#
|
||||
if mountpoint -q /var/lib/machines; then
|
||||
return
|
||||
fi
|
||||
|
||||
#
|
||||
# Let's try to figure out if the current filesystem uses a Snapper
|
||||
# BTRFS specific layout. Note that TW uses a different layout than
|
||||
# SLE...
|
||||
#
|
||||
# FIXME: not sure if it's correct, reliable or optimal.
|
||||
#
|
||||
case $(findmnt -nr -t btrfs -o FSROOT / 2>/dev/null) in
|
||||
*.snapshots/*/snapshot*)
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
esac
|
||||
|
||||
if test -d /var/lib/machines; then
|
||||
#
|
||||
# Ok, we're on a system supporting rollbacks and
|
||||
# /var/lib/machines is not a subvolume remotely mounted so it
|
||||
# cannot be suitable for systems supporting rollback. Fix it.
|
||||
#
|
||||
echo "Making /var/lib/machines suitable for rollbacks..."
|
||||
|
||||
type mksubvolume >/dev/null 2>&1 || {
|
||||
warn "mksubvolume(8) is not installed, aborting."
|
||||
return 1
|
||||
}
|
||||
test "$(ls -A /var/lib/machines/)" && {
|
||||
warn "/var/lib/machines is not empty, aborting."
|
||||
return 1
|
||||
}
|
||||
|
||||
echo "Deleting empty /var/lib/machines directory/subvolume"
|
||||
rm_subvolume_or_directory /var/lib/machines || {
|
||||
warn "fail to delete /var/lib/machines"
|
||||
return 1
|
||||
}
|
||||
fi
|
||||
|
||||
# At this point /var/lib/machines shouldn't exist.
|
||||
echo "Creating /var/lib/machines subvolume suitable for rollbacks."
|
||||
mksubvolume /var/lib/machines
|
||||
}
|
||||
|
||||
r=0
|
||||
if [ $1 -gt 1 ]; then
|
||||
# During upgrade
|
||||
fix_machines_subvol || {
|
||||
warn "Please fix /var/lib/machines manually."
|
||||
r=1
|
||||
}
|
||||
fi
|
||||
|
||||
exit $r
|
312
fixlet-systemd-post.sh
Normal file
312
fixlet-systemd-post.sh
Normal file
@ -0,0 +1,312 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# This script contains all the fixups run when systemd package is installed or
|
||||
# updated.
|
||||
#
|
||||
|
||||
# /etc/sysconfig/console | /etc/vconsole.conf
|
||||
# -------------------------+---------------------
|
||||
# CONSOLE_FONT | FONT
|
||||
# CONSOLE_SCREENMAP | FONT_MAP
|
||||
# CONSOLE_UNICODEMAP | FONT_UNIMAP
|
||||
migrate_locale () {
|
||||
local migrated=""
|
||||
|
||||
if ! test -f /etc/sysconfig/console; then
|
||||
return
|
||||
fi
|
||||
source /etc/sysconfig/console || return
|
||||
|
||||
if test -f /etc/vconsole.conf; then
|
||||
source /etc/vconsole.conf || return
|
||||
fi
|
||||
|
||||
if test -n "$CONSOLE_FONT" && test -z "$FONT"; then
|
||||
echo "FONT=$CONSOLE_FONT" >>/etc/vconsole.conf
|
||||
migrated+="CONSOLE_FONT "
|
||||
fi
|
||||
if test -n "$CONSOLE_SCREENMAP" && test -z "$FONT_MAP"; then
|
||||
echo "FONT_MAP=$CONSOLE_SCREENMAP" >>/etc/vconsole.conf
|
||||
migrated+="CONSOLE_SCREENMAP "
|
||||
fi
|
||||
if test -n "$CONSOLE_UNICODEMAP" && test -z "$FONT_UNIMAP"; then
|
||||
echo "FONT_UNIMAP=$CONSOLE_UNICODEMAP" >>/etc/vconsole.conf
|
||||
migrated+="CONSOLE_UNICODEMAP "
|
||||
fi
|
||||
|
||||
if test -n "$migrated"; then
|
||||
echo >&2 "The following variables from /etc/sysconfig/console have been migrated"
|
||||
echo >&2 "into /etc/vconsole.conf:"
|
||||
echo >&2
|
||||
for v in $migrated; do echo " - $v=${!v}"; done
|
||||
echo >&2
|
||||
echo >&2 "Please edit /etc/vconsole.conf if you need to tune these settings"
|
||||
echo >&2 "as /etc/sysconfig/console won't be considered anymore."
|
||||
echo >&2
|
||||
fi
|
||||
}
|
||||
|
||||
# /etc/sysconfig/keyboard | /etc/vconsole.conf
|
||||
# -------------------------+---------------------
|
||||
# KEYTABLE | KEYMAP
|
||||
migrate_keyboard () {
|
||||
local migrated=""
|
||||
|
||||
if ! test -f /etc/sysconfig/keyboard; then
|
||||
return
|
||||
fi
|
||||
source /etc/sysconfig/keyboard || return
|
||||
|
||||
if test -f /etc/vconsole.conf; then
|
||||
source /etc/vconsole.conf || return
|
||||
fi
|
||||
|
||||
if test -n "$KEYTABLE" && test -z "$KEYMAP"; then
|
||||
echo "KEYMAP=$KEYTABLE" >>/etc/vconsole.conf
|
||||
migrated+="KEYTABLE "
|
||||
fi
|
||||
|
||||
if test -n "$migrated"; then
|
||||
echo >&2 "The following variables from /etc/sysconfig/keyboard have been migrated"
|
||||
echo >&2 "into /etc/vconsole.conf:"
|
||||
echo >&2
|
||||
for v in $migrated; do echo " - $v=${!v}"; done
|
||||
echo >&2
|
||||
echo >&2 "Please use localectl(1) if you need to tune these settings since"
|
||||
echo >&2 "/etc/sysconfig/keyboard won't be considered anymore."
|
||||
echo >&2
|
||||
fi
|
||||
}
|
||||
|
||||
# According to
|
||||
# https://www.suse.com/documentation/sles-12/book_sle_admin/data/sec_suse_l10n.html,
|
||||
# variables in /etc/sysconfig/language are supposed to be passed to the users'
|
||||
# shell *only*. However it seems that there has been some confusion and they
|
||||
# ended up configuring the system-wide locale as well. The logic followed by
|
||||
# systemd was implemented in commit 01c4b6f4f0d951d17f6873f68156ecd7763429c6,
|
||||
# which was reverted. The code below follows the same logic to migrate content
|
||||
# of /etc/sysconfig/language into locale.conf.
|
||||
migrate_language () {
|
||||
local lang=
|
||||
local migrated=false
|
||||
|
||||
if ! test -f /etc/sysconfig/language; then
|
||||
return
|
||||
fi
|
||||
source /etc/sysconfig/language || return
|
||||
|
||||
lang=$(grep ^LANG= /etc/locale.conf 2>/dev/null)
|
||||
lang=${lang#LANG=}
|
||||
|
||||
case "$ROOT_USES_LANG" in
|
||||
yes)
|
||||
if test -z "$lang" && test -n "$RC_LANG"; then
|
||||
echo "LANG=$RC_LANG" >>/etc/locale.conf
|
||||
migrated=true
|
||||
fi
|
||||
;;
|
||||
ctype)
|
||||
if ! grep -q ^LC_CTYPE= /etc/locale.conf 2>/dev/null; then
|
||||
|
||||
: ${lc_ctype:="$lang"}
|
||||
: ${lc_ctype:="$RC_LC_CTYPE"}
|
||||
: ${lc_ctype:="$RC_LANG"}
|
||||
|
||||
if test -n "$lc_ctype"; then
|
||||
echo "LC_CTYPE=$lc_ctype" >>/etc/locale.conf
|
||||
migrated=true
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if $migrated; then
|
||||
echo >&2 "The content of /etc/sysconfig/language has been migrated into"
|
||||
echo >&2 "/etc/locale.conf. The former file is now only used for setting"
|
||||
echo >&2 "the locale used by user's shells. The system-wide locale is"
|
||||
echo >&2 "only read from /etc/locale.conf since now."
|
||||
echo >&2
|
||||
echo >&2 "Please only use localectl(1) or YaST if you need to change the"
|
||||
echo >&2 "settings of the *system-wide* locale from now."
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Migrate old i18n settings previously configured in /etc/sysconfig to the new
|
||||
# locations used by systemd (/etc/locale.conf, /etc/vconsole.conf, ...). Recent
|
||||
# versions of systemd parse the new locations only.
|
||||
#
|
||||
# This is needed both at package updates and package installations because we
|
||||
# might be upgrading from a system which was running SysV init (systemd package
|
||||
# is being installed).
|
||||
#
|
||||
# Note: run only once.
|
||||
#
|
||||
migrate_sysconfig_i18n() {
|
||||
local tagfile=/var/lib/systemd/rpm/systemd-i18n_migrated
|
||||
local -i rv=0
|
||||
|
||||
if [ -e $tagfile ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# The marker could have been incorrectly put in /usr/lib.
|
||||
mv /usr/lib/systemd/scripts/.migrate-sysconfig-i18n.sh~done $tagfile &>/dev/null
|
||||
# The tag files have been moved to /var/lib/systemd/rpm later.
|
||||
mv /var/lib/systemd/i18n-migrated $tagfile &>/dev/null
|
||||
|
||||
if [ -e $tagfile ]; then
|
||||
return 0
|
||||
fi
|
||||
touch $tagfile
|
||||
|
||||
migrate_locale; rv+=$?
|
||||
migrate_keyboard; rv+=$?
|
||||
migrate_language; rv+=$?
|
||||
|
||||
if [ $rv -gt 0 ]; then
|
||||
echo >&2 "Failed to migrate i18n settings from /etc/sysconfig, ignoring."
|
||||
fi
|
||||
|
||||
return $rv
|
||||
}
|
||||
|
||||
#
|
||||
# This function is supposed to be called from the %post section of the main
|
||||
# package. It contains all the fixups needed when the system was running a
|
||||
# version of systemd older than v210.
|
||||
#
|
||||
# All hacks can potentially break the admin settings since they work in /etc.
|
||||
#
|
||||
fix_pre_210() {
|
||||
local tagfile=/var/lib/systemd/rpm/systemd-pre_210_fixed
|
||||
|
||||
if [ -e $tagfile ]; then
|
||||
return 0
|
||||
fi
|
||||
touch $tagfile
|
||||
|
||||
#
|
||||
# During migration from sysvinit to systemd, we used to set the systemd
|
||||
# default target to one of the 'runlevel*.target' after reading the
|
||||
# default runlevel from /etc/inittab. We don't do that anymore because
|
||||
# in most cases using the graphical.target target, which is the default,
|
||||
# will do the right thing. Moreover the runlevel targets are considered
|
||||
# as deprecated, so we convert them into "true" systemd targets instead
|
||||
# here.
|
||||
#
|
||||
if target=$(readlink /etc/systemd/system/default.target); then
|
||||
target=$(basename $target)
|
||||
case "$target" in
|
||||
runlevel?.target)
|
||||
echo "Default target is '$target' but use of runlevels is deprecated, converting"
|
||||
systemctl --no-reload set-default $target
|
||||
esac
|
||||
fi
|
||||
|
||||
#
|
||||
# Migrate any symlink which may refer to the old path (ie /lib/systemd).
|
||||
#
|
||||
for f in $(find /etc/systemd/system -type l -xtype l); do
|
||||
new_target="/usr$(readlink $f)"
|
||||
[ -f "$new_target" ] && ln -s -f "$new_target" "$f"
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# /etc/machine-id might have been created writeable incorrectly (boo#1092269).
|
||||
#
|
||||
# Note: run at each package update.
|
||||
#
|
||||
fix_machine_id_perms() {
|
||||
if [ "$(stat -c%a /etc/machine-id)" != 444 ]; then
|
||||
echo "Incorrect file mode bits for /etc/machine-id which should be 0444, fixing..."
|
||||
chmod 444 /etc/machine-id
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# v228 wrongly set world writable suid root permissions on timestamp files used
|
||||
# by permanent timers. Fix the timestamps that might have been created by the
|
||||
# affected versions of systemd (bsc#1020601).
|
||||
#
|
||||
# Note: run at each package update.
|
||||
#
|
||||
fix_bsc_1020601() {
|
||||
for stamp in $(ls /var/lib/systemd/timers/stamp-*.timer 2>/dev/null); do
|
||||
chmod 0644 $stamp
|
||||
done
|
||||
|
||||
# Same for user lingering created by logind.
|
||||
for username in $(ls /var/lib/systemd/linger/* 2>/dev/null); do
|
||||
chmod 0644 $username
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# Due to the fact that DynamicUser= was turned ON during v235 and then switched
|
||||
# back to off in v240, /var/lib/systemd/timesync might be a symlink pointing to
|
||||
# /var/lib/private/systemd/timesync, which is inaccessible for systemd-timesync
|
||||
# user as /var/lib/private is 0700 root:root, see
|
||||
# https://github.com/systemd/systemd/issues/11329 for details.
|
||||
#
|
||||
# Note: only TW might be affected by this bug.
|
||||
# Note: run at each package update.
|
||||
#
|
||||
fix_issue_11329() {
|
||||
if [ -L /var/lib/systemd/timesync ]; then
|
||||
rm /var/lib/systemd/timesync
|
||||
mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# We don't ship after-local.service anymore however as a courtesy we install a
|
||||
# copy in /etc for users who are relying on it.
|
||||
#
|
||||
# Note: should run only once since it is conditionalized on the presence of
|
||||
# %{_unitdir}/after-local.service
|
||||
#
|
||||
drop_after_local_support() {
|
||||
if [ -x /etc/init.d/after.local ] &&
|
||||
[ -f /usr/lib/systemd/system/after-local.service ]; then
|
||||
echo "after-local.service is no more provided by systemd but a copy has been installed in /etc"
|
||||
cp /usr/lib/systemd/system/after-local.service /etc/systemd/system/
|
||||
ln -s ../after-local.service /etc/systemd/system/multi-user.target.wants/after-local.service
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# We have stopped shipping the main config files in /etc but we don't try to
|
||||
# clean them up automatically as it can have unexepected side effects
|
||||
# (bsc#1226415). Instead we simply suggest users to convert them (if they exist)
|
||||
# into drop-ins.
|
||||
#
|
||||
# Note: run at each package update
|
||||
#
|
||||
check_config_files () {
|
||||
config_files=(systemd/journald.conf systemd/logind.conf systemd/system.conf systemd/user.conf
|
||||
systemd/pstore.conf systemd/sleep.conf systemd/timesyncd.conf systemd/coredump.conf
|
||||
systemd/journal-remote.conf systemd/journal-upload.conf systemd/networkd.conf
|
||||
systemd/resolved.conf systemd/oomd.conf udev/iocost.conf udev/udev.conf)
|
||||
|
||||
for f in ${config_files[*]}; do
|
||||
[ -e /etc/$f ] || continue
|
||||
|
||||
cat >&2 <<EOF
|
||||
Main configuration files are deprecated in favor of drop-ins.
|
||||
Hence, we suggest that you remove /etc/$f if it doesn't contain any customization, or convert it into drop-in otherwise.
|
||||
For more details, please visit https://en.opensuse.org/Systemd#Configuration.
|
||||
EOF
|
||||
done
|
||||
}
|
||||
|
||||
r=0
|
||||
fix_machine_id_perms || r=1
|
||||
fix_pre_210 || r=1
|
||||
migrate_sysconfig_i18n || r=1
|
||||
fix_bsc_1020601 || r=1
|
||||
fix_issue_11329 || r=1
|
||||
drop_after_local_support || r=1
|
||||
|
||||
exit $r
|
@ -1,216 +0,0 @@
|
||||
Original-From: Frederic Crozat <fcrozat@suse.com>
|
||||
Original-Date: Fri, 19 Aug 2011 15:29:49 +0000
|
||||
Subject: handle disable_caplock and compose_table and kbd_rate
|
||||
References: https://bugzilla.opensuse.org/746595
|
||||
Last-Editor: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: Fri Jun 19 21:36:27 CEST 2015
|
||||
|
||||
---
|
||||
src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 147 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: systemd-228/src/vconsole/vconsole-setup.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/vconsole/vconsole-setup.c
|
||||
+++ systemd-228/src/vconsole/vconsole-setup.c
|
||||
@@ -34,6 +34,8 @@
|
||||
#include "alloc-util.h"
|
||||
#include "fd-util.h"
|
||||
#include "fileio.h"
|
||||
+#include "macro.h"
|
||||
+#include "strv.h"
|
||||
#include "io-util.h"
|
||||
#include "locale-util.h"
|
||||
#include "log.h"
|
||||
@@ -104,8 +106,10 @@ static int enable_utf8(int fd) {
|
||||
return r;
|
||||
}
|
||||
|
||||
-static int keyboard_load_and_wait(const char *vc, const char *map, const char *map_toggle, bool utf8) {
|
||||
- const char *args[8];
|
||||
+static int keyboard_load_and_wait(const char *vc, const char *map,
|
||||
+ const char *map_toggle, bool utf8, bool disable_capslock)
|
||||
+{
|
||||
+ const char *args[9];
|
||||
int i = 0, r;
|
||||
pid_t pid;
|
||||
|
||||
@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const
|
||||
args[i++] = map;
|
||||
if (map_toggle)
|
||||
args[i++] = map_toggle;
|
||||
+ if (disable_capslock)
|
||||
+ args[i++] = "disable.capslock";
|
||||
args[i++] = NULL;
|
||||
|
||||
pid = fork();
|
||||
@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd)
|
||||
}
|
||||
}
|
||||
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+static int compose_load_and_wait(const char *vc, const char *compose_table)
|
||||
+{
|
||||
+ const char *args[1024];
|
||||
+ unsigned int i = 0, j = 0;
|
||||
+ int ret;
|
||||
+ pid_t pid;
|
||||
+ char **strv_compose_table = NULL;
|
||||
+ char *to_free[1024];
|
||||
+
|
||||
+ if (isempty(compose_table))
|
||||
+ /* An empty map means no compose table */
|
||||
+ return 1;
|
||||
+
|
||||
+ args[i++] = KBD_LOADKEYS;
|
||||
+ args[i++] = "-q";
|
||||
+ args[i++] = "-C";
|
||||
+ args[i++] = vc;
|
||||
+
|
||||
+ strv_compose_table = strv_split(compose_table, WHITESPACE);
|
||||
+ if (strv_compose_table) {
|
||||
+ bool compose_loaded = false;
|
||||
+ bool compose_clear = false;
|
||||
+ char **name;
|
||||
+ char *arg;
|
||||
+
|
||||
+ STRV_FOREACH(name, strv_compose_table) {
|
||||
+ if (streq(*name, "-c") || streq(*name, "clear")) {
|
||||
+ compose_clear = true;
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (!compose_loaded && compose_clear)
|
||||
+ args[i++] = "-c";
|
||||
+ asprintf(&arg, "compose.%s", *name);
|
||||
+ compose_loaded = true;
|
||||
+ args[i++] = to_free[j++] = arg;
|
||||
+ if (i >= ELEMENTSOF(args) - 1)
|
||||
+ break;
|
||||
+ }
|
||||
+ strv_free(strv_compose_table);
|
||||
+ }
|
||||
+ args[i++] = NULL;
|
||||
+
|
||||
+ pid = fork();
|
||||
+ if (pid < 0)
|
||||
+ return log_error_errno(errno, "Failed to fork: %m");
|
||||
+ if (pid == 0) {
|
||||
+ reset_all_signal_handlers();
|
||||
+ reset_signal_mask();
|
||||
+ execv(args[0], (char **) args);
|
||||
+ _exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ ret = wait_for_terminate_and_warn(args[0], pid, true);
|
||||
+ for (i = 0; i < j; ++i)
|
||||
+ free(to_free[i]);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ return ret == 0;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static int kbdrate_set_and_wait(const char *vc, const char *kbd_rate,
|
||||
+ const char *kbd_delay)
|
||||
+{
|
||||
+ const char *args[7];
|
||||
+ int i = 0, ret;
|
||||
+ pid_t pid;
|
||||
+
|
||||
+ if (isempty(kbd_rate) && isempty(kbd_delay))
|
||||
+ return 1;
|
||||
+
|
||||
+ args[i++] = "/bin/kbdrate";
|
||||
+ if (!isempty(kbd_rate)) {
|
||||
+ args[i++] = "-r";
|
||||
+ args[i++] = kbd_rate;
|
||||
+ }
|
||||
+ if (!isempty(kbd_delay)) {
|
||||
+ args[i++] = "-d";
|
||||
+ args[i++] = kbd_delay;
|
||||
+ }
|
||||
+ args[i++] = "-s";
|
||||
+ args[i++] = NULL;
|
||||
+
|
||||
+ pid = fork();
|
||||
+ if (pid < 0)
|
||||
+ return log_error_errno(errno, "Failed to fork: %m");
|
||||
+ if (pid == 0) {
|
||||
+ reset_all_signal_handlers();
|
||||
+ reset_signal_mask();
|
||||
+ execv(args[0], (char **) args);
|
||||
+ _exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+ ret = wait_for_terminate_and_warn(args[0], pid, true);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ return ret == 0;
|
||||
+}
|
||||
+
|
||||
int main(int argc, char **argv) {
|
||||
const char *vc;
|
||||
_cleanup_free_ char
|
||||
*vc_keymap = NULL, *vc_keymap_toggle = NULL,
|
||||
*vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ _cleanup_free_ char
|
||||
+ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL,
|
||||
+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL;
|
||||
+#endif
|
||||
+ bool disable_capslock = false;
|
||||
+ bool comp_ok, rate_ok;
|
||||
_cleanup_close_ int fd = -1;
|
||||
bool utf8, font_copy = false, font_ok, keyboard_ok;
|
||||
int r = EXIT_FAILURE;
|
||||
@@ -286,6 +398,31 @@ int main(int argc, char **argv) {
|
||||
|
||||
utf8 = is_locale_utf8();
|
||||
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE,
|
||||
+ "KEYTABLE", &vc_keymap,
|
||||
+ "KBD_DELAY", &vc_kbd_delay,
|
||||
+ "KBD_RATE", &vc_kbd_rate,
|
||||
+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock,
|
||||
+ "COMPOSETABLE", &vc_compose_table,
|
||||
+ NULL);
|
||||
+ if (r < 0 && r != -ENOENT)
|
||||
+ log_warning("Failed to read /etc/sysconfig/keyboard: %s",
|
||||
+ strerror(-r));
|
||||
+
|
||||
+ r = parse_env_file("/etc/sysconfig/console", NEWLINE,
|
||||
+ "CONSOLE_FONT", &vc_font,
|
||||
+ "CONSOLE_SCREENMAP", &vc_font_map,
|
||||
+ "CONSOLE_UNICODEMAP", &vc_font_unimap,
|
||||
+ NULL);
|
||||
+ if (r < 0 && r != -ENOENT)
|
||||
+ log_warning("Failed to read /etc/sysconfig/console: %s",
|
||||
+ strerror(-r));
|
||||
+
|
||||
+ disable_capslock = vc_kbd_disable_caps_lock &&
|
||||
+ strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
|
||||
+#endif /* HAVE_SYSV_COMPAT */
|
||||
+
|
||||
r = parse_env_file("/etc/vconsole.conf", NEWLINE,
|
||||
"KEYMAP", &vc_keymap,
|
||||
"KEYMAP_TOGGLE", &vc_keymap_toggle,
|
||||
@@ -317,11 +454,17 @@ int main(int argc, char **argv) {
|
||||
(void) disable_utf8(fd);
|
||||
|
||||
font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0;
|
||||
- keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) > 0;
|
||||
+ keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle,
|
||||
+ utf8, disable_capslock) > 0;
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ comp_ok = compose_load_and_wait(vc, vc_compose_table);
|
||||
+ rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay);
|
||||
+#endif
|
||||
|
||||
/* Only copy the font when we executed setfont successfully */
|
||||
if (font_copy && font_ok)
|
||||
(void) font_copy_to_all_vcs(fd);
|
||||
|
||||
- return font_ok && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
+ return font_ok && keyboard_ok && comp_ok && rate_ok ?
|
||||
+ EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
@ -1,193 +0,0 @@
|
||||
Set NumLock according to /etc/sysconfig/keyboard.
|
||||
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=746595
|
||||
|
||||
Authors:
|
||||
Stanislav Brabec <sbrabec@suse.cz>
|
||||
Cristian Rodríguez <crrodriguez@opensuse.org>
|
||||
|
||||
---
|
||||
Makefile.am | 13 ++++++++++
|
||||
rules/73-seat-numlock.rules | 8 ++++++
|
||||
src/login/numlock-on.c | 34 ++++++++++++++++++++++++++
|
||||
src/vconsole/vconsole-setup.c | 41 ++++++++++++++++++++++++++++++--
|
||||
units/systemd-vconsole-setup.service.in | 2 -
|
||||
5 files changed, 95 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: systemd-228/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-228.orig/Makefile.am
|
||||
+++ systemd-228/Makefile.am
|
||||
@@ -3825,6 +3825,19 @@ dist_udevrules_DATA += \
|
||||
rules/60-persistent-v4l.rules
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
+numlock_on_SOURCES = \
|
||||
+ src/login/numlock-on.c
|
||||
+
|
||||
+numlock_on_CFLAGS = \
|
||||
+ $(AM_CFLAGS)
|
||||
+
|
||||
+udevlibexec_PROGRAMS += \
|
||||
+ numlock-on
|
||||
+
|
||||
+dist_udevrules_DATA += \
|
||||
+ rules/73-seat-numlock.rules
|
||||
+
|
||||
+# ------------------------------------------------------------------------------
|
||||
mtd_probe_SOURCES = \
|
||||
src/udev/mtd_probe/mtd_probe.c \
|
||||
src/udev/mtd_probe/mtd_probe.h \
|
||||
Index: systemd-228/rules/73-seat-numlock.rules
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-228/rules/73-seat-numlock.rules
|
||||
@@ -0,0 +1,8 @@
|
||||
+# This file is part of SUSE customization of systemd.
|
||||
+#
|
||||
+# systemd is free software; you can redistribute it and/or modify it
|
||||
+# under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+
|
||||
+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}"
|
||||
Index: systemd-228/src/login/numlock-on.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-228/src/login/numlock-on.c
|
||||
@@ -0,0 +1,34 @@
|
||||
+/*
|
||||
+ * numlock-on.c: Turn numlock-on
|
||||
+ *
|
||||
+ * This file may be freely copied under the terms of the GNU General
|
||||
+ * Public License (GPL), version 2, or at your option any later
|
||||
+ * version.
|
||||
+
|
||||
+ * Copyright (C) 2013 Stanislav Brabec, SUSE
|
||||
+ *
|
||||
+ * based on setleds.c, which is
|
||||
+ * Copyright (C) 1994-1999 Andries E. Brouwer
|
||||
+ */
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <linux/kd.h>
|
||||
+
|
||||
+int
|
||||
+main(int argc, char **argv) {
|
||||
+ char flags;
|
||||
+
|
||||
+ if (ioctl(0, KDGKBLED, &flags)) {
|
||||
+ perror("KDGKBLED");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
+ if (ioctl(0, KDSKBLED, flags | LED_NUM | (LED_NUM << 4))) {
|
||||
+ perror("KDSKBLED");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
+ exit(0);
|
||||
+}
|
||||
Index: systemd-228/src/vconsole/vconsole-setup.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/vconsole/vconsole-setup.c
|
||||
+++ systemd-228/src/vconsole/vconsole-setup.c
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "fileio.h"
|
||||
#include "macro.h"
|
||||
#include "strv.h"
|
||||
+#include "fs-util.h"
|
||||
#include "io-util.h"
|
||||
#include "locale-util.h"
|
||||
#include "log.h"
|
||||
@@ -46,6 +47,10 @@
|
||||
#include "util.h"
|
||||
#include "virt.h"
|
||||
|
||||
+#define BIOS_DATA_AREA 0x400
|
||||
+#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97
|
||||
+#define BDA_KSF4_NUMLOCK_MASK 0x02
|
||||
+
|
||||
static bool is_vconsole(int fd) {
|
||||
unsigned char data[1];
|
||||
|
||||
@@ -364,9 +369,10 @@ int main(int argc, char **argv) {
|
||||
#ifdef HAVE_SYSV_COMPAT
|
||||
_cleanup_free_ char
|
||||
*vc_kbd_delay = NULL, *vc_kbd_rate = NULL,
|
||||
- *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL;
|
||||
+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL,
|
||||
+ *vc_kbd_numlock = NULL;
|
||||
#endif
|
||||
- bool disable_capslock = false;
|
||||
+ bool disable_capslock = false, numlock = false;
|
||||
bool comp_ok, rate_ok;
|
||||
_cleanup_close_ int fd = -1;
|
||||
bool utf8, font_copy = false, font_ok, keyboard_ok;
|
||||
@@ -404,6 +410,7 @@ int main(int argc, char **argv) {
|
||||
"KBD_DELAY", &vc_kbd_delay,
|
||||
"KBD_RATE", &vc_kbd_rate,
|
||||
"KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock,
|
||||
+ "KBD_NUMLOCK", &vc_kbd_numlock,
|
||||
"COMPOSETABLE", &vc_compose_table,
|
||||
NULL);
|
||||
if (r < 0 && r != -ENOENT)
|
||||
@@ -421,6 +428,32 @@ int main(int argc, char **argv) {
|
||||
|
||||
disable_capslock = vc_kbd_disable_caps_lock &&
|
||||
strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
|
||||
+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes");
|
||||
+#if defined(__i386__) || defined(__x86_64__)
|
||||
+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) {
|
||||
+ int _cleanup_close_ fdmem;
|
||||
+ char c;
|
||||
+
|
||||
+ fdmem = open ("/dev/mem", O_RDONLY);
|
||||
+ if (fdmem < 0) {
|
||||
+ log_error("Failed to open /dev/mem: %m");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) {
|
||||
+ log_error("Failed to seek /dev/mem: %m");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ if (read(fdmem, &c, sizeof(char)) == -1) {
|
||||
+ log_error("Failed to read /dev/mem: %m");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ if (c & BDA_KSF4_NUMLOCK_MASK)
|
||||
+ numlock = true;
|
||||
+ }
|
||||
+#endif /* x86 */
|
||||
#endif /* HAVE_SYSV_COMPAT */
|
||||
|
||||
r = parse_env_file("/etc/vconsole.conf", NEWLINE,
|
||||
@@ -456,6 +489,10 @@ int main(int argc, char **argv) {
|
||||
font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0;
|
||||
keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle,
|
||||
utf8, disable_capslock) > 0;
|
||||
+ if (numlock)
|
||||
+ touch("/run/numlock-on");
|
||||
+ else
|
||||
+ unlink("/run/numlock-on");
|
||||
#ifdef HAVE_SYSV_COMPAT
|
||||
comp_ok = compose_load_and_wait(vc, vc_compose_table);
|
||||
rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay);
|
||||
Index: systemd-228/units/systemd-vconsole-setup.service.in
|
||||
===================================================================
|
||||
--- systemd-228.orig/units/systemd-vconsole-setup.service.in
|
||||
+++ systemd-228/units/systemd-vconsole-setup.service.in
|
||||
@@ -10,7 +10,7 @@ Description=Setup Virtual Console
|
||||
Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5)
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
-Before=sysinit.target shutdown.target
|
||||
+Before=sysinit.target shutdown.target systemd-udev-trigger.service
|
||||
ConditionPathExists=/dev/tty0
|
||||
|
||||
[Service]
|
@ -1,72 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Tue, 4 Dec 2012 16:51:32 +0000
|
||||
Subject: handle root_uses_lang value in /etc/sysconfig/language
|
||||
|
||||
handle ROOT_USES_LANG=ctype (boo#792182).
|
||||
---
|
||||
src/core/locale-setup.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 40 insertions(+)
|
||||
|
||||
Index: systemd-228/src/core/locale-setup.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/core/locale-setup.c
|
||||
+++ systemd-228/src/core/locale-setup.c
|
||||
@@ -30,11 +30,16 @@
|
||||
#include "strv.h"
|
||||
#include "util.h"
|
||||
#include "virt.h"
|
||||
+#include "alloc-util.h"
|
||||
|
||||
int locale_setup(char ***environment) {
|
||||
char **add;
|
||||
char *variables[_VARIABLE_LC_MAX] = {};
|
||||
int r = 0, i;
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ char _cleanup_free_ *rc_lang = NULL, *rc_lc_ctype = NULL;
|
||||
+ char _cleanup_free_ *root_uses_lang = NULL;
|
||||
+#endif
|
||||
|
||||
if (detect_container() <= 0) {
|
||||
r = parse_env_file("/proc/cmdline", WHITESPACE,
|
||||
@@ -81,6 +86,41 @@ int locale_setup(char ***environment) {
|
||||
if (r < 0 && r != -ENOENT)
|
||||
log_warning_errno(r, "Failed to read /etc/locale.conf: %m");
|
||||
}
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ r = parse_env_file("/etc/sysconfig/language", NEWLINE,
|
||||
+ "RC_LANG", &rc_lang,
|
||||
+ "RC_LC_CTYPE", &rc_lc_ctype,
|
||||
+ "ROOT_USES_LANG", &root_uses_lang,
|
||||
+ NULL);
|
||||
+
|
||||
+ if (r < 0 && r != -ENOENT)
|
||||
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
|
||||
+
|
||||
+ /*
|
||||
+ * Use the values of the interactive locale configuration in /etc/sysconfig/language
|
||||
+ * as fallback if /etc/locale.conf does not exist and no locale was specified on the
|
||||
+ * kernel's command line. The special case ROOT_USES_LANG=ctype allows to set LC_CTYPE
|
||||
+ * even if LANG for root is set to e.g. POSIX. But do this only if no LC_CTYPE has been
|
||||
+ * set in /etc/locale.conf and on the kernel's command line.
|
||||
+ */
|
||||
+ if (root_uses_lang) {
|
||||
+ if (strcaseeq(root_uses_lang, "yes") && !variables[VARIABLE_LANG]) {
|
||||
+ variables[VARIABLE_LANG] = rc_lang;
|
||||
+ rc_lang = NULL;
|
||||
+ }
|
||||
+ if (strcaseeq(root_uses_lang, "ctype") && !variables[VARIABLE_LC_CTYPE]) {
|
||||
+ if (variables[VARIABLE_LANG])
|
||||
+ variables[VARIABLE_LC_CTYPE] = strdup(variables[VARIABLE_LANG]);
|
||||
+ else if (rc_lc_ctype && *rc_lc_ctype) {
|
||||
+ variables[VARIABLE_LC_CTYPE] = rc_lc_ctype;
|
||||
+ rc_lc_ctype = NULL;
|
||||
+ } else if (rc_lang && *rc_lang) {
|
||||
+ variables[VARIABLE_LC_CTYPE] = rc_lang;
|
||||
+ rc_lang = NULL;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
add = NULL;
|
||||
for (i = 0; i < _VARIABLE_LC_MAX; i++) {
|
@ -1,13 +0,0 @@
|
||||
Index: systemd-222/src/core/hostname-setup.c
|
||||
===================================================================
|
||||
--- systemd-222.orig/src/core/hostname-setup.c
|
||||
+++ systemd-222/src/core/hostname-setup.c
|
||||
@@ -44,7 +44,7 @@ int hostname_setup(void) {
|
||||
else
|
||||
log_warning_errno(r, "Failed to read configured hostname: %m");
|
||||
|
||||
- hn = NULL;
|
||||
+ hn = strdup("nohostname.set.site");
|
||||
} else
|
||||
hn = b;
|
||||
/* strip any leftover of a domain name */
|
@ -1,399 +0,0 @@
|
||||
From a8cbe79c77836cc2466e3534157864abc98ef3ef Mon Sep 17 00:00:00 2001
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Fri, 28 Jun 2013 17:54:41 +0200
|
||||
Subject: [PATCH] insserv.conf generator
|
||||
|
||||
parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate
|
||||
systemd unit drop-in files to add dependencies
|
||||
---
|
||||
Makefile.am | 9
|
||||
src/insserv-generator/Makefile | 28 ++
|
||||
src/insserv-generator/insserv-generator.c | 319 ++++++++++++++++++++++++++++++
|
||||
3 files changed, 355 insertions(+), 1 deletion(-)
|
||||
create mode 100644 src/insserv-generator/Makefile
|
||||
create mode 100644 src/insserv-generator/insserv-generator.c
|
||||
|
||||
Index: systemd-228/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-228.orig/Makefile.am
|
||||
+++ systemd-228/Makefile.am
|
||||
@@ -626,7 +626,8 @@ nodist_systemunit_DATA += \
|
||||
|
||||
systemgenerator_PROGRAMS += \
|
||||
systemd-sysv-generator \
|
||||
- systemd-rc-local-generator
|
||||
+ systemd-rc-local-generator \
|
||||
+ systemd-insserv-generator
|
||||
endif
|
||||
|
||||
EXTRA_DIST += \
|
||||
@@ -2682,6 +2683,12 @@ $(systemd_boot): $(systemd_boot_solib)
|
||||
endif
|
||||
endif
|
||||
|
||||
+#-------------------------------------------------------------------------------
|
||||
+systemd_insserv_generator_SOURCES = \
|
||||
+ src/insserv-generator/insserv-generator.c
|
||||
+
|
||||
+systemd_insserv_generator_LDADD = libbasic.la
|
||||
+
|
||||
# ------------------------------------------------------------------------------
|
||||
stub_headers = \
|
||||
src/boot/efi/util.h \
|
||||
Index: systemd-228/src/insserv-generator/Makefile
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-228/src/insserv-generator/Makefile
|
||||
@@ -0,0 +1,28 @@
|
||||
+# This file is part of systemd.
|
||||
+#
|
||||
+# Copyright 2010 Lennart Poettering
|
||||
+#
|
||||
+# systemd is free software; you can redistribute it and/or modify it
|
||||
+# under the terms of the GNU Lesser General Public License as published by
|
||||
+# the Free Software Foundation; either version 2.1 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# systemd is distributed in the hope that it will be useful, but
|
||||
+# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+# Lesser General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU Lesser General Public License
|
||||
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+# This file is a dirty trick to simplify compilation from within
|
||||
+# emacs. This file is not intended to be distributed. So, don't touch
|
||||
+# it, even better ignore it!
|
||||
+
|
||||
+all:
|
||||
+ $(MAKE) -C ..
|
||||
+
|
||||
+clean:
|
||||
+ $(MAKE) -C .. clean
|
||||
+
|
||||
+.PHONY: all clean
|
||||
Index: systemd-228/src/insserv-generator/insserv-generator.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-228/src/insserv-generator/insserv-generator.c
|
||||
@@ -0,0 +1,319 @@
|
||||
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
|
||||
+
|
||||
+/***
|
||||
+ This file is part of systemd.
|
||||
+
|
||||
+ Copyright 2012 Lennart Poettering
|
||||
+
|
||||
+ systemd is free software; you can redistribute it and/or modify it
|
||||
+ under the terms of the GNU Lesser General Public License as published by
|
||||
+ the Free Software Foundation; either version 2.1 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ systemd is distributed in the hope that it will be useful, but
|
||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public License
|
||||
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
+ ***/
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <errno.h>
|
||||
+#include <string.h>
|
||||
+#include <sys/stat.h>
|
||||
+
|
||||
+#include "mkdir.h"
|
||||
+#include "log.h"
|
||||
+#include "fileio.h"
|
||||
+#include "unit-name.h"
|
||||
+#include "special.h"
|
||||
+#include "path-util.h"
|
||||
+#include "util.h"
|
||||
+#include "strv.h"
|
||||
+#include "alloc-util.h"
|
||||
+#include "string-util.h"
|
||||
+#include "fd-util.h"
|
||||
+
|
||||
+static const char *arg_dest = "/tmp";
|
||||
+
|
||||
+static char *sysv_translate_name(const char *name) {
|
||||
+ char *r;
|
||||
+
|
||||
+ r = new(char, strlen(name) + sizeof(".service"));
|
||||
+ if (!r)
|
||||
+ return NULL;
|
||||
+
|
||||
+ if (endswith(name, ".sh"))
|
||||
+ /* Drop .sh suffix */
|
||||
+ strcpy(stpcpy(r, name) - 3, ".service");
|
||||
+ if (startswith(name, "boot."))
|
||||
+ /* Drop SuSE-style boot. prefix */
|
||||
+ strcpy(stpcpy(r, name + 5), ".service");
|
||||
+ else
|
||||
+ /* Normal init script name */
|
||||
+ strcpy(stpcpy(r, name), ".service");
|
||||
+
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+static int sysv_translate_facility(const char *name, const char *filename, char **_r) {
|
||||
+
|
||||
+ /* We silently ignore the $ prefix here. According to the LSB
|
||||
+ * spec it simply indicates whether something is a
|
||||
+ * standardized name or a distribution-specific one. Since we
|
||||
+ * just follow what already exists and do not introduce new
|
||||
+ * uses or names we don't care who introduced a new name. */
|
||||
+
|
||||
+ static const char * const table[] = {
|
||||
+ /* LSB defined facilities */
|
||||
+ "local_fs", NULL,
|
||||
+ "network", SPECIAL_NETWORK_ONLINE_TARGET,
|
||||
+ "named", SPECIAL_NSS_LOOKUP_TARGET,
|
||||
+ "portmap", SPECIAL_RPCBIND_TARGET,
|
||||
+ "remote_fs", SPECIAL_REMOTE_FS_TARGET,
|
||||
+ "syslog", NULL,
|
||||
+ "time", SPECIAL_TIME_SYNC_TARGET,
|
||||
+ };
|
||||
+
|
||||
+ unsigned i;
|
||||
+ char *r;
|
||||
+ const char *n;
|
||||
+ int ret;
|
||||
+
|
||||
+ assert(name);
|
||||
+ assert(_r);
|
||||
+
|
||||
+ n = *name == '$' ? name + 1 : name;
|
||||
+
|
||||
+ for (i = 0; i < ELEMENTSOF(table); i += 2) {
|
||||
+
|
||||
+ if (!streq(table[i], n))
|
||||
+ continue;
|
||||
+
|
||||
+ if (!table[i+1])
|
||||
+ return 0;
|
||||
+
|
||||
+ r = strdup(table[i+1]);
|
||||
+ if (!r)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ goto finish;
|
||||
+ }
|
||||
+
|
||||
+ /* If we don't know this name, fallback heuristics to figure
|
||||
+ * out whether something is a target or a service alias. */
|
||||
+
|
||||
+ if (*name == '$') {
|
||||
+ if (!unit_prefix_is_valid(n))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ /* Facilities starting with $ are most likely targets */
|
||||
+ ret = unit_name_build(n, NULL, ".target", &r);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ } else if (filename && streq(name, filename))
|
||||
+ /* Names equaling the file name of the services are redundant */
|
||||
+ return 0;
|
||||
+ else
|
||||
+ /* Everything else we assume to be normal service names */
|
||||
+ r = sysv_translate_name(n);
|
||||
+
|
||||
+ if (!r)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+finish:
|
||||
+ *_r = r;
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static int parse_insserv_conf(const char* filename) {
|
||||
+ _cleanup_fclose_ FILE *f = NULL;
|
||||
+ int r;
|
||||
+
|
||||
+ if (!(f = fopen(filename, "re"))) {
|
||||
+ log_debug("Failed to open file %s", filename);
|
||||
+ r = errno == ENOENT ? 0 : -errno;
|
||||
+ return r;
|
||||
+ }
|
||||
+
|
||||
+ while (!feof(f)) {
|
||||
+ char l[LINE_MAX], *t;
|
||||
+ _cleanup_strv_free_ char **parsed = NULL;
|
||||
+
|
||||
+ if (!fgets(l, sizeof(l), f)) {
|
||||
+ if (feof(f))
|
||||
+ break;
|
||||
+
|
||||
+ r = -errno;
|
||||
+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r));
|
||||
+ return -r;
|
||||
+ }
|
||||
+
|
||||
+ t = strstrip(l);
|
||||
+ if (*t != '$' && *t != '<')
|
||||
+ continue;
|
||||
+
|
||||
+ parsed = strv_split(t,WHITESPACE);
|
||||
+ /* we ignore <interactive>, not used, equivalent to X-Interactive */
|
||||
+ if (parsed && !startswith_no_case (parsed[0], "<interactive>")) {
|
||||
+ _cleanup_free_ char *facility = NULL;
|
||||
+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0 || !facility)
|
||||
+ continue;
|
||||
+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) {
|
||||
+ _cleanup_free_ char *unit = NULL;
|
||||
+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */
|
||||
+ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",basename(filename),".conf", NULL);
|
||||
+ if (!unit)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ mkdir_parents_label(unit, 0755);
|
||||
+
|
||||
+ r = write_string_file(unit,
|
||||
+ "# Automatically generated by systemd-insserv-generator\n\n"
|
||||
+ "[Unit]\n"
|
||||
+ "Wants=remote-fs-pre.target\n",
|
||||
+ WRITE_STRING_FILE_CREATE);
|
||||
+ if (r)
|
||||
+ return r;
|
||||
+ free (facility);
|
||||
+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET);
|
||||
+ }
|
||||
+ if (facility && endswith(facility, ".target")) {
|
||||
+ char *name, **j;
|
||||
+ FILE *file = NULL;
|
||||
+
|
||||
+ STRV_FOREACH (j, parsed+1) {
|
||||
+ _cleanup_free_ char *unit = NULL;
|
||||
+ _cleanup_free_ char *dep = NULL;
|
||||
+
|
||||
+ if (*j[0] == '+')
|
||||
+ name = *j+1;
|
||||
+ else
|
||||
+ name = *j;
|
||||
+ if (streq(name, "boot.localfs") ||
|
||||
+ streq(name, "boot.crypto"))
|
||||
+ continue;
|
||||
+ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep)
|
||||
+ continue;
|
||||
+
|
||||
+ unit = strjoin(arg_dest, "/", dep, ".d/50-",basename(filename),"-",parsed[0],".conf", NULL);
|
||||
+ if (!unit)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ mkdir_parents_label(unit, 0755);
|
||||
+
|
||||
+ file = fopen(unit, "wxe");
|
||||
+ if (!file) {
|
||||
+ if (errno == EEXIST)
|
||||
+ log_error("Failed to create drop-in file %s", unit);
|
||||
+ else
|
||||
+ log_error("Failed to create drop-in file %s: %m", unit);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+
|
||||
+ fprintf(file,
|
||||
+ "# Automatically generated by systemd-insserv-generator\n\n"
|
||||
+ "[Unit]\n"
|
||||
+ "Wants=%s\n"
|
||||
+ "Before=%s\n",
|
||||
+ facility, facility);
|
||||
+
|
||||
+ fflush(file);
|
||||
+ if (ferror(file)) {
|
||||
+ log_error("Failed to write unit file %s: %m", unit);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+ fclose(file);
|
||||
+
|
||||
+ if (*j[0] != '+') {
|
||||
+ free (unit);
|
||||
+ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",basename(filename),"-",parsed[0],".conf", NULL);
|
||||
+ if (!unit)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ mkdir_parents_label(unit, 0755);
|
||||
+
|
||||
+ file = fopen(unit, "wxe");
|
||||
+ if (!file) {
|
||||
+ if (errno == EEXIST)
|
||||
+ log_error("Failed to create drop-in file %s, as it already exists", unit);
|
||||
+ else
|
||||
+ log_error("Failed to create drop-in file %s: %m", unit);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ fprintf(file,
|
||||
+ "# Automatically generated by systemd-insserv-generator\n\n"
|
||||
+ "[Unit]\n"
|
||||
+ "SourcePath=%s\n"
|
||||
+ "Requires=%s\n",
|
||||
+ filename, dep);
|
||||
+ fflush(file);
|
||||
+ if (ferror(file)) {
|
||||
+ log_error("Failed to write unit file %s: %m", unit);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+ fclose(file);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+static int parse_insserv(void) {
|
||||
+ DIR *d = NULL;
|
||||
+ struct dirent *de;
|
||||
+ int r = 0;
|
||||
+
|
||||
+ if (!(d = opendir("/etc/insserv.conf.d/"))) {
|
||||
+ if (errno != ENOENT) {
|
||||
+ log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno));
|
||||
+ }
|
||||
+ } else {
|
||||
+
|
||||
+ while ((de = readdir(d))) {
|
||||
+ char *path = NULL;
|
||||
+ if (hidden_file(de->d_name))
|
||||
+ continue;
|
||||
+
|
||||
+ path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL);
|
||||
+ parse_insserv_conf(path);
|
||||
+ free(path);
|
||||
+ }
|
||||
+ closedir (d);
|
||||
+ }
|
||||
+
|
||||
+ r = parse_insserv_conf("/etc/insserv.conf");
|
||||
+
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+int main(int argc, char *argv[]) {
|
||||
+ int r = 0;
|
||||
+
|
||||
+ if (argc > 1 && argc != 4) {
|
||||
+ log_error("This program takes three or no arguments.");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ if (argc > 1)
|
||||
+ arg_dest = argv[1];
|
||||
+
|
||||
+ log_set_target(LOG_TARGET_SAFE);
|
||||
+ log_parse_environment();
|
||||
+ log_open();
|
||||
+
|
||||
+ umask(0022);
|
||||
+
|
||||
+ r = parse_insserv();
|
||||
+
|
||||
+ return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||
+}
|
@ -1,138 +0,0 @@
|
||||
From: werner@suse.de
|
||||
Upstream: marked as openSUSE-specific fix originally, but may well
|
||||
worth be to be sent upstream.
|
||||
|
||||
Original description:
|
||||
(none)
|
||||
|
||||
Notes [jengelh@inai.de]:
|
||||
MAP_NONBLOCK is documented (mmap(2) in man-pages-3.69+) to render
|
||||
MAP_POPULATE ineffective. Why do we have it?
|
||||
What is the rationale for MAP_STACK?
|
||||
---
|
||||
src/journal/catalog.c | 12 +++++++++++-
|
||||
src/journal/journal-authenticate.c | 7 +++++--
|
||||
src/journal/journald-kmsg.c | 3 ++-
|
||||
src/journal/mmap-cache.c | 16 +++++++++++++++-
|
||||
4 files changed, 33 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: systemd-221/src/journal/catalog.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/journal/catalog.c
|
||||
+++ systemd-221/src/journal/catalog.c
|
||||
@@ -469,6 +469,10 @@ finish:
|
||||
|
||||
static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) {
|
||||
const CatalogHeader *h;
|
||||
+ static const unsigned int advice[] =
|
||||
+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK};
|
||||
+ unsigned int n;
|
||||
+ size_t psize;
|
||||
int fd;
|
||||
void *p;
|
||||
struct stat st;
|
||||
@@ -491,12 +495,18 @@ static int open_mmap(const char *databas
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0);
|
||||
+ psize = PAGE_ALIGN(st.st_size);
|
||||
+ p = mmap(NULL, psize, PROT_READ, MAP_SHARED | MAP_POPULATE |
|
||||
+ MAP_NONBLOCK, fd, 0);
|
||||
if (p == MAP_FAILED) {
|
||||
safe_close(fd);
|
||||
return -errno;
|
||||
}
|
||||
|
||||
+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n)
|
||||
+ if (madvise(p, psize, advice[n]) < 0)
|
||||
+ log_warning("Failed to give advice about use of memory: %m");
|
||||
+
|
||||
h = p;
|
||||
if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 ||
|
||||
le64toh(h->header_size) < sizeof(CatalogHeader) ||
|
||||
Index: systemd-221/src/journal/journal-authenticate.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/journal/journal-authenticate.c
|
||||
+++ systemd-221/src/journal/journal-authenticate.c
|
||||
@@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f
|
||||
goto finish;
|
||||
}
|
||||
|
||||
- m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ, MAP_SHARED, fd, 0);
|
||||
+ m = mmap(NULL, PAGE_ALIGN(sizeof(FSSHeader)), PROT_READ,
|
||||
+ MAP_SHARED | MAP_STACK, fd, 0);
|
||||
if (m == MAP_FAILED) {
|
||||
m = NULL;
|
||||
r = -errno;
|
||||
@@ -399,7 +400,9 @@ int journal_file_fss_load(JournalFile *f
|
||||
goto finish;
|
||||
}
|
||||
|
||||
- f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
|
||||
+ f->fss_file = mmap(NULL, PAGE_ALIGN(f->fss_file_size),
|
||||
+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_STACK,
|
||||
+ fd, 0);
|
||||
if (f->fss_file == MAP_FAILED) {
|
||||
f->fss_file = NULL;
|
||||
r = -errno;
|
||||
Index: systemd-221/src/journal/journald-kmsg.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/journal/journald-kmsg.c
|
||||
+++ systemd-221/src/journal/journald-kmsg.c
|
||||
@@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- p = mmap(NULL, sizeof(uint64_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
|
||||
+ p = mmap(NULL, sizeof(uint64_t), PROT_READ | PROT_WRITE,
|
||||
+ MAP_SHARED | MAP_STACK, fd, 0);
|
||||
if (p == MAP_FAILED) {
|
||||
log_error_errno(errno, "Failed to map sequential number file, ignoring: %m");
|
||||
return 0;
|
||||
Index: systemd-221/src/journal/mmap-cache.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/journal/mmap-cache.c
|
||||
+++ systemd-221/src/journal/mmap-cache.c
|
||||
@@ -466,11 +466,14 @@ static int add_mmap(
|
||||
struct stat *st,
|
||||
void **ret) {
|
||||
|
||||
+ static const unsigned int advice[] =
|
||||
+ {MADV_WILLNEED, MADV_SEQUENTIAL, MADV_DONTDUMP, MADV_DONTFORK};
|
||||
uint64_t woffset, wsize;
|
||||
Context *c;
|
||||
FileDescriptor *f;
|
||||
Window *w;
|
||||
void *d;
|
||||
+ unsigned int n;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
@@ -509,7 +512,8 @@ static int add_mmap(
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
- d = mmap(NULL, wsize, prot, MAP_SHARED, fd, woffset);
|
||||
+ d = mmap(NULL, wsize, prot, MAP_SHARED | MAP_POPULATE |
|
||||
+ MAP_NONBLOCK, fd, woffset);
|
||||
if (d != MAP_FAILED)
|
||||
break;
|
||||
if (errno != ENOMEM)
|
||||
@@ -522,6 +526,16 @@ static int add_mmap(
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
+ for (n = 0; n < sizeof(advice) / sizeof(*advice); ++n) {
|
||||
+ if (advice[n] == MADV_DONTFORK) {
|
||||
+ int flags = fcntl(fd, F_GETFD);
|
||||
+ if (flags < 0 || !(flags & FD_CLOEXEC))
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (madvise(d, wsize, advice[n]) < 0)
|
||||
+ log_warning("Failed to give advice about use of memory: %m");
|
||||
+ }
|
||||
+
|
||||
c = context_add(m, context);
|
||||
if (!c)
|
||||
goto outofmem;
|
7
kbd-model-map.legacy
Normal file
7
kbd-model-map.legacy
Normal file
@ -0,0 +1,7 @@
|
||||
# Additional layouts offered by YaST arabic and ir (Iran) have never had a
|
||||
# console layout, they are symlinks to 'us', but they are needed as YaST uses
|
||||
# the console layout as a primary key for picking the X11 layout
|
||||
|
||||
arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle
|
||||
ara ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle
|
||||
ir ir pc105 - terminate:ctrl_alt_bksp
|
@ -1,28 +0,0 @@
|
||||
From: werner@suse.de
|
||||
Date: Tue Jan 20 11:33:59 UTC 2015
|
||||
|
||||
---
|
||||
src/locale/kbd-model-map | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
Index: systemd-221/src/locale/kbd-model-map
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/locale/kbd-model-map
|
||||
+++ systemd-221/src/locale/kbd-model-map
|
||||
@@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a
|
||||
lt.l4 lt pc105 - terminate:ctrl_alt_bksp
|
||||
lt lt pc105 - terminate:ctrl_alt_bksp
|
||||
khmer kh,us pc105 - terminate:ctrl_alt_bksp
|
||||
+# Additional layouts offered by YaST
|
||||
+Pl02 pl pc105 - terminate:ctrl_alt_bksp
|
||||
+arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle
|
||||
+cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp
|
||||
+cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle
|
||||
+es-cp850 es pc105 - terminate:ctrl_alt_bksp
|
||||
+khmer us,kh pc105 - terminate:ctrl_alt_bksp,grp:alt_shift_toggle
|
||||
+korean kr pc105 - terminate:ctrl_alt_bksp
|
||||
+lt.baltic lt pc105 - terminate:ctrl_alt_bksp
|
||||
+lt.std lt pc105 std terminate:ctrl_alt_bksp
|
||||
+no-latin1 no pc105 - terminate:ctrl_alt_bksp
|
||||
+ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll
|
||||
+sk-qwertz sk,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle
|
@ -1,19 +0,0 @@
|
||||
---
|
||||
configure.ac | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
Index: systemd-224/configure.ac
|
||||
===================================================================
|
||||
--- systemd-224.orig/configure.ac
|
||||
+++ systemd-224/configure.ac
|
||||
@@ -199,10 +199,6 @@ AS_CASE([$CC], [*clang*],
|
||||
-Wno-gnu-variable-sized-type-not-at-end \
|
||||
])])
|
||||
|
||||
-AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
|
||||
- [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
|
||||
- -flto])],
|
||||
- [AC_MSG_RESULT([skipping -flto, optimization not enabled])])
|
||||
AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags")
|
||||
|
||||
AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
|
@ -1,84 +0,0 @@
|
||||
From: Werner Fink <werner@suse.de>
|
||||
Date: Wed Sep 23 12:37:23 UTC 2015
|
||||
Subject: Do not bother vistual console to much with GIO/PIO
|
||||
|
||||
This avoids broken virtual console mapping due stressed ioctl API
|
||||
for the virtual consoles (boo#904214)
|
||||
|
||||
---
|
||||
src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++--------------
|
||||
1 file changed, 25 insertions(+), 14 deletions(-)
|
||||
|
||||
--- src/vconsole/vconsole-setup.c
|
||||
+++ src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000
|
||||
@@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd)
|
||||
unsigned short map16[E_TABSZ];
|
||||
struct unimapdesc unimapd;
|
||||
struct unipair unipairs[USHRT_MAX];
|
||||
+ struct console_font_op cfo = {};
|
||||
int i, r;
|
||||
|
||||
+ bool hasmap8;
|
||||
+ bool hasmap16;
|
||||
+ bool hasunimap;
|
||||
+
|
||||
/* get active, and 16 bit mask of used VT numbers */
|
||||
r = ioctl(fd, VT_GETSTATE, &vcs);
|
||||
if (r < 0) {
|
||||
@@ -211,10 +216,22 @@ static void font_copy_to_all_vcs(int fd)
|
||||
return;
|
||||
}
|
||||
|
||||
+ /* copy font from active VT, where the font was uploaded to */
|
||||
+ cfo.op = KD_FONT_OP_COPY;
|
||||
+ cfo.height = vcs.v_active-1; /* tty1 == index 0 */
|
||||
+
|
||||
+ hasmap8 = (ioctl(fd, GIO_SCRNMAP, map8) >= 0);
|
||||
+ hasmap16 = (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0);
|
||||
+
|
||||
+ /* unimapd is a ushort count and a pointer to an
|
||||
+ * array of struct unipair { ushort, ushort } */
|
||||
+ unimapd.entries = unipairs;
|
||||
+ unimapd.entry_ct = USHRT_MAX;
|
||||
+ hasunimap = (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0);
|
||||
+
|
||||
for (i = 1; i <= 15; i++) {
|
||||
char vcname[strlen("/dev/vcs") + DECIMAL_STR_MAX(int)];
|
||||
_cleanup_close_ int vcfd = -1;
|
||||
- struct console_font_op cfo = {};
|
||||
|
||||
if (i == vcs.v_active)
|
||||
continue;
|
||||
@@ -229,25 +246,19 @@ static void font_copy_to_all_vcs(int fd)
|
||||
if (vcfd < 0)
|
||||
continue;
|
||||
|
||||
- /* copy font from active VT, where the font was uploaded to */
|
||||
- cfo.op = KD_FONT_OP_COPY;
|
||||
- cfo.height = vcs.v_active-1; /* tty1 == index 0 */
|
||||
+ /* copy font from active VT to vcs */
|
||||
(void) ioctl(vcfd, KDFONTOP, &cfo);
|
||||
|
||||
- /* copy map of 8bit chars */
|
||||
- if (ioctl(fd, GIO_SCRNMAP, map8) >= 0)
|
||||
+ /* copy map of 8bit chars to vcs */
|
||||
+ if (hasmap8)
|
||||
(void) ioctl(vcfd, PIO_SCRNMAP, map8);
|
||||
|
||||
- /* copy map of 8bit chars -> 16bit Unicode values */
|
||||
- if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0)
|
||||
+ /* copy map of 8bit chars -> 16bit Unicode values to vcs */
|
||||
+ if (hasmap16)
|
||||
(void) ioctl(vcfd, PIO_UNISCRNMAP, map16);
|
||||
|
||||
- /* copy unicode translation table */
|
||||
- /* unimapd is a ushort count and a pointer to an
|
||||
- array of struct unipair { ushort, ushort } */
|
||||
- unimapd.entries = unipairs;
|
||||
- unimapd.entry_ct = USHRT_MAX;
|
||||
- if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) {
|
||||
+ /* copy unicode translation table to vcs */
|
||||
+ if (hasunimap) {
|
||||
struct unimapinit adv = { 0, 0, 0 };
|
||||
|
||||
(void) ioctl(vcfd, PIO_UNIMAPCLR, &adv);
|
123
libgcrypt.m4
123
libgcrypt.m4
@ -1,123 +0,0 @@
|
||||
dnl Autoconf macros for libgcrypt
|
||||
dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc.
|
||||
dnl
|
||||
dnl This file is free software; as a special exception the author gives
|
||||
dnl unlimited permission to copy and/or distribute it, with or without
|
||||
dnl modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file is distributed in the hope that it will be useful, but
|
||||
dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,
|
||||
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
|
||||
dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS.
|
||||
dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
|
||||
dnl with the API version to also check the API compatibility. Example:
|
||||
dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed
|
||||
dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using
|
||||
dnl this features allows to prevent build against newer versions of libgcrypt
|
||||
dnl with a changed API.
|
||||
dnl
|
||||
AC_DEFUN([AM_PATH_LIBGCRYPT],
|
||||
[ AC_ARG_WITH(libgcrypt-prefix,
|
||||
AC_HELP_STRING([--with-libgcrypt-prefix=PFX],
|
||||
[prefix where LIBGCRYPT is installed (optional)]),
|
||||
libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
|
||||
if test x$libgcrypt_config_prefix != x ; then
|
||||
if test x${LIBGCRYPT_CONFIG+set} != xset ; then
|
||||
LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
|
||||
tmp=ifelse([$1], ,1:1.2.0,$1)
|
||||
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
|
||||
req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
|
||||
min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
|
||||
else
|
||||
req_libgcrypt_api=0
|
||||
min_libgcrypt_version="$tmp"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)
|
||||
ok=no
|
||||
if test "$LIBGCRYPT_CONFIG" != "no" ; then
|
||||
req_major=`echo $min_libgcrypt_version | \
|
||||
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
|
||||
req_minor=`echo $min_libgcrypt_version | \
|
||||
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
|
||||
req_micro=`echo $min_libgcrypt_version | \
|
||||
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
|
||||
libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
|
||||
major=`echo $libgcrypt_config_version | \
|
||||
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
|
||||
minor=`echo $libgcrypt_config_version | \
|
||||
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
|
||||
micro=`echo $libgcrypt_config_version | \
|
||||
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
|
||||
if test "$major" -gt "$req_major"; then
|
||||
ok=yes
|
||||
else
|
||||
if test "$major" -eq "$req_major"; then
|
||||
if test "$minor" -gt "$req_minor"; then
|
||||
ok=yes
|
||||
else
|
||||
if test "$minor" -eq "$req_minor"; then
|
||||
if test "$micro" -ge "$req_micro"; then
|
||||
ok=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if test $ok = yes; then
|
||||
AC_MSG_RESULT([yes ($libgcrypt_config_version)])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
if test $ok = yes; then
|
||||
# If we have a recent libgcrypt, we should also check that the
|
||||
# API is compatible
|
||||
if test "$req_libgcrypt_api" -gt 0 ; then
|
||||
tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
|
||||
if test "$tmp" -gt 0 ; then
|
||||
AC_MSG_CHECKING([LIBGCRYPT API version])
|
||||
if test "$req_libgcrypt_api" -eq "$tmp" ; then
|
||||
AC_MSG_RESULT([okay])
|
||||
else
|
||||
ok=no
|
||||
AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if test $ok = yes; then
|
||||
LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
|
||||
LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
|
||||
ifelse([$2], , :, [$2])
|
||||
if test x"$host" != x ; then
|
||||
libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
|
||||
if test x"$libgcrypt_config_host" != xnone ; then
|
||||
if test x"$libgcrypt_config_host" != x"$host" ; then
|
||||
AC_MSG_WARN([[
|
||||
***
|
||||
*** The config script $LIBGCRYPT_CONFIG was
|
||||
*** built for $libgcrypt_config_host and thus may not match the
|
||||
*** used host $host.
|
||||
*** You may want to use the configure option --with-libgcrypt-prefix
|
||||
*** to specify a matching config script.
|
||||
***]])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
LIBGCRYPT_CFLAGS=""
|
||||
LIBGCRYPT_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(LIBGCRYPT_CFLAGS)
|
||||
AC_SUBST(LIBGCRYPT_LIBS)
|
||||
])
|
@ -1,105 +0,0 @@
|
||||
# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */
|
||||
#
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Copyright 2012 Lennart Poettering
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# systemd is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# RPM macros for packages installing systemd unit files
|
||||
|
||||
%_unitdir @systemunitdir@
|
||||
%_userunitdir @userunitdir@
|
||||
%_presetdir @systempresetdir@
|
||||
%_udevhwdbdir @udevhwdbdir@
|
||||
%_udevrulesdir @udevrulesdir@
|
||||
%_journalcatalogdir @catalogdir@
|
||||
%_tmpfilesdir @tmpfilesdir@
|
||||
%_sysusersdir @sysusersdir@
|
||||
%_sysctldir @sysctldir@
|
||||
%_binfmtdir @binfmtdir@
|
||||
|
||||
%systemd_requires \
|
||||
Requires(post): systemd \
|
||||
Requires(preun): systemd \
|
||||
Requires(postun): systemd \
|
||||
%{nil}
|
||||
|
||||
%systemd_post() \
|
||||
if [ $1 -eq 1 ] ; then \
|
||||
# Initial installation \
|
||||
systemctl --no-reload preset %{?*} >/dev/null 2>&1 || : \
|
||||
fi \
|
||||
%{nil}
|
||||
|
||||
%systemd_user_post() %systemd_post --user --global %{?*}
|
||||
|
||||
%systemd_preun() \
|
||||
if [ $1 -eq 0 ] ; then \
|
||||
# Package removal, not upgrade \
|
||||
systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : \
|
||||
fi \
|
||||
%{nil}
|
||||
|
||||
%systemd_user_preun() \
|
||||
if [ $1 -eq 0 ] ; then \
|
||||
# Package removal, not upgrade \
|
||||
systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \
|
||||
fi \
|
||||
%{nil}
|
||||
|
||||
%systemd_postun() %{nil}
|
||||
|
||||
%systemd_user_postun() %{nil}
|
||||
|
||||
%systemd_postun_with_restart() \
|
||||
if [ $1 -ge 1 ] ; then \
|
||||
# Package upgrade, not uninstall \
|
||||
systemctl try-restart %{?*} >/dev/null 2>&1 || : \
|
||||
fi \
|
||||
%{nil}
|
||||
|
||||
%systemd_user_postun_with_restart() %{nil}
|
||||
|
||||
%udev_hwdb_update() \
|
||||
udevadm hwdb --update >/dev/null 2>&1 || : \
|
||||
%{nil}
|
||||
|
||||
%udev_rules_update() \
|
||||
udevadm control --reload >/dev/null 2>&1 || : \
|
||||
%{nil}
|
||||
|
||||
%journal_catalog_update() \
|
||||
journalctl --update-catalog >/dev/null 2>&1 || : \
|
||||
%{nil}
|
||||
|
||||
%tmpfiles_create() \
|
||||
systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \
|
||||
%{nil}
|
||||
|
||||
%sysusers_create() \
|
||||
systemd-sysusers %{?*} >/dev/null 2>&1 || : \
|
||||
%{nil}
|
||||
|
||||
%sysusers_create_inline() \
|
||||
echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \
|
||||
%{nil}
|
||||
|
||||
%sysctl_apply() \
|
||||
@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \
|
||||
%{nil}
|
||||
|
||||
%binfmt_apply() \
|
||||
@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \
|
||||
%{nil}
|
@ -1,25 +0,0 @@
|
||||
If after emergency service had been started there is incoming
|
||||
traffic on syslog.socket emergency.service gets killed due to
|
||||
implicit dependencies on basic.target => sysinit.target which in
|
||||
turn conflict with emergency.target.
|
||||
|
||||
As a workaround explicitly stop syslog.socket when entering
|
||||
emergency.service.
|
||||
|
||||
Reference: bnc#852232
|
||||
---
|
||||
units/emergency.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: systemd-221/units/emergency.service.in
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/emergency.service.in
|
||||
+++ systemd-221/units/emergency.service.in
|
||||
@@ -11,6 +11,7 @@ Documentation=man:sulogin(8)
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
Conflicts=rescue.service
|
||||
+Conflicts=syslog.socket
|
||||
Before=shutdown.target
|
||||
|
||||
[Service]
|
@ -1,31 +0,0 @@
|
||||
#!/bin/bash
|
||||
# sed calls copied from fedora package
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
--help)
|
||||
echo "$0 [--enable|--disable]"
|
||||
exit 0
|
||||
;;
|
||||
--enable)
|
||||
sed -i.bak -e '
|
||||
/^hosts:/ !b
|
||||
/\<myhostname\>/ b
|
||||
s/[[:blank:]]*$/ myhostname/
|
||||
' /etc/nsswitch.conf
|
||||
;;
|
||||
--disable)
|
||||
sed -i.bak -e '
|
||||
/^hosts:/ !b
|
||||
s/[[:blank:]]\+myhostname\>//
|
||||
' /etc/nsswitch.conf
|
||||
;;
|
||||
"")
|
||||
if grep -q "^hosts:.*\<myhostname\>" /etc/nsswitch.conf; then
|
||||
echo "enabled"
|
||||
else
|
||||
echo "disabled"
|
||||
fi
|
||||
;;
|
||||
*) echo "invalid argument $1"; exit 1 ;;
|
||||
esac
|
8
pam.systemd-run0
Normal file
8
pam.systemd-run0
Normal file
@ -0,0 +1,8 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Used by run0 session.
|
||||
|
||||
account include common-account
|
||||
session optional pam_keyinit.so force revoke
|
||||
session include common-session
|
25
pam.systemd-user
Normal file
25
pam.systemd-user
Normal file
@ -0,0 +1,25 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Used by systemd --user instances.
|
||||
|
||||
# Override the default behavior of the "auth" PAM stack and don't throw a
|
||||
# warning each time a user instance is started, which is the default behavior of
|
||||
# the PAM stack when no auth is defined. Indeed PID1 calls pam_setcred() when
|
||||
# the user instance is about to be started to allow some user services, such as
|
||||
# gnome-terminal, to extend theirs credentials similar to the ones received by a
|
||||
# user when he logs in (and the full PAM authentication stack is run). For some
|
||||
# details, see:
|
||||
#
|
||||
# https://gitlab.gnome.org/GNOME/gdm/-/issues/393
|
||||
# https://github.com/systemd/systemd/issues/11198
|
||||
# https://bugzilla.suse.com/show_bug.cgi?id=1190515
|
||||
#
|
||||
auth required pam_deny.so
|
||||
|
||||
account include common-account
|
||||
|
||||
session required pam_selinux.so close
|
||||
session required pam_selinux.so nottys open
|
||||
session required pam_loginuid.so
|
||||
session optional pam_keyinit.so force revoke
|
||||
session include common-session
|
@ -1,67 +0,0 @@
|
||||
---
|
||||
src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 44 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/src/fstab-generator/fstab-generator.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/fstab-generator/fstab-generator.c
|
||||
+++ systemd-221/src/fstab-generator/fstab-generator.c
|
||||
@@ -47,6 +47,49 @@ static char *arg_usr_what = NULL;
|
||||
static char *arg_usr_fstype = NULL;
|
||||
static char *arg_usr_options = NULL;
|
||||
|
||||
+static int check_crypttab(const char *what) {
|
||||
+ _cleanup_fclose_ FILE *f = NULL;
|
||||
+ unsigned n = 0;
|
||||
+
|
||||
+ f = fopen("/etc/crypttab", "re");
|
||||
+ if (!f) {
|
||||
+ if (errno != ENOENT)
|
||||
+ log_error("Failed to open /etc/crypttab: %m");
|
||||
+
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ for (;;) {
|
||||
+ char line[LINE_MAX], *l;
|
||||
+ _cleanup_free_ char *name = NULL, *device = NULL, *password = NULL, *options = NULL;
|
||||
+ int k;
|
||||
+
|
||||
+ if (!fgets(line, sizeof(line), f))
|
||||
+ break;
|
||||
+
|
||||
+ n++;
|
||||
+
|
||||
+ l = strstrip(line);
|
||||
+ if (*l == '#' || *l == 0)
|
||||
+ continue;
|
||||
+
|
||||
+ k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options);
|
||||
+ if (k < 2 || k > 4) {
|
||||
+ log_error("Failed to parse /etc/crypttab:%u, ignoring.", n);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ if (strcmp((what + 12), name) == 0) {
|
||||
+ if (options && strstr(options, "noauto"))
|
||||
+ return 0;
|
||||
+
|
||||
+ return 1;
|
||||
+ }
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
static int add_swap(
|
||||
const char *what,
|
||||
struct mntent *me,
|
||||
@@ -108,7 +151,7 @@ static int add_swap(
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
- if (!noauto) {
|
||||
+ if (!noauto && check_crypttab(what) != 0) {
|
||||
lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET,
|
||||
nofail ? ".wants/" : ".requires/", name, NULL);
|
||||
if (!lnk)
|
@ -1,46 +0,0 @@
|
||||
---
|
||||
units/console-shell.service.m4.in | 2 ++
|
||||
units/emergency.service.in | 2 +-
|
||||
units/rescue.service.in | 3 ++-
|
||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-224/units/console-shell.service.m4.in
|
||||
===================================================================
|
||||
--- systemd-224.orig/units/console-shell.service.m4.in
|
||||
+++ systemd-224/units/console-shell.service.m4.in
|
||||
@@ -17,6 +17,8 @@ Before=getty.target
|
||||
[Service]
|
||||
Environment=HOME=/root
|
||||
WorkingDirectory=/root
|
||||
+ExecStartPre=-/usr/bin/plymouth quit
|
||||
+ExecStartPre=-/usr/bin/plymouth --wait
|
||||
ExecStart=-@SULOGIN@
|
||||
ExecStopPost=-@SYSTEMCTL@ poweroff
|
||||
Type=idle
|
||||
Index: systemd-224/units/emergency.service.in
|
||||
===================================================================
|
||||
--- systemd-224.orig/units/emergency.service.in
|
||||
+++ systemd-224/units/emergency.service.in
|
||||
@@ -17,7 +17,7 @@ Before=shutdown.target
|
||||
[Service]
|
||||
Environment=HOME=/root
|
||||
WorkingDirectory=/root
|
||||
-ExecStartPre=-/bin/plymouth --wait quit
|
||||
+ExecStartPre=-/usr/bin/plymouth --wait quit
|
||||
ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.'
|
||||
ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default"
|
||||
Type=idle
|
||||
Index: systemd-224/units/rescue.service.in
|
||||
===================================================================
|
||||
--- systemd-224.orig/units/rescue.service.in
|
||||
+++ systemd-224/units/rescue.service.in
|
||||
@@ -16,7 +16,8 @@ Before=shutdown.target
|
||||
[Service]
|
||||
Environment=HOME=/root
|
||||
WorkingDirectory=/root
|
||||
-ExecStartPre=-/bin/plymouth quit
|
||||
+ExecStartPre=-/usr/bin/plymouth quit
|
||||
+ExecStartPre=-/usr/bin/plymouth --wait
|
||||
ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.'
|
||||
ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default"
|
||||
Type=idle
|
@ -1,13 +0,0 @@
|
||||
---
|
||||
units/rpcbind.target | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: systemd-221/units/rpcbind.target
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/rpcbind.target
|
||||
+++ systemd-221/units/rpcbind.target
|
||||
@@ -12,3 +12,4 @@
|
||||
Description=RPC Port Mapper
|
||||
Documentation=man:systemd.special(7)
|
||||
RefuseManualStart=yes
|
||||
+Wants=rpcbind.socket
|
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script is based on libcdio_spec-prepare.sh (thanks to sbrabec@suse.cz)
|
||||
# create a -mini spec for systemd for bootstrapping
|
||||
|
||||
ORIG_SPEC=systemd
|
||||
EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n"
|
||||
sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/;
|
||||
s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/;
|
||||
s/^\(Name:.*\)$/\1-mini/;
|
||||
s/^BuildRoot.*/&\n\nProvides: %{real} = %{version}-%{release}\n/
|
||||
" < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec
|
||||
cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes
|
||||
cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc
|
||||
|
||||
osc service localrun format_spec_file
|
@ -1,29 +0,0 @@
|
||||
---
|
||||
units/emergency.target | 1 +
|
||||
units/rescue.target | 3 ++-
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/units/emergency.target
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/emergency.target
|
||||
+++ systemd-221/units/emergency.target
|
||||
@@ -10,4 +10,5 @@ Description=Emergency Mode
|
||||
Documentation=man:systemd.special(7)
|
||||
Requires=emergency.service
|
||||
After=emergency.service
|
||||
+Conflicts=getty.target rescue.target
|
||||
AllowIsolate=yes
|
||||
Index: systemd-221/units/rescue.target
|
||||
===================================================================
|
||||
--- systemd-221.orig/units/rescue.target
|
||||
+++ systemd-221/units/rescue.target
|
||||
@@ -10,7 +10,8 @@ Description=Rescue Mode
|
||||
Documentation=man:systemd.special(7)
|
||||
Requires=sysinit.target rescue.service
|
||||
After=sysinit.target rescue.service
|
||||
-Conflicts=getty.target
|
||||
+Conflicts=getty.target emergency.target
|
||||
+Before=emergency.target
|
||||
AllowIsolate=yes
|
||||
|
||||
[Install]
|
@ -1,22 +0,0 @@
|
||||
---
|
||||
src/fstab-generator/fstab-generator.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-221/src/fstab-generator/fstab-generator.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/fstab-generator/fstab-generator.c
|
||||
+++ systemd-221/src/fstab-generator/fstab-generator.c
|
||||
@@ -289,8 +289,11 @@ static int add_mount(
|
||||
"Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n",
|
||||
source);
|
||||
|
||||
- if (post && !noauto && !nofail && !automount)
|
||||
- fprintf(f, "Before=%s\n", post);
|
||||
+ if (post && !noauto && !nofail && !automount) {
|
||||
+ bool is_nfs = fstype != NULL && streq(fstype, "nfs");
|
||||
+ if (!is_nfs || strstr(opts, "bg") == NULL)
|
||||
+ fprintf(f, "Before=%s\n", post);
|
||||
+ }
|
||||
|
||||
if (!automount && opts) {
|
||||
r = write_requires_after(f, opts);
|
@ -1,87 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Mon, 29 Oct 2012 13:01:20 +0000
|
||||
Subject: restore /var/run and /var/lock bind mount if they aren't symlink
|
||||
|
||||
---
|
||||
Makefile.am | 9 +++++++++
|
||||
units/var-lock.mount | 19 +++++++++++++++++++
|
||||
units/var-run.mount | 19 +++++++++++++++++++
|
||||
3 files changed, 47 insertions(+)
|
||||
create mode 100644 units/var-lock.mount
|
||||
create mode 100644 units/var-run.mount
|
||||
|
||||
Index: systemd-221/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-221.orig/Makefile.am
|
||||
+++ systemd-221/Makefile.am
|
||||
@@ -526,6 +526,12 @@ dist_systemunit_DATA += \
|
||||
dist_systemunit_DATA_busnames += \
|
||||
units/busnames.target
|
||||
|
||||
+if HAVE_SYSV_COMPAT
|
||||
+dist_systemunit_DATA += \
|
||||
+ units/var-run.mount \
|
||||
+ units/var-lock.mount
|
||||
+endif
|
||||
+
|
||||
nodist_systemunit_DATA = \
|
||||
units/getty@.service \
|
||||
units/serial-getty@.service \
|
||||
@@ -6123,6 +6129,9 @@ GRAPHICAL_TARGET_WANTS += \
|
||||
systemd-update-utmp-runlevel.service
|
||||
RESCUE_TARGET_WANTS += \
|
||||
systemd-update-utmp-runlevel.service
|
||||
+LOCAL_FS_TARGET_WANTS += \
|
||||
+ var-run.mount \
|
||||
+ var-lock.mount
|
||||
endif
|
||||
|
||||
SYSINIT_TARGET_WANTS += \
|
||||
Index: systemd-221/units/var-lock.mount
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-221/units/var-lock.mount
|
||||
@@ -0,0 +1,19 @@
|
||||
+# This file is part of systemd.
|
||||
+#
|
||||
+# systemd is free software; you can redistribute it and/or modify it
|
||||
+# under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+
|
||||
+[Unit]
|
||||
+Description=Lock Directory
|
||||
+Before=local-fs.target
|
||||
+# skip mounting if the directory does not exist or is a symlink
|
||||
+ConditionPathIsDirectory=/var/lock
|
||||
+ConditionPathIsSymbolicLink=!/var/lock
|
||||
+
|
||||
+[Mount]
|
||||
+What=/run/lock
|
||||
+Where=/var/lock
|
||||
+Type=bind
|
||||
+Options=bind
|
||||
Index: systemd-221/units/var-run.mount
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-221/units/var-run.mount
|
||||
@@ -0,0 +1,19 @@
|
||||
+# This file is part of systemd.
|
||||
+#
|
||||
+# systemd is free software; you can redistribute it and/or modify it
|
||||
+# under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+
|
||||
+[Unit]
|
||||
+Description=Runtime Directory
|
||||
+Before=local-fs.target
|
||||
+# skip mounting if the directory does not exist or is a symlink
|
||||
+ConditionPathIsDirectory=/var/run
|
||||
+ConditionPathIsSymbolicLink=!/var/run
|
||||
+
|
||||
+[Mount]
|
||||
+What=/run
|
||||
+Where=/var/run
|
||||
+Type=bind
|
||||
+Options=bind
|
@ -1,175 +0,0 @@
|
||||
Use and set default logging console for both journald and kernel messages
|
||||
|
||||
---
|
||||
src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++
|
||||
src/journal/journald-console.h | 3 +
|
||||
src/journal/journald-server.c | 5 ++
|
||||
3 files changed, 108 insertions(+)
|
||||
|
||||
Index: systemd-228/src/journal/journald-console.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/journal/journald-console.c
|
||||
+++ systemd-228/src/journal/journald-console.c
|
||||
@@ -22,6 +22,14 @@
|
||||
#include <fcntl.h>
|
||||
#include <sys/socket.h>
|
||||
#include <time.h>
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+# include <linux/tiocl.h>
|
||||
+# include <linux/vt.h>
|
||||
+# include <sys/ioctl.h>
|
||||
+# include <sys/klog.h>
|
||||
+# include <errno.h>
|
||||
+# include "string-util.h"
|
||||
+#endif
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "fd-util.h"
|
||||
@@ -50,6 +58,76 @@ static bool prefix_timestamp(void) {
|
||||
return cached_printk_time;
|
||||
}
|
||||
|
||||
+void default_tty_path(Server *s)
|
||||
+{
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ static const char list[] = "/dev/tty10\0" "/dev/console\0";
|
||||
+ const char *vc;
|
||||
+
|
||||
+ if (s->tty_path)
|
||||
+ return;
|
||||
+
|
||||
+ NULSTR_FOREACH(vc, list) {
|
||||
+ _cleanup_close_ int fd = -1;
|
||||
+
|
||||
+ if (access(vc, F_OK) < 0)
|
||||
+ continue;
|
||||
+
|
||||
+ fd = open_terminal(vc, O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ continue;
|
||||
+
|
||||
+ 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;
|
||||
+ const char *num;
|
||||
+ int tiocl[2];
|
||||
+ int r;
|
||||
+
|
||||
+ if (!vc || *vc == 0 || !strneq("/dev/tty", vc, 8))
|
||||
+ return;
|
||||
+
|
||||
+ num = vc + strcspn(vc, "0123456789");
|
||||
+ if (safe_atoi(num, &r) < 0)
|
||||
+ return;
|
||||
+
|
||||
+ if (access(vc, F_OK) < 0)
|
||||
+ return;
|
||||
+
|
||||
+ fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ return;
|
||||
+
|
||||
+ tiocl[0] = TIOCL_SETKMSGREDIRECT;
|
||||
+ tiocl[1] = r;
|
||||
+
|
||||
+ if (ioctl(fd, TIOCLINUX, tiocl) < 0)
|
||||
+ return;
|
||||
+
|
||||
+ zero(klogconsole_params);
|
||||
+ r = parse_env_file("/etc/sysconfig/boot", NEWLINE,
|
||||
+ "KLOGCONSOLE_PARAMS", &klogconsole_params,
|
||||
+ NULL);
|
||||
+ if (r < 0)
|
||||
+ return;
|
||||
+ if (!klogconsole_params || *klogconsole_params == 0)
|
||||
+ return;
|
||||
+
|
||||
+ 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,
|
||||
@@ -71,6 +149,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);
|
||||
@@ -107,7 +191,23 @@ void server_forward_console(
|
||||
fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
if (fd < 0) {
|
||||
log_debug_errno(fd, "Failed to open %s for logging: %m", tty);
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ if (fd != -ENOENT && fd != -ENODEV)
|
||||
+ return;
|
||||
+ if (tty != s->tty_path)
|
||||
+ return;
|
||||
+ if (!streq("/dev/console", tty)) {
|
||||
+ if (s->tty_path)
|
||||
+ free(s->tty_path);
|
||||
+ s->tty_path = NULL;
|
||||
+ tty = "/dev/console";
|
||||
+ fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ return;
|
||||
+ }
|
||||
+#else
|
||||
return;
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (writev(fd, iovec, n) < 0)
|
||||
Index: systemd-228/src/journal/journald-console.h
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/journal/journald-console.h
|
||||
+++ systemd-228/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);
|
||||
+
|
||||
+void klogconsole(Server *s);
|
||||
+void default_tty_path(Server *s);
|
||||
Index: systemd-228/src/journal/journald-server.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/journal/journald-server.c
|
||||
+++ systemd-228/src/journal/journald-server.c
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "journald-audit.h"
|
||||
#include "journald-kmsg.h"
|
||||
#include "journald-native.h"
|
||||
+#include "journald-console.h"
|
||||
#include "journald-rate-limit.h"
|
||||
#include "journald-server.h"
|
||||
#include "journald-stream.h"
|
||||
@@ -1751,6 +1752,10 @@ int server_init(Server *s) {
|
||||
|
||||
server_parse_config_file(s);
|
||||
server_parse_proc_cmdline(s);
|
||||
+ default_tty_path(s);
|
||||
+
|
||||
+ if (s->tty_path)
|
||||
+ klogconsole(s);
|
||||
|
||||
if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) {
|
||||
log_debug("Setting both rate limit interval and burst from "USEC_FMT",%u to 0,0",
|
@ -1,25 +0,0 @@
|
||||
---
|
||||
Makefile.am | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: systemd-221/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-221.orig/Makefile.am
|
||||
+++ systemd-221/Makefile.am
|
||||
@@ -4129,11 +4129,11 @@ noinst_LTLIBRARIES += \
|
||||
libjournal-core.la
|
||||
|
||||
journal-install-hook:
|
||||
- -$(MKDIR_P) $(DESTDIR)/var/log/journal
|
||||
- -chown 0:0 $(DESTDIR)/var/log/journal
|
||||
- -chmod 755 $(DESTDIR)/var/log/journal
|
||||
- -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
|
||||
- -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
|
||||
+ -$(MKDIR_P) $(DESTDIR)/var/log/journal/
|
||||
+ -@echo chown 0:0 $(DESTDIR)/var/log/journal/
|
||||
+ -chmod 755 $(DESTDIR)/var/log/journal/
|
||||
+ -@echo setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
|
||||
+ -@echo setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
|
||||
|
||||
journal-uninstall-hook:
|
||||
-rmdir $(DESTDIR)/var/log/journal/remote
|
@ -1,80 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Fri, 12 Apr 2013 16:56:26 +0200
|
||||
Subject: Revert "service: drop support for SysV scripts for the early boot"
|
||||
|
||||
This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe.
|
||||
|
||||
[Implementation note: currently, the unit is generated, but not
|
||||
activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de]
|
||||
---
|
||||
src/sysv-generator/sysv-generator.c | 20 +++++++++++++++-----
|
||||
1 file changed, 15 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: systemd-228/src/sysv-generator/sysv-generator.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/sysv-generator/sysv-generator.c
|
||||
+++ systemd-228/src/sysv-generator/sysv-generator.c
|
||||
@@ -46,7 +46,8 @@
|
||||
|
||||
typedef enum RunlevelType {
|
||||
RUNLEVEL_UP,
|
||||
- RUNLEVEL_DOWN
|
||||
+ RUNLEVEL_DOWN,
|
||||
+ RUNLEVEL_SYSINIT,
|
||||
} RunlevelType;
|
||||
|
||||
static const struct {
|
||||
@@ -54,6 +55,9 @@ static const struct {
|
||||
const char *target;
|
||||
const RunlevelType type;
|
||||
} rcnd_table[] = {
|
||||
+ /* SUSE style boot.d */
|
||||
+ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT },
|
||||
+
|
||||
/* Standard SysV runlevels for start-up */
|
||||
{ "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP },
|
||||
{ "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP },
|
||||
@@ -69,10 +73,10 @@ 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
|
||||
- UP must be read before DOWN */
|
||||
+ UP/SYSINIT must be read before DOWN */
|
||||
};
|
||||
|
||||
-const char *arg_dest = "/tmp";
|
||||
+static const char *arg_dest = "/tmp";
|
||||
|
||||
typedef struct SysvStub {
|
||||
char *name;
|
||||
@@ -261,6 +265,10 @@ static char *sysv_translate_name(const c
|
||||
_cleanup_free_ char *c = NULL;
|
||||
char *res;
|
||||
|
||||
+ if (startswith(name, "boot."))
|
||||
+ /* Drop SuSE-style boot. prefix */
|
||||
+ name += 5;
|
||||
+
|
||||
c = strdup(name);
|
||||
if (!c)
|
||||
return NULL;
|
||||
@@ -882,7 +890,8 @@ static int set_dependencies_from_rcnd(co
|
||||
|
||||
if (de->d_name[0] == 'S') {
|
||||
|
||||
- if (rcnd_table[i].type == RUNLEVEL_UP)
|
||||
+ if (rcnd_table[i].type == RUNLEVEL_UP ||
|
||||
+ rcnd_table[i].type == RUNLEVEL_SYSINIT)
|
||||
service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority);
|
||||
|
||||
r = set_ensure_allocated(&runlevel_services[i], NULL);
|
||||
@@ -898,7 +907,8 @@ static int set_dependencies_from_rcnd(co
|
||||
}
|
||||
|
||||
} else if (de->d_name[0] == 'K' &&
|
||||
- (rcnd_table[i].type == RUNLEVEL_DOWN)) {
|
||||
+ (rcnd_table[i].type == RUNLEVEL_DOWN ||
|
||||
+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) {
|
||||
|
||||
r = set_ensure_allocated(&shutdown_services, NULL);
|
||||
if (r < 0) {
|
@ -1,30 +0,0 @@
|
||||
Mention that --force is required to override an already existing default.target
|
||||
|
||||
This solves the bug bnc#868439
|
||||
|
||||
---
|
||||
man/systemctl.xml | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-221/man/systemctl.xml
|
||||
===================================================================
|
||||
--- systemd-221.orig/man/systemctl.xml
|
||||
+++ systemd-221/man/systemctl.xml
|
||||
@@ -439,7 +439,7 @@
|
||||
<term><option>--force</option></term>
|
||||
|
||||
<listitem>
|
||||
- <para>When used with <command>enable</command>, overwrite
|
||||
+ <para>When used with <command>enable</command> or <command>set-default</command>, overwrite
|
||||
any existing conflicting symlinks.</para>
|
||||
|
||||
<para>When used with <command>halt</command>,
|
||||
@@ -1237,6 +1237,8 @@ kobject-uevent 1 systemd-udevd-kernel.so
|
||||
<para>Return the default target to boot into. This returns
|
||||
the target unit name <filename>default.target</filename>
|
||||
is aliased (symlinked) to.</para>
|
||||
+ <para>If combined with <option>--force</option>, override
|
||||
+ an already existing symlink for the default target.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -1,92 +0,0 @@
|
||||
---
|
||||
man/tmpfiles.d.xml | 3 +++
|
||||
src/tmpfiles/tmpfiles.c | 46 ++++++++++++++++++++++++++++++++++++++++------
|
||||
2 files changed, 43 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: systemd-228/man/tmpfiles.d.xml
|
||||
===================================================================
|
||||
--- systemd-228.orig/man/tmpfiles.d.xml
|
||||
+++ systemd-228/man/tmpfiles.d.xml
|
||||
@@ -599,6 +599,9 @@
|
||||
<varname>f</varname>, <varname>F</varname>, and
|
||||
<varname>w</varname>, the argument may be used to specify a short string that
|
||||
is written to the file, suffixed by a newline. For
|
||||
+ <varname>x</varname>, <varname>X</varname>, a comma separated list of
|
||||
+ usernames. If given, only paths belonging to these users will be excluded
|
||||
+ during directory cleanup. Ignored for all other lines. For
|
||||
<varname>C</varname>, specifies the source file or
|
||||
directory. For <varname>t</varname> and <varname>T</varname>,
|
||||
determines extended attributes to be set. For
|
||||
Index: systemd-228/src/tmpfiles/tmpfiles.c
|
||||
===================================================================
|
||||
--- systemd-228.orig/src/tmpfiles/tmpfiles.c
|
||||
+++ systemd-228/src/tmpfiles/tmpfiles.c
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <sys/xattr.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
+#include <pwd.h>
|
||||
|
||||
#include "acl-util.h"
|
||||
#include "alloc-util.h"
|
||||
@@ -378,6 +379,7 @@ static int dir_cleanup(
|
||||
struct timespec times[2];
|
||||
bool deleted = false;
|
||||
int r = 0;
|
||||
+ Item *found = NULL;
|
||||
|
||||
while ((dent = readdir(d))) {
|
||||
struct stat s;
|
||||
@@ -428,14 +430,46 @@ static int dir_cleanup(
|
||||
}
|
||||
|
||||
/* Is there an item configured for this path? */
|
||||
- if (ordered_hashmap_get(items, sub_path)) {
|
||||
- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path);
|
||||
- continue;
|
||||
+ bool found_glob = false;
|
||||
+ found = ordered_hashmap_get(items, sub_path);
|
||||
+ if (!found) {
|
||||
+ found_glob = true;
|
||||
+ found = find_glob(globs, sub_path);
|
||||
}
|
||||
|
||||
- if (find_glob(globs, sub_path)) {
|
||||
- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path);
|
||||
- continue;
|
||||
+ if (found) {
|
||||
+ struct passwd *pw;
|
||||
+ char *userfound = NULL, *args;
|
||||
+ bool match = false;
|
||||
+ uid_t uid = -1;
|
||||
+
|
||||
+ /* evaluate username arguments in ignore statements */
|
||||
+ if ((found->type != IGNORE_PATH && found->type != IGNORE_DIRECTORY_PATH) ||
|
||||
+ !found->argument) {
|
||||
+ if (found_glob)
|
||||
+ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path);
|
||||
+ else
|
||||
+ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path);
|
||||
+ continue;
|
||||
+ }
|
||||
+ args = strdup(found->argument);
|
||||
+ assert_se(args != NULL);
|
||||
+ while ((userfound = strsep(&args, ",")) != NULL) {
|
||||
+ pw = getpwnam(userfound);
|
||||
+ if (pw == NULL) {
|
||||
+ log_error("Unknown user '%s' in ignore statement.", userfound);
|
||||
+ continue;
|
||||
+ }
|
||||
+ uid = pw->pw_uid;
|
||||
+ if (s.st_uid == uid) {
|
||||
+ match = true;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ if (match) {
|
||||
+ found = NULL;
|
||||
+ continue;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (S_ISDIR(s.st_mode)) {
|
@ -1,33 +0,0 @@
|
||||
---
|
||||
src/basic/def.h | 2 +-
|
||||
src/libsystemd/sd-bus/sd-bus.c | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: systemd-221/src/basic/def.h
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/basic/def.h
|
||||
+++ systemd-221/src/basic/def.h
|
||||
@@ -61,7 +61,7 @@
|
||||
"/usr/lib/kbd/keymaps/\0"
|
||||
#endif
|
||||
|
||||
-#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket"
|
||||
+#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket"
|
||||
#define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus"
|
||||
#define DEFAULT_SYSTEM_BUS_ADDRESS KERNEL_SYSTEM_BUS_ADDRESS ";" UNIX_SYSTEM_BUS_ADDRESS
|
||||
#define UNIX_USER_BUS_ADDRESS_FMT "unix:path=%s/bus"
|
||||
Index: systemd-221/src/libsystemd/sd-bus/sd-bus.c
|
||||
===================================================================
|
||||
--- systemd-221.orig/src/libsystemd/sd-bus/sd-bus.c
|
||||
+++ systemd-221/src/libsystemd/sd-bus/sd-bus.c
|
||||
@@ -837,8 +837,8 @@ static int parse_container_unix_address(
|
||||
b->nspid = 0;
|
||||
|
||||
b->sockaddr.un.sun_family = AF_UNIX;
|
||||
- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path));
|
||||
- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket");
|
||||
+ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path));
|
||||
+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket");
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
---
|
||||
Makefile.am | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: systemd-221/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-221.orig/Makefile.am
|
||||
+++ systemd-221/Makefile.am
|
||||
@@ -5876,12 +5876,6 @@ lib_LTLIBRARIES += \
|
||||
libsystemd-id128.la \
|
||||
libsystemd-daemon.la
|
||||
|
||||
-pkgconfiglib_DATA += \
|
||||
- src/compat-libs/libsystemd-journal.pc \
|
||||
- src/compat-libs/libsystemd-login.pc \
|
||||
- src/compat-libs/libsystemd-id128.pc \
|
||||
- src/compat-libs/libsystemd-daemon.pc
|
||||
-
|
||||
# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
|
||||
compat-lib-install-hook:
|
||||
libname=libsystemd-login.so && $(move-to-rootlibdir)
|
||||
@@ -5899,6 +5893,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install
|
||||
UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook
|
||||
endif
|
||||
|
||||
+pkgconfiglib_DATA += \
|
||||
+ src/compat-libs/libsystemd-journal.pc \
|
||||
+ src/compat-libs/libsystemd-login.pc \
|
||||
+ src/compat-libs/libsystemd-id128.pc \
|
||||
+ src/compat-libs/libsystemd-daemon.pc
|
||||
+
|
||||
EXTRA_DIST += \
|
||||
src/compat-libs/linkwarning.h \
|
||||
src/compat-libs/libsystemd-journal.pc.in \
|
@ -1,29 +0,0 @@
|
||||
addFilter("invalid-pkgconfig-file")
|
||||
addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*")
|
||||
addFilter(".*dangling-symlink .* /dev/null.*")
|
||||
addFilter(".*files-duplicate .*/reboot\.8.*")
|
||||
addFilter(".*files-duplicate .*/sd_is_socket\.3.*")
|
||||
addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion\.sh")
|
||||
addFilter("non-conffile-in-etc /etc/rpm/macros\.systemd")
|
||||
addFilter(".*dbus-policy-allow-receive")
|
||||
addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*")
|
||||
addFilter(".*dangling-symlink /lib/udev/devices/core.*")
|
||||
addFilter(".*dangling-symlink /lib/udev/devices/fd.*")
|
||||
addFilter(".*incoherent-init-script-name boot\.udev.*")
|
||||
addFilter(".init-script-without-%stop_on_removal-preun /etc/init\.d/boot\.udev")
|
||||
addFilter(".init-script-without-%restart_on_update-postun /etc/init\.d/boot\.udev")
|
||||
addFilter(".*devel-file-in-non-devel-package.*udev.pc.*")
|
||||
addFilter(".*libgudev-.*shlib-fixed-dependency.*")
|
||||
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
|
||||
addFilter("libudev-mini.*shlib-policy-name-error.*")
|
||||
addFilter("nss-myhostname.*shlib-policy-name-error.*")
|
||||
addFilter("nss-mymachines.*shlib-policy-name-error.*")
|
||||
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
|
||||
addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*")
|
||||
addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*")
|
||||
addFilter(".*files-duplicate.*/systemd-logger.*")
|
||||
addFilter(".*missing-call-to-setgroups-before-setuid.*")
|
||||
addFilter(".*missing-call-to-chdir-with-chroot.*")
|
||||
addFilter(".*systemd-service-without-service.*")
|
||||
addFilter(".*shlib-policy-missing-suffix.*")
|
||||
addFilter(".*suse-missing-rclink.*")
|
7278
systemd-mini.changes
7278
systemd-mini.changes
File diff suppressed because it is too large
Load Diff
1573
systemd-mini.spec
1573
systemd-mini.spec
File diff suppressed because it is too large
Load Diff
@ -1,32 +0,0 @@
|
||||
Index: systemd-227/factory/etc/pam.d/other
|
||||
===================================================================
|
||||
--- systemd-227.orig/factory/etc/pam.d/other
|
||||
+++ systemd-227/factory/etc/pam.d/other
|
||||
@@ -1,6 +1,6 @@
|
||||
# This file is part of systemd.
|
||||
|
||||
-auth include system-auth
|
||||
-account include system-auth
|
||||
-password include system-auth
|
||||
-session include system-auth
|
||||
+auth include common-auth
|
||||
+account include common-account
|
||||
+password include common-password
|
||||
+session include common-session
|
||||
Index: systemd-227/src/login/systemd-user.m4
|
||||
===================================================================
|
||||
--- systemd-227.orig/src/login/systemd-user.m4
|
||||
+++ systemd-227/src/login/systemd-user.m4
|
||||
@@ -2,10 +2,10 @@
|
||||
#
|
||||
# Used by systemd --user instances.
|
||||
|
||||
-account include system-auth
|
||||
+account include common-account
|
||||
|
||||
m4_ifdef(`HAVE_SELINUX',
|
||||
session required pam_selinux.so close
|
||||
session required pam_selinux.so nottys open
|
||||
)m4_dnl
|
||||
-session include system-auth
|
||||
+session include common-session
|
@ -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
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user