Hello community,

here is the log from the commit of package systemd for openSUSE:Factory
checked in at Tue Aug 2 13:57:12 CEST 2011.



--------
--- systemd/systemd.changes     2011-08-01 11:05:26.000000000 +0200
+++ /mounts/work_src_done/STABLE/systemd/systemd.changes        2011-08-02 
10:31:41.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Aug  2 08:29:30 UTC 2011 - [email protected]
+
+- Add insserv-parsing.patch: read/parse insserv.conf.
+- Add bash-completion-restart.patch: fix restart service list
+  (bnc#704782).
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  bash-completion-restart.patch
  insserv-parsing.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.Xue914/_old  2011-08-02 13:56:43.000000000 +0200
+++ /var/tmp/diff_new_pack.Xue914/_new  2011-08-02 13:56:43.000000000 +0200
@@ -22,7 +22,7 @@
 Name:           systemd
 Url:            http://www.freedesktop.org/wiki/Software/systemd
 Version:        32
-Release:        1
+Release:        5
 License:        GPLv2+
 Group:          System/Base
 Summary:        A System and Session Manager
@@ -52,6 +52,10 @@
 # Never add any patches to this package without the upstream commit id
 # in the patch. Any patches added here without a very good reason to make
 # an exception will be silently removed with the next version update.
+# PATCH-FIX-UPSTREAM [email protected] -- read/parse insserv.conf (git)
+Patch2:         insserv-parsing.patch
+# PATCH-FIX-UPSTREAM [email protected] bnc704782 -- fix bash completion for 
restart command (git)
+Patch3:         bash-completion-restart.patch
 
 %description
 Systemd is a system and service manager, compatible with SysV and LSB
@@ -110,6 +114,8 @@
 %prep
 %setup -q
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 autoreconf -fiv

++++++ bash-completion-restart.patch ++++++
>From 54a437057e83ca41f329f010e2a0e968ed3880b2 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <[email protected]>
Date: Mon, 1 Aug 2011 18:43:01 +0200
Subject: [PATCH] bash: Allow to restart already started service.

Allow to restart all services, not only inactive one.

https://bugzilla.novell.com/show_bug.cgi?id=704782
---
 src/systemctl-bash-completion.sh |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/systemctl-bash-completion.sh b/src/systemctl-bash-completion.sh
index acdc086..6369a6c 100644
--- a/src/systemctl-bash-completion.sh
+++ b/src/systemctl-bash-completion.sh
@@ -79,10 +79,11 @@ _systemctl () {
         local -A VERBS=(
                 [ALL_UNITS]='enable disable is-active is-enabled status show'
              [FAILED_UNITS]='reset-failed'
-          [STARTABLE_UNITS]='start restart reload-or-restart'
+          [STARTABLE_UNITS]='start'
           [STOPPABLE_UNITS]='stop kill try-restart condrestart'
          [ISOLATABLE_UNITS]='isolate'
          [RELOADABLE_UNITS]='reload reload-or-try-restart force-reload'
+          [RESTARTABLE_UNITS]='restart reload-or-restart'
                      [JOBS]='cancel'
                 [SNAPSHOTS]='delete'
                      [ENVS]='set-environment unset-environment'
@@ -110,6 +111,10 @@ _systemctl () {
                 comps=$( __filter_units_by_property CanStart yes \
                       $( __get_inactive_units | grep -Ev 
'\.(device|snapshot)$' ))
 
+        elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then
+                comps=$( __filter_units_by_property CanStart yes \
+                      $( __get_all_units | grep -Ev 
'\.(device|snapshot|socket|timer)$' ))
+
         elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then
                 comps=$( __filter_units_by_property CanStop yes \
                       $( __get_active_units ) )
-- 
1.7.3.4

++++++ insserv-parsing.patch ++++++
>From de3910a324aefcb15c26be27033d6917494e5946 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <[email protected]>
Date: Wed, 29 Jun 2011 13:59:34 +0200
Subject: [PATCH] service: parse insserv.conf and plugs its system facilities 
into systemd.

---
 src/service.c |   70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/src/service.c b/src/service.c
index 4e3b6e7..0464d1e 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2968,6 +2968,72 @@ 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;
@@ -3116,6 +3182,10 @@ 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


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to