Skip to content

Instantly share code, notes, and snippets.

@nicopace
Last active November 6, 2018 10:49
Show Gist options
  • Save nicopace/1539db17b71b239bf17b9cea47385348 to your computer and use it in GitHub Desktop.
Save nicopace/1539db17b71b239bf17b9cea47385348 to your computer and use it in GitHub Desktop.
LibreMesh Dependency Tree
python ./deptree.py 17.01.4/ar71xx/generic/ib/packages/ # run from the base of lime-sdk
paste the content of deptree1.dot in this web https://dreampuf.github.io/GraphvizOnline/
Or you can use this online visualizer:
https://www.yworks.com/yed-live/?file=https://gist.githubusercontent.com/nicopace/1539db17b71b239bf17b9cea47385348/raw/ba263283810f8b57fe1e525b5a83f5936b4429e9/deptree1.dot
"""
Supports only python2
based on http://archive.main.lv/writeup/openwrt_dependency_graph_drawing.html
"""
import os
import os.path
import sys
import tempfile
import tarfile
import shutil
import copy
def str_filter(s):
s = s.replace(" ", "")
s = s.replace(".", "")
s = s.replace("=", "")
s = s.replace("-", "")
s = s.replace("(", "")
s = s.replace(")", "")
return s
def write_dep_graph(dep, fname="./deptree1.dot"):
dep_graph = open(fname, "w")
dep_graph.write("digraph G {\n")
dep_graph.write("""
overlap=scale;
ratio="fill";
overlap="prism";
ranksep = 1.5;
splines=true;
sep="+25,25";
overlap=scalexy;
edge [arrowsize=1.0];
fontname="Monospace";
""")
for name in dep:
for deps_dep in dep[name]:
dep_graph.write("\"%s\" -> \"%s\";\n" % (name, deps_dep))
dep_graph.write("}\n")
dep_graph.close()
packages = {}
if len(sys.argv) != 2:
print "at least 1 argument ./deptree.py [path_to_packages]"
sys.exit(-1)
# open dir
full_path = os.path.abspath(sys.argv[1])
print full_path
count_tot_edges = 0
file_list = os.listdir(full_path)
for f_l in file_list:
if (f_l[-4:] == ".ipk") and (tarfile.is_tarfile(full_path+"/"+f_l)):
print f_l
temp_dir = tempfile.mkdtemp(prefix="deptree_")
pkg = tarfile.open(name=full_path+"/"+f_l)
pkg.extract("./control.tar.gz", temp_dir)
pkg.close()
pkg_control = tarfile.open(name=temp_dir+"/control.tar.gz")
pkg_control.extract("./control", temp_dir)
pkg.close()
f = open(temp_dir+"/control")
i = 0
name = None
deps = None
for line in f:
if i == 0:
name = line.strip("\n").split(":")[1]
name = str_filter(name)
if i == 2:
deps = line.strip("\n").split(":")[1].split(",")
i += 1
f.close()
print name, " - - ", deps
shutil.rmtree(temp_dir)
for dep in deps:
dep = str_filter(dep)
if dep != "":
count_tot_edges += 1
if name in packages:
a = packages[name]
a.append(dep)
packages[name] = a
else:
c = ord(name[0])
if (c >= ord('0')) and (c <= ord('9')):
name1 = "_"+name[1:]
packages[name1] = [dep]
else:
packages[name] = [dep]
# print packages
write_dep_graph(packages)
digraph G {
overlap=scale;
ratio="fill";
overlap="prism";
ranksep = 1.5;
splines=true;
sep="+25,25";
overlap=scalexy;
edge [arrowsize=1.0];
fontname="Monospace";
"busybox" -> "libc";
"busybox" -> "jsonfilter";
"luciprotoipv6" -> "libc";
"luciliblibremapsystem" -> "libc";
"luciliblibremapsystem" -> "luciliblibremap";
"kmodusb2" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodusb2" -> "kmodusbehci";
"kmodusb2" -> "kmodusbcore";
"limeapwatchping" -> "libc";
"limeapwatchping" -> "watchping";
"kmodebtablesipv6" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodebtablesipv6" -> "kmodebtables";
"wirelessregdb" -> "libc";
"lucimodadminfull" -> "libc";
"lucimodadminfull" -> "lucibase";
"libiwinfo" -> "libc";
"libiwinfo" -> "libnltiny";
"libiwinfo" -> "libuci";
"iputilsping6" -> "libc";
"libmbedtls" -> "libc";
"lucilibnixio" -> "libc";
"lucilibnixio" -> "liblua";
"libblobmsgjson" -> "libc";
"libblobmsgjson" -> "libjsonc";
"libblobmsgjson" -> "libubox";
"librt" -> "libpthread";
"ubus" -> "libc";
"ubus" -> "libubus";
"ubus" -> "libblobmsgjson";
"ubus" -> "ubusd";
"libpthread" -> "libgcc";
"limehwdopenwrtwan" -> "libc";
"limehwdopenwrtwan" -> "limesystem";
"limehwdopenwrtwan" -> "lua";
"limehwdopenwrtwan" -> "libucilua";
"limehwdopenwrtwan" -> "limeprotowan";
"firewall" -> "libc";
"firewall" -> "libubox";
"firewall" -> "libubus";
"firewall" -> "libuci";
"firewall" -> "libip4tc";
"firewall" -> "libip6tc";
"firewall" -> "libxtables";
"firewall" -> "kmodiptcore";
"firewall" -> "kmodiptconntrack";
"firewall" -> "kmodiptnat";
"lucithemebootstrap" -> "libc";
"limehwdgroundrouting" -> "libc";
"limehwdgroundrouting" -> "limesystem";
"limehwdgroundrouting" -> "lua";
"limehwdgroundrouting" -> "libucilua";
"luciliblibremapwireless" -> "libc";
"luciliblibremapwireless" -> "luciliblibremap";
"kmodcfg80211" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodcfg80211" -> "iw";
"kmodcfg80211" -> "wirelessregdb";
"bwmng" -> "libc";
"iptables" -> "libc";
"iptables" -> "kmodiptcore";
"iptables" -> "libip4tc";
"iptables" -> "libip6tc";
"iptables" -> "libxtables";
"luciliblibremap" -> "libc";
"luciliblibremap" -> "lucibase";
"luciliblibremap" -> "lucilibjson";
"luciliblibremap" -> "lucilibhttpclient";
"libc" -> "libgcc";
"procd" -> "libc";
"procd" -> "ubusd";
"procd" -> "ubus";
"procd" -> "libjsonscript";
"procd" -> "ubox";
"procd" -> "libubox";
"procd" -> "libubus";
"bmx6table" -> "libc";
"bmx6table" -> "bmx6";
"uhttpdmodubus" -> "libc";
"uhttpdmodubus" -> "uhttpd";
"uhttpdmodubus" -> "libubus";
"uhttpdmodubus" -> "libblobmsgjson";
"kmodusbehci" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodusbehci" -> "kmodusbcore";
"libjsonc" -> "libc";
"libubuslua" -> "libc";
"libubuslua" -> "libubus";
"libubuslua" -> "liblua";
"kmodnfipt" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"iwinfo" -> "libc";
"iwinfo" -> "libiwinfo";
"ip6tables" -> "libc";
"ip6tables" -> "kmodip6tables";
"ip6tables" -> "iptables";
"kmodmac80211" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodmac80211" -> "kmodcfg80211";
"kmodmac80211" -> "hostapdcommon";
"tcpdumpmini" -> "libc";
"tcpdumpmini" -> "libpcap";
"kmodslhc" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodslhc" -> "kmodlibcrcccitt";
"libip4tc" -> "libc";
"libip4tc" -> "libxtables";
"kmodiptcore" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodiptcore" -> "kmodnfipt";
"ppp" -> "libc";
"ppp" -> "kmodppp";
"terminfo" -> "libc";
"opkg" -> "libc";
"opkg" -> "uclientfetch";
"opkg" -> "libpthread";
"opkg" -> "libubox";
"bmx7" -> "libc";
"bmx7" -> "zlib";
"bmx7" -> "libmbedtls";
"bmx7" -> "libiwinfo";
"bmx6" -> "libc";
"bmx6" -> "kmodip6tunnel";
"bmx6" -> "kmodiptunnel6";
"bmx6" -> "kmodtun";
"luci" -> "libc";
"luci" -> "uhttpd";
"luci" -> "uhttpdmodubus";
"luci" -> "lucimodadminfull";
"luci" -> "lucithemebootstrap";
"luci" -> "luciappfirewall";
"luci" -> "luciprotoppp";
"luci" -> "libiwinfolua";
"luci" -> "luciprotoipv6";
"luci" -> "rpcdmodrrdns";
"kernel" -> "libc";
"libjsonscript" -> "libc";
"libjsonscript" -> "libubox";
"kmodtun" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"libremapagent" -> "libc";
"libremapagent" -> "luciliblibremap";
"libnltiny" -> "libc";
"libuboxlua" -> "libc";
"libuboxlua" -> "libubox";
"libuboxlua" -> "liblua";
"lucilibjquery14" -> "libc";
"uhttpd" -> "libc";
"uhttpd" -> "libubox";
"uhttpd" -> "libblobmsgjson";
"uhttpd" -> "libjsonscript";
"libiwinfolua" -> "libc";
"libiwinfolua" -> "libiwinfo";
"libiwinfolua" -> "liblua";
"logd" -> "libc";
"logd" -> "libubox";
"logd" -> "libubus";
"logd" -> "libblobmsgjson";
"liblua" -> "libc";
"libgcc" -> "package/libs/toolchain";
"libuclient" -> "libc";
"libuclient" -> "libubox";
"bmx7json" -> "libc";
"bmx7json" -> "bmx7";
"bmx7json" -> "libjsonc";
"kmodnfnat" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodnfnat" -> "kmodnfconntrack";
"kmodnfnat" -> "kmodnfipt";
"limewebui" -> "libc";
"limewebui" -> "lucibase";
"limewebui" -> "limesystem";
"limewebui" -> "luciappbmx6";
"limewebui" -> "luciappbatmanadv";
"limewebui" -> "lucimodstatus";
"limewebui" -> "uhttpd";
"limewebui" -> "libiwinfolua";
"limewebui" -> "lucithemebootstrap";
"limewebui" -> "lucii18nbaseen";
"limedocs" -> "libc";
"limedocs" -> "limedocsminimal";
"kmoddummy" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"ubuslimemetrics" -> "libc";
"ubuslimemetrics" -> "lua";
"ubuslimemetrics" -> "libuboxlua";
"ubuslimemetrics" -> "libubuslua";
"ubuslimemetrics" -> "lucilibjson";
"lua" -> "libc";
"lua" -> "liblua";
"kmodath" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodath" -> "kmodmac80211";
"kmodnlsbase" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"lucilibip" -> "libc";
"lucilibip" -> "liblua";
"lucilibip" -> "libnltiny";
"libubox" -> "libc";
"kmodbatmanadv" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodbatmanadv" -> "kmodlibcrc16";
"kmodbatmanadv" -> "kmodcryptocrc32c";
"kmodbatmanadv" -> "kmodlibcrc32c";
"kmodbatmanadv" -> "kmodcfg80211";
"netifd" -> "libc";
"netifd" -> "libuci";
"netifd" -> "libnltiny";
"netifd" -> "libubus";
"netifd" -> "ubus";
"netifd" -> "ubusd";
"netifd" -> "jshn";
"netifd" -> "libubox";
"bmx7table" -> "libc";
"bmx7table" -> "bmx7";
"bmx7table" -> "bmx7tun";
"kmodcryptohash" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodbrnetfilter" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodbrnetfilter" -> "kmodiptcore";
"lucilibjson" -> "libc";
"luciappbmx6" -> "libc";
"luciappbmx6" -> "lucilibjson";
"luciappbmx6" -> "lucibase";
"luciappbmx6" -> "lucilibhttpclient";
"luciappbmx6" -> "bmx6";
"luciappbmx6" -> "lucilibjquery14";
"luciappbmx6" -> "lucilibdracula";
"kmodath9kcommon" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodath9kcommon" -> "kmodath";
"ubuslimebatmanadv" -> "libc";
"ubuslimebatmanadv" -> "lua";
"ubuslimebatmanadv" -> "libuboxlua";
"ubuslimebatmanadv" -> "libubuslua";
"ubuslimebatmanadv" -> "kmodbatmanadv";
"ubuslimebatmanadv" -> "batctl";
"ubuslimebatmanadv" -> "lucilibnixio";
"ubuslimebatmanadv" -> "limesystem";
"swconfig" -> "libc";
"swconfig" -> "libuci";
"swconfig" -> "libnltiny";
"libpcap" -> "libc";
"libubus" -> "libc";
"libubus" -> "libubox";
"watchping" -> "libc";
"rpcdmodrrdns" -> "libc";
"rpcdmodrrdns" -> "rpcd";
"rpcdmodrrdns" -> "libubox";
"rpcdmodrrdns" -> "libubus";
"kmodpppox" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodpppox" -> "kmodppp";
"luciappbatmanadv" -> "libc";
"luciappbatmanadv" -> "kmodbatmanadv";
"luciappbatmanadv" -> "lucilibjquery14";
"luciappbatmanadv" -> "lucilibdracula";
"luciappbatmanadv" -> "batctl";
"kmodpppoe" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodpppoe" -> "kmodppp";
"kmodpppoe" -> "kmodpppox";
"bmx7tun" -> "libc";
"bmx7tun" -> "bmx7";
"bmx7tun" -> "kmodip6tunnel";
"bmx7tun" -> "kmodiptunnel6";
"bmx7tun" -> "kmodtun";
"kmodip6tables" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodip6tables" -> "kmodnfipt6";
"kmodip6tables" -> "kmodiptcore";
"kmodip6tables" -> "kmodiptconntrack";
"batmanadvautogwmode" -> "libc";
"batmanadvautogwmode" -> "kmodbatmanadv";
"batmanadvautogwmode" -> "watchping";
"batmanadvautogwmode" -> "dnsmasqdhcpv6";
"batmanadvautogwmode" -> "ip";
"kmodlibcrcccitt" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"iputilsping" -> "libc";
"limebasic" -> "libc";
"limebasic" -> "limesystem";
"limebasic" -> "limeprotobmx6";
"limebasic" -> "limeprotobatadv";
"limebasic" -> "kmodebtables";
"limebasic" -> "limeprotoanygw";
"limebasic" -> "limeprotowan";
"limebasic" -> "dnsmasqleaseshare";
"limebasic" -> "dnsmasqdistributedhosts";
"limebasic" -> "limewebui";
"limebasic" -> "limehwdopenwrtwan";
"limebasic" -> "limedocsminimal";
"limebasic" -> "bmx6autogwmode";
"limebasic" -> "limehwdgroundrouting";
"limebasic" -> "smonit";
"kmodiptnat" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodiptnat" -> "kmodiptcore";
"kmodiptnat" -> "kmodnfnat";
"smonit" -> "libc";
"fstools" -> "libc";
"fstools" -> "ubox";
"lucilibjqueryflot08" -> "libc";
"jsonfilter" -> "libc";
"jsonfilter" -> "libubox";
"jsonfilter" -> "libjsonc";
"rpcd" -> "libc";
"rpcd" -> "libubus";
"rpcd" -> "libubox";
"rpcd" -> "libuci";
"rpcd" -> "libblobmsgjson";
"luciliblibremaplocation" -> "libc";
"luciliblibremaplocation" -> "luciliblibremap";
"limebasicuing" -> "libc";
"limebasicuing" -> "limesystem";
"limebasicuing" -> "limeprotobmx6";
"limebasicuing" -> "limeprotobatadv";
"limebasicuing" -> "limeprotoanygw";
"limebasicuing" -> "limeprotowan";
"limebasicuing" -> "dnsmasqleaseshare";
"limebasicuing" -> "dnsmasqdistributedhosts";
"limebasicuing" -> "limewebuing";
"limebasicuing" -> "limehwdopenwrtwan";
"limebasicuing" -> "bmx6autogwmode";
"limebasicuing" -> "limehwdgroundrouting";
"limebasicuing" -> "limedocsminimal";
"basefiles" -> "libc";
"basefiles" -> "netifd";
"basefiles" -> "procd";
"basefiles" -> "jsonfilter";
"basefiles" -> "usign";
"basefiles" -> "ledekeyring";
"basefiles" -> "fstools";
"basefiles" -> "fwtool";
"limeprotowan" -> "libc";
"limeprotowan" -> "limesystem";
"limeprotowan" -> "lua";
"limeprotowan" -> "libucilua";
"limeprotowan" -> "kmodiptnat";
"uci" -> "libc";
"uci" -> "libuci";
"wpadmini" -> "libc";
"wpadmini" -> "libnltiny";
"wpadmini" -> "hostapdcommon";
"wpadmini" -> "libubus";
"kmodiptconntrack" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodiptconntrack" -> "kmodiptcore";
"kmodiptconntrack" -> "kmodnfconntrack";
"lucilibjsonc" -> "libc";
"lucilibjsonc" -> "liblua";
"lucilibjsonc" -> "libjsonc";
"pv" -> "libc";
"dropbear" -> "libc";
"ubuslimeutils" -> "libc";
"ubuslimeutils" -> "lua";
"ubuslimeutils" -> "libuboxlua";
"ubuslimeutils" -> "libubuslua";
"ubuslimeutils" -> "libuci";
"bmx6json" -> "libc";
"bmx6json" -> "bmx6";
"bmx6json" -> "libjsonc";
"ledekeyring" -> "libc";
"alfred" -> "libc";
"alfred" -> "libnltiny";
"alfred" -> "librt";
"lucii18nbaseen" -> "libc";
"lucii18nbaseen" -> "lucibase";
"dnsmasqdistributedhosts" -> "libc";
"dnsmasqdistributedhosts" -> "alfred";
"dnsmasqdistributedhosts" -> "lua";
"dnsmasqdistributedhosts" -> "libucilua";
"sprunge" -> "libc";
"batctl" -> "libc";
"batctl" -> "kmodbatmanadv";
"batctl" -> "libnltiny";
"batctl" -> "librt";
"jshn" -> "libc";
"jshn" -> "libjsonc";
"jshn" -> "libubox";
"jshn" -> "libblobmsgjson";
"kmodnfipt6" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodnfipt6" -> "kmodnfipt";
"kmodnfipt6" -> "kmodnfconntrack6";
"limeprotobmx7" -> "libc";
"limeprotobmx7" -> "bmx7";
"limeprotobmx7" -> "bmx7json";
"limeprotobmx7" -> "bmx7sms";
"limeprotobmx7" -> "bmx7table";
"limeprotobmx7" -> "bmx7uciconfig";
"limeprotobmx7" -> "bmx7tun";
"limeprotobmx7" -> "limesystem";
"limeprotobmx7" -> "lua";
"limeprotobmx7" -> "libucilua";
"limeprotobmx6" -> "libc";
"limeprotobmx6" -> "bmx6";
"limeprotobmx6" -> "bmx6json";
"limeprotobmx6" -> "bmx6sms";
"limeprotobmx6" -> "bmx6table";
"limeprotobmx6" -> "bmx6uciconfig";
"limeprotobmx6" -> "limesystem";
"limeprotobmx6" -> "lua";
"limeprotobmx6" -> "libucilua";
"limeprotobmx6" -> "kmodebtablesipv6";
"pppmodpppoe" -> "libc";
"pppmodpppoe" -> "kmodpppoe";
"limeprotoanygw" -> "libc";
"limeprotoanygw" -> "kmodebtables";
"limeprotoanygw" -> "ebtables";
"limeprotoanygw" -> "limesystem";
"limeprotoanygw" -> "lua";
"limeprotoanygw" -> "libucilua";
"limeprotoanygw" -> "kmodmacvlan";
"limeprotoanygw" -> "dnsmasqleaseshare";
"limeprotoanygw" -> "dnsmasqdhcpv6";
"bmx7sms" -> "libc";
"bmx7sms" -> "bmx7";
"limedebug" -> "libc";
"limedebug" -> "batctl";
"limedebug" -> "busybox";
"limedebug" -> "ethtool";
"limedebug" -> "iwinfo";
"limedebug" -> "iw";
"limedebug" -> "mtr";
"limedebug" -> "ip";
"limedebug" -> "iputilsping6";
"limedebug" -> "iputilsping";
"limedebug" -> "sprunge";
"limedebug" -> "safereboot";
"limedebug" -> "netperf";
"limedebug" -> "pv";
"limedebug" -> "tcpdumpmini";
"limedebug" -> "bwmng";
"kmodnfconntrack" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"dnsmasqleaseshare" -> "libc";
"dnsmasqleaseshare" -> "alfred";
"dnsmasqleaseshare" -> "lua";
"dnsmasqleaseshare" -> "libucilua";
"libxtables" -> "libc";
"libip6tc" -> "libc";
"libip6tc" -> "libxtables";
"libuci" -> "libc";
"libuci" -> "libubox";
"hostapdcommon" -> "libc";
"netperf" -> "libc";
"bmx7uciconfig" -> "libc";
"bmx7uciconfig" -> "bmx7";
"bmx7uciconfig" -> "libuci";
"luciliblibremapbmx6" -> "libc";
"luciliblibremapbmx6" -> "luciliblibremap";
"odhcpdipv6only" -> "libc";
"odhcpdipv6only" -> "libubox";
"odhcpdipv6only" -> "libuci";
"odhcpdipv6only" -> "libubus";
"odhcpdipv6only" -> "libnltiny";
"libncurses" -> "libc";
"libncurses" -> "terminfo";
"kmodip6tunnel" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodip6tunnel" -> "kmodiptunnel6";
"ubusd" -> "libc";
"ubusd" -> "libubox";
"ubusd" -> "libblobmsgjson";
"kmodcryptocrc32c" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodcryptocrc32c" -> "kmodcryptohash";
"limedocsminimal" -> "libc";
"luciapplimelocation" -> "libc";
"luciapplimelocation" -> "libremapagent";
"kmodgpiobuttonhotplug" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodlibcrc16" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"mtd" -> "libc";
"mtd" -> "libubox";
"ubuslimelocation" -> "libc";
"ubuslimelocation" -> "lua";
"ubuslimelocation" -> "libuboxlua";
"ubuslimelocation" -> "libubuslua";
"ubuslimelocation" -> "libuci";
"ubuslimelocation" -> "libremapagent";
"ethtool" -> "libc";
"limemapagent" -> "libc";
"limemapagent" -> "libremapagent";
"limemapagent" -> "luciliblibremaplocation";
"limemapagent" -> "luciliblibremapsystem";
"limemapagent" -> "luciliblibremapwireless";
"limemapagent" -> "luciliblibremapbmx6";
"limemapagent" -> "luciapplimelocation";
"usign" -> "libc";
"usign" -> "libubox";
"iw" -> "libc";
"iw" -> "libnltiny";
"dnsmasqdhcpv6" -> "libc";
"dnsmasqdhcpv6" -> "libubus";
"lucimodstatus" -> "libc";
"lucimodstatus" -> "uhttpd";
"lucimodstatus" -> "lucibase";
"lucimodstatus" -> "libiwinfolua";
"lucimodstatus" -> "lucilibjquery14";
"lucimodstatus" -> "lucilibjqueryflot08";
"lucimodstatus" -> "lucilibjson";
"ubuslimebmx6" -> "libc";
"ubuslimebmx6" -> "lua";
"ubuslimebmx6" -> "libuboxlua";
"ubuslimebmx6" -> "libubuslua";
"ubuslimebmx6" -> "luciappbmx6";
"ubuslimebmx6" -> "lucilibnixio";
"ubuslimebmx6" -> "lucilibjson";
"ubuslimebmx6" -> "limesystem";
"kmodiptunnel6" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodath9k" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodath9k" -> "kmodath9kcommon";
"limefull" -> "libc";
"limefull" -> "limebasic";
"limefull" -> "limedebug";
"limefull" -> "luci";
"limefull" -> "limemapagent";
"limefull" -> "limedocs";
"limefull" -> "limeapp";
"luciappfirewall" -> "libc";
"luciappfirewall" -> "firewall";
"luciprotoppp" -> "libc";
"uclientfetch" -> "libc";
"uclientfetch" -> "libuclient";
"zlib" -> "libc";
"libucilua" -> "libc";
"libucilua" -> "libuci";
"libucilua" -> "liblua";
"odhcp6c" -> "libc";
"odhcp6c" -> "libubox";
"ebtables" -> "libc";
"ebtables" -> "kmodebtables";
"kmodmacvlan" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodebtables" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodebtables" -> "kmodiptcore";
"kmodebtables" -> "kmodbrnetfilter";
"safereboot" -> "libc";
"limeapp" -> "libc";
"limeapp" -> "uhttpd";
"limeapp" -> "uhttpdmodubus";
"limeapp" -> "ubuslimebatmanadv";
"limeapp" -> "ubuslimebmx6";
"limeapp" -> "ubuslimelocation";
"limeapp" -> "ubuslimemetrics";
"limeapp" -> "ubuslimeutils";
"limeapp" -> "ubuslimeopenairview";
"kmodlibcrc32c" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodlibcrc32c" -> "kmodcryptocrc32c";
"bmx6autogwmode" -> "libc";
"bmx6autogwmode" -> "bmx6";
"bmx6autogwmode" -> "watchping";
"bmx6autogwmode" -> "ip";
"kmodnfconntrack6" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodnfconntrack6" -> "kmodnfconntrack";
"bmx6sms" -> "libc";
"bmx6sms" -> "bmx6";
"bmx6uciconfig" -> "libc";
"bmx6uciconfig" -> "bmx6";
"bmx6uciconfig" -> "libuci";
"limesmartwifi" -> "libc";
"limesmartwifi" -> "limesystem";
"limesystem" -> "libc";
"limesystem" -> "libiwinfolua";
"limesystem" -> "lua";
"limesystem" -> "libucilua";
"limesystem" -> "lucilibip";
"limesystem" -> "lucilibnixio";
"lucilibhttpclient" -> "libc";
"lucilibhttpclient" -> "lucibase";
"lucilibhttpclient" -> "lucilibnixio";
"kmodusbcore" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodusbcore" -> "kmodnlsbase";
"ubuslimeopenairview" -> "libc";
"ubuslimeopenairview" -> "lua";
"ubuslimeopenairview" -> "libuboxlua";
"ubuslimeopenairview" -> "libubuslua";
"ubuslimeopenairview" -> "libiwinfolua";
"ubuslimeopenairview" -> "lucilibnixio";
"ubuslimeopenairview" -> "lucilibjson";
"ubox" -> "libc";
"ubox" -> "libubox";
"ubox" -> "ubusd";
"ubox" -> "ubus";
"ubox" -> "libubus";
"ubox" -> "libuci";
"fwtool" -> "libc";
"lucilibdracula" -> "libc";
"kmodppp" -> "kernel496712c267bcd9ba33702f30fb659ce736286";
"kmodppp" -> "kmodlibcrcccitt";
"kmodppp" -> "kmodslhc";
"lucibase" -> "libucilua>20180101";
"lucibase" -> "libc";
"lucibase" -> "lua";
"lucibase" -> "libucilua";
"lucibase" -> "lucilibnixio";
"lucibase" -> "lucilibip";
"lucibase" -> "rpcd";
"lucibase" -> "libubuslua";
"lucibase" -> "lucilibjsonc";
"mtr" -> "libc";
"mtr" -> "libncurses";
"limeprotobatadv" -> "libc";
"limeprotobatadv" -> "limesystem";
"limeprotobatadv" -> "lua";
"limeprotobatadv" -> "libucilua";
"limeprotobatadv" -> "kmodbatmanadv";
"limeprotobatadv" -> "kmoddummy";
"limebasicnoui" -> "libc";
"limebasicnoui" -> "limesystem";
"limebasicnoui" -> "limeprotobmx6";
"limebasicnoui" -> "limeprotobatadv";
"limebasicnoui" -> "kmodebtables";
"limebasicnoui" -> "limeprotoanygw";
"limebasicnoui" -> "limeprotowan";
"limebasicnoui" -> "dnsmasqleaseshare";
"limebasicnoui" -> "dnsmasqdistributedhosts";
"limebasicnoui" -> "limehwdopenwrtwan";
"limebasicnoui" -> "limedocsminimal";
"limebasicnoui" -> "bmx6autogwmode";
"limebasicnoui" -> "limehwdgroundrouting";
"limebasicnoui" -> "smonit";
"ubootenvtools" -> "libc";
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment