chiark / gitweb /
manager: don't consider transaction jobs conflicting with queued jobs redundant
authorLennart Poettering <lennart@poettering.net>
Wed, 16 Feb 2011 18:33:17 +0000 (19:33 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 16 Feb 2011 18:34:38 +0000 (19:34 +0100)
TODO
src/manager.c

diff --git a/TODO b/TODO
index 1c0811e..65a102c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,13 +7,17 @@ Bugs:
 
 * systemctl default is started when we type "reboot" at rescue mode prompt
 
-* mkswap/mke2fs aus cryptsetup unit muss vor dem mounten ausgeführt werden.
-
 * exclude java hsp files by default
   https://bugzilla.redhat.com/show_bug.cgi?id=527425
 
 Features:
 
+* add --ignore-deps to systemctl
+
+* add --failed to systemctl
+
+* increase password timeout
+
 * look up crypto partition mount points via fstab to show to the user when prompting for a password
 
 * Maybe store in unit files whether a service should be enabled by default on package installation
index 7d0b351..b2aa8ee 100644 (file)
@@ -913,7 +913,8 @@ static void transaction_drop_redundant(Manager *m) {
                         LIST_FOREACH(transaction, k, j) {
 
                                 if (!job_is_anchor(k) &&
-                                    (j->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))))
+                                    (k->installed || job_type_is_redundant(k->type, unit_active_state(k->unit))) &&
+                                    (!k->unit->meta.job || !job_type_is_conflicting(k->type, k->unit->meta.job->type)))
                                         continue;
 
                                 changes_something = true;
@@ -1423,6 +1424,11 @@ static int transaction_add_job_and_dependencies(
         assert(type < _JOB_TYPE_MAX);
         assert(unit);
 
+        /* log_debug("Pulling in %s/%s from %s/%s", */
+        /*           unit->meta.id, job_type_to_string(type), */
+        /*           by ? by->unit->meta.id : "NA", */
+        /*           by ? job_type_to_string(by->type) : "NA"); */
+
         if (unit->meta.load_state != UNIT_LOADED &&
             unit->meta.load_state != UNIT_ERROR &&
             unit->meta.load_state != UNIT_MASKED) {