[Initscripts-ng-commits] r654 - in /trunk/src/insserv/debian: changelog check-initd-order

pere at users.alioth.debian.org pere at users.alioth.debian.org
Tue Feb 26 23:11:00 UTC 2008


Author: pere
Date: Tue Feb 26 23:11:00 2008
New Revision: 654

URL: http://svn.debian.org/wsvn/initscripts-ng/?sc=1&rev=654
Log:
  * Implemented better support in check-initd-orderfor graphing $all
    relations.

Modified:
    trunk/src/insserv/debian/changelog
    trunk/src/insserv/debian/check-initd-order

Modified: trunk/src/insserv/debian/changelog
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/changelog?rev=654&op=diff
==============================================================================
--- trunk/src/insserv/debian/changelog (original)
+++ trunk/src/insserv/debian/changelog Tue Feb 26 23:11:00 2008
@@ -3,6 +3,8 @@
   * Added override files for ifupdown-scripts-zg2 and tspc.
   * Changed postinst and update-bootsystem-insserv to remove the
     generated files /etc/init.d/.depend.* when disabled or removed.
+  * Implemented better support in check-initd-orderfor graphing $all
+    relations.
   * Debconf translations:
     - Added Spanish from Steve Lord Flaubert (Closes: #467391).
     - Added German from Erik Schanze (Closes: #467483).

Modified: trunk/src/insserv/debian/check-initd-order
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/check-initd-order?rev=654&op=diff
==============================================================================
--- trunk/src/insserv/debian/check-initd-order (original)
+++ trunk/src/insserv/debian/check-initd-order Tue Feb 26 23:11:00 2008
@@ -38,6 +38,10 @@
 my %provideslist;
 my %scriptorder;
 my %opts;
+
+# Used to draw graphs
+my %gotrevdeps;
+my %allprovides;
 
 load_sysmap("/etc/insserv.conf");
 
@@ -144,18 +148,27 @@
         for $key (keys %deps) {
             if (exists $lsbinfo{$key} && $lsbinfo{$key}) {
                 my @depends = split(/\s+/, $lsbinfo{$key});
+
+                my $dependonall = 0;
+                for my $pkg (@depends) {
+                    $dependonall = 1 if ($pkg eq '$all');
+                }
+
                 for my $pkg (@depends) {
                     my $color = $deps{$key};
                     if ($revkey eq $key) {
                         print "\"$provide\" -> \"$pkg\"[color=$color] ;\n";
+                        $gotrevdeps{$pkg} = 1 unless $dependonall;
                     } else {
                         print "\"$pkg\" -> \"$provide\"[color=$color] ;\n";
+                        $gotrevdeps{$provide} = 1 unless $dependonall;
                     }
                 }
             }
         }
 
-        print "\"$provide\" [shape=box];\n";
+        print "\"$provide\" [shape=box];\n" unless $allprovides{$provide};
+        $allprovides{$provide} = 1;
     }
 }
 
@@ -178,6 +191,15 @@
             }
             graph_addnode($isstopseq, $lsbinforef);
         }
+    }
+    # Mark all packages without any reverse dependencies as depending
+    # on $all
+    for my $provide (keys %allprovides) {
+        next unless (exists $gotrevdeps{$provide});
+        my $lsbinforef = {'provides'       => '$all',
+                          'required-start' => "$provide",
+                          'required-stop'  => "$provide"};
+        graph_addnode($isstopseq, $lsbinforef);
     }
 }
 




More information about the Initscripts-ng-commits mailing list