Move deptree2dot to the support folder
Since deptree2dot and the perl requirement are completely optional, we can move this tool to the support folder. This gives the user the option of using it if they have perl installed, and means we do not have an optional runtime dependency on perl. Documentation for this tool has also been added to the support folder. X-Gentoo-Bug: 600742 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=600742
This commit is contained in:
1 parent
85c1930acf
commit
6f614cd3f3
6 files changed
+17
-10
No files matched your search
@@ -3,9 +3,5 @@
|
||||
|
||||
SUBDIR= test libeinfo librc rc
|
||||
|
||||
ifeq (${MKTOOLS},yes)
|
||||
SUBDIR+= tools
|
||||
endif
|
||||
|
||||
MK= ../mk
|
||||
include ${MK}/subdir.mk
|
||||
@@ -1,5 +0,0 @@
|
||||
DIR= ${UPREFIX}/bin
|
||||
BIN= deptree2dot
|
||||
|
||||
MK= ../../mk
|
||||
include ${MK}/scripts.mk
|
||||
@@ -1,44 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
# -*- cperl -*-
|
||||
# Copyright © 2012 Diego Elio Pettenò <flameeyes@flameeyes.eu>
|
||||
# Released under the 2-clause BSD license.
|
||||
#
|
||||
#Example usage:
|
||||
#deptree2dot > deptree.dot
|
||||
#deptree2dot | dot -Tpng -o deptree.png
|
||||
|
||||
my $deptree = defined($ARGV[0]) ? $ARGV[0] : "/run/openrc/deptree";
|
||||
|
||||
open DEPTREE, $deptree or exit 1;
|
||||
|
||||
print "digraph deptree {\n";
|
||||
|
||||
my @deptree;
|
||||
|
||||
while(my $line = readline(DEPTREE)) {
|
||||
$line =~ /^depinfo_([0-9]+)_([a-z]+)(?:_[0-9]+)?='(.*)'\n$/;
|
||||
my $index = $1;
|
||||
my $prop = $2;
|
||||
my $value = $3; $value =~ s/[-\.:~]/_/g;
|
||||
|
||||
if ( $prop eq "service" ) {
|
||||
$deptree[$index] = $value;
|
||||
printf "%s [shape=box];\n", $value;
|
||||
} else {
|
||||
my $service = $deptree[$index];
|
||||
|
||||
if ( $prop eq "ineed" ) {
|
||||
printf "%s -> %s;\n", $service, $value;
|
||||
} elsif ( $prop eq "iuse" ) {
|
||||
printf "%s -> %s [color=blue];\n", $service, $value;
|
||||
} elsif ( $prop eq "ibefore" ) {
|
||||
printf "%s -> %s [style=dotted];\n", $service, $value;
|
||||
} elsif ( $prop eq "iafter" ) {
|
||||
printf "%s -> %s [style=dotted color=purple];\n", $value, $service;
|
||||
} elsif ( $prop eq "iprovide" ) {
|
||||
printf "%s -> %s [color=red];\n", $value, $service;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "}\n";
|
||||
Reference in new issue
Block a user