forked from pool/systemd
Accepting request 81718 from Base:System
- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: remove insserv.conf parsing from systemd and use generator instead. - put back default.target creation at package install and remove inittab generator, Yast2 is now able to create it. - Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: remove insserv.conf parsing from systemd and use generator instead. - put back default.target creation at package install and remove inittab generator, Yast2 is now able to create it. (forwarded request 81717 from fcrozat) OBS-URL: https://build.opensuse.org/request/show/81718 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=65
This commit is contained in:
parent
46e2c8a613
commit
27ab9ee58f
103
revert_insserv_conf_parsing.patch
Normal file
103
revert_insserv_conf_parsing.patch
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
From b0ff66c6e92ca9d9458f3236ee37397635bb0f0e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Frederic Crozat <fcrozat@suse.com>
|
||||||
|
Date: Fri, 9 Sep 2011 11:19:26 +0200
|
||||||
|
Subject: [PATCH] Revert "service: parse insserv.conf and plugs its system facilities into systemd."
|
||||||
|
|
||||||
|
Let's use a generator instead
|
||||||
|
|
||||||
|
This reverts commit de3910a324aefcb15c26be27033d6917494e5946.
|
||||||
|
---
|
||||||
|
src/service.c | 70 ---------------------------------------------------------
|
||||||
|
1 files changed, 0 insertions(+), 70 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/service.c b/src/service.c
|
||||||
|
index abd8f36..37cb0bc 100644
|
||||||
|
--- a/src/service.c
|
||||||
|
+++ b/src/service.c
|
||||||
|
@@ -2969,72 +2969,6 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) {
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_SYSV_COMPAT
|
||||||
|
-
|
||||||
|
-#ifdef TARGET_SUSE
|
||||||
|
-static void sysv_facility_in_insserv_conf(Manager *mgr) {
|
||||||
|
- FILE *f=NULL;
|
||||||
|
- int r;
|
||||||
|
-
|
||||||
|
- if (!(f = fopen("/etc/insserv.conf", "re"))) {
|
||||||
|
- r = errno == ENOENT ? 0 : -errno;
|
||||||
|
- goto finish;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- while (!feof(f)) {
|
||||||
|
- char l[LINE_MAX], *t;
|
||||||
|
- char **parsed = NULL;
|
||||||
|
-
|
||||||
|
- if (!fgets(l, sizeof(l), f)) {
|
||||||
|
- if (feof(f))
|
||||||
|
- break;
|
||||||
|
-
|
||||||
|
- r = -errno;
|
||||||
|
- log_error("Failed to read configuration file '/etc/insserv.conf': %s", strerror(-r));
|
||||||
|
- goto finish;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- t = strstrip(l);
|
||||||
|
- if (*t != '$' && *t != '<')
|
||||||
|
- continue;
|
||||||
|
-
|
||||||
|
- parsed = strv_split(t,WHITESPACE);
|
||||||
|
- /* we ignore <interactive>, not used, equivalent to X-Interactive */
|
||||||
|
- if (parsed && !startswith_no_case (parsed[0], "<interactive>")) {
|
||||||
|
- char *facility;
|
||||||
|
- Unit *u;
|
||||||
|
- if (sysv_translate_facility(parsed[0], NULL, &facility) < 0)
|
||||||
|
- continue;
|
||||||
|
- if ((u = manager_get_unit(mgr, facility)) && (u->meta.type == UNIT_TARGET)) {
|
||||||
|
- UnitDependency e;
|
||||||
|
- char *dep = NULL, *name, **j;
|
||||||
|
-
|
||||||
|
- STRV_FOREACH (j, parsed+1) {
|
||||||
|
- if (*j[0]=='+') {
|
||||||
|
- e = UNIT_WANTS;
|
||||||
|
- name = *j+1;
|
||||||
|
- }
|
||||||
|
- else {
|
||||||
|
- e = UNIT_REQUIRES;
|
||||||
|
- name = *j;
|
||||||
|
- }
|
||||||
|
- if (sysv_translate_facility(name, NULL, &dep) < 0)
|
||||||
|
- continue;
|
||||||
|
-
|
||||||
|
- r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, e, dep, NULL, true);
|
||||||
|
- free(dep);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- free(facility);
|
||||||
|
- }
|
||||||
|
- strv_free(parsed);
|
||||||
|
- }
|
||||||
|
-finish:
|
||||||
|
- if (f)
|
||||||
|
- fclose(f);
|
||||||
|
-
|
||||||
|
-}
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
static int service_enumerate(Manager *m) {
|
||||||
|
char **p;
|
||||||
|
unsigned i;
|
||||||
|
@@ -3183,10 +3117,6 @@ static int service_enumerate(Manager *m) {
|
||||||
|
|
||||||
|
r = 0;
|
||||||
|
|
||||||
|
-#ifdef TARGET_SUSE
|
||||||
|
- sysv_facility_in_insserv_conf (m);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
finish:
|
||||||
|
free(path);
|
||||||
|
free(fpath);
|
||||||
|
--
|
||||||
|
1.7.3.4
|
||||||
|
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com
|
||||||
|
|
||||||
|
- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf:
|
||||||
|
remove insserv.conf parsing from systemd and use generator
|
||||||
|
instead.
|
||||||
|
- put back default.target creation at package install and remove
|
||||||
|
inittab generator, Yast2 is now able to create it.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com
|
Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com
|
||||||
|
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Try to read default runlevel from the old inittab if it exists
|
|
||||||
runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
|
|
||||||
if [ -n "$runlevel" -a -e /lib/systemd/system/runlevel$runlevel.target ] ; then
|
|
||||||
/bin/ln -sf /lib/systemd/system/runlevel$runlevel.target $1/default.target 2>&1 && exit 0
|
|
||||||
fi
|
|
||||||
#failsafe
|
|
||||||
/bin/ln -sf /lib/systemd/system/graphical.target $1/default.target
|
|
34
systemd-insserv_conf
Normal file
34
systemd-insserv_conf
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
[ -r /etc/insserv.conf ] || exit 0
|
||||||
|
|
||||||
|
declare -A facilities
|
||||||
|
facilities["local_fs"]="local-fs.target"
|
||||||
|
facilities["localfs"]="local-fs.target"
|
||||||
|
facilities["named"]="nss-lookup.target"
|
||||||
|
facilities["network"]="network.target"
|
||||||
|
# done in systemd code
|
||||||
|
#facilities["portmap"]="rpcbind.target"
|
||||||
|
facilities["remote_fs"]="remote-fs.target"
|
||||||
|
facilities["syslog"]="syslog.target"
|
||||||
|
facilities["time"]="time-sync.target"
|
||||||
|
|
||||||
|
while read line ; do
|
||||||
|
case "$line" in
|
||||||
|
\#*|"" ) continue;;
|
||||||
|
\<* ) continue;;
|
||||||
|
\$*) t=${line%% *}
|
||||||
|
target=${facilities[${t:1}]}
|
||||||
|
[ -z $target ] && continue
|
||||||
|
mkdir -p $1/$target.{requires,wants}
|
||||||
|
for dep in ${line##* } ; do
|
||||||
|
stripped_dep=${dep/boot./}
|
||||||
|
case "$stripped_dep" in
|
||||||
|
+*) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:2}]:-${stripped_dep:1}.service} $1/$target.wants/ ;;
|
||||||
|
*) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:1}]:-${stripped_dep}.service} $1/$target.wants/ ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done < /etc/insserv.conf
|
||||||
|
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com
|
||||||
|
|
||||||
|
- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf:
|
||||||
|
remove insserv.conf parsing from systemd and use generator
|
||||||
|
instead.
|
||||||
|
- put back default.target creation at package install and remove
|
||||||
|
inittab generator, Yast2 is now able to create it.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com
|
Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com
|
||||||
|
|
||||||
|
13
systemd.spec
13
systemd.spec
@ -51,12 +51,13 @@ Source1: systemd-rpmlintrc
|
|||||||
Source2: localfs.service
|
Source2: localfs.service
|
||||||
Source3: systemd-sysv-convert
|
Source3: systemd-sysv-convert
|
||||||
Source4: macros.systemd
|
Source4: macros.systemd
|
||||||
Source5: systemd-inittab
|
Source5: systemd-insserv_conf
|
||||||
Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch
|
Patch1: 0001-Add-bootsplash-handling-for-password-dialogs.patch
|
||||||
# handle SUSE specific kbd settings
|
# handle SUSE specific kbd settings
|
||||||
Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch
|
Patch6: 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch
|
||||||
# don't start getty on tty1 until all password request are done
|
# don't start getty on tty1 until all password request are done
|
||||||
Patch8: tty1.patch
|
Patch8: tty1.patch
|
||||||
|
Patch10: revert_insserv_conf_parsing.patch
|
||||||
|
|
||||||
# Upstream First - Policy:
|
# Upstream First - Policy:
|
||||||
# Never add any patches to this package without the upstream commit id
|
# Never add any patches to this package without the upstream commit id
|
||||||
@ -100,7 +101,6 @@ Drop-in replacement of System V init tools.
|
|||||||
|
|
||||||
%package plymouth
|
%package plymouth
|
||||||
|
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
Summary: Plymouth support for systemd
|
Summary: Plymouth support for systemd
|
||||||
@ -117,6 +117,7 @@ Plymouth integration for systemd
|
|||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
|
%patch10 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -fiv
|
autoreconf -fiv
|
||||||
@ -149,7 +150,6 @@ ln -s ../bin/systemctl %{buildroot}/sbin/telinit
|
|||||||
ln -s ../bin/systemctl %{buildroot}/sbin/runlevel
|
ln -s ../bin/systemctl %{buildroot}/sbin/runlevel
|
||||||
rm -rf %{buildroot}/etc/systemd/system/*.target.wants
|
rm -rf %{buildroot}/etc/systemd/system/*.target.wants
|
||||||
rm -f %{buildroot}/etc/systemd/system/default.target
|
rm -f %{buildroot}/etc/systemd/system/default.target
|
||||||
rm -f %{buildroot}/lib/systemd/system/default.target
|
|
||||||
%if !%{build_plymouth}
|
%if !%{build_plymouth}
|
||||||
rm -f %{buildroot}/lib/systemd/system/plymouth-*.service
|
rm -f %{buildroot}/lib/systemd/system/plymouth-*.service
|
||||||
rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-*.service
|
rm -f %{buildroot}/lib/systemd/system/*.wants/plymouth-*.service
|
||||||
@ -186,6 +186,13 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se
|
|||||||
/bin/systemd-machine-id-setup >/dev/null 2>&1 || :
|
/bin/systemd-machine-id-setup >/dev/null 2>&1 || :
|
||||||
/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
|
/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
# Try to read default runlevel from the old inittab if it exists
|
||||||
|
if [ ! -e /etc/systemd/system/default.target ]; then
|
||||||
|
runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
|
||||||
|
if [ -n "$runlevel" ] ; then
|
||||||
|
/bin/ln -sf /lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || :
|
||||||
|
fi
|
||||||
|
fi
|
||||||
# Create default config in /etc at first install.
|
# Create default config in /etc at first install.
|
||||||
# Later package updates should not overwrite these settings.
|
# Later package updates should not overwrite these settings.
|
||||||
if [ "$1" -eq 1 ]; then
|
if [ "$1" -eq 1 ]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user