[Initscripts-ng-commits] r478 - in /trunk/src/insserv/debian: changelog check-initd-order
pere at users.alioth.debian.org
pere at users.alioth.debian.org
Tue Jan 8 15:24:48 UTC 2008
Author: pere
Date: Tue Jan 8 15:24:48 2008
New Revision: 478
URL: http://svn.debian.org/wsvn/initscripts-ng/?sc=1&rev=478
Log:
Implement new check-initd-order option -c to be used with -g to
generate a combined graph for boot and shutdown dependencies.
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=478&op=diff
==============================================================================
--- trunk/src/insserv/debian/changelog (original)
+++ trunk/src/insserv/debian/changelog Tue Jan 8 15:24:48 2008
@@ -1,3 +1,10 @@
+insserv (1.10.0-1) UNRELEASED; urgency=low
+
+ * Implement new check-initd-order option -c to be used with -g to
+ generate a combined graph for boot and shutdown dependencies.
+
+ -- Petter Reinholdtsen <pere at debian.org> Mon, 8 Jan 2008 16:37:53 +0100
+
insserv (1.10.0-1) unstable; urgency=low
* New upstream version released 2007-10-10.
Modified: trunk/src/insserv/debian/check-initd-order
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/check-initd-order?rev=478&op=diff
==============================================================================
--- trunk/src/insserv/debian/check-initd-order (original)
+++ trunk/src/insserv/debian/check-initd-order Tue Jan 8 15:24:48 2008
@@ -63,7 +63,7 @@
while($#ARGV >= 0 && ($_ = $ARGV[0]) =~ /^-/) {
shift @ARGV;
- if (/^-([dgko])$/) { $opts{$1}++; next }
+ if (/^-([cdgko])$/) { $opts{$1}++; next }
if (/^-h|--help$/) { &usage; }
&usage("unknown option");
}
@@ -81,7 +81,12 @@
sub usage {
print STDERR "check-initd-order: error: @_\n" if ($#_ >= 0);
print STDERR <<EOF;
-usage: check-initd-order [-dgko]
+usage: check-initd-order [-cdgko]
+ -d enable debug output
+ -o do not load override files
+ -k use shutdown (reboot) sequence instead of boot sequence
+ -g generate graph
+ -c use combined boot and shutdown sequence (only for graphs)
EOF
exit 1;
}
@@ -95,7 +100,8 @@
}
sub graph_addnode {
- my %lsbinfo = @_;
+ my ($isstopseq, $lsbinforef) = @_;
+ my %lsbinfo = %{$lsbinforef};
unless ($lsbinfo{'provides'}) {
print STDERR "error: File ". $lsbinfo{'file'} . " is missing the provides header\n";
@@ -108,8 +114,9 @@
my @provides = split(/\s+/, $lsbinfo{'provides'});
for my $name (@provides) {
if (exists $sysmap{$name}) {
- graph_addnode('provides' => $sysmap{$name},
- "required-$key" => $name);
+ graph_addnode($isstopseq,
+ {'provides' => $sysmap{$name},
+ "required-$key" => $name});
}
}
@@ -117,10 +124,12 @@
my @providescopy = @provides;
my $lastprovide = shift @providescopy;
for my $provide (@providescopy) {
- graph_addnode('provides' => $lastprovide,
- "required-$key" => $provide);
- graph_addnode('provides' => $provide,
- "required-$key" => $lastprovide);
+ graph_addnode($isstopseq,
+ {'provides' => $lastprovide,
+ "required-$key" => $provide});
+ graph_addnode($isstopseq,
+ {'provides' => $provide,
+ "required-$key" => $lastprovide});
}
}
@@ -150,6 +159,28 @@
}
}
+sub graph_generate_mode {
+ my ($isstopseq) = @_;
+ my @dirs = $isstopseq ? $rcmap{6} : ($rcmap{S}, $rcmap{2});
+ for my $rcdir (@dirs) {
+ chdir "$rcbase/$rcdir/.";
+ my @scripts = $isstopseq ? <K*> : <S*>;
+ for my $script (@scripts) {
+ my $lsbinforef = load_lsb_tags("$rcbase/$rcdir/$script",
+ $useoverrides);
+
+ unless (defined $lsbinforef) {
+ print STDERR "warning: LSB header missing in $rcbase/$rcdir/$script\n";
+ $script =~ s/^[SK]\d{2}//;
+ $lsbinforef = {'provides' => $script,
+ 'required-start' => '$remote_fs $syslog',
+ 'required-stop' => '$remote_fs $syslog'};
+ }
+ graph_addnode($isstopseq, $lsbinforef);
+ }
+ }
+}
+
sub graph_generate {
print "# Generating graph\n";
print <<EOF;
@@ -157,24 +188,11 @@
rankdir=LR;
concentrate=true;
EOF
- my @dirs = $opts{'k'} ? $rcmap{6} : ($rcmap{S}, $rcmap{2});
- for my $rcdir (@dirs) {
- chdir "$rcbase/$rcdir/.";
- my @scripts = $opts{'k'} ? <K*> : <S*>;
- for my $script (@scripts) {
- my $lsbinforef = load_lsb_tags("$rcbase/$rcdir/$script",
- $useoverrides);
-
- unless (defined $lsbinforef) {
- print STDERR "warning: LSB header missing in $rcbase/$rcdir/$script\n";
- $script =~ s/^[SK]\d{2}//;
- $lsbinforef = {'provides' => $script,
- 'required-start' => '$remote_fs $syslog',
- 'required-stop' => '$remote_fs $syslog'};
- }
- my %lsbinfo = %{$lsbinforef};
- graph_addnode %lsbinfo;
- }
+ if ($opts{'c'}) {
+ graph_generate_mode();
+ graph_generate_mode(1);
+ } else {
+ graph_generate_mode($opts{'k'});
}
print <<EOF;
}
More information about the Initscripts-ng-commits
mailing list