Sync from SUSE:ALP:Source:Standard:1.0 systemd revision 157157b618b9838a9df6f017ae25a281
This commit is contained in:
commit
1f88308a33
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
@ -0,0 +1,27 @@
|
||||
From ddf3a821b51fbd3064914eb00a03bbecce9ee361 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 03/11] 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 55e83dfe00..8b20f8d1af 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.26.2
|
||||
|
@ -0,0 +1,42 @@
|
||||
From 9e6a1f4b085b29abaf90ecd05859537b837b39fe 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 8/8] 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]
|
||||
|
||||
[wfink: fixes bsc#857204]
|
||||
---
|
||||
src/sysv-generator/sysv-generator.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
|
||||
index bf23c48662..c6e1953839 100644
|
||||
--- a/src/sysv-generator/sysv-generator.c
|
||||
+++ b/src/sysv-generator/sysv-generator.c
|
||||
@@ -409,8 +409,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();
|
||||
}
|
||||
--
|
||||
2.31.1
|
||||
|
@ -0,0 +1,60 @@
|
||||
From dedd52f920cf7ae718bb31ac7286d3f7314540c6 Mon Sep 17 00:00:00 2001
|
||||
From: Franck Bui <fbui@suse.com>
|
||||
Date: Fri, 10 Jun 2016 15:19:57 +0200
|
||||
Subject: [PATCH 09/11] 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 d769423d6e..1a65391146 100644
|
||||
--- a/src/basic/terminal-util.c
|
||||
+++ b/src/basic/terminal-util.c
|
||||
@@ -779,7 +779,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.26.2
|
||||
|
@ -0,0 +1,37 @@
|
||||
From 323274d5e7545013b09c280254879dcbf1430fbf 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 74a70185bc..75845413cf 100644
|
||||
--- a/src/udev/udev-node.c
|
||||
+++ b/src/udev/udev-node.c
|
||||
@@ -468,13 +468,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 65b0ae29194a335dc2cc1410d57acf7307251791 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 835263f3cb..d5e0f5f705 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
|
||||
|
283
5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch
Normal file
283
5003-cgroup-rename-TasksMax-structure-to-CGroupTasksMax.patch
Normal file
@ -0,0 +1,283 @@
|
||||
From 14146f22cdcb6ecbf7d0f46a34843837a21aa118 Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Tue, 23 Jan 2024 11:30:14 +0100
|
||||
Subject: [PATCH 5003/5011] cgroup: rename TasksMax structure to CGroupTasksMax
|
||||
|
||||
Almost all our enums/structs/funcs carry the CGroup prefix if they are
|
||||
defined in cgroup.h, TasksMax so far does not, even though it is
|
||||
exclusively used in cgroup context.
|
||||
|
||||
Change that.
|
||||
|
||||
(cherry picked from commit 94f0b13b1623c083ece9c0381bd1e65500dc1363)
|
||||
|
||||
[mkoutny: Adjust for missing struct UnitDefaults + contexts]
|
||||
---
|
||||
src/core/cgroup.c | 16 ++++++++--------
|
||||
src/core/cgroup.h | 12 ++++++------
|
||||
src/core/dbus-cgroup.c | 10 +++++-----
|
||||
src/core/load-fragment.c | 10 +++++-----
|
||||
src/core/main.c | 4 ++--
|
||||
src/core/manager.c | 2 +-
|
||||
src/core/manager.h | 2 +-
|
||||
src/test/test-cgroup-mask.c | 2 +-
|
||||
8 files changed, 29 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index 8a3059b042..5b7205a92e 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -51,7 +51,7 @@
|
||||
* out specific attributes from us. */
|
||||
#define LOG_LEVEL_CGROUP_WRITE(r) (IN_SET(abs(r), ENOENT, EROFS, EACCES, EPERM) ? LOG_DEBUG : LOG_WARNING)
|
||||
|
||||
-uint64_t tasks_max_resolve(const TasksMax *tasks_max) {
|
||||
+uint64_t cgroup_tasks_max_resolve(const CGroupTasksMax *tasks_max) {
|
||||
if (tasks_max->scale == 0)
|
||||
return tasks_max->value;
|
||||
|
||||
@@ -170,7 +170,7 @@ void cgroup_context_init(CGroupContext *c) {
|
||||
.blockio_weight = CGROUP_BLKIO_WEIGHT_INVALID,
|
||||
.startup_blockio_weight = CGROUP_BLKIO_WEIGHT_INVALID,
|
||||
|
||||
- .tasks_max = TASKS_MAX_UNSET,
|
||||
+ .tasks_max = CGROUP_TASKS_MAX_UNSET,
|
||||
|
||||
.moom_swap = MANAGED_OOM_AUTO,
|
||||
.moom_mem_pressure = MANAGED_OOM_AUTO,
|
||||
@@ -562,7 +562,7 @@ void cgroup_context_dump(Unit *u, FILE* f, const char *prefix) {
|
||||
prefix, c->memory_zswap_max, format_cgroup_memory_limit_comparison(cdj, sizeof(cdj), u, "MemoryZSwapMax"),
|
||||
prefix, c->startup_memory_zswap_max, format_cgroup_memory_limit_comparison(cdk, sizeof(cdk), u, "StartupMemoryZSwapMax"),
|
||||
prefix, c->memory_limit,
|
||||
- prefix, tasks_max_resolve(&c->tasks_max),
|
||||
+ prefix, cgroup_tasks_max_resolve(&c->tasks_max),
|
||||
prefix, cgroup_device_policy_to_string(c->device_policy),
|
||||
prefix, strempty(disable_controllers_str),
|
||||
prefix, delegate_str,
|
||||
@@ -1760,9 +1760,9 @@ static void cgroup_context_apply(
|
||||
* which is desirable so that there's an official way to release control of the sysctl from
|
||||
* systemd: set the limit to unbounded and reload. */
|
||||
|
||||
- if (tasks_max_isset(&c->tasks_max)) {
|
||||
+ if (cgroup_tasks_max_isset(&c->tasks_max)) {
|
||||
u->manager->sysctl_pid_max_changed = true;
|
||||
- r = procfs_tasks_set_limit(tasks_max_resolve(&c->tasks_max));
|
||||
+ r = procfs_tasks_set_limit(cgroup_tasks_max_resolve(&c->tasks_max));
|
||||
} else if (u->manager->sysctl_pid_max_changed)
|
||||
r = procfs_tasks_set_limit(TASKS_MAX);
|
||||
else
|
||||
@@ -1775,10 +1775,10 @@ static void cgroup_context_apply(
|
||||
/* The attribute itself is not available on the host root cgroup, and in the container case we want to
|
||||
* leave it for the container manager. */
|
||||
if (!is_local_root) {
|
||||
- if (tasks_max_isset(&c->tasks_max)) {
|
||||
+ if (cgroup_tasks_max_isset(&c->tasks_max)) {
|
||||
char buf[DECIMAL_STR_MAX(uint64_t) + 1];
|
||||
|
||||
- xsprintf(buf, "%" PRIu64 "\n", tasks_max_resolve(&c->tasks_max));
|
||||
+ xsprintf(buf, "%" PRIu64 "\n", cgroup_tasks_max_resolve(&c->tasks_max));
|
||||
(void) set_attribute_and_warn(u, "pids", "pids.max", buf);
|
||||
} else
|
||||
(void) set_attribute_and_warn(u, "pids", "pids.max", "max\n");
|
||||
@@ -1894,7 +1894,7 @@ static CGroupMask unit_get_cgroup_mask(Unit *u) {
|
||||
mask |= CGROUP_MASK_DEVICES | CGROUP_MASK_BPF_DEVICES;
|
||||
|
||||
if (c->tasks_accounting ||
|
||||
- tasks_max_isset(&c->tasks_max))
|
||||
+ cgroup_tasks_max_isset(&c->tasks_max))
|
||||
mask |= CGROUP_MASK_PIDS;
|
||||
|
||||
return CGROUP_MASK_EXTEND_JOINED(mask);
|
||||
diff --git a/src/core/cgroup.h b/src/core/cgroup.h
|
||||
index 9f1963b3f2..486957b545 100644
|
||||
--- a/src/core/cgroup.h
|
||||
+++ b/src/core/cgroup.h
|
||||
@@ -9,20 +9,20 @@
|
||||
#include "list.h"
|
||||
#include "time-util.h"
|
||||
|
||||
-typedef struct TasksMax {
|
||||
+typedef struct CGroupTasksMax {
|
||||
/* If scale == 0, just use value; otherwise, value / scale.
|
||||
* See tasks_max_resolve(). */
|
||||
uint64_t value;
|
||||
uint64_t scale;
|
||||
-} TasksMax;
|
||||
+} CGroupTasksMax;
|
||||
|
||||
-#define TASKS_MAX_UNSET ((TasksMax) { .value = UINT64_MAX, .scale = 0 })
|
||||
+#define CGROUP_TASKS_MAX_UNSET ((CGroupTasksMax) { .value = UINT64_MAX, .scale = 0 })
|
||||
|
||||
-static inline bool tasks_max_isset(const TasksMax *tasks_max) {
|
||||
+static inline bool cgroup_tasks_max_isset(const CGroupTasksMax *tasks_max) {
|
||||
return tasks_max->value != UINT64_MAX || tasks_max->scale != 0;
|
||||
}
|
||||
|
||||
-uint64_t tasks_max_resolve(const TasksMax *tasks_max);
|
||||
+uint64_t cgroup_tasks_max_resolve(const CGroupTasksMax *tasks_max);
|
||||
|
||||
typedef struct CGroupContext CGroupContext;
|
||||
typedef struct CGroupDeviceAllow CGroupDeviceAllow;
|
||||
@@ -210,7 +210,7 @@ struct CGroupContext {
|
||||
LIST_HEAD(CGroupSocketBindItem, socket_bind_deny);
|
||||
|
||||
/* Common */
|
||||
- TasksMax tasks_max;
|
||||
+ CGroupTasksMax tasks_max;
|
||||
|
||||
/* Settings for systemd-oomd */
|
||||
ManagedOOMMode moom_swap;
|
||||
diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
|
||||
index 5347525844..3c35673779 100644
|
||||
--- a/src/core/dbus-cgroup.c
|
||||
+++ b/src/core/dbus-cgroup.c
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "percent-util.h"
|
||||
#include "socket-util.h"
|
||||
|
||||
-BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
|
||||
+BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve);
|
||||
BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_cgroup_pressure_watch, cgroup_pressure_watch, CGroupPressureWatch);
|
||||
|
||||
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy);
|
||||
@@ -994,7 +994,7 @@ static int bus_cgroup_set_cpu_weight(
|
||||
static int bus_cgroup_set_tasks_max(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
- TasksMax *p,
|
||||
+ CGroupTasksMax *p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
@@ -1013,7 +1013,7 @@ static int bus_cgroup_set_tasks_max(
|
||||
"Value specified in %s is out of range", name);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
- *p = (TasksMax) { .value = v, .scale = 0 }; /* When .scale==0, .value is the absolute value */
|
||||
+ *p = (CGroupTasksMax) { .value = v, .scale = 0 }; /* When .scale==0, .value is the absolute value */
|
||||
unit_invalidate_cgroup(u, CGROUP_MASK_PIDS);
|
||||
|
||||
if (v == CGROUP_LIMIT_MAX)
|
||||
@@ -1030,7 +1030,7 @@ static int bus_cgroup_set_tasks_max(
|
||||
static int bus_cgroup_set_tasks_max_scale(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
- TasksMax *p,
|
||||
+ CGroupTasksMax *p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
@@ -1049,7 +1049,7 @@ static int bus_cgroup_set_tasks_max_scale(
|
||||
"Value specified in %s is out of range", name);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
- *p = (TasksMax) { v, UINT32_MAX }; /* .scale is not 0, so this is interpreted as v/UINT32_MAX. */
|
||||
+ *p = (CGroupTasksMax) { v, UINT32_MAX }; /* .scale is not 0, so this is interpreted as v/UINT32_MAX. */
|
||||
unit_invalidate_cgroup(u, CGROUP_MASK_PIDS);
|
||||
|
||||
uint32_t scaled = DIV_ROUND_UP((uint64_t) v * 100U, (uint64_t) UINT32_MAX);
|
||||
diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
|
||||
index 86235fa5b6..18ba95a6c5 100644
|
||||
--- a/src/core/load-fragment.c
|
||||
+++ b/src/core/load-fragment.c
|
||||
@@ -3934,23 +3934,23 @@ int config_parse_tasks_max(
|
||||
void *userdata) {
|
||||
|
||||
const Unit *u = userdata;
|
||||
- TasksMax *tasks_max = data;
|
||||
+ CGroupTasksMax *tasks_max = data;
|
||||
uint64_t v;
|
||||
int r;
|
||||
|
||||
if (isempty(rvalue)) {
|
||||
- *tasks_max = u ? u->manager->default_tasks_max : TASKS_MAX_UNSET;
|
||||
+ *tasks_max = u ? u->manager->default_tasks_max : CGROUP_TASKS_MAX_UNSET;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (streq(rvalue, "infinity")) {
|
||||
- *tasks_max = TASKS_MAX_UNSET;
|
||||
+ *tasks_max = CGROUP_TASKS_MAX_UNSET;
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = parse_permyriad(rvalue);
|
||||
if (r >= 0)
|
||||
- *tasks_max = (TasksMax) { r, 10000U }; /* r‱ */
|
||||
+ *tasks_max = (CGroupTasksMax) { r, 10000U }; /* r‱ */
|
||||
else {
|
||||
r = safe_atou64(rvalue, &v);
|
||||
if (r < 0) {
|
||||
@@ -3963,7 +3963,7 @@ int config_parse_tasks_max(
|
||||
return 0;
|
||||
}
|
||||
|
||||
- *tasks_max = (TasksMax) { v };
|
||||
+ *tasks_max = (CGroupTasksMax) { v };
|
||||
}
|
||||
|
||||
return 0;
|
||||
diff --git a/src/core/main.c b/src/core/main.c
|
||||
index 14aa1f00c0..efe75d96b3 100644
|
||||
--- a/src/core/main.c
|
||||
+++ b/src/core/main.c
|
||||
@@ -106,7 +106,7 @@
|
||||
#include <sanitizer/lsan_interface.h>
|
||||
#endif
|
||||
|
||||
-#define DEFAULT_TASKS_MAX ((TasksMax) { 15U, 100U }) /* 15% */
|
||||
+#define DEFAULT_TASKS_MAX ((CGroupTasksMax) { 15U, 100U }) /* 15% */
|
||||
|
||||
static enum {
|
||||
ACTION_RUN,
|
||||
@@ -166,7 +166,7 @@ static bool arg_default_ip_accounting;
|
||||
static bool arg_default_blockio_accounting;
|
||||
static bool arg_default_memory_accounting;
|
||||
static bool arg_default_tasks_accounting;
|
||||
-static TasksMax arg_default_tasks_max;
|
||||
+static CGroupTasksMax arg_default_tasks_max;
|
||||
static usec_t arg_default_memory_pressure_threshold_usec;
|
||||
static CGroupPressureWatch arg_default_memory_pressure_watch;
|
||||
static sd_id128_t arg_machine_id;
|
||||
diff --git a/src/core/manager.c b/src/core/manager.c
|
||||
index 2ccb753888..5f4522392d 100644
|
||||
--- a/src/core/manager.c
|
||||
+++ b/src/core/manager.c
|
||||
@@ -840,7 +840,7 @@ int manager_new(RuntimeScope runtime_scope, ManagerTestRunFlags test_run_flags,
|
||||
.default_timer_accuracy_usec = USEC_PER_MINUTE,
|
||||
.default_memory_accounting = MEMORY_ACCOUNTING_DEFAULT,
|
||||
.default_tasks_accounting = true,
|
||||
- .default_tasks_max = TASKS_MAX_UNSET,
|
||||
+ .default_tasks_max = CGROUP_TASKS_MAX_UNSET,
|
||||
.default_timeout_start_usec = manager_default_timeout(runtime_scope),
|
||||
.default_timeout_stop_usec = manager_default_timeout(runtime_scope),
|
||||
.default_restart_usec = DEFAULT_RESTART_USEC,
|
||||
diff --git a/src/core/manager.h b/src/core/manager.h
|
||||
index a6c87dc852..e4b2393d06 100644
|
||||
--- a/src/core/manager.h
|
||||
+++ b/src/core/manager.h
|
||||
@@ -375,7 +375,7 @@ struct Manager {
|
||||
bool default_tasks_accounting;
|
||||
bool default_ip_accounting;
|
||||
|
||||
- TasksMax default_tasks_max;
|
||||
+ CGroupTasksMax default_tasks_max;
|
||||
usec_t default_timer_accuracy_usec;
|
||||
|
||||
OOMPolicy default_oom_policy;
|
||||
diff --git a/src/test/test-cgroup-mask.c b/src/test/test-cgroup-mask.c
|
||||
index c0bf585963..35b2599e86 100644
|
||||
--- a/src/test/test-cgroup-mask.c
|
||||
+++ b/src/test/test-cgroup-mask.c
|
||||
@@ -58,7 +58,7 @@ TEST_RET(cgroup_mask, .sd_booted = true) {
|
||||
m->default_blockio_accounting =
|
||||
m->default_io_accounting =
|
||||
m->default_tasks_accounting = false;
|
||||
- m->default_tasks_max = TASKS_MAX_UNSET;
|
||||
+ m->default_tasks_max = CGROUP_TASKS_MAX_UNSET;
|
||||
|
||||
assert_se(manager_startup(m, NULL, NULL, NULL) >= 0);
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,31 @@
|
||||
From c44ecd40ed4b4221dd9f03f5c2090d994889064c Mon Sep 17 00:00:00 2001
|
||||
From: Mike Yuan <me@yhndnzj.com>
|
||||
Date: Tue, 23 Jan 2024 11:30:15 +0100
|
||||
Subject: [PATCH 5004/5011] bus-print-properties: ignore CGROUP_LIMIT_MAX for
|
||||
Memory*{Current, Peak}
|
||||
|
||||
MemoryCurrent and MemoryAvailable are shown as "[not set]" when UINT64_MAX
|
||||
(unset). Let's do the same for the newly-added Memory*{Current,Peak} properties.
|
||||
|
||||
(cherry picked from commit 3f362012ce0034dc14d3c1a1c2a3a64a11efa9da)
|
||||
|
||||
[mkoutny: Drop MemoryPeak=]
|
||||
---
|
||||
src/shared/bus-print-properties.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c
|
||||
index db41ad2495..46724c98fa 100644
|
||||
--- a/src/shared/bus-print-properties.c
|
||||
+++ b/src/shared/bus-print-properties.c
|
||||
@@ -158,6 +158,7 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b
|
||||
(STR_IN_SET(name, "CPUShares", "StartupCPUShares") && u == CGROUP_CPU_SHARES_INVALID) ||
|
||||
(STR_IN_SET(name, "BlockIOWeight", "StartupBlockIOWeight") && u == CGROUP_BLKIO_WEIGHT_INVALID) ||
|
||||
(STR_IN_SET(name, "MemoryCurrent", "TasksCurrent") && u == UINT64_MAX) ||
|
||||
+ (startswith(name, "Memory") && ENDSWITH_SET(name, "Current") && u == CGROUP_LIMIT_MAX) ||
|
||||
(endswith(name, "NSec") && u == UINT64_MAX))
|
||||
|
||||
bus_print_property_value(name, expected_value, flags, "[not set]");
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,38 @@
|
||||
From 278ef74e90a13821fc2209eb09de768035e14478 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Yuan <me@yhndnzj.com>
|
||||
Date: Tue, 23 Jan 2024 11:30:16 +0100
|
||||
Subject: [PATCH 5005/5011] bus-print-properties: prettify more unset
|
||||
properties
|
||||
|
||||
(cherry picked from commit bfb6b1214a8da947cb82fed2eec3d7f2b1c6175f)
|
||||
|
||||
[mkoutny: Handle MemoryAvailable= separately.]
|
||||
---
|
||||
src/shared/bus-print-properties.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c
|
||||
index 46724c98fa..f74d8994ad 100644
|
||||
--- a/src/shared/bus-print-properties.c
|
||||
+++ b/src/shared/bus-print-properties.c
|
||||
@@ -157,13 +157,15 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b
|
||||
else if ((STR_IN_SET(name, "CPUWeight", "StartupCPUWeight", "IOWeight", "StartupIOWeight") && u == CGROUP_WEIGHT_INVALID) ||
|
||||
(STR_IN_SET(name, "CPUShares", "StartupCPUShares") && u == CGROUP_CPU_SHARES_INVALID) ||
|
||||
(STR_IN_SET(name, "BlockIOWeight", "StartupBlockIOWeight") && u == CGROUP_BLKIO_WEIGHT_INVALID) ||
|
||||
- (STR_IN_SET(name, "MemoryCurrent", "TasksCurrent") && u == UINT64_MAX) ||
|
||||
+ (STR_IN_SET(name, "MemoryCurrent", "MemoryAvailable", "TasksCurrent") && u == UINT64_MAX) ||
|
||||
(startswith(name, "Memory") && ENDSWITH_SET(name, "Current") && u == CGROUP_LIMIT_MAX) ||
|
||||
+ (startswith(name, "IO") && ENDSWITH_SET(name, "Bytes", "Operations") && u == UINT64_MAX) ||
|
||||
(endswith(name, "NSec") && u == UINT64_MAX))
|
||||
|
||||
bus_print_property_value(name, expected_value, flags, "[not set]");
|
||||
|
||||
- else if ((STR_IN_SET(name, "DefaultMemoryLow", "DefaultMemoryMin", "MemoryLow", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit", "MemoryAvailable") && u == CGROUP_LIMIT_MAX) ||
|
||||
+ else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") &&
|
||||
+ u == CGROUP_LIMIT_MAX) ||
|
||||
(STR_IN_SET(name, "TasksMax", "DefaultTasksMax") && u == UINT64_MAX) ||
|
||||
(startswith(name, "Limit") && u == UINT64_MAX) ||
|
||||
(startswith(name, "DefaultLimit") && u == UINT64_MAX))
|
||||
--
|
||||
2.35.3
|
||||
|
607
5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch
Normal file
607
5006-cgroup-Add-EffectiveMemoryMax-EffectiveMemoryHigh-an.patch
Normal file
@ -0,0 +1,607 @@
|
||||
From 9c86b2c20823dce7f8303648f7e8a8d76342d1d0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny@suse.com>
|
||||
Date: Tue, 23 Jan 2024 11:30:17 +0100
|
||||
Subject: [PATCH 5006/5011] cgroup: Add EffectiveMemoryMax=,
|
||||
EffectiveMemoryHigh= and EffectiveTasksMax= properties
|
||||
|
||||
Users become perplexed when they run their workload in a unit with no
|
||||
explicit limits configured (moreover, listing the limit property would
|
||||
even show it's infinity) but they experience unexpected resource
|
||||
limitation.
|
||||
|
||||
The memory and pid limits come as the most visible, therefore add new
|
||||
unit read-only properties:
|
||||
- EffectiveMemoryMax=,
|
||||
- EffectiveMemoryHigh=,
|
||||
- EffectiveTasksMax=.
|
||||
|
||||
These properties represent the most stringent limit systemd is aware of
|
||||
for the given unit -- and that is typically(*) the effective value.
|
||||
|
||||
Implement the properties by simply traversing all parents in the
|
||||
leaf-slice tree and picking the minimum value. Note that effective
|
||||
limits are thus defined even for units that don't enable explicit
|
||||
accounting (because of the hierarchy).
|
||||
|
||||
(*) The evasive case is when systemd runs in a cgroupns and cannot
|
||||
reason about outer setup. Complete solution would need kernel support.
|
||||
|
||||
(cherry picked from commit 4fb0d2dc140c9a2c01c236d2a8dc09a44157e896)
|
||||
|
||||
[mkoutny: adjust context, drop unapplicable XML]
|
||||
[mkoutny: fixes jsc#PED-5659]
|
||||
---
|
||||
man/org.freedesktop.systemd1.xml | 108 ++++++++++++++++++++++++++++++
|
||||
man/systemd.resource-control.xml | 11 ++-
|
||||
src/core/cgroup.c | 48 +++++++++++++
|
||||
src/core/cgroup.h | 13 ++++
|
||||
src/core/dbus-unit.c | 25 +++++++
|
||||
src/shared/bus-print-properties.c | 6 +-
|
||||
6 files changed, 206 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml
|
||||
index 2e357539fb..02db33626d 100644
|
||||
--- a/man/org.freedesktop.systemd1.xml
|
||||
+++ b/man/org.freedesktop.systemd1.xml
|
||||
@@ -2716,6 +2716,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t MemoryAvailable = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryHigh = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t CPUUsageNSec = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly ay EffectiveCPUs = [...];
|
||||
@@ -2724,6 +2728,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t TasksCurrent = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveTasksMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressBytes = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressPackets = ...;
|
||||
@@ -3335,6 +3341,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
|
||||
<!--property MemoryCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveMemoryMax is not documented!-->
|
||||
+
|
||||
+ <!--property EffectiveMemoryHigh is not documented!-->
|
||||
+
|
||||
<!--property CPUUsageNSec is not documented!-->
|
||||
|
||||
<!--property EffectiveCPUs is not documented!-->
|
||||
@@ -3343,6 +3353,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
|
||||
<!--property TasksCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveTasksMax is not documented!-->
|
||||
+
|
||||
<!--property IPIngressBytes is not documented!-->
|
||||
|
||||
<!--property IPIngressPackets is not documented!-->
|
||||
@@ -3963,6 +3975,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MemoryAvailable"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryMax"/>
|
||||
+
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryHigh"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="CPUUsageNSec"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="EffectiveCPUs"/>
|
||||
@@ -3971,6 +3987,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="TasksCurrent"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveTasksMax"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressBytes"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressPackets"/>
|
||||
@@ -4748,6 +4766,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t MemoryAvailable = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryHigh = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t CPUUsageNSec = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly ay EffectiveCPUs = [...];
|
||||
@@ -4756,6 +4778,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t TasksCurrent = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveTasksMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressBytes = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressPackets = ...;
|
||||
@@ -5377,6 +5401,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
|
||||
<!--property MemoryCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveMemoryMax is not documented!-->
|
||||
+
|
||||
+ <!--property EffectiveMemoryHigh is not documented!-->
|
||||
+
|
||||
<!--property CPUUsageNSec is not documented!-->
|
||||
|
||||
<!--property EffectiveCPUs is not documented!-->
|
||||
@@ -5385,6 +5413,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
|
||||
<!--property TasksCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveTasksMax is not documented!-->
|
||||
+
|
||||
<!--property IPIngressBytes is not documented!-->
|
||||
|
||||
<!--property IPIngressPackets is not documented!-->
|
||||
@@ -5983,6 +6013,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MemoryAvailable"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryMax"/>
|
||||
+
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryHigh"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="CPUUsageNSec"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="EffectiveCPUs"/>
|
||||
@@ -5991,6 +6025,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="TasksCurrent"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveTasksMax"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressBytes"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressPackets"/>
|
||||
@@ -6643,6 +6679,10 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t MemoryAvailable = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryHigh = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t CPUUsageNSec = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly ay EffectiveCPUs = [...];
|
||||
@@ -6651,6 +6691,8 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t TasksCurrent = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveTasksMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressBytes = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressPackets = ...;
|
||||
@@ -7200,6 +7242,10 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
|
||||
<!--property MemoryCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveMemoryMax is not documented!-->
|
||||
+
|
||||
+ <!--property EffectiveMemoryHigh is not documented!-->
|
||||
+
|
||||
<!--property CPUUsageNSec is not documented!-->
|
||||
|
||||
<!--property EffectiveCPUs is not documented!-->
|
||||
@@ -7208,6 +7254,8 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
|
||||
<!--property TasksCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveTasksMax is not documented!-->
|
||||
+
|
||||
<!--property IPIngressBytes is not documented!-->
|
||||
|
||||
<!--property IPIngressPackets is not documented!-->
|
||||
@@ -7724,6 +7772,10 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MemoryAvailable"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryMax"/>
|
||||
+
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryHigh"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="CPUUsageNSec"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="EffectiveCPUs"/>
|
||||
@@ -7732,6 +7784,8 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="TasksCurrent"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveTasksMax"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressBytes"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressPackets"/>
|
||||
@@ -8511,6 +8565,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t MemoryAvailable = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryHigh = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t CPUUsageNSec = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly ay EffectiveCPUs = [...];
|
||||
@@ -8519,6 +8577,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t TasksCurrent = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveTasksMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressBytes = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressPackets = ...;
|
||||
@@ -9054,6 +9114,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
|
||||
<!--property MemoryCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveMemoryMax is not documented!-->
|
||||
+
|
||||
+ <!--property EffectiveMemoryHigh is not documented!-->
|
||||
+
|
||||
<!--property CPUUsageNSec is not documented!-->
|
||||
|
||||
<!--property EffectiveCPUs is not documented!-->
|
||||
@@ -9062,6 +9126,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
|
||||
<!--property TasksCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveTasksMax is not documented!-->
|
||||
+
|
||||
<!--property IPIngressBytes is not documented!-->
|
||||
|
||||
<!--property IPIngressPackets is not documented!-->
|
||||
@@ -9564,6 +9630,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MemoryAvailable"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryMax"/>
|
||||
+
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryHigh"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="CPUUsageNSec"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="EffectiveCPUs"/>
|
||||
@@ -9572,6 +9642,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="TasksCurrent"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveTasksMax"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressBytes"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressPackets"/>
|
||||
@@ -10210,6 +10282,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t MemoryAvailable = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryHigh = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t CPUUsageNSec = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly ay EffectiveCPUs = [...];
|
||||
@@ -10218,6 +10294,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t TasksCurrent = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveTasksMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressBytes = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressPackets = ...;
|
||||
@@ -10381,6 +10459,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice {
|
||||
|
||||
<!--property MemoryCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveMemoryMax is not documented!-->
|
||||
+
|
||||
+ <!--property EffectiveMemoryHigh is not documented!-->
|
||||
+
|
||||
<!--property CPUUsageNSec is not documented!-->
|
||||
|
||||
<!--property EffectiveCPUs is not documented!-->
|
||||
@@ -10389,6 +10471,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice {
|
||||
|
||||
<!--property TasksCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveTasksMax is not documented!-->
|
||||
+
|
||||
<!--property IPIngressBytes is not documented!-->
|
||||
|
||||
<!--property IPIngressPackets is not documented!-->
|
||||
@@ -10557,6 +10641,10 @@ node /org/freedesktop/systemd1/unit/system_2eslice {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MemoryAvailable"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryMax"/>
|
||||
+
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryHigh"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="CPUUsageNSec"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="EffectiveCPUs"/>
|
||||
@@ -10565,6 +10653,8 @@ node /org/freedesktop/systemd1/unit/system_2eslice {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="TasksCurrent"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveTasksMax"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressBytes"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressPackets"/>
|
||||
@@ -10759,6 +10849,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t MemoryAvailable = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveMemoryHigh = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t CPUUsageNSec = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly ay EffectiveCPUs = [...];
|
||||
@@ -10767,6 +10861,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t TasksCurrent = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
+ readonly t EffectiveTasksMax = ...;
|
||||
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressBytes = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly t IPIngressPackets = ...;
|
||||
@@ -10950,6 +11046,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope {
|
||||
|
||||
<!--property MemoryCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveMemoryMax is not documented!-->
|
||||
+
|
||||
+ <!--property EffectiveMemoryHigh is not documented!-->
|
||||
+
|
||||
<!--property CPUUsageNSec is not documented!-->
|
||||
|
||||
<!--property EffectiveCPUs is not documented!-->
|
||||
@@ -10958,6 +11058,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope {
|
||||
|
||||
<!--property TasksCurrent is not documented!-->
|
||||
|
||||
+ <!--property EffectiveTasksMax is not documented!-->
|
||||
+
|
||||
<!--property IPIngressBytes is not documented!-->
|
||||
|
||||
<!--property IPIngressPackets is not documented!-->
|
||||
@@ -11156,6 +11258,10 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MemoryAvailable"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryMax"/>
|
||||
+
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveMemoryHigh"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="CPUUsageNSec"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="EffectiveCPUs"/>
|
||||
@@ -11164,6 +11270,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="TasksCurrent"/>
|
||||
|
||||
+ <variablelist class="dbus-property" generated="True" extra-ref="EffectiveTasksMax"/>
|
||||
+
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressBytes"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="IPIngressPackets"/>
|
||||
diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml
|
||||
index 3c17efbe16..5b7900af87 100644
|
||||
--- a/man/systemd.resource-control.xml
|
||||
+++ b/man/systemd.resource-control.xml
|
||||
@@ -392,7 +392,9 @@ CPUWeight=20 DisableControllers=cpu / \
|
||||
system. If assigned the
|
||||
special value <literal>infinity</literal>, no memory throttling is applied. This controls the
|
||||
<literal>memory.high</literal> control group attribute. For details about this control group attribute, see
|
||||
- <ulink url="https://docs.kernel.org/admin-guide/cgroup-v2.html#memory-interface-files">Memory Interface Files</ulink>.</para>
|
||||
+ <ulink url="https://docs.kernel.org/admin-guide/cgroup-v2.html#memory-interface-files">Memory Interface Files</ulink>.
|
||||
+ The effective configuration is reported as <varname>EffectiveMemoryHigh=</varname>
|
||||
+ (see also <varname>EffectiveMemoryMax=</varname>).</para>
|
||||
|
||||
<para>While <varname>StartupMemoryHigh=</varname> applies to the startup and shutdown phases of the system,
|
||||
<varname>MemoryHigh=</varname> applies to normal runtime of the system, and if the former is not set also to
|
||||
@@ -418,7 +420,9 @@ CPUWeight=20 DisableControllers=cpu / \
|
||||
percentage value may be specified, which is taken relative to the installed physical memory on the system. If
|
||||
assigned the special value <literal>infinity</literal>, no memory limit is applied. This controls the
|
||||
<literal>memory.max</literal> control group attribute. For details about this control group attribute, see
|
||||
- <ulink url="https://docs.kernel.org/admin-guide/cgroup-v2.html#memory-interface-files">Memory Interface Files</ulink>.</para>
|
||||
+ <ulink url="https://docs.kernel.org/admin-guide/cgroup-v2.html#memory-interface-files">Memory Interface Files</ulink>.
|
||||
+ The effective configuration is reported as <varname>EffectiveMemoryMax=</varname> (the value is
|
||||
+ the most stringent limit of the unit and parent slices).</para>
|
||||
|
||||
<para>While <varname>StartupMemoryMax=</varname> applies to the startup and shutdown phases of the system,
|
||||
<varname>MemoryMax=</varname> applies to normal runtime of the system, and if the former is not set also to
|
||||
@@ -534,7 +538,8 @@ CPUWeight=20 DisableControllers=cpu / \
|
||||
limit is applied. This controls the <literal>pids.max</literal> control group attribute. For
|
||||
details about this control group attribute, the
|
||||
<ulink url="https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#pid">pids controller
|
||||
- </ulink>.</para>
|
||||
+ </ulink>.
|
||||
+ The effective configuration is reported as <varname>EffectiveTasksMax=</varname>.</para>
|
||||
|
||||
<para>The system default for this setting may be controlled with
|
||||
<varname>DefaultTasksMax=</varname> in
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index 5b7205a92e..0842036559 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -4000,6 +4000,46 @@ int unit_get_ip_accounting(
|
||||
return r;
|
||||
}
|
||||
|
||||
+static uint64_t unit_get_effective_limit_one(Unit *u, CGroupLimitType type) {
|
||||
+ CGroupContext *cc;
|
||||
+
|
||||
+ assert(u);
|
||||
+ assert(UNIT_HAS_CGROUP_CONTEXT(u));
|
||||
+
|
||||
+ cc = unit_get_cgroup_context(u);
|
||||
+ switch (type) {
|
||||
+ /* Note: on legacy/hybrid hierarchies memory_max stays CGROUP_LIMIT_MAX unless configured
|
||||
+ * explicitly. Effective value of MemoryLimit= (cgroup v1) is not implemented. */
|
||||
+ case CGROUP_LIMIT_MEMORY_MAX:
|
||||
+ return cc->memory_max;
|
||||
+ case CGROUP_LIMIT_MEMORY_HIGH:
|
||||
+ return cc->memory_high;
|
||||
+ case CGROUP_LIMIT_TASKS_MAX:
|
||||
+ return cgroup_tasks_max_resolve(&cc->tasks_max);
|
||||
+ default:
|
||||
+ assert_not_reached();
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+int unit_get_effective_limit(Unit *u, CGroupLimitType type, uint64_t *ret) {
|
||||
+ uint64_t infimum;
|
||||
+
|
||||
+ assert(u);
|
||||
+ assert(ret);
|
||||
+ assert(type >= 0);
|
||||
+ assert(type < _CGROUP_LIMIT_TYPE_MAX);
|
||||
+
|
||||
+ if (!UNIT_HAS_CGROUP_CONTEXT(u))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ infimum = unit_get_effective_limit_one(u, type);
|
||||
+ for (Unit *slice = UNIT_GET_SLICE(u); slice; slice = UNIT_GET_SLICE(slice))
|
||||
+ infimum = MIN(infimum, unit_get_effective_limit_one(slice, type));
|
||||
+
|
||||
+ *ret = infimum;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int unit_get_io_accounting_raw(Unit *u, uint64_t ret[static _CGROUP_IO_ACCOUNTING_METRIC_MAX]) {
|
||||
static const char *const field_names[_CGROUP_IO_ACCOUNTING_METRIC_MAX] = {
|
||||
[CGROUP_IO_READ_BYTES] = "rbytes=",
|
||||
@@ -4418,3 +4458,11 @@ static const char* const cgroup_pressure_watch_table[_CGROUP_PRESSURE_WATCH_MAX]
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(cgroup_pressure_watch, CGroupPressureWatch, CGROUP_PRESSURE_WATCH_ON);
|
||||
+
|
||||
+static const char *const cgroup_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = {
|
||||
+ [CGROUP_LIMIT_MEMORY_MAX] = "EffectiveMemoryMax",
|
||||
+ [CGROUP_LIMIT_MEMORY_HIGH] = "EffectiveMemoryHigh",
|
||||
+ [CGROUP_LIMIT_TASKS_MAX] = "EffectiveTasksMax",
|
||||
+};
|
||||
+
|
||||
+DEFINE_STRING_TABLE_LOOKUP(cgroup_limit_type, CGroupLimitType);
|
||||
diff --git a/src/core/cgroup.h b/src/core/cgroup.h
|
||||
index 486957b545..a19a2fffa3 100644
|
||||
--- a/src/core/cgroup.h
|
||||
+++ b/src/core/cgroup.h
|
||||
@@ -245,6 +245,15 @@ typedef enum CGroupIOAccountingMetric {
|
||||
_CGROUP_IO_ACCOUNTING_METRIC_INVALID = -EINVAL,
|
||||
} CGroupIOAccountingMetric;
|
||||
|
||||
+/* Used for limits whose value sets have infimum */
|
||||
+typedef enum CGroupLimitType {
|
||||
+ CGROUP_LIMIT_MEMORY_MAX,
|
||||
+ CGROUP_LIMIT_MEMORY_HIGH,
|
||||
+ CGROUP_LIMIT_TASKS_MAX,
|
||||
+ _CGROUP_LIMIT_TYPE_MAX,
|
||||
+ _CGROUP_LIMIT_INVALID = -EINVAL,
|
||||
+} CGroupLimitType;
|
||||
+
|
||||
typedef struct Unit Unit;
|
||||
typedef struct Manager Manager;
|
||||
|
||||
@@ -337,6 +346,7 @@ int unit_get_tasks_current(Unit *u, uint64_t *ret);
|
||||
int unit_get_cpu_usage(Unit *u, nsec_t *ret);
|
||||
int unit_get_io_accounting(Unit *u, CGroupIOAccountingMetric metric, bool allow_cache, uint64_t *ret);
|
||||
int unit_get_ip_accounting(Unit *u, CGroupIPAccountingMetric metric, uint64_t *ret);
|
||||
+int unit_get_effective_limit(Unit *u, CGroupLimitType type, uint64_t *ret);
|
||||
|
||||
int unit_reset_cpu_accounting(Unit *u);
|
||||
int unit_reset_ip_accounting(Unit *u);
|
||||
@@ -378,3 +388,6 @@ FreezerAction freezer_action_from_string(const char *s) _pure_;
|
||||
|
||||
const char* cgroup_pressure_watch_to_string(CGroupPressureWatch a) _const_;
|
||||
CGroupPressureWatch cgroup_pressure_watch_from_string(const char *s) _pure_;
|
||||
+
|
||||
+const char* cgroup_limit_type_to_string(CGroupLimitType m) _const_;
|
||||
+CGroupLimitType cgroup_limit_type_from_string(const char *s) _pure_;
|
||||
diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c
|
||||
index ed376cec87..b4509a990e 100644
|
||||
--- a/src/core/dbus-unit.c
|
||||
+++ b/src/core/dbus-unit.c
|
||||
@@ -1438,6 +1438,28 @@ static int property_get_io_counter(
|
||||
return sd_bus_message_append(reply, "t", value);
|
||||
}
|
||||
|
||||
+static int property_get_effective_limit(
|
||||
+ sd_bus *bus,
|
||||
+ const char *path,
|
||||
+ const char *interface,
|
||||
+ const char *property,
|
||||
+ sd_bus_message *reply,
|
||||
+ void *userdata,
|
||||
+ sd_bus_error *error) {
|
||||
+
|
||||
+ uint64_t value = CGROUP_LIMIT_MAX;
|
||||
+ Unit *u = ASSERT_PTR(userdata);
|
||||
+ ssize_t type;
|
||||
+
|
||||
+ assert(bus);
|
||||
+ assert(reply);
|
||||
+ assert(property);
|
||||
+
|
||||
+ assert_se((type = cgroup_limit_type_from_string(property)) >= 0);
|
||||
+ (void) unit_get_effective_limit(u, type, &value);
|
||||
+ return sd_bus_message_append(reply, "t", value);
|
||||
+}
|
||||
+
|
||||
int bus_unit_method_attach_processes(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
|
||||
_cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL;
|
||||
@@ -1557,10 +1579,13 @@ const sd_bus_vtable bus_unit_cgroup_vtable[] = {
|
||||
SD_BUS_PROPERTY("ControlGroupId", "t", NULL, offsetof(Unit, cgroup_id), 0),
|
||||
SD_BUS_PROPERTY("MemoryCurrent", "t", property_get_current_memory, 0, 0),
|
||||
SD_BUS_PROPERTY("MemoryAvailable", "t", property_get_available_memory, 0, 0),
|
||||
+ SD_BUS_PROPERTY("EffectiveMemoryMax", "t", property_get_effective_limit, 0, 0),
|
||||
+ SD_BUS_PROPERTY("EffectiveMemoryHigh", "t", property_get_effective_limit, 0, 0),
|
||||
SD_BUS_PROPERTY("CPUUsageNSec", "t", property_get_cpu_usage, 0, 0),
|
||||
SD_BUS_PROPERTY("EffectiveCPUs", "ay", property_get_cpuset_cpus, 0, 0),
|
||||
SD_BUS_PROPERTY("EffectiveMemoryNodes", "ay", property_get_cpuset_mems, 0, 0),
|
||||
SD_BUS_PROPERTY("TasksCurrent", "t", property_get_current_tasks, 0, 0),
|
||||
+ SD_BUS_PROPERTY("EffectiveTasksMax", "t", property_get_effective_limit, 0, 0),
|
||||
SD_BUS_PROPERTY("IPIngressBytes", "t", property_get_ip_counter, 0, 0),
|
||||
SD_BUS_PROPERTY("IPIngressPackets", "t", property_get_ip_counter, 0, 0),
|
||||
SD_BUS_PROPERTY("IPEgressBytes", "t", property_get_ip_counter, 0, 0),
|
||||
diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c
|
||||
index f74d8994ad..62bbc598bb 100644
|
||||
--- a/src/shared/bus-print-properties.c
|
||||
+++ b/src/shared/bus-print-properties.c
|
||||
@@ -164,9 +164,11 @@ static int bus_print_property(const char *name, const char *expected_value, sd_b
|
||||
|
||||
bus_print_property_value(name, expected_value, flags, "[not set]");
|
||||
|
||||
- else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin", "MemoryHigh", "MemoryMax", "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") &&
|
||||
+ else if ((ENDSWITH_SET(name, "MemoryLow", "MemoryMin",
|
||||
+ "MemoryHigh", "MemoryMax",
|
||||
+ "MemorySwapMax", "MemoryZSwapMax", "MemoryLimit") &&
|
||||
u == CGROUP_LIMIT_MAX) ||
|
||||
- (STR_IN_SET(name, "TasksMax", "DefaultTasksMax") && u == UINT64_MAX) ||
|
||||
+ (endswith(name, "TasksMax") && u == UINT64_MAX) ||
|
||||
(startswith(name, "Limit") && u == UINT64_MAX) ||
|
||||
(startswith(name, "DefaultLimit") && u == UINT64_MAX))
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,97 @@
|
||||
From 46451a18828473edaf7e9873a084f26f0c827a3d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny@suse.com>
|
||||
Date: Tue, 23 Jan 2024 11:30:18 +0100
|
||||
Subject: [PATCH 5007/5011] test: Convert rlimit test to subtest of generic
|
||||
limit testing
|
||||
|
||||
No functional change intended. Preparation for new tests.
|
||||
|
||||
(cherry picked from commit 834ca54624ae1d61ec4fcf3a63b10271c38c4860)
|
||||
|
||||
[mkoutny: fixes jsc#PED-5659]
|
||||
---
|
||||
test/units/testsuite-05.rlimit.sh | 25 +++++++++++++++++++++++++
|
||||
test/units/testsuite-05.service | 2 +-
|
||||
test/units/testsuite-05.sh | 22 +++-------------------
|
||||
3 files changed, 29 insertions(+), 20 deletions(-)
|
||||
create mode 100755 test/units/testsuite-05.rlimit.sh
|
||||
|
||||
diff --git a/test/units/testsuite-05.rlimit.sh b/test/units/testsuite-05.rlimit.sh
|
||||
new file mode 100755
|
||||
index 0000000000..bbf3adbe65
|
||||
--- /dev/null
|
||||
+++ b/test/units/testsuite-05.rlimit.sh
|
||||
@@ -0,0 +1,25 @@
|
||||
+#!/usr/bin/env bash
|
||||
+# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
+set -eux
|
||||
+set -o pipefail
|
||||
+
|
||||
+P=/run/systemd/system.conf.d
|
||||
+mkdir $P
|
||||
+
|
||||
+cat >$P/rlimits.conf <<EOF
|
||||
+[Manager]
|
||||
+DefaultLimitNOFILE=10000:16384
|
||||
+EOF
|
||||
+
|
||||
+systemctl daemon-reload
|
||||
+
|
||||
+[[ "$(systemctl show -P DefaultLimitNOFILESoft)" = "10000" ]]
|
||||
+[[ "$(systemctl show -P DefaultLimitNOFILE)" = "16384" ]]
|
||||
+
|
||||
+[[ "$(systemctl show -P LimitNOFILESoft testsuite-05.service)" = "10000" ]]
|
||||
+[[ "$(systemctl show -P LimitNOFILE testsuite-05.service)" = "16384" ]]
|
||||
+
|
||||
+# shellcheck disable=SC2016
|
||||
+systemd-run --wait -t bash -c '[[ "$(ulimit -n -S)" = "10000" ]]'
|
||||
+# shellcheck disable=SC2016
|
||||
+systemd-run --wait -t bash -c '[[ "$(ulimit -n -H)" = "16384" ]]'
|
||||
diff --git a/test/units/testsuite-05.service b/test/units/testsuite-05.service
|
||||
index ab72d8fe27..cf32accb8c 100644
|
||||
--- a/test/units/testsuite-05.service
|
||||
+++ b/test/units/testsuite-05.service
|
||||
@@ -1,6 +1,6 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
-Description=TEST-05-RLIMITS
|
||||
+Description=TEST-05-LIMITS
|
||||
|
||||
[Service]
|
||||
ExecStartPre=rm -f /failed /testok
|
||||
diff --git a/test/units/testsuite-05.sh b/test/units/testsuite-05.sh
|
||||
index 870845d14b..9c2a033aa9 100755
|
||||
--- a/test/units/testsuite-05.sh
|
||||
+++ b/test/units/testsuite-05.sh
|
||||
@@ -3,25 +3,9 @@
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
-P=/run/systemd/system.conf.d
|
||||
-mkdir $P
|
||||
+# shellcheck source=test/units/test-control.sh
|
||||
+. "$(dirname "$0")"/test-control.sh
|
||||
|
||||
-cat >$P/rlimits.conf <<EOF
|
||||
-[Manager]
|
||||
-DefaultLimitNOFILE=10000:16384
|
||||
-EOF
|
||||
-
|
||||
-systemctl daemon-reload
|
||||
-
|
||||
-[[ "$(systemctl show -P DefaultLimitNOFILESoft)" = "10000" ]]
|
||||
-[[ "$(systemctl show -P DefaultLimitNOFILE)" = "16384" ]]
|
||||
-
|
||||
-[[ "$(systemctl show -P LimitNOFILESoft testsuite-05.service)" = "10000" ]]
|
||||
-[[ "$(systemctl show -P LimitNOFILE testsuite-05.service)" = "16384" ]]
|
||||
-
|
||||
-# shellcheck disable=SC2016
|
||||
-systemd-run --wait -t bash -c '[[ "$(ulimit -n -S)" = "10000" ]]'
|
||||
-# shellcheck disable=SC2016
|
||||
-systemd-run --wait -t bash -c '[[ "$(ulimit -n -H)" = "16384" ]]'
|
||||
+run_subtests
|
||||
|
||||
touch /testok
|
||||
--
|
||||
2.35.3
|
||||
|
111
5008-test-Add-effective-cgroup-limits-testing.patch
Normal file
111
5008-test-Add-effective-cgroup-limits-testing.patch
Normal file
@ -0,0 +1,111 @@
|
||||
From d0c92dae23e409f6a29f70f039455c08610c943f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny@suse.com>
|
||||
Date: Tue, 23 Jan 2024 11:30:19 +0100
|
||||
Subject: [PATCH 5008/5011] test: Add effective cgroup limits testing
|
||||
|
||||
(cherry picked from commit ce35bb95c7b6fe9a48d2b8628bd690279b17fffa)
|
||||
|
||||
[mkoutny: fixes jsc#PED-5659]
|
||||
---
|
||||
test/units/testsuite-05.effective-limit.sh | 68 ++++++++++++++++++++++
|
||||
test/units/util.sh | 9 +++
|
||||
2 files changed, 77 insertions(+)
|
||||
create mode 100755 test/units/testsuite-05.effective-limit.sh
|
||||
|
||||
diff --git a/test/units/testsuite-05.effective-limit.sh b/test/units/testsuite-05.effective-limit.sh
|
||||
new file mode 100755
|
||||
index 0000000000..3ff8e83140
|
||||
--- /dev/null
|
||||
+++ b/test/units/testsuite-05.effective-limit.sh
|
||||
@@ -0,0 +1,68 @@
|
||||
+#!/usr/bin/env bash
|
||||
+# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
+set -eux
|
||||
+set -o pipefail
|
||||
+
|
||||
+# shellcheck source=test/units/util.sh
|
||||
+. "$(dirname "$0")"/util.sh
|
||||
+
|
||||
+pre=test05
|
||||
+cat >/run/systemd/system/"$pre"alpha.slice <<EOF
|
||||
+[Slice]
|
||||
+MemoryMax=40M
|
||||
+MemoryHigh=40M
|
||||
+TasksMax=400
|
||||
+EOF
|
||||
+
|
||||
+cat >/run/systemd/system/"$pre"alpha-beta.slice <<EOF
|
||||
+[Slice]
|
||||
+MemoryMax=10M
|
||||
+MemoryHigh=10M
|
||||
+TasksMax=100
|
||||
+EOF
|
||||
+
|
||||
+cat >/run/systemd/system/"$pre"alpha-beta-gamma.slice <<EOF
|
||||
+[Slice]
|
||||
+MemoryMax=20M
|
||||
+MemoryHigh=20M
|
||||
+TasksMax=200
|
||||
+EOF
|
||||
+
|
||||
+systemctl daemon-reload
|
||||
+
|
||||
+srv=probe.service
|
||||
+slc0="$pre"alpha.slice
|
||||
+slc="$pre"alpha-beta-gamma.slice
|
||||
+
|
||||
+systemd-run --unit "$srv" --slice "$slc" \
|
||||
+ -p MemoryMax=5M \
|
||||
+ -p MemoryHigh=5M \
|
||||
+ -p TasksMax=50 \
|
||||
+ sleep inf
|
||||
+
|
||||
+# Compare with inequality because test can run in a constrained container
|
||||
+assert_le "$(systemctl show -P EffectiveMemoryMax "$srv")" "5242880"
|
||||
+assert_le "$(systemctl show -P EffectiveMemoryHigh "$srv")" "5242880"
|
||||
+assert_le "$(systemctl show -P EffectiveTasksMax "$srv")" "50"
|
||||
+
|
||||
+systemctl stop "$srv"
|
||||
+
|
||||
+systemd-run --unit "$srv" --slice "$slc" \
|
||||
+ sleep inf
|
||||
+
|
||||
+assert_le "$(systemctl show -P EffectiveMemoryMax "$srv")" "10485760"
|
||||
+assert_le "$(systemctl show -P EffectiveMemoryHigh "$srv")" "10485760"
|
||||
+assert_le "$(systemctl show -P EffectiveTasksMax "$srv")" "100"
|
||||
+
|
||||
+systemctl set-property "$slc0" \
|
||||
+ MemoryMax=5M \
|
||||
+ MemoryHigh=5M \
|
||||
+ TasksMax=50
|
||||
+
|
||||
+assert_le "$(systemctl show -P EffectiveMemoryMax "$srv")" "5242880"
|
||||
+assert_le "$(systemctl show -P EffectiveMemoryHigh "$srv")" "5242880"
|
||||
+assert_le "$(systemctl show -P EffectiveTasksMax "$srv")" "50"
|
||||
+
|
||||
+systemctl stop "$srv"
|
||||
+
|
||||
+rm -f /run/systemd/system/"$pre"* || :
|
||||
diff --git a/test/units/util.sh b/test/units/util.sh
|
||||
index 932fe1e603..7af98bb45e 100755
|
||||
--- a/test/units/util.sh
|
||||
+++ b/test/units/util.sh
|
||||
@@ -26,6 +26,15 @@ assert_eq() {(
|
||||
fi
|
||||
)}
|
||||
|
||||
+assert_le() {(
|
||||
+ set +ex
|
||||
+
|
||||
+ if [[ "${1:?}" -gt "${2:?}" ]]; then
|
||||
+ echo "FAIL: '$1' > '$2'" >&2
|
||||
+ exit 1
|
||||
+ fi
|
||||
+)}
|
||||
+
|
||||
assert_in() {(
|
||||
set +ex
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
@ -0,0 +1,56 @@
|
||||
From edfd70ab2c5490131fcf5a4348e31c19251d3479 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny@suse.com>
|
||||
Date: Tue, 23 Jan 2024 11:30:20 +0100
|
||||
Subject: [PATCH 5009/5011] cgroup: Restrict effective limits with global
|
||||
resource provision
|
||||
|
||||
Global resource (whole system or root cg's (e.g. in a container)) is
|
||||
also a well-defined limit for memory and tasks, take it into account
|
||||
when calculating effective limits.
|
||||
|
||||
(cherry picked from commit 93f8e88d23bd383b5134f32c1e2ee315ac3a38c8)
|
||||
|
||||
[mkoutny: fixes jsc#PED-5659]
|
||||
---
|
||||
man/systemd.resource-control.xml | 2 +-
|
||||
src/core/cgroup.c | 11 +++++++++++
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml
|
||||
index 5b7900af87..ded4722e7a 100644
|
||||
--- a/man/systemd.resource-control.xml
|
||||
+++ b/man/systemd.resource-control.xml
|
||||
@@ -422,7 +422,7 @@ CPUWeight=20 DisableControllers=cpu / \
|
||||
<literal>memory.max</literal> control group attribute. For details about this control group attribute, see
|
||||
<ulink url="https://docs.kernel.org/admin-guide/cgroup-v2.html#memory-interface-files">Memory Interface Files</ulink>.
|
||||
The effective configuration is reported as <varname>EffectiveMemoryMax=</varname> (the value is
|
||||
- the most stringent limit of the unit and parent slices).</para>
|
||||
+ the most stringent limit of the unit and parent slices and it is capped by physical memory).</para>
|
||||
|
||||
<para>While <varname>StartupMemoryMax=</varname> applies to the startup and shutdown phases of the system,
|
||||
<varname>MemoryMax=</varname> applies to normal runtime of the system, and if the former is not set also to
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index 0842036559..a53d90486c 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -4006,6 +4006,17 @@ static uint64_t unit_get_effective_limit_one(Unit *u, CGroupLimitType type) {
|
||||
assert(u);
|
||||
assert(UNIT_HAS_CGROUP_CONTEXT(u));
|
||||
|
||||
+ if (unit_has_name(u, SPECIAL_ROOT_SLICE))
|
||||
+ switch (type) {
|
||||
+ case CGROUP_LIMIT_MEMORY_MAX:
|
||||
+ case CGROUP_LIMIT_MEMORY_HIGH:
|
||||
+ return physical_memory();
|
||||
+ case CGROUP_LIMIT_TASKS_MAX:
|
||||
+ return system_tasks_max();
|
||||
+ default:
|
||||
+ assert_not_reached();
|
||||
+ }
|
||||
+
|
||||
cc = unit_get_cgroup_context(u);
|
||||
switch (type) {
|
||||
/* Note: on legacy/hybrid hierarchies memory_max stays CGROUP_LIMIT_MAX unless configured
|
||||
--
|
||||
2.35.3
|
||||
|
64
5010-cgroup-Rename-effective-limits-internal-table.patch
Normal file
64
5010-cgroup-Rename-effective-limits-internal-table.patch
Normal file
@ -0,0 +1,64 @@
|
||||
From 0c3448f0e341e3e1f23722e4275c4fdd4062d280 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny@suse.com>
|
||||
Date: Tue, 23 Jan 2024 11:30:21 +0100
|
||||
Subject: [PATCH 5010/5011] cgroup: Rename effective limits internal table
|
||||
|
||||
Post-merge fixup of commit 4fb0d2dc14 ("cgroup: Add EffectiveMemoryMax=,
|
||||
EffectiveMemoryHigh= and EffectiveTasksMax= properties"), no functional
|
||||
change intended.
|
||||
|
||||
(cherry picked from commit 8ad614890bba66b5f6b590d6a3e1b8b04a920126)
|
||||
|
||||
[mkoutny: adjust context]
|
||||
[mkoutny: fixes jsc#PED-5659]
|
||||
---
|
||||
src/core/cgroup.c | 4 ++--
|
||||
src/core/cgroup.h | 4 ++--
|
||||
src/core/dbus-unit.c | 2 +-
|
||||
3 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index a53d90486c..2d8d61a26d 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -4470,10 +4470,10 @@ static const char* const cgroup_pressure_watch_table[_CGROUP_PRESSURE_WATCH_MAX]
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(cgroup_pressure_watch, CGroupPressureWatch, CGROUP_PRESSURE_WATCH_ON);
|
||||
|
||||
-static const char *const cgroup_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = {
|
||||
+static const char *const cgroup_effective_limit_type_table[_CGROUP_LIMIT_TYPE_MAX] = {
|
||||
[CGROUP_LIMIT_MEMORY_MAX] = "EffectiveMemoryMax",
|
||||
[CGROUP_LIMIT_MEMORY_HIGH] = "EffectiveMemoryHigh",
|
||||
[CGROUP_LIMIT_TASKS_MAX] = "EffectiveTasksMax",
|
||||
};
|
||||
|
||||
-DEFINE_STRING_TABLE_LOOKUP(cgroup_limit_type, CGroupLimitType);
|
||||
+DEFINE_STRING_TABLE_LOOKUP(cgroup_effective_limit_type, CGroupLimitType);
|
||||
diff --git a/src/core/cgroup.h b/src/core/cgroup.h
|
||||
index a19a2fffa3..9ff650abcf 100644
|
||||
--- a/src/core/cgroup.h
|
||||
+++ b/src/core/cgroup.h
|
||||
@@ -389,5 +389,5 @@ FreezerAction freezer_action_from_string(const char *s) _pure_;
|
||||
const char* cgroup_pressure_watch_to_string(CGroupPressureWatch a) _const_;
|
||||
CGroupPressureWatch cgroup_pressure_watch_from_string(const char *s) _pure_;
|
||||
|
||||
-const char* cgroup_limit_type_to_string(CGroupLimitType m) _const_;
|
||||
-CGroupLimitType cgroup_limit_type_from_string(const char *s) _pure_;
|
||||
+const char* cgroup_effective_limit_type_to_string(CGroupLimitType m) _const_;
|
||||
+CGroupLimitType cgroup_effective_limit_type_from_string(const char *s) _pure_;
|
||||
diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c
|
||||
index b4509a990e..da22e8f524 100644
|
||||
--- a/src/core/dbus-unit.c
|
||||
+++ b/src/core/dbus-unit.c
|
||||
@@ -1455,7 +1455,7 @@ static int property_get_effective_limit(
|
||||
assert(reply);
|
||||
assert(property);
|
||||
|
||||
- assert_se((type = cgroup_limit_type_from_string(property)) >= 0);
|
||||
+ assert_se((type = cgroup_effective_limit_type_from_string(property)) >= 0);
|
||||
(void) unit_get_effective_limit(u, type, &value);
|
||||
return sd_bus_message_append(reply, "t", value);
|
||||
}
|
||||
--
|
||||
2.35.3
|
||||
|
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>
|
10
baselibs.conf
Normal file
10
baselibs.conf
Normal file
@ -0,0 +1,10 @@
|
||||
#
|
||||
# https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf#Quickstart
|
||||
#
|
||||
systemd
|
||||
supplements "(systemd and pam-<targettype>)"
|
||||
-/lib/systemd/system/
|
||||
-/usr/lib/systemd
|
||||
-/usr/lib/cryptsetup
|
||||
libsystemd0
|
||||
libudev1
|
62
files.container
Normal file
62
files.container
Normal file
@ -0,0 +1,62 @@
|
||||
#
|
||||
# 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
|
||||
%{_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
|
||||
%endif
|
||||
%{_unitdir}/systemd-nspawn@.service
|
||||
|
||||
%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}
|
||||
%{_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}/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
|
23
files.coredump
Normal file
23
files.coredump
Normal file
@ -0,0 +1,23 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_localstatedir}/lib/systemd/coredump
|
||||
%dir %{_sysconfdir}/systemd/coredump.conf.d
|
||||
%{_bindir}/coredumpctl
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/bash-completion/completions/coredumpctl
|
||||
%{_datadir}/zsh/site-functions/_coredumpctl
|
||||
%{_mandir}/man1/coredumpctl.1.gz
|
||||
%{_mandir}/man5/coredump.conf.5.gz
|
||||
%{_mandir}/man5/coredump.conf.d.5.gz
|
||||
%{_mandir}/man8/systemd-coredump.8.gz
|
||||
%{_mandir}/man8/systemd-coredump.socket.8.gz
|
||||
%{_mandir}/man8/systemd-coredump@.service.8.gz
|
||||
%endif
|
||||
%{_sysctldir}/50-coredump.conf
|
||||
%{_systemd_util_dir}/coredump.conf
|
||||
%{_systemd_util_dir}/systemd-coredump
|
||||
%{_sysusersdir}/systemd-coredump.conf
|
||||
%{_unitdir}/sockets.target.wants/systemd-coredump.socket
|
||||
%{_unitdir}/systemd-coredump.socket
|
||||
%{_unitdir}/systemd-coredump@.service
|
788
files.devel
Normal file
788
files.devel
Normal file
@ -0,0 +1,788 @@
|
||||
#
|
||||
# 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
|
||||
%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_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_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_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_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_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
|
84
files.experimental
Normal file
84
files.experimental
Normal file
@ -0,0 +1,84 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_sysconfdir}/systemd/oomd.conf.d
|
||||
%if %{with sd_boot}
|
||||
%dir %{_unitdir}/initrd.target.wants
|
||||
%endif
|
||||
%{_bindir}/oomctl
|
||||
%{_bindir}/systemd-repart
|
||||
%{_datadir}/bash-completion/completions/oomctl
|
||||
%{_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
|
||||
%{_mandir}/man1/oomctl.1.gz
|
||||
%if %{with sd_boot}
|
||||
%{_mandir}/man1/systemd-measure.1.gz
|
||||
%{_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/repart.d.5.gz
|
||||
%{_mandir}/man5/sysupdate.d.5.gz
|
||||
%{_mandir}/man8/systemd-oomd.8.gz
|
||||
%{_mandir}/man8/systemd-oomd.service.8.gz
|
||||
%if %{with sd_boot}
|
||||
%{_mandir}/man8/systemd-pcrfs-root.service.8.gz
|
||||
%{_mandir}/man8/systemd-pcrfs@.service.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.8.gz
|
||||
%{_mandir}/man8/systemd-pcrphase.service.8.gz
|
||||
%endif
|
||||
%{_mandir}/man8/systemd-repart.8.gz
|
||||
%{_mandir}/man8/systemd-repart.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
|
||||
%if %{with sd_boot}
|
||||
%{_prefix}/lib/kernel/install.d/60-ukify.install
|
||||
%endif
|
||||
%{_systemd_util_dir}/oomd.conf
|
||||
%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service
|
||||
%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service
|
||||
%if %{with sd_boot}
|
||||
%{_systemd_util_dir}/systemd-measure
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-oomd
|
||||
%if %{with sd_boot}
|
||||
%{_systemd_util_dir}/systemd-pcrphase
|
||||
%endif
|
||||
%{_systemd_util_dir}/systemd-sysupdate
|
||||
%{_systemd_util_dir}/systemd-userwork
|
||||
%if %{with sd_boot}
|
||||
%{_systemd_util_dir}/ukify
|
||||
%endif
|
||||
%{_sysusersdir}/systemd-oom.conf
|
||||
%if %{with sd_boot}
|
||||
%{_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-pcrmachine.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service
|
||||
%{_unitdir}/sysinit.target.wants/systemd-pcrphase.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-oomd.service
|
||||
%{_unitdir}/systemd-oomd.socket
|
||||
%if %{with sd_boot}
|
||||
%{_unitdir}/systemd-pcrfs-root.service
|
||||
%{_unitdir}/systemd-pcrfs@.service
|
||||
%{_unitdir}/systemd-pcrmachine.service
|
||||
%{_unitdir}/systemd-pcrphase-initrd.service
|
||||
%{_unitdir}/systemd-pcrphase-sysinit.service
|
||||
%{_unitdir}/systemd-pcrphase.service
|
||||
%endif
|
||||
%{_unitdir}/systemd-repart.service
|
||||
%{_unitdir}/systemd-sysupdate-reboot.service
|
||||
%{_unitdir}/systemd-sysupdate-reboot.timer
|
||||
%{_unitdir}/systemd-sysupdate.service
|
||||
%{_unitdir}/systemd-sysupdate.timer
|
23
files.homed
Normal file
23
files.homed
Normal file
@ -0,0 +1,23 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%{_bindir}/homectl
|
||||
%{_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
|
||||
%{_mandir}/man1/homectl.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.service
|
31
files.journal-remote
Normal file
31
files.journal-remote
Normal file
@ -0,0 +1,31 @@
|
||||
#
|
||||
# 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
|
||||
%{_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
|
78
files.network
Normal file
78
files.network
Normal file
@ -0,0 +1,78 @@
|
||||
#
|
||||
# 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
|
||||
%{_bindir}/networkctl
|
||||
%{_datadir}/bash-completion/completions/networkctl
|
||||
%{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.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.network
|
||||
%{_systemd_util_dir}/network/80-container-host0.network
|
||||
%{_systemd_util_dir}/network/80-container-vb.network
|
||||
%{_systemd_util_dir}/network/80-container-ve.network
|
||||
%{_systemd_util_dir}/network/80-container-vz.network
|
||||
%{_systemd_util_dir}/network/80-ethernet.network.example
|
||||
%{_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}/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-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
|
645
files.systemd
Normal file
645
files.systemd
Normal file
@ -0,0 +1,645 @@
|
||||
#
|
||||
# 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/rpm
|
||||
%dir %{_modprobedir}
|
||||
%dir %{_sysconfdir}/X11/xorg.conf.d
|
||||
%dir %{_sysconfdir}/binfmt.d
|
||||
%dir %{_sysconfdir}/sysctl.d
|
||||
%dir %{_sysconfdir}/systemd
|
||||
%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}/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
|
||||
%license LICENSE.GPL2
|
||||
%license LICENSE.LGPL2.1
|
||||
%{_bindir}/busctl
|
||||
%{_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}/timedatectl
|
||||
%if %{without bootstrap}
|
||||
%{_bindir}/userdbctl
|
||||
%{_datadir}/bash-completion/completions/busctl
|
||||
%{_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-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/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}/pkgconfig/systemd.pc
|
||||
%{_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/_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
|
||||
%{_journalcatalogdir}/systemd.catalog
|
||||
%{_libdir}/libnss_myhostname.so.2
|
||||
%{_libdir}/libnss_systemd.so.2
|
||||
%endif
|
||||
%{_libdir}/systemd/libsystemd-core-254.so
|
||||
%{_libdir}/systemd/libsystemd-shared-254.so
|
||||
%if %{without bootstrap}
|
||||
%{_mandir}/man1/busctl.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.1.gz
|
||||
%{_mandir}/man1/timedatectl.1.gz
|
||||
%{_mandir}/man1/userdbctl.1.gz
|
||||
%{_mandir}/man5/binfmt.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}/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/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-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_vendordir}/systemd-user
|
||||
%{_sbindir}/halt
|
||||
%{_sbindir}/init
|
||||
%{_sbindir}/mount.ddi
|
||||
%{_sbindir}/poweroff
|
||||
%{_sbindir}/reboot
|
||||
%{_sbindir}/shutdown
|
||||
%{_sysconfdir}/xdg/systemd/user
|
||||
%{_sysctldir}/99-sysctl.conf
|
||||
%{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator
|
||||
%{_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
|
||||
%{_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
|
||||
%{_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}/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}/quotaon.service
|
||||
%{_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
|
||||
%{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket
|
||||
%{_unitdir}/sockets.target.wants/systemd-journald.socket
|
||||
%{_unitdir}/soft-reboot.target
|
||||
%{_unitdir}/sound.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
|
||||
%{_unitdir}/systemd-exit.service
|
||||
%{_unitdir}/systemd-halt.service
|
||||
%{_unitdir}/systemd-hostnamed.service
|
||||
%{_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-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-soft-reboot.service
|
||||
%{_unitdir}/systemd-sysctl.service
|
||||
%{_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
|
||||
%{xinitconfdir}/xinitrc.d/50-systemd-user.sh
|
||||
%if %{with split_usr}
|
||||
/bin/systemctl
|
||||
/sbin/halt
|
||||
/sbin/init
|
||||
/sbin/poweroff
|
||||
/sbin/reboot
|
||||
/sbin/shutdown
|
||||
%endif
|
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
|
350
files.udev
Normal file
350
files.udev
Normal file
@ -0,0 +1,350 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%config(noreplace) %{_sysconfdir}/udev/udev.conf
|
||||
%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 %{_systemd_util_dir}/network
|
||||
%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
|
||||
%if %{without bootstrap}
|
||||
%{_bindir}/kernel-install
|
||||
%{_bindir}/systemd-cryptenroll
|
||||
%endif
|
||||
%{_bindir}/systemd-hwdb
|
||||
%{_bindir}/udevadm
|
||||
%if %{without bootstrap}
|
||||
%{_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/_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/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/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/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-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-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/v4l_id
|
||||
%{_systemd_util_dir}/network/99-default.link
|
||||
%{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list
|
||||
%{_systemd_util_dir}/pstore.conf
|
||||
%{_systemd_util_dir}/sleep.conf
|
||||
%{_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-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-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
|
||||
%{_unitdir}/remote-cryptsetup.target
|
||||
%{_unitdir}/remote-veritysetup.target
|
||||
%endif
|
||||
%{_unitdir}/sleep.target
|
||||
%{_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
|
||||
%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
|
||||
%{_unitdir}/systemd-firstboot.service
|
||||
%{_unitdir}/systemd-fsck-root.service
|
||||
%{_unitdir}/systemd-fsck@.service
|
||||
%{_unitdir}/systemd-growfs-root.service
|
||||
%{_unitdir}/systemd-growfs@.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.service
|
||||
%{_unitdir}/systemd-random-seed.service
|
||||
%{_unitdir}/systemd-reboot.service
|
||||
%{_unitdir}/systemd-remount-fs.service
|
||||
%{_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-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
|
||||
%if %{without bootstrap}
|
||||
%{_unitdir}/veritysetup-pre.target
|
||||
%{_unitdir}/veritysetup.target
|
||||
%endif
|
||||
%if %{with split_usr}
|
||||
/sbin/udevadm
|
||||
%endif
|
33
files.uefi-boot
Normal file
33
files.uefi-boot
Normal file
@ -0,0 +1,33 @@
|
||||
#
|
||||
# Please keep the list sorted (with `LC_ALL=C sort`).
|
||||
#
|
||||
%dir %{_systemd_util_dir}/boot
|
||||
%dir %{_systemd_util_dir}/boot/efi
|
||||
%{_bindir}/bootctl
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/bash-completion/completions/bootctl
|
||||
%{_datadir}/zsh/site-functions/_bootctl
|
||||
%{_mandir}/man1/bootctl.1.gz
|
||||
%{_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
|
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
|
287
fixlet-systemd-post.sh
Normal file
287
fixlet-systemd-post.sh
Normal file
@ -0,0 +1,287 @@
|
||||
#! /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
|
||||
}
|
||||
|
||||
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
|
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
|
19
systemd-rpmlintrc
Normal file
19
systemd-rpmlintrc
Normal file
@ -0,0 +1,19 @@
|
||||
addFilter(".*filelist-forbidden-systemd-userdirs /etc/systemd/.*\.conf")
|
||||
addFilter(".*dbus-policy-allow-receive")
|
||||
addFilter(".*devel-file-in-non-devel-package.*udev.pc.*")
|
||||
addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*")
|
||||
addFilter(".*missing-call-to-setgroups-before-setuid.*")
|
||||
addFilter(".*systemd-service-without-service.*")
|
||||
addFilter("env-script-interpreter")
|
||||
addFilter(".*files-duplicate /usr/lib/systemd/.*")
|
||||
addFilter(".*files-duplicated-waste.*")
|
||||
addFilter(".*explicit-lib-dependency .*")
|
||||
addFilter(".*tmpfile-not-in-filelist .*")
|
||||
|
||||
# shlib policy does not cover multibuilds
|
||||
addFilter("libsystemd0-mini\..*: E: shlib-policy-name-error SONAME: libsystemd.so.0.*")
|
||||
addFilter("libudev.*-mini\..*: E: shlib-policy-name-error SONAME: libudev.*")
|
||||
|
||||
# These are NSS plugins and are not really subject to shlib policy.
|
||||
addFilter("systemd-container\..*: E: shlib-policy-name-error .* libnss_mymachines")
|
||||
addFilter("systemd-network\..*: E: shlib-policy-name-error .* libnss_resolve")
|
148
systemd-sysv-install
Normal file
148
systemd-sysv-install
Normal file
@ -0,0 +1,148 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script is called by "systemctl enable/disable" when the given unit is a
|
||||
# SysV init.d script. It needs to call the distribution's mechanism for
|
||||
# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This can
|
||||
# optionally take a --root argument for enabling a SysV init script in a chroot
|
||||
# or similar.
|
||||
#
|
||||
# chkconfig(8) and insserv(8) are no more available hence let's do the bare
|
||||
# minimum and create/remove the symlinks for the well known runlevels and
|
||||
# nothing more. Note that we don't take care of enabling/disabling the service
|
||||
# dependencies as the sysv-generator will take care of them for us (openSUSE
|
||||
# specific).
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
usage() {
|
||||
echo >&2 "Usage: $0 [--quiet] [--root=path] enable|disable|is-enabled <sysv script name>"
|
||||
exit 1
|
||||
}
|
||||
|
||||
info() {
|
||||
$quiet || echo "$*"
|
||||
}
|
||||
|
||||
die() {
|
||||
echo >&2 "error: $*, aborting."
|
||||
exit 1
|
||||
}
|
||||
|
||||
declare -A lsb_header
|
||||
|
||||
check_runlevels() {
|
||||
for l in $*; do
|
||||
# Sanity check
|
||||
case $l in
|
||||
0|1|2|3|4|5|6) continue ;;
|
||||
*) return 1
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
load_initscript() {
|
||||
local found_lsb_start_marker=false
|
||||
local found_lsb_end_marker=false
|
||||
|
||||
[ -r $1 ] || die "initscript /etc/init.d/$1 can't be read"
|
||||
|
||||
lsb_header=()
|
||||
|
||||
while read line; do
|
||||
# skip anything that is not a comment
|
||||
[[ "$line" =~ ^# ]] || continue
|
||||
|
||||
if ! $found_lsb_start_marker; then
|
||||
[ "$line" == "### BEGIN INIT INFO" ] &&
|
||||
found_lsb_start_marker=true
|
||||
continue
|
||||
fi
|
||||
|
||||
line=$(echo ${line:1})
|
||||
|
||||
case "$line" in
|
||||
Default-Start:*)
|
||||
levels=$(echo ${line:14})
|
||||
|
||||
check_runlevels $levels ||
|
||||
die "Invalid runlevels specified in $line"
|
||||
|
||||
lsb_header[Default-Start]=$levels
|
||||
;;
|
||||
"## END INIT INFO")
|
||||
found_lsb_end_marker=true
|
||||
break ;;
|
||||
esac
|
||||
done <$1
|
||||
|
||||
$found_lsb_end_marker ||
|
||||
die "malformated LSB header in $1: missing LSB end marker"
|
||||
}
|
||||
|
||||
enable_initscript() {
|
||||
load_initscript $1
|
||||
|
||||
for l in ${lsb_header[Default-Start]}; do
|
||||
symlink="$(pwd)/rc${l}.d/S50$1"
|
||||
|
||||
info "ln -sf ../$1 $symlink"
|
||||
ln -sf ../$1 "$symlink"
|
||||
done
|
||||
}
|
||||
|
||||
disable_initscript() {
|
||||
for symlink in rc*.d/[SK]*; do
|
||||
if [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ]; then
|
||||
info "rm $(pwd)/$symlink"
|
||||
rm $symlink
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
is_initscript_enabled() {
|
||||
for symlink in rc*.d/S*; do
|
||||
[ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] &&
|
||||
return 0
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
root=
|
||||
quiet=false
|
||||
|
||||
# parse options
|
||||
eval set -- "$(getopt --name $(basename $0) -o hqr: --long help,quiet,root: -- "$@")"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-h|--help)
|
||||
usage ;;
|
||||
-r|--root)
|
||||
shift
|
||||
root=$1 ;;
|
||||
-q|--quiet)
|
||||
quiet=true ;;
|
||||
--)
|
||||
shift
|
||||
break ;;
|
||||
*)
|
||||
usage ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
[ $# -eq 2 ] || usage
|
||||
action=$1
|
||||
name=$2
|
||||
|
||||
sysvinit_path=$(realpath -q -e $root/etc/init.d) ||
|
||||
die "$root/etc/init.d: no such file or directory"
|
||||
|
||||
cd $sysvinit_path
|
||||
|
||||
case "$action" in
|
||||
enable) enable_initscript $name ;;
|
||||
disable) disable_initscript $name ;;
|
||||
is-enabled) is_initscript_enabled $name ;;
|
||||
*) usage
|
||||
esac
|
172
systemd-update-helper
Normal file
172
systemd-update-helper
Normal file
@ -0,0 +1,172 @@
|
||||
#!/usr/bin/env bash
|
||||
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# This helper is aimed at being used by the systemd rpm macros only.
|
||||
#
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
command="${1:?}"
|
||||
shift
|
||||
|
||||
command -v systemctl >/dev/null || exit 0
|
||||
|
||||
case "$command" in
|
||||
mark-install-system-units)
|
||||
mkdir -p /run/systemd/rpm/needs-preset
|
||||
|
||||
for unit in "$@" ; do
|
||||
if [ ! -e /usr/lib/systemd/system/"$unit" ]; then
|
||||
touch /run/systemd/rpm/needs-preset/"$unit"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
install-system-units)
|
||||
units=()
|
||||
|
||||
for unit in "$@" ; do
|
||||
if [ -e /run/systemd/rpm/needs-preset/"$unit" ]; then
|
||||
rm /run/systemd/rpm/needs-preset/"$unit"
|
||||
units+=("$unit")
|
||||
fi
|
||||
done
|
||||
|
||||
[ ${#units[*]} -gt 0 ] &&
|
||||
systemctl --no-reload preset "${units[@]}"
|
||||
;;
|
||||
|
||||
mark-install-user-units)
|
||||
mkdir -p /run/systemd/rpm/needs-user-preset
|
||||
|
||||
for unit in "$@" ; do
|
||||
if [ ! -e /usr/lib/systemd/user/"$unit" ]; then
|
||||
touch /run/systemd/rpm/needs-user-preset/"$unit"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
install-user-units)
|
||||
units=()
|
||||
|
||||
for unit in "$@" ; do
|
||||
if [ -e /run/systemd/rpm/needs-user-preset/"$unit" ]; then
|
||||
rm /run/systemd/rpm/needs-user-preset/"$unit"
|
||||
units+=("$unit")
|
||||
fi
|
||||
done
|
||||
|
||||
[ ${#units[*]} -gt 0 ] &&
|
||||
systemctl --no-reload preset --global "$@" || :
|
||||
;;
|
||||
|
||||
remove-system-units)
|
||||
if [ -d /run/systemd/system ]; then
|
||||
systemctl --no-reload disable --now --no-warn "$@"
|
||||
else
|
||||
systemctl --no-reload disable --no-warn "$@"
|
||||
fi
|
||||
;;
|
||||
|
||||
remove-user-units)
|
||||
systemctl --global disable --no-warn "$@"
|
||||
|
||||
[ -d /run/systemd/system ] || exit 0
|
||||
|
||||
users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p')
|
||||
for user in $users; do
|
||||
SYSTEMD_BUS_TIMEOUT=15s \
|
||||
systemctl --user -M "$user@" disable --now --no-warn "$@" &
|
||||
done
|
||||
wait
|
||||
;;
|
||||
|
||||
mark-restart-system-units)
|
||||
[ -d /run/systemd/system ] || exit 0
|
||||
|
||||
for unit in "$@"; do
|
||||
systemctl set-property "$unit" Markers=+needs-restart &
|
||||
done
|
||||
wait
|
||||
;;
|
||||
|
||||
mark-restart-user-units)
|
||||
[ -d /run/systemd/system ] || exit 0
|
||||
|
||||
users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p')
|
||||
for user in $users; do
|
||||
for unit in "$@"; do
|
||||
SYSTEMD_BUS_TIMEOUT=15s \
|
||||
systemctl --user -M "$user@" set-property "$unit" Markers=+needs-restart &
|
||||
done
|
||||
done
|
||||
wait
|
||||
;;
|
||||
|
||||
system-reload-restart|system-reload|system-restart)
|
||||
if [ -n "$*" ]; then
|
||||
echo >&2 "Unexpected arguments for '$command': $*"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
[ -d /run/systemd/system ] || exit 0
|
||||
|
||||
if [[ "$command" =~ reload ]]; then
|
||||
systemctl daemon-reload
|
||||
fi
|
||||
|
||||
if [[ "$command" =~ restart ]]; then
|
||||
systemctl reload-or-restart --marked
|
||||
fi
|
||||
;;
|
||||
|
||||
user-reexec)
|
||||
if [ -n "$*" ]; then
|
||||
echo >&2 "Unexpected arguments for '$command': $*"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
[ -d /run/systemd/system ] || exit 0
|
||||
|
||||
# Reexecute user manager instances (if any). It is asynchronous but it
|
||||
# shouldn't be a problem in practice because systemd main package is not
|
||||
# shipping any user services currently. A problem would arise only if a
|
||||
# new version of a user service relied on an option that would be only
|
||||
# understood by the latest version of the user manager and the user unit
|
||||
# would be restarted before the user manager get reexecuted.
|
||||
systemctl kill --kill-who=main --signal=SIGRTMIN+25 "user@*.service"
|
||||
;;
|
||||
|
||||
user-reload-restart|user-reload|user-restart)
|
||||
if [ -n "$*" ]; then
|
||||
echo >&2 "Unexpected arguments for '$command': $*"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
[ -d /run/systemd/system ] || exit 0
|
||||
|
||||
users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p')
|
||||
|
||||
if [[ "$command" =~ reload ]]; then
|
||||
for user in $users; do
|
||||
SYSTEMD_BUS_TIMEOUT=15s \
|
||||
systemctl --user -M "$user@" daemon-reload &
|
||||
done
|
||||
wait
|
||||
fi
|
||||
|
||||
if [[ "$command" =~ restart ]]; then
|
||||
for user in $users; do
|
||||
SYSTEMD_BUS_TIMEOUT=15s \
|
||||
systemctl --user -M "$user@" reload-or-restart --marked &
|
||||
done
|
||||
wait
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
echo >&2 "Unknown verb '$command'"
|
||||
exit 3
|
||||
;;
|
||||
esac
|
25
systemd-user
Normal file
25
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
|
BIN
systemd-v254.8+suse.22.g67a5ac1043.tar.xz
(Stored with Git LFS)
Normal file
BIN
systemd-v254.8+suse.22.g67a5ac1043.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
13348
systemd.changes
Normal file
13348
systemd.changes
Normal file
File diff suppressed because it is too large
Load Diff
1445
systemd.spec
Normal file
1445
systemd.spec
Normal file
File diff suppressed because it is too large
Load Diff
7
tmpfiles-suse.conf
Normal file
7
tmpfiles-suse.conf
Normal file
@ -0,0 +1,7 @@
|
||||
#
|
||||
# See tmpfiles.d(5) for details
|
||||
#
|
||||
# Type Path Mode User Group Age Argument
|
||||
|
||||
# Legacy symlink. Maybe should be owned by util-linux ?
|
||||
L+ /etc/mtab - - - - ../proc/self/mounts
|
132
triggers.systemd
Normal file
132
triggers.systemd
Normal file
@ -0,0 +1,132 @@
|
||||
# -*- Mode: rpm-spec; indent-tabs-mode: nil -*-
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# This file is part of systemd.
|
||||
# Copyright © 2018 Neal Gompa
|
||||
|
||||
# The contents of this are an example to be copied into systemd.spec.
|
||||
#
|
||||
# Minimum rpm version supported: 4.14.0
|
||||
|
||||
%transfiletriggerin -P 900900 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system
|
||||
-- This script will run after any package is initially installed or
|
||||
-- upgraded. We care about the case where a package is initially
|
||||
-- installed, because other cases are covered by the *un scriptlets,
|
||||
-- so sometimes we will reload needlessly.
|
||||
pid = posix.fork()
|
||||
if pid == 0 then
|
||||
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-reload-restart"))
|
||||
elseif pid > 0 then
|
||||
posix.wait(pid)
|
||||
end
|
||||
|
||||
%transfiletriggerin -P 900899 -p <lua> -- /usr/lib/systemd/user /etc/systemd/user
|
||||
pid = posix.fork()
|
||||
if pid == 0 then
|
||||
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-reload-restart"))
|
||||
elseif pid > 0 then
|
||||
posix.wait(pid)
|
||||
end
|
||||
|
||||
%transfiletriggerpostun -P 1000100 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system
|
||||
-- On removal, we need to run daemon-reload after any units have been
|
||||
-- removed.
|
||||
-- On upgrade, we need to run daemon-reload after any new unit files
|
||||
-- have been installed, but before %postun scripts in packages get
|
||||
-- executed.
|
||||
pid = posix.fork()
|
||||
if pid == 0 then
|
||||
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-reload"))
|
||||
elseif pid > 0 then
|
||||
posix.wait(pid)
|
||||
end
|
||||
|
||||
%transfiletriggerpostun -P 1000100 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system
|
||||
-- Execute daemon-reload in user managers.
|
||||
pid = posix.fork()
|
||||
if pid == 0 then
|
||||
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-reload"))
|
||||
elseif pid > 0 then
|
||||
posix.wait(pid)
|
||||
end
|
||||
|
||||
%transfiletriggerpostun -P 10000 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system
|
||||
-- We restart remaining system services that should be restarted here.
|
||||
pid = posix.fork()
|
||||
if pid == 0 then
|
||||
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-restart"))
|
||||
elseif pid > 0 then
|
||||
posix.wait(pid)
|
||||
end
|
||||
|
||||
%transfiletriggerpostun -P 9999 -p <lua> -- /usr/lib/systemd/user /etc/systemd/user
|
||||
-- We restart remaining user services that should be restarted here.
|
||||
pid = posix.fork()
|
||||
if pid == 0 then
|
||||
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-restart"))
|
||||
elseif pid > 0 then
|
||||
posix.wait(pid)
|
||||
end
|
||||
|
||||
%transfiletriggerin -P 1000700 -p <lua> -- /usr/lib/sysusers.d
|
||||
-- This script will process files installed in /usr/lib/sysusers.d to create
|
||||
-- specified users automatically. The priority is set such that it
|
||||
-- will run before the tmpfiles file trigger.
|
||||
-- Note: /run is never mounted during transactional updates.
|
||||
if posix.access("/run/systemd/system") then
|
||||
assert(rpm.execute("systemd-sysusers"))
|
||||
end
|
||||
|
||||
%if %{without bootstrap}
|
||||
%transfiletriggerin -P 1000700 -n udev -p <lua> -- /usr/lib/udev/hwdb.d
|
||||
-- This script will automatically invoke hwdb update if files have been
|
||||
-- installed or updated in /usr/lib/udev/hwdb.d.
|
||||
assert(rpm.execute("systemd-hwdb", "update"))
|
||||
%endif
|
||||
|
||||
%transfiletriggerin -P 1000700 -p <lua> -- /usr/lib/systemd/catalog
|
||||
-- This script will automatically invoke journal catalog update if files
|
||||
-- have been installed or updated in /usr/lib/systemd/catalog.
|
||||
assert(rpm.execute("journalctl", "--update-catalog"))
|
||||
|
||||
%transfiletriggerin -P 1000700 -p <lua> -- /usr/lib/binfmt.d
|
||||
-- This script will automatically apply binfmt rules if files have been
|
||||
-- installed or updated in /usr/lib/binfmt.d.
|
||||
if posix.access("/run/systemd/system") then
|
||||
pid = posix.fork()
|
||||
if pid == 0 then
|
||||
assert(posix.exec("/usr/lib/systemd/systemd-binfmt"))
|
||||
elseif pid > 0 then
|
||||
posix.wait(pid)
|
||||
end
|
||||
end
|
||||
|
||||
%transfiletriggerin -P 1000600 -p <lua> -- /usr/lib/tmpfiles.d
|
||||
-- This script will process files installed in /usr/lib/tmpfiles.d to create
|
||||
-- tmpfiles automatically. The priority is set such that it will run
|
||||
-- after the sysusers file trigger, but before any other triggers.
|
||||
-- Note: /run is never mounted during transactional updates.
|
||||
if posix.access("/run/systemd/system") then
|
||||
assert(rpm.execute("systemd-tmpfiles", "--create"))
|
||||
end
|
||||
|
||||
%if %{without bootstrap}
|
||||
%transfiletriggerin -P 1000600 -n udev -p <lua> -- /usr/lib/udev/rules.d
|
||||
-- This script will automatically update udev with new rules if files
|
||||
-- have been installed or updated in /usr/lib/udev/rules.d.
|
||||
if posix.access("/run/udev/control") then
|
||||
assert(rpm.execute("udevadm", "control", "--reload"))
|
||||
end
|
||||
%endif
|
||||
|
||||
%transfiletriggerin -P 1000500 -p <lua> -- /usr/lib/sysctl.d
|
||||
-- This script will automatically apply sysctl rules if files have been
|
||||
-- installed or updated in /usr/lib/sysctl.d.
|
||||
if posix.access("/run/systemd/system") then
|
||||
pid = posix.fork()
|
||||
if pid == 0 then
|
||||
assert(posix.exec("/usr/lib/systemd/systemd-sysctl"))
|
||||
elseif pid > 0 then
|
||||
posix.wait(pid)
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user