Accepting request 902866 from Base:System

- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63
  8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL
  d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970

- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401
  aa2d840a3b compat-rules: fix warning: "label ‘out’ defined but not used" in path_id_compat.c
- Restore 61-persistent-storage-compat.rules that was mistakenly
  dropped during the merge of v248.

- Create /run/lock/subsys again (bsc#1187292)
  The creation of this directory was mistakenly dropped when
  'filesystem' package took the initialization of the generic paths
  over.
  Paths under /run/lock are still managed by systemd for lack of
  better place.

- Drop systemd's dependency on udev (jsc#PM-2677)
  In some environments (i.e. containers) udev is usually not necessary
  but pulls in unnecessary packages.

- Now that chkconfig/insserv are history, let's implement the strict
  minimum in systemd-sysv-install to enable/disable SysV init scripts
  (bsc#1186595 bsc#1186359)
  Indeed there's no much point in dropping SysV support completely
  until upstream will do especially since 3rd party applications such
  as vmware still rely on it, see bsc#1186359).

- Allow the sysusers config files shipped by systemd rpms to be
  overriden during system installation (bsc#1171962)
- While at it, add a comment to explain why we don't use

OBS-URL: https://build.opensuse.org/request/show/902866
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=330
This commit is contained in:
Dominique Leuenberger 2021-07-01 05:05:27 +00:00 committed by Git OBS Bridge
commit 0262c46190
13 changed files with 779 additions and 313 deletions

View File

@ -0,0 +1,35 @@
From c9bce1f07276c591d8637dbfc3244ee11e8fa4e1 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Tue, 18 May 2021 11:53:55 +0200
Subject: [PATCH 1/1] Revert "core: prevent excessive /proc/self/mountinfo
parsing"
This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756.
This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756 temporarly until
more investigation is done to find the root cause of
https://github.com/systemd/systemd/issues/19464.
---
src/core/mount.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/core/mount.c b/src/core/mount.c
index ca5d0939a1..2939062161 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -1859,12 +1859,6 @@ static void mount_enumerate(Manager *m) {
goto fail;
}
- r = sd_event_source_set_ratelimit(m->mount_event_source, 1 * USEC_PER_SEC, 5);
- if (r < 0) {
- log_error_errno(r, "Failed to enable rate limit for mount events: %m");
- goto fail;
- }
-
(void) sd_event_source_set_description(m->mount_event_source, "mount-monitor-dispatch");
}
--
2.26.2

View File

@ -1,4 +1,4 @@
From 569f94a86a608fa7a47fef583f3f504ec8223967 Mon Sep 17 00:00:00 2001
From 0eb84d049c77dceeb48724770f89f0fa01557c87 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Fri, 22 Jan 2021 14:57:08 +0100
Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins
@ -61,23 +61,23 @@ drop this feature at any time.
Fixes: #2121
---
src/shared/conf-parser.c | 47 ++++++++++-
src/test/test-conf-parser.c | 151 ++++++++++++++++++++++++++++++++++++
2 files changed, 194 insertions(+), 4 deletions(-)
src/shared/conf-parser.c | 48 ++++++++++--
src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++
2 files changed, 195 insertions(+), 5 deletions(-)
diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
index 7499b3b882..799026626c 100644
index 9dfa190751..b5dee9cbb1 100644
--- a/src/shared/conf-parser.c
+++ b/src/shared/conf-parser.c
@@ -426,6 +426,7 @@ int config_parse(const char *unit,
@@ -428,6 +428,7 @@ int config_parse(
static int config_parse_many_files(
const char *conf_file,
const char* const* conf_files,
+ char **early_files,
char **files,
const char *sections,
ConfigItemLookup lookup,
@@ -438,6 +439,12 @@ static int config_parse_many_files(
@@ -440,6 +441,12 @@ static int config_parse_many_files(
char **fn;
int r;
@ -87,10 +87,10 @@ index 7499b3b882..799026626c 100644
+ return r;
+ }
+
if (conf_file) {
r = config_parse(NULL, conf_file, NULL, sections, lookup, table, flags, userdata, &mtime);
if (r < 0)
@@ -456,6 +463,28 @@ static int config_parse_many_files(
/* First read the first found main config file. */
STRV_FOREACH(fn, (char**) conf_files) {
r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &mtime);
@@ -462,6 +469,28 @@ static int config_parse_many_files(
return 0;
}
@ -119,7 +119,7 @@ index 7499b3b882..799026626c 100644
/* Parse each config file in the directories specified as nulstr. */
int config_parse_many_nulstr(
const char *conf_file,
@@ -467,14 +496,19 @@ int config_parse_many_nulstr(
@@ -473,15 +502,19 @@ int config_parse_many_nulstr(
void *userdata,
usec_t *ret_mtime) {
@ -131,17 +131,18 @@ index 7499b3b882..799026626c 100644
if (r < 0)
return r;
- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime);
- return config_parse_many_files(STRV_MAKE_CONST(conf_file),
- files, sections, lookup, table, flags, userdata,
+ r = config_parse_split_conf_files(files, &early_files, &late_files);
+ if (r < 0)
+ return r;
+
+ return config_parse_many_files(conf_file, early_files, late_files, sections,
+ lookup, table, flags, userdata, ret_mtime);
+ return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files,
+ sections, lookup, table, flags, userdata,
ret_mtime);
}
/* Parse each config file in the directories specified as strv. */
@@ -489,8 +523,8 @@ int config_parse_many(
@@ -497,8 +530,8 @@ int config_parse_many(
void *userdata,
usec_t *ret_mtime) {
@ -151,22 +152,22 @@ index 7499b3b882..799026626c 100644
const char *suffix;
int r;
@@ -503,7 +537,12 @@ int config_parse_many(
@@ -511,7 +544,12 @@ int config_parse_many(
if (r < 0)
return r;
- return config_parse_many_files(conf_file, files, sections, lookup, table, flags, userdata, ret_mtime);
- return config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_mtime);
+ r = config_parse_split_conf_files(files, &early_files, &late_files);
+ if (r < 0)
+ return r;
+
+ return config_parse_many_files(conf_file, early_files, late_files, sections,
+ lookup, table, flags, userdata, ret_mtime);
+ return config_parse_many_files(conf_files, early_files, late_files,
+ sections, lookup, table, flags, userdata, ret_mtime);
}
#define DEFINE_PARSER(type, vartype, conv_func) \
diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c
index 07edc17f92..2df4b073c5 100644
index 5da864347e..77d9f28a79 100644
--- a/src/test/test-conf-parser.c
+++ b/src/test/test-conf-parser.c
@@ -5,6 +5,9 @@
@ -179,7 +180,7 @@ index 07edc17f92..2df4b073c5 100644
#include "string-util.h"
#include "strv.h"
#include "tmpfile-util.h"
@@ -385,6 +388,151 @@ static void test_config_parse(unsigned i, const char *s) {
@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) {
}
}
@ -263,7 +264,8 @@ index 07edc17f92..2df4b073c5 100644
+ NULL,
+ NULL);
+ } else {
+ r = config_parse_many(conf_file, (const char * const*) conf_dirs, "",
+ r = config_parse_many(STRV_MAKE_CONST(conf_file),
+ (const char * const*) conf_dirs, "",
+ "Section\0",
+ config_item_table_lookup, items,
+ CONFIG_PARSE_WARN,
@ -331,7 +333,7 @@ index 07edc17f92..2df4b073c5 100644
int main(int argc, char **argv) {
unsigned i;
@@ -407,5 +555,8 @@ int main(int argc, char **argv) {
@@ -407,5 +556,8 @@ int main(int argc, char **argv) {
for (i = 0; i < ELEMENTSOF(config_file); i++)
test_config_parse(i, config_file[i]);

View File

@ -1,7 +1,7 @@
From f299a8180f1db0680b454c0e37696891361e3067 Mon Sep 17 00:00:00 2001
From 54366ae306ae19bdb2a5af7eb5158260cdc37e8f Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
Date: Tue, 28 May 2013 15:17:35 +0200
Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting
Subject: [PATCH 1/1] strip the domain part from /etc/hostname when setting
system host name
[fbui: fixes bnc#820213]
@ -13,19 +13,17 @@ Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting
possibility was to fix the installer to create a correct
/etc/hostname file. Need to investigate...]
---
src/core/hostname-setup.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
src/shared/hostname-setup.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c
index 6d047db838..1acc0c998b 100644
--- a/src/core/hostname-setup.c
+++ b/src/core/hostname-setup.c
@@ -39,8 +39,16 @@ int hostname_setup(void) {
enoent = true;
diff --git a/src/shared/hostname-setup.c b/src/shared/hostname-setup.c
index 511aa7d031..351d0e761d 100644
--- a/src/shared/hostname-setup.c
+++ b/src/shared/hostname-setup.c
@@ -189,6 +189,13 @@ int hostname_setup(bool really) {
else
log_warning_errno(r, "Failed to read configured hostname: %m");
- } else
+ } else {
} else {
+ char *domain;
+
+ /* SUSE: strip the domain name */
@ -34,10 +32,8 @@ index 6d047db838..1acc0c998b 100644
+ *domain = '\0';
+
hn = b;
+ }
}
if (isempty(hn)) {
source = HOSTNAME_STATIC;
}
--
2.26.2

View File

@ -1,124 +0,0 @@
From b46d43bf980afe13cfff39fc2876aed10f33db1d Mon Sep 17 00:00:00 2001
From: Thomas Blume <Thomas.Blume@suse.com>
Date: Thu, 14 Apr 2016 15:42:02 +0200
Subject: [PATCH 04/12] tmpfiles: support exclude statements based on file
ownership
SUSE supported tmpfile cleanups based on file ownership before systemd.
So this feature needs to be available in systemd.
This was part of fate#314974
[tblume: suse-only patch ported from SLES12-SP1 commit e769a63907ae4b]
[tblume: part of fate#314974]
---
man/tmpfiles.d.xml | 4 +++-
src/tmpfiles/tmpfiles.c | 49 ++++++++++++++++++++++++++++++++---------
2 files changed, 42 insertions(+), 11 deletions(-)
diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml
index b9e9eee96c..b90ae01345 100644
--- a/man/tmpfiles.d.xml
+++ b/man/tmpfiles.d.xml
@@ -605,7 +605,9 @@ w- /proc/sys/vm/swappiness - - - - 10</programlisting></para>
suffixed by a newline. For <varname>C</varname>, specifies the source file or directory. For <varname>t</varname>
and <varname>T</varname>, determines extended attributes to be set. For <varname>a</varname> and
<varname>A</varname>, determines ACL attributes to be set. For <varname>h</varname> and <varname>H</varname>,
- determines the file attributes to set. Ignored for all other lines.</para>
+ determines the file attributes to set. For <varname>x</varname> and <varname>X</varname> a comma separated list
+ of usernames. If given, only paths belonging to these users will be excluded during directory cleanup. Ignored
+ for all other lines.</para>
<para>This field can contain specifiers, see below.</para>
</refsect2>
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 2404e36bf2..349653c786 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -14,6 +14,8 @@
#include <sysexits.h>
#include <time.h>
#include <unistd.h>
+#include <sys/types.h>
+#include <pwd.h>
#include "sd-path.h"
@@ -505,6 +507,7 @@ static int dir_cleanup(
struct stat s;
usec_t age;
_cleanup_free_ char *sub_path = NULL;
+ Item *found;
if (dot_or_dot_dot(dent->d_name))
continue;
@@ -546,15 +549,41 @@ static int dir_cleanup(
goto finish;
}
- /* Is there an item configured for this path? */
- if (ordered_hashmap_get(items, sub_path)) {
- log_debug("Ignoring \"%s\": a separate entry exists.", sub_path);
- continue;
- }
+ /* evaluate username arguments in ignore statements */
+ found = find_glob(globs, sub_path);
- if (find_glob(globs, sub_path)) {
- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path);
- continue;
+ if (i->type == CREATE_DIRECTORY && found && found->argument) {
+ struct passwd *pw;
+ char *userfound = NULL, *args = strdup(found->argument);
+ bool match = false;
+
+ while ((userfound = strsep(&args, ","))) {
+ pw = getpwnam(userfound);
+
+ if (pw) {
+ if (s.st_uid == pw->pw_uid) {
+ match = true;
+ break;
+ }
+ }
+ }
+
+ if (match) {
+ log_debug("Ignoring \"%s\" of user \"%s\".", sub_path, pw->pw_name);
+ match=false;
+ continue;
+ }
+ } else {
+ /* Is there an item configured for this path? */
+ if (ordered_hashmap_get(items, sub_path)) {
+ log_debug("Ignoring \"%s\": a separate entry exists.", sub_path);
+ continue;
+ }
+
+ if (found) {
+ log_debug("Ignoring \"%s\": a separate glob exists.", sub_path);
+ continue;
+ }
}
if (S_ISDIR(s.st_mode)) {
@@ -2637,8 +2666,6 @@ static int parse_line(
case EMPTY_DIRECTORY:
case TRUNCATE_DIRECTORY:
case CREATE_FIFO:
- case IGNORE_PATH:
- case IGNORE_DIRECTORY_PATH:
case REMOVE_PATH:
case RECURSIVE_REMOVE_PATH:
case ADJUST_MODE:
@@ -2649,6 +2676,8 @@ static int parse_line(
break;
+ case IGNORE_PATH:
+ case IGNORE_DIRECTORY_PATH:
case CREATE_FILE:
case TRUNCATE_FILE:
break;
--
2.26.2

View File

@ -1,7 +1,7 @@
From f9521480d5dc5af747fecc9adc4c617e473e5494 Mon Sep 17 00:00:00 2001
From ac7bfed30245145ce68a037e7578da12ce2de009 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Thu, 26 May 2016 08:59:41 +0200
Subject: [PATCH 06/12] sysv-generator: add (back) support for SysV scripts for
Subject: [PATCH 1/1] sysv-generator: add (back) support for SysV scripts for
the early boot
For the record, the upstream support was removed by commit
@ -43,7 +43,7 @@ the same time as 'normal' services.
1 file changed, 23 insertions(+)
diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
index a2c72d1009..1c01008967 100644
index 8c7aef23c3..f88f9119fb 100644
--- a/src/sysv-generator/sysv-generator.c
+++ b/src/sysv-generator/sysv-generator.c
@@ -31,6 +31,9 @@ static const struct {
@ -63,8 +63,8 @@ index a2c72d1009..1c01008967 100644
+ bool early;
} SysvStub;
static void free_sysvstub(SysvStub *s) {
@@ -147,6 +151,12 @@ static int generate_unit_file(SysvStub *s) {
static SysvStub* free_sysvstub(SysvStub *s) {
@@ -146,6 +150,12 @@ static int generate_unit_file(SysvStub *s) {
fprintf(f, "Description=%s\n", t);
}
@ -77,7 +77,7 @@ index a2c72d1009..1c01008967 100644
STRV_FOREACH(p, s->before)
fprintf(f, "Before=%s\n", *p);
STRV_FOREACH(p, s->after)
@@ -213,6 +223,10 @@ static char *sysv_translate_name(const char *name) {
@@ -212,6 +222,10 @@ static char *sysv_translate_name(const char *name) {
_cleanup_free_ char *c = NULL;
char *res;
@ -88,7 +88,7 @@ index a2c72d1009..1c01008967 100644
c = strdup(name);
if (!c)
return NULL;
@@ -289,6 +303,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name,
@@ -288,6 +302,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name,
return 1;
}
@ -100,7 +100,7 @@ index a2c72d1009..1c01008967 100644
/* Strip ".sh" suffix from file name for comparison */
filename_no_sh = strdupa(filename);
e = endswith(filename_no_sh, ".sh");
@@ -676,6 +695,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) {
@@ -674,6 +693,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) {
if (other->sysv_start_priority < 0)
continue;
@ -110,7 +110,7 @@ index a2c72d1009..1c01008967 100644
/* If both units have modern headers we don't care
* about the priorities */
if (s->has_lsb && other->has_lsb)
@@ -800,6 +822,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) {
@@ -798,6 +820,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) {
.sysv_start_priority = -1,
.name = TAKE_PTR(name),
.path = TAKE_PTR(fpath),

View File

@ -1,3 +1,171 @@
-------------------------------------------------------------------
Mon Jun 28 16:45:04 UTC 2021 - Franck Bui <fbui@suse.com>
- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63
8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL
d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970
-------------------------------------------------------------------
Thu Jun 24 13:39:30 UTC 2021 - Franck Bui <fbui@suse.com>
- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401
aa2d840a3b compat-rules: fix warning: "label out defined but not used" in path_id_compat.c
- Restore 61-persistent-storage-compat.rules that was mistakenly
dropped during the merge of v248.
-------------------------------------------------------------------
Fri Jun 18 12:53:34 UTC 2021 - Franck Bui <fbui@suse.com>
- Create /run/lock/subsys again (bsc#1187292)
The creation of this directory was mistakenly dropped when
'filesystem' package took the initialization of the generic paths
over.
Paths under /run/lock are still managed by systemd for lack of
better place.
-------------------------------------------------------------------
Fri Jun 4 13:10:30 UTC 2021 - Franck Bui <fbui@suse.com>
- Drop systemd's dependency on udev (jsc#PM-2677)
In some environments (i.e. containers) udev is usually not necessary
but pulls in unnecessary packages.
-------------------------------------------------------------------
Fri Jun 4 07:32:16 UTC 2021 - Franck Bui <fbui@suse.com>
- Now that chkconfig/insserv are history, let's implement the strict
minimum in systemd-sysv-install to enable/disable SysV init scripts
(bsc#1186595 bsc#1186359)
Indeed there's no much point in dropping SysV support completely
until upstream will do especially since 3rd party applications such
as vmware still rely on it, see bsc#1186359).
-------------------------------------------------------------------
Tue May 25 16:30:40 UTC 2021 - Franck Bui <fbui@suse.com>
- Allow the sysusers config files shipped by systemd rpms to be
overriden during system installation (bsc#1171962)
- While at it, add a comment to explain why we don't use
%sysusers_create in %pre and why it should be safe in %post.
-------------------------------------------------------------------
Thu May 20 20:19:27 UTC 2021 - Franck Bui <fbui@suse.com>
- udev requires systemd in its %post (bsc#1185958)
udevadm, called in udev's %post, requires libsystemd-shared-248.so.
-------------------------------------------------------------------
Thu May 20 18:52:53 UTC 2021 - Franck Bui <fbui@suse.com>
- Restore all "License:" tags
udev uses a different license (GPL-2.0-only) than the main package
and "osc service localrun format_spec_file" has the good taste to
restore the license tags for all other subpackages if one of the
subpackage tag differs.
-------------------------------------------------------------------
Thu May 20 15:47:38 UTC 2021 - Franck Bui <fbui@suse.com>
- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807)
-------------------------------------------------------------------
Wed May 19 06:54:57 UTC 2021 - Franck Bui <fbui@suse.com>
- Spec file minor cleanups:
- Drop all "Group:" tags as they are deprecated.
- Drop "License:" tags from all subpackages and make it inherited
from the main package.
- Drop "%bcond_with parentpathid" as it's not used.
-------------------------------------------------------------------
Tue May 18 18:31:20 UTC 2021 - Franck Bui <fbui@suse.com>
- Introduce subpackage systemd-tests
This subpackage is mainly used before submitting a new version of
the systemd packages. As such it's not intended for regular users
hence can be removed/renamed at any time. One might wonder why the
unit tests are not executed during package builds (%check)... the
reason is that the environment used to build package (chroot) is too
limited and therefore only a subset of the unit tests would be
executed in this environment.
To disable the build of the subpackage, use "--without=tests".
-------------------------------------------------------------------
Tue May 18 10:04:16 UTC 2021 - Franck Bui <fbui@suse.com>
- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch
A temporary patch until
https://github.com/systemd/systemd/issues/19464 is solved.
-------------------------------------------------------------------
Tue May 18 08:19:57 UTC 2021 - Franck Bui <fbui@suse.com>
- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3)
For a complete list of changes, visit:
https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b
-------------------------------------------------------------------
Mon May 10 13:12:56 UTC 2021 - Franck Bui <fbui@suse.com>
- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2)
For a complete list of changes, visit:
https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa
-------------------------------------------------------------------
Mon Apr 26 16:25:38 UTC 2021 - Franck Bui <fbui@suse.com>
- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7)
See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for
details.
- A couple runtime dependencies on libraries are now tracked
manually (with Recommends:) due to the fact that some symbols of
these libs are dynamically loaded with dlopen() (heck!)
- oomd is left disablde for now
- pam configuration file 'systemd-user' is now shipped in
/usr/etc/pam.d
- Rebased 0001-conf-parser-introduce-early-drop-ins.patch
0003-strip-the-domain-part-from-etc-hostname-when-setting.patch
0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch
- Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch
as it is SLE specific.
- Clean systemd-experimental up:
- Enclose "%package/%descriptoin experimental" within a "%if
%experimental/%endif" block condition
- List the build requirements in the sub-package instead of listing
them in the main package.
- Enable support for fido2, pwquality and qrencode in the home
stuff
- Improve the package description
-------------------------------------------------------------------
Wed Apr 7 08:59:15 UTC 2021 - Franck Bui <fbui@suse.com>

View File

@ -26,7 +26,7 @@
##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! #####
%define mini -mini
%define min_kernel_version 4.5
%define suse_version +suse.105.g14581e0120
%define suse_version +suse.30.ge9a23d9e06
%bcond_with gnuefi
%if 0%{?bootstrap}
@ -39,6 +39,7 @@
%bcond_with resolved
%bcond_with sysvcompat
%bcond_with experimental
%bcond_with tests
%else
%bcond_without coredump
%ifarch %{ix86} x86_64
@ -52,16 +53,15 @@
%bcond_without resolved
%bcond_without sysvcompat
%bcond_without experimental
%bcond_without tests
%endif
%bcond_with parentpathid
Name: systemd-mini
URL: http://www.freedesktop.org/wiki/Software/systemd
Version: 246.13
Version: 248.3
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1-or-later
Group: System/Base
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if ! 0%{?bootstrap}
BuildRequires: docbook-xsl-stylesheets
@ -76,6 +76,7 @@ BuildRequires: python3-lxml
BuildRequires: pkgconfig(audit)
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
BuildRequires: pkgconfig(libdw)
BuildRequires: pkgconfig(libfido2)
BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libpcre2-8)
@ -113,10 +114,6 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33
%if %{with gnuefi}
BuildRequires: gnu-efi
%endif
%if %{with experimental}
BuildRequires: pkgconfig(fdisk)
BuildRequires: pkgconfig(openssl)
%endif
%if 0%{?bootstrap}
#!BuildIgnore: dbus-1
@ -128,13 +125,15 @@ Provides: systemd = %{version}-%{release}
Requires: aaa_base >= 13.2
Requires: dbus-1 >= 1.4.0
Requires: kbd
Requires: kmod >= 15
Requires: netcfg >= 11.5
Requires: systemd-default-settings-branding
Requires: systemd-presets-branding
Requires: udev = %{version}-%{release}
Requires: util-linux >= 2.27.1
Requires: group(lock)
# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl
Recommends: libpcre2-8-0
# ditto but dlopen()ed by systemd-cryptenroll
Recommends: libfido2
Requires(post): coreutils
Requires(post): findutils
Requires(post): systemd-presets-branding
@ -175,7 +174,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh
Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch
Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch
Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch
Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch
Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch
Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch
Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch
@ -191,6 +189,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
# upstream and need an urgent fix. Even in this case, the patches are
# temporary and should be removed as soon as a fix is merged by
# upstream.
Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -206,7 +205,6 @@ drop-in replacement for sysvinit.
%package doc
Summary: HTML documentation for systemd
License: LGPL-2.1-or-later
Group: Documentation/Other
Supplements: (systemd and patterns-base-documentation)
%description doc
@ -218,7 +216,6 @@ The HTML documentation for systemd.
%package devel
Summary: Development headers for systemd
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libsystemd0%{?mini} = %{version}-%{release}
Requires: systemd-rpm-macros
%if 0%{?bootstrap}
@ -231,7 +228,6 @@ Development headers and auxiliary files for developing applications for systemd.
%package sysvinit
Summary: System V init tools
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
Provides: sbin_init
Conflicts: otherproviders(sbin_init)
@ -244,7 +240,6 @@ Drop-in replacement of System V init tools.
%package -n libsystemd0%{?mini}
Summary: Component library for systemd
License: LGPL-2.1-or-later
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libsystemd0
Requires: this-is-only-for-build-envs
@ -274,14 +269,14 @@ This library provides several of the systemd C APIs:
%package -n udev%{?mini}
Summary: A rule-based device node and kernel event manager
License: GPL-2.0-only
Group: System/Kernel
URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
Requires: kmod
Requires: system-group-hardware
Requires: group(kvm)
Requires(post): sed
Requires(post): coreutils
Requires(postun): coreutils
Requires(postun): /usr/bin/systemctl
%systemd_requires
Conflicts: filesystem < 11.5
Conflicts: mkinitrd < 2.7.0
@ -307,7 +302,6 @@ call tools to initialize a device, or load needed kernel modules.
%package -n libudev%{?mini}1
Summary: Dynamic library to access udev device information
License: LGPL-2.1-or-later
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libudev1
Conflicts: kiwi
@ -322,7 +316,6 @@ access to udev device information
%package -n libudev%{?mini}-devel
Summary: Development files for libudev
License: LGPL-2.1-or-later
Group: Development/Libraries/Other
Requires: libudev%{?mini}1 = %{version}-%{release}
%if 0%{?bootstrap}
Provides: libudev-devel = %{version}-%{version}
@ -338,7 +331,6 @@ dynamic library, which provides access to udev device information.
%package coredump
Summary: Systemd tools for coredump management
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
Provides: systemd:%{_bindir}/coredumpctl
@ -352,7 +344,6 @@ This package contains systemd-coredump, coredumpctl.
%package container
Summary: Systemd tools for container management
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
Provides: systemd:%{_bindir}/systemd-nspawn
@ -370,8 +361,9 @@ and systemd-importd.
%package network
Summary: Systemd tools for networkd and resolved
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
# This Recommends because some symbols of libidn2 are dlopen()ed by resolved
Recommends: pkgconfig(libidn2)
BuildRequires: pkgconfig(libidn2)
Provides: systemd:/usr/lib/systemd/systemd-networkd
Provides: systemd:/usr/lib/systemd/systemd-resolved
@ -387,7 +379,6 @@ resolver tools for resolved
%package portable
Summary: Systemd tools for portable services
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
@ -407,7 +398,6 @@ https://systemd.io/PORTABLE_SERVICES
%package logger
Summary: Journal only logging
License: LGPL-2.1-or-later
Group: System/Base
Provides: syslog
Provides: sysvinit(syslog)
Requires(post): /usr/bin/systemctl
@ -419,7 +409,6 @@ This package marks the installation to not use syslog but only the journal.
%package -n nss-systemd
Summary: Plugin for local virtual host name resolution
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-systemd
This package contains a plugin for the Name Service Switch (NSS),
@ -432,7 +421,6 @@ To activate this NSS module, you will need to include it in
%package -n nss-myhostname
Summary: Plugin for local system host name resolution
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-myhostname
This package contains a plug-in module for the Name Service Switch
@ -449,7 +437,6 @@ To activate this NSS module, you will need to include it in
%package -n nss-resolve
Summary: Plugin for local hostname resolution via systemd-resolved
License: LGPL-2.1-or-later
Group: System/Libraries
Requires: %{name}-network = %{version}-%{release}
%description -n nss-resolve
@ -466,7 +453,6 @@ To activate this NSS module, you will need to include it in
%package -n nss-mymachines
Summary: Plugin for local virtual host name resolution
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-mymachines
This package contains a plugin for the Name Service Switch (NSS),
@ -483,11 +469,8 @@ To activate this NSS module, you will need to include it in
%package journal-remote
Summary: Gateway for serving journal events over the network using HTTP
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%systemd_requires
%description journal-remote
This extends the journal functionality to keep a copy of logs on a
@ -499,23 +482,61 @@ This package contains systemd-journal-gatewayd,
systemd-journal-remote, and systemd-journal-upload.
%endif
%if %{with tests}
%package tests
Summary: Unit tests for systemd
License: LGPL-2.1-or-later
Requires: %{name} = %{version}-%{release}
Recommends: python3
Recommends: python3-colorama
# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped)
Recommends: dosfstools
%description tests
This package contains the unit tests used to check various internal
functions used by systemd and all its components.
The python script /usr/lib/systemd/tests/run-unit-tests.py can be used
to run all unit tests at once.
%endif
%if %{with experimental}
%package experimental
Summary: Experimental systemd features
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
# These Recommends because some symbols of these libs are dlopen()ed by home stuff
Recommends: libfido2
Recommends: libpwquality1
Recommends: libqrencode4
# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff
BuildRequires: pkgconfig(libfido2)
BuildRequires: pkgconfig(libqrencode)
BuildRequires: pkgconfig(pwquality)
# fdisk and openssl are build requirements for home stuff and repart
BuildRequires: pkgconfig(fdisk)
BuildRequires: pkgconfig(openssl)
%systemd_requires
%description experimental
This package contains optional extra systemd services that are
considered a preview feature. Behaviour details and option names are
subject to change without the usual backwards-compatibility promises.
This package contains optional extra services that are considered as
previews and are provided so users can do early experiments with the
new features or technologies without waiting for them to be fully
supported by either upstream and openSUSE.
Components that turn out to be stable may be merged into the main or a
dedicated package later.
Please note that all services should be considered in development
phase and as such their behaviors details, unit files, option names,
etc... are subject to change without the usual backwards-compatibility
promises.
Use at your own risk.
Components that turn out to be stable and considered as fully
supported will be merged into the main package or moved into a
dedicated package.
The package contains: homed, pstore, repart, userdbd.
Have fun with these services at your own risk.
%endif
%if ! 0%{?bootstrap}
%lang_package
@ -528,6 +549,7 @@ Use at your own risk.
%build
# keep split-usr until all packages have moved their systemd rules to /usr
%meson \
-Dmode=release \
-Dversion-tag=%{version}%{suse_version} \
-Ddocdir=%{_docdir}/systemd \
-Drootprefix=/usr \
@ -535,6 +557,7 @@ Use at your own risk.
-Dsplit-bin=true \
-Dsystem-uid-max=499 \
-Dsystem-gid-max=499 \
-Dpamconfdir=%{_distconfdir}/pam.d \
-Dpamlibdir=%{_pamdir} \
-Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \
-Drpmmacrosdir=no \
@ -550,6 +573,7 @@ Use at your own risk.
-Dsmack=false \
-Dima=false \
-Delfutils=auto \
-Doomd=false \
%if %{with experimental}
-Dpstore=true \
-Drepart=true \
@ -562,16 +586,11 @@ Use at your own risk.
-Duserdb=false \
%endif
%if 0%{?bootstrap}
-Dfdisk=false \
-Dpwquality=false \
-Dp11kit=false \
-Dnss-myhostname=false \
%else
-Dman=true \
-Dhtml=true \
%endif
%if 0%{?bootstrap}
-Dnss-myhostname=false \
%endif
%if %{without coredump}
-Dcoredump=false \
%endif
@ -599,6 +618,13 @@ Use at your own risk.
%if %{without sysvcompat}
-Dsysvinit-path= \
-Dsysvrcnd-path= \
%endif
%if %{with tests}
-Dtests=unsafe \
-Dinstall-tests=true \
%else
-Dtests=false \
-Dinstall-tests=false \
%endif
-Dadm-group=false \
-Dwheel-group=false \
@ -660,8 +686,8 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel
rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants}
rm -f %{buildroot}/etc/systemd/system/default.target
# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one.
install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/
# Replace upstream systemd-user with the openSUSE one.
install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d
# don't enable wall ask password service, it spams every console (bnc#747783)
rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path
@ -838,10 +864,16 @@ fi
pam-config --add --systemd || :
%endif
%sysusers_create %{_sysusersdir}/systemd.conf
# systemd-sysusers is not available in %pre so this needs to be done
# in %post. However this shouldn't be an issue since all files the
# main package ships are owned by root.
%sysusers_create systemd.conf
[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || :
/usr/lib/systemd/systemd-random-seed save || :
systemctl daemon-reexec || :
%journal_catalog_update
%tmpfiles_create
@ -908,7 +940,7 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys
fi
%postun
# daemon-reload is implied by %systemd_postun_with_restart
# daemon-reload is implied by %%systemd_postun_with_restart
%systemd_postun_with_restart systemd-journald.service
%systemd_postun_with_restart systemd-timesyncd.service
# Avoid restarting logind until fixed upstream (issue #1163)
@ -1012,7 +1044,8 @@ fi
%service_add_pre systemd-journal-upload.service
%post journal-remote
%sysusers_create %{_sysusersdir}/systemd-remote.conf
# Assume that all files shipped by systemd-journal-remove are owned by root.
%sysusers_create systemd-remote.conf
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%service_add_post systemd-journal-remote.socket systemd-journal-remote.service
%service_add_post systemd-journal-upload.service
@ -1116,7 +1149,11 @@ fi
%{_bindir}/localectl
%{_bindir}/systemctl
%{_bindir}/systemd-analyze
%if ! 0%{?bootstrap}
%{_bindir}/systemd-cryptenroll
%endif
%{_bindir}/systemd-delta
%{_bindir}/systemd-dissect
%{_bindir}/systemd-escape
%{_bindir}/systemd-firstboot
%{_bindir}/systemd-id128
@ -1126,6 +1163,7 @@ fi
%{_bindir}/systemd-umount
%{_bindir}/systemd-notify
%{_bindir}/systemd-run
%{_bindir}/systemd-sysext
%{_bindir}/journalctl
%{_bindir}/systemd-ask-password
%{_bindir}/loginctl
@ -1166,6 +1204,7 @@ fi
%exclude %{_unitdir}/systemd-udev*.*
%exclude %{_unitdir}/*.target.wants/systemd-udev*.*
%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service
%exclude %{_unitdir}/kmod-static-nodes.service
%exclude %{_unitdir}/systemd-nspawn@.service
%if %{with machined}
%exclude %{_prefix}/lib/systemd/systemd-machined
@ -1262,6 +1301,7 @@ fi
%{_modulesloaddir}
%dir %{_sysusersdir}
%doc %{_sysusersdir}/README
%{_sysusersdir}/systemd.conf
%dir %{_sysconfdir}/tmpfiles.d
@ -1275,6 +1315,7 @@ fi
%dir %{_sysctldir}
%dir %{_sysconfdir}/sysctl.d
%doc %{_sysctldir}/README
%{_sysctldir}/99-sysctl.conf
%dir %{_sysconfdir}/X11/xorg.conf.d
@ -1289,7 +1330,7 @@ fi
%dir %{_distconfdir}/X11/xinit/xinitrc.d
%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
%{_distconfdir}/pam.d/systemd-user
%config(noreplace) %{_sysconfdir}/systemd/journald.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
@ -1313,6 +1354,7 @@ fi
# FIXME: why do we have to own this dir ?
%dir %{_modprobedir}
%doc %{_modprobedir}/README
%{_modprobedir}/systemd.conf
# Some files created at runtime.
@ -1353,6 +1395,7 @@ fi
%{_mandir}/man7/[bdfks]*
%{_mandir}/man8/kern*
%{_mandir}/man8/pam_*
%{_mandir}/man8//rc-local.*
%{_mandir}/man8/systemd-[a-gik-tvx]*
%{_mandir}/man8/systemd-h[aioy]*
%{_mandir}/man8/systemd-journald*
@ -1477,13 +1520,18 @@ fi
%dir %{_prefix}/lib/udev/
%{_prefix}/lib/udev/ata_id
%{_prefix}/lib/udev/cdrom_id
# dmi_memory_id is only relevant on arches with DMI
%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips
%{_prefix}/lib/udev/dmi_memory_id
%endif
%{_prefix}/lib/udev/fido_id
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/path_id_compat
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%ghost %{_prefix}/lib/udev/compat-symlink-generation
%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation
%dir %{_udevrulesdir}/
%doc %{_udevrulesdir}/README
%exclude %{_udevrulesdir}/70-uaccess.rules
%exclude %{_udevrulesdir}/71-seat.rules
%exclude %{_udevrulesdir}/73-seat-late.rules
@ -1504,6 +1552,7 @@ fi
%endif
%dir %{_unitdir}
%{_prefix}/lib/systemd/systemd-udevd
%{_unitdir}/kmod-static-nodes.service
%{_unitdir}/systemd-udev*.service
%{_unitdir}/systemd-udevd*.socket
%{_unitdir}/initrd-udevadm-cleanup-db.service
@ -1696,10 +1745,15 @@ fi
%{_mandir}/man*/systemd-portabled*
%endif
%if %{with tests}
%files tests
%{_prefix}/lib/systemd/tests
%endif
%if %{with experimental}
%files experimental
%defattr(-,root,root)
%config(noreplace) /etc/systemd/pstore.conf
%config(noreplace) %{_sysconfdir}/systemd/pstore.conf
%{_prefix}/lib/systemd/systemd-pstore
%{_unitdir}/systemd-pstore.service
%{_tmpfilesdir}/systemd-pstore.conf
@ -1707,18 +1761,19 @@ fi
%{_bindir}/systemd-repart
%{_unitdir}/systemd-repart.service
%{_mandir}/man*/*repart*
/usr/bin/userdbctl
%{_bindir}/userdbctl
%{_prefix}/lib/systemd/systemd-userwork
%{_prefix}/lib/systemd/systemd-userdbd
%{_unitdir}/systemd-userdbd.service
%{_unitdir}/systemd-userdbd.socket
%{_mandir}/man*/userdbctl*
%{_mandir}/man*/systemd-userdbd*
%config %{_sysconfdir}/homed.conf
%config(noreplace) %{_sysconfdir}/systemd/homed.conf
%{_bindir}/homectl
%{_prefix}/lib/systemd/systemd-homed
%{_prefix}/lib/systemd/systemd-homework
%{_unitdir}/systemd-homed.service
%{_unitdir}/systemd-homed-activate.service
%{_pamdir}/pam_systemd_home.so
%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service
%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf

View File

@ -1,41 +1,148 @@
#!/bin/sh
#!/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/remote 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 "Usage: $0 [--root=path] enable|disable|is-enabled <sysv script name>" >&2
exit 1
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
[ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] && {
info "rm $(pwd)/$symlink"
rm $symlink
}
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 -o r: --long root: -- "$@")"
eval set -- "$(getopt --name $(basename $0) -o hqr: --long help,quiet,root: -- "$@")"
while true; do
case "$1" in
-r|--root)
ROOT="$2"
shift 2 ;;
--) shift ; break ;;
*) usage ;;
esac
case "$1" in
-h|--help)
usage ;;
-r|--root)
shift
root=$1 ;;
-q|--quiet)
quiet=true ;;
--)
shift
break ;;
*)
usage ;;
esac
shift
done
NAME="$2"
[ -n "$NAME" ] || usage
[ $# -eq 2 ] || usage
action=$1
name=$2
case "$1" in
enable)
chkconfig $ROOT --no-systemctl -s "$NAME" on
;;
disable)
chkconfig $ROOT --no-systemctl -s "$NAME" off
;;
is-enabled)
chkconfig $ROOT --no-systemctl -c "$NAME"
;;
*)
usage ;;
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

View File

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

View File

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

View File

@ -1,3 +1,171 @@
-------------------------------------------------------------------
Mon Jun 28 16:45:04 UTC 2021 - Franck Bui <fbui@suse.com>
- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63
8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL
d52409e5fe pid1: only add a Wants= type dependency on /tmp when PrivateTmp=yes (bsc#1181970
-------------------------------------------------------------------
Thu Jun 24 13:39:30 UTC 2021 - Franck Bui <fbui@suse.com>
- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401
aa2d840a3b compat-rules: fix warning: "label out defined but not used" in path_id_compat.c
- Restore 61-persistent-storage-compat.rules that was mistakenly
dropped during the merge of v248.
-------------------------------------------------------------------
Fri Jun 18 12:53:34 UTC 2021 - Franck Bui <fbui@suse.com>
- Create /run/lock/subsys again (bsc#1187292)
The creation of this directory was mistakenly dropped when
'filesystem' package took the initialization of the generic paths
over.
Paths under /run/lock are still managed by systemd for lack of
better place.
-------------------------------------------------------------------
Fri Jun 4 13:10:30 UTC 2021 - Franck Bui <fbui@suse.com>
- Drop systemd's dependency on udev (jsc#PM-2677)
In some environments (i.e. containers) udev is usually not necessary
but pulls in unnecessary packages.
-------------------------------------------------------------------
Fri Jun 4 07:32:16 UTC 2021 - Franck Bui <fbui@suse.com>
- Now that chkconfig/insserv are history, let's implement the strict
minimum in systemd-sysv-install to enable/disable SysV init scripts
(bsc#1186595 bsc#1186359)
Indeed there's no much point in dropping SysV support completely
until upstream will do especially since 3rd party applications such
as vmware still rely on it, see bsc#1186359).
-------------------------------------------------------------------
Tue May 25 16:30:40 UTC 2021 - Franck Bui <fbui@suse.com>
- Allow the sysusers config files shipped by systemd rpms to be
overriden during system installation (bsc#1171962)
- While at it, add a comment to explain why we don't use
%sysusers_create in %pre and why it should be safe in %post.
-------------------------------------------------------------------
Thu May 20 20:19:27 UTC 2021 - Franck Bui <fbui@suse.com>
- udev requires systemd in its %post (bsc#1185958)
udevadm, called in udev's %post, requires libsystemd-shared-248.so.
-------------------------------------------------------------------
Thu May 20 18:52:53 UTC 2021 - Franck Bui <fbui@suse.com>
- Restore all "License:" tags
udev uses a different license (GPL-2.0-only) than the main package
and "osc service localrun format_spec_file" has the good taste to
restore the license tags for all other subpackages if one of the
subpackage tag differs.
-------------------------------------------------------------------
Thu May 20 15:47:38 UTC 2021 - Franck Bui <fbui@suse.com>
- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation (bsc#1185807)
-------------------------------------------------------------------
Wed May 19 06:54:57 UTC 2021 - Franck Bui <fbui@suse.com>
- Spec file minor cleanups:
- Drop all "Group:" tags as they are deprecated.
- Drop "License:" tags from all subpackages and make it inherited
from the main package.
- Drop "%bcond_with parentpathid" as it's not used.
-------------------------------------------------------------------
Tue May 18 18:31:20 UTC 2021 - Franck Bui <fbui@suse.com>
- Introduce subpackage systemd-tests
This subpackage is mainly used before submitting a new version of
the systemd packages. As such it's not intended for regular users
hence can be removed/renamed at any time. One might wonder why the
unit tests are not executed during package builds (%check)... the
reason is that the environment used to build package (chroot) is too
limited and therefore only a subset of the unit tests would be
executed in this environment.
To disable the build of the subpackage, use "--without=tests".
-------------------------------------------------------------------
Tue May 18 10:04:16 UTC 2021 - Franck Bui <fbui@suse.com>
- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch
A temporary patch until
https://github.com/systemd/systemd/issues/19464 is solved.
-------------------------------------------------------------------
Tue May 18 08:19:57 UTC 2021 - Franck Bui <fbui@suse.com>
- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3)
For a complete list of changes, visit:
https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b
-------------------------------------------------------------------
Mon May 10 13:12:56 UTC 2021 - Franck Bui <fbui@suse.com>
- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2)
For a complete list of changes, visit:
https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa
-------------------------------------------------------------------
Mon Apr 26 16:25:38 UTC 2021 - Franck Bui <fbui@suse.com>
- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7)
See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for
details.
- A couple runtime dependencies on libraries are now tracked
manually (with Recommends:) due to the fact that some symbols of
these libs are dynamically loaded with dlopen() (heck!)
- oomd is left disablde for now
- pam configuration file 'systemd-user' is now shipped in
/usr/etc/pam.d
- Rebased 0001-conf-parser-introduce-early-drop-ins.patch
0003-strip-the-domain-part-from-etc-hostname-when-setting.patch
0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch
- Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch
as it is SLE specific.
- Clean systemd-experimental up:
- Enclose "%package/%descriptoin experimental" within a "%if
%experimental/%endif" block condition
- List the build requirements in the sub-package instead of listing
them in the main package.
- Enable support for fido2, pwquality and qrencode in the home
stuff
- Improve the package description
-------------------------------------------------------------------
Wed Apr 7 08:59:15 UTC 2021 - Franck Bui <fbui@suse.com>

View File

@ -24,7 +24,7 @@
%define bootstrap 0
%define mini %nil
%define min_kernel_version 4.5
%define suse_version +suse.105.g14581e0120
%define suse_version +suse.30.ge9a23d9e06
%bcond_with gnuefi
%if 0%{?bootstrap}
@ -37,6 +37,7 @@
%bcond_with resolved
%bcond_with sysvcompat
%bcond_with experimental
%bcond_with tests
%else
%bcond_without coredump
%ifarch %{ix86} x86_64
@ -50,16 +51,15 @@
%bcond_without resolved
%bcond_without sysvcompat
%bcond_without experimental
%bcond_without tests
%endif
%bcond_with parentpathid
Name: systemd
URL: http://www.freedesktop.org/wiki/Software/systemd
Version: 246.13
Version: 248.3
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1-or-later
Group: System/Base
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if ! 0%{?bootstrap}
BuildRequires: docbook-xsl-stylesheets
@ -74,6 +74,7 @@ BuildRequires: python3-lxml
BuildRequires: pkgconfig(audit)
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
BuildRequires: pkgconfig(libdw)
BuildRequires: pkgconfig(libfido2)
BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libpcre2-8)
@ -111,10 +112,6 @@ BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33
%if %{with gnuefi}
BuildRequires: gnu-efi
%endif
%if %{with experimental}
BuildRequires: pkgconfig(fdisk)
BuildRequires: pkgconfig(openssl)
%endif
%if 0%{?bootstrap}
#!BuildIgnore: dbus-1
@ -126,13 +123,15 @@ Provides: systemd = %{version}-%{release}
Requires: aaa_base >= 13.2
Requires: dbus-1 >= 1.4.0
Requires: kbd
Requires: kmod >= 15
Requires: netcfg >= 11.5
Requires: systemd-default-settings-branding
Requires: systemd-presets-branding
Requires: udev = %{version}-%{release}
Requires: util-linux >= 2.27.1
Requires: group(lock)
# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl
Recommends: libpcre2-8-0
# ditto but dlopen()ed by systemd-cryptenroll
Recommends: libfido2
Requires(post): coreutils
Requires(post): findutils
Requires(post): systemd-presets-branding
@ -173,7 +172,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh
Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch
Patch2: 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch
Patch3: 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch
Patch4: 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch
Patch5: 0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch
Patch6: 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch
Patch7: 0007-networkd-make-network.service-an-alias-of-systemd-ne.patch
@ -189,6 +187,7 @@ Patch12: 0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
# upstream and need an urgent fix. Even in this case, the patches are
# temporary and should be removed as soon as a fix is merged by
# upstream.
Patch100: 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -204,7 +203,6 @@ drop-in replacement for sysvinit.
%package doc
Summary: HTML documentation for systemd
License: LGPL-2.1-or-later
Group: Documentation/Other
Supplements: (systemd and patterns-base-documentation)
%description doc
@ -216,7 +214,6 @@ The HTML documentation for systemd.
%package devel
Summary: Development headers for systemd
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libsystemd0%{?mini} = %{version}-%{release}
Requires: systemd-rpm-macros
%if 0%{?bootstrap}
@ -229,7 +226,6 @@ Development headers and auxiliary files for developing applications for systemd.
%package sysvinit
Summary: System V init tools
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
Provides: sbin_init
Conflicts: otherproviders(sbin_init)
@ -242,7 +238,6 @@ Drop-in replacement of System V init tools.
%package -n libsystemd0%{?mini}
Summary: Component library for systemd
License: LGPL-2.1-or-later
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libsystemd0
Requires: this-is-only-for-build-envs
@ -272,14 +267,14 @@ This library provides several of the systemd C APIs:
%package -n udev%{?mini}
Summary: A rule-based device node and kernel event manager
License: GPL-2.0-only
Group: System/Kernel
URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
Requires: kmod
Requires: system-group-hardware
Requires: group(kvm)
Requires(post): sed
Requires(post): coreutils
Requires(postun): coreutils
Requires(postun): /usr/bin/systemctl
%systemd_requires
Conflicts: filesystem < 11.5
Conflicts: mkinitrd < 2.7.0
@ -305,7 +300,6 @@ call tools to initialize a device, or load needed kernel modules.
%package -n libudev%{?mini}1
Summary: Dynamic library to access udev device information
License: LGPL-2.1-or-later
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libudev1
Conflicts: kiwi
@ -320,7 +314,6 @@ access to udev device information
%package -n libudev%{?mini}-devel
Summary: Development files for libudev
License: LGPL-2.1-or-later
Group: Development/Libraries/Other
Requires: libudev%{?mini}1 = %{version}-%{release}
%if 0%{?bootstrap}
Provides: libudev-devel = %{version}-%{version}
@ -336,7 +329,6 @@ dynamic library, which provides access to udev device information.
%package coredump
Summary: Systemd tools for coredump management
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
Provides: systemd:%{_bindir}/coredumpctl
@ -350,7 +342,6 @@ This package contains systemd-coredump, coredumpctl.
%package container
Summary: Systemd tools for container management
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
Provides: systemd:%{_bindir}/systemd-nspawn
@ -368,8 +359,9 @@ and systemd-importd.
%package network
Summary: Systemd tools for networkd and resolved
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
# This Recommends because some symbols of libidn2 are dlopen()ed by resolved
Recommends: pkgconfig(libidn2)
BuildRequires: pkgconfig(libidn2)
Provides: systemd:/usr/lib/systemd/systemd-networkd
Provides: systemd:/usr/lib/systemd/systemd-resolved
@ -385,7 +377,6 @@ resolver tools for resolved
%package portable
Summary: Systemd tools for portable services
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
%systemd_requires
@ -405,7 +396,6 @@ https://systemd.io/PORTABLE_SERVICES
%package logger
Summary: Journal only logging
License: LGPL-2.1-or-later
Group: System/Base
Provides: syslog
Provides: sysvinit(syslog)
Requires(post): /usr/bin/systemctl
@ -417,7 +407,6 @@ This package marks the installation to not use syslog but only the journal.
%package -n nss-systemd
Summary: Plugin for local virtual host name resolution
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-systemd
This package contains a plugin for the Name Service Switch (NSS),
@ -430,7 +419,6 @@ To activate this NSS module, you will need to include it in
%package -n nss-myhostname
Summary: Plugin for local system host name resolution
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-myhostname
This package contains a plug-in module for the Name Service Switch
@ -447,7 +435,6 @@ To activate this NSS module, you will need to include it in
%package -n nss-resolve
Summary: Plugin for local hostname resolution via systemd-resolved
License: LGPL-2.1-or-later
Group: System/Libraries
Requires: %{name}-network = %{version}-%{release}
%description -n nss-resolve
@ -464,7 +451,6 @@ To activate this NSS module, you will need to include it in
%package -n nss-mymachines
Summary: Plugin for local virtual host name resolution
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n nss-mymachines
This package contains a plugin for the Name Service Switch (NSS),
@ -481,11 +467,8 @@ To activate this NSS module, you will need to include it in
%package journal-remote
Summary: Gateway for serving journal events over the network using HTTP
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%systemd_requires
%description journal-remote
This extends the journal functionality to keep a copy of logs on a
@ -497,23 +480,61 @@ This package contains systemd-journal-gatewayd,
systemd-journal-remote, and systemd-journal-upload.
%endif
%if %{with tests}
%package tests
Summary: Unit tests for systemd
License: LGPL-2.1-or-later
Requires: %{name} = %{version}-%{release}
Recommends: python3
Recommends: python3-colorama
# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped)
Recommends: dosfstools
%description tests
This package contains the unit tests used to check various internal
functions used by systemd and all its components.
The python script /usr/lib/systemd/tests/run-unit-tests.py can be used
to run all unit tests at once.
%endif
%if %{with experimental}
%package experimental
Summary: Experimental systemd features
License: LGPL-2.1-or-later
Group: System/Base
Requires: %{name} = %{version}-%{release}
# These Recommends because some symbols of these libs are dlopen()ed by home stuff
Recommends: libfido2
Recommends: libpwquality1
Recommends: libqrencode4
# libfido2, libpwquality1 and libqrencode4 are build requirements for home stuff
BuildRequires: pkgconfig(libfido2)
BuildRequires: pkgconfig(libqrencode)
BuildRequires: pkgconfig(pwquality)
# fdisk and openssl are build requirements for home stuff and repart
BuildRequires: pkgconfig(fdisk)
BuildRequires: pkgconfig(openssl)
%systemd_requires
%description experimental
This package contains optional extra systemd services that are
considered a preview feature. Behaviour details and option names are
subject to change without the usual backwards-compatibility promises.
This package contains optional extra services that are considered as
previews and are provided so users can do early experiments with the
new features or technologies without waiting for them to be fully
supported by either upstream and openSUSE.
Components that turn out to be stable may be merged into the main or a
dedicated package later.
Please note that all services should be considered in development
phase and as such their behaviors details, unit files, option names,
etc... are subject to change without the usual backwards-compatibility
promises.
Use at your own risk.
Components that turn out to be stable and considered as fully
supported will be merged into the main package or moved into a
dedicated package.
The package contains: homed, pstore, repart, userdbd.
Have fun with these services at your own risk.
%endif
%if ! 0%{?bootstrap}
%lang_package
@ -526,6 +547,7 @@ Use at your own risk.
%build
# keep split-usr until all packages have moved their systemd rules to /usr
%meson \
-Dmode=release \
-Dversion-tag=%{version}%{suse_version} \
-Ddocdir=%{_docdir}/systemd \
-Drootprefix=/usr \
@ -533,6 +555,7 @@ Use at your own risk.
-Dsplit-bin=true \
-Dsystem-uid-max=499 \
-Dsystem-gid-max=499 \
-Dpamconfdir=%{_distconfdir}/pam.d \
-Dpamlibdir=%{_pamdir} \
-Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \
-Drpmmacrosdir=no \
@ -548,6 +571,7 @@ Use at your own risk.
-Dsmack=false \
-Dima=false \
-Delfutils=auto \
-Doomd=false \
%if %{with experimental}
-Dpstore=true \
-Drepart=true \
@ -560,16 +584,11 @@ Use at your own risk.
-Duserdb=false \
%endif
%if 0%{?bootstrap}
-Dfdisk=false \
-Dpwquality=false \
-Dp11kit=false \
-Dnss-myhostname=false \
%else
-Dman=true \
-Dhtml=true \
%endif
%if 0%{?bootstrap}
-Dnss-myhostname=false \
%endif
%if %{without coredump}
-Dcoredump=false \
%endif
@ -597,6 +616,13 @@ Use at your own risk.
%if %{without sysvcompat}
-Dsysvinit-path= \
-Dsysvrcnd-path= \
%endif
%if %{with tests}
-Dtests=unsafe \
-Dinstall-tests=true \
%else
-Dtests=false \
-Dinstall-tests=false \
%endif
-Dadm-group=false \
-Dwheel-group=false \
@ -658,8 +684,8 @@ ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel
rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants}
rm -f %{buildroot}/etc/systemd/system/default.target
# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one.
install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/
# Replace upstream systemd-user with the openSUSE one.
install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d
# don't enable wall ask password service, it spams every console (bnc#747783)
rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path
@ -836,10 +862,16 @@ fi
pam-config --add --systemd || :
%endif
%sysusers_create %{_sysusersdir}/systemd.conf
# systemd-sysusers is not available in %pre so this needs to be done
# in %post. However this shouldn't be an issue since all files the
# main package ships are owned by root.
%sysusers_create systemd.conf
[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || :
/usr/lib/systemd/systemd-random-seed save || :
systemctl daemon-reexec || :
%journal_catalog_update
%tmpfiles_create
@ -906,7 +938,7 @@ if [ "$(readlink -f %{_sysconfdir}/systemd/system/tmp.mount)" = "%{_datadir}/sys
fi
%postun
# daemon-reload is implied by %systemd_postun_with_restart
# daemon-reload is implied by %%systemd_postun_with_restart
%systemd_postun_with_restart systemd-journald.service
%systemd_postun_with_restart systemd-timesyncd.service
# Avoid restarting logind until fixed upstream (issue #1163)
@ -1010,7 +1042,8 @@ fi
%service_add_pre systemd-journal-upload.service
%post journal-remote
%sysusers_create %{_sysusersdir}/systemd-remote.conf
# Assume that all files shipped by systemd-journal-remove are owned by root.
%sysusers_create systemd-remote.conf
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%service_add_post systemd-journal-remote.socket systemd-journal-remote.service
%service_add_post systemd-journal-upload.service
@ -1114,7 +1147,11 @@ fi
%{_bindir}/localectl
%{_bindir}/systemctl
%{_bindir}/systemd-analyze
%if ! 0%{?bootstrap}
%{_bindir}/systemd-cryptenroll
%endif
%{_bindir}/systemd-delta
%{_bindir}/systemd-dissect
%{_bindir}/systemd-escape
%{_bindir}/systemd-firstboot
%{_bindir}/systemd-id128
@ -1124,6 +1161,7 @@ fi
%{_bindir}/systemd-umount
%{_bindir}/systemd-notify
%{_bindir}/systemd-run
%{_bindir}/systemd-sysext
%{_bindir}/journalctl
%{_bindir}/systemd-ask-password
%{_bindir}/loginctl
@ -1164,6 +1202,7 @@ fi
%exclude %{_unitdir}/systemd-udev*.*
%exclude %{_unitdir}/*.target.wants/systemd-udev*.*
%exclude %{_unitdir}/initrd-udevadm-cleanup-db.service
%exclude %{_unitdir}/kmod-static-nodes.service
%exclude %{_unitdir}/systemd-nspawn@.service
%if %{with machined}
%exclude %{_prefix}/lib/systemd/systemd-machined
@ -1260,6 +1299,7 @@ fi
%{_modulesloaddir}
%dir %{_sysusersdir}
%doc %{_sysusersdir}/README
%{_sysusersdir}/systemd.conf
%dir %{_sysconfdir}/tmpfiles.d
@ -1273,6 +1313,7 @@ fi
%dir %{_sysctldir}
%dir %{_sysconfdir}/sysctl.d
%doc %{_sysctldir}/README
%{_sysctldir}/99-sysctl.conf
%dir %{_sysconfdir}/X11/xorg.conf.d
@ -1287,7 +1328,7 @@ fi
%dir %{_distconfdir}/X11/xinit/xinitrc.d
%{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
%{_distconfdir}/pam.d/systemd-user
%config(noreplace) %{_sysconfdir}/systemd/journald.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
@ -1311,6 +1352,7 @@ fi
# FIXME: why do we have to own this dir ?
%dir %{_modprobedir}
%doc %{_modprobedir}/README
%{_modprobedir}/systemd.conf
# Some files created at runtime.
@ -1351,6 +1393,7 @@ fi
%{_mandir}/man7/[bdfks]*
%{_mandir}/man8/kern*
%{_mandir}/man8/pam_*
%{_mandir}/man8//rc-local.*
%{_mandir}/man8/systemd-[a-gik-tvx]*
%{_mandir}/man8/systemd-h[aioy]*
%{_mandir}/man8/systemd-journald*
@ -1475,13 +1518,18 @@ fi
%dir %{_prefix}/lib/udev/
%{_prefix}/lib/udev/ata_id
%{_prefix}/lib/udev/cdrom_id
# dmi_memory_id is only relevant on arches with DMI
%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips
%{_prefix}/lib/udev/dmi_memory_id
%endif
%{_prefix}/lib/udev/fido_id
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/path_id_compat
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%ghost %{_prefix}/lib/udev/compat-symlink-generation
%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation
%dir %{_udevrulesdir}/
%doc %{_udevrulesdir}/README
%exclude %{_udevrulesdir}/70-uaccess.rules
%exclude %{_udevrulesdir}/71-seat.rules
%exclude %{_udevrulesdir}/73-seat-late.rules
@ -1502,6 +1550,7 @@ fi
%endif
%dir %{_unitdir}
%{_prefix}/lib/systemd/systemd-udevd
%{_unitdir}/kmod-static-nodes.service
%{_unitdir}/systemd-udev*.service
%{_unitdir}/systemd-udevd*.socket
%{_unitdir}/initrd-udevadm-cleanup-db.service
@ -1694,10 +1743,15 @@ fi
%{_mandir}/man*/systemd-portabled*
%endif
%if %{with tests}
%files tests
%{_prefix}/lib/systemd/tests
%endif
%if %{with experimental}
%files experimental
%defattr(-,root,root)
%config(noreplace) /etc/systemd/pstore.conf
%config(noreplace) %{_sysconfdir}/systemd/pstore.conf
%{_prefix}/lib/systemd/systemd-pstore
%{_unitdir}/systemd-pstore.service
%{_tmpfilesdir}/systemd-pstore.conf
@ -1705,18 +1759,19 @@ fi
%{_bindir}/systemd-repart
%{_unitdir}/systemd-repart.service
%{_mandir}/man*/*repart*
/usr/bin/userdbctl
%{_bindir}/userdbctl
%{_prefix}/lib/systemd/systemd-userwork
%{_prefix}/lib/systemd/systemd-userdbd
%{_unitdir}/systemd-userdbd.service
%{_unitdir}/systemd-userdbd.socket
%{_mandir}/man*/userdbctl*
%{_mandir}/man*/systemd-userdbd*
%config %{_sysconfdir}/homed.conf
%config(noreplace) %{_sysconfdir}/systemd/homed.conf
%{_bindir}/homectl
%{_prefix}/lib/systemd/systemd-homed
%{_prefix}/lib/systemd/systemd-homework
%{_unitdir}/systemd-homed.service
%{_unitdir}/systemd-homed-activate.service
%{_pamdir}/pam_systemd_home.so
%{_datadir}/dbus-1/system-services/org.freedesktop.home1.service
%{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf

View File

@ -9,6 +9,10 @@ L+ /etc/mtab - - - - ../proc/self/mounts
# FIXME: Might be moved to lockded.
d /run/lock 0775 root lock -
# /run/lock/subsys is used for serializing SysV service execution, and
# hence without use on SysV-less systems.
d /run/lock/subsys 0755 root root -
# FIXME: Should these one be moved to shadow ?
f /var/log/wtmp 0664 root utmp -
f /var/log/btmp 0660 root utmp -