depends command
This is similar to the "apt-cache depends" command.
This commit is contained in:
parent
4818a59e5a
commit
a1cf729b51
37
apt-cyg
37
apt-cyg
|
@ -47,6 +47,7 @@ function usage () {
|
||||||
' listfiles <packages> list files owned by packages'
|
' listfiles <packages> list files owned by packages'
|
||||||
' show <packages> Displays the package records for the named'
|
' show <packages> Displays the package records for the named'
|
||||||
' packages'
|
' packages'
|
||||||
|
' depends <patterns> performs recursive dependency listings'
|
||||||
' rdepends <patterns> Display packages which require X to be installed,'
|
' rdepends <patterns> Display packages which require X to be installed,'
|
||||||
' AKA show reverse dependencies'
|
' AKA show reverse dependencies'
|
||||||
' search <patterns> search for a filename from installed packages'
|
' search <patterns> search for a filename from installed packages'
|
||||||
|
@ -174,6 +175,7 @@ do
|
||||||
install \
|
install \
|
||||||
| list \
|
| list \
|
||||||
| listfiles \
|
| listfiles \
|
||||||
|
| depends \
|
||||||
| rdepends \
|
| rdepends \
|
||||||
| search \
|
| search \
|
||||||
| searchall \
|
| searchall \
|
||||||
|
@ -268,6 +270,41 @@ case "$command" in
|
||||||
head -c-1
|
head -c-1
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
depends)
|
||||||
|
findworkspace
|
||||||
|
checkpackages
|
||||||
|
for pkg in $packages
|
||||||
|
do
|
||||||
|
awk '
|
||||||
|
$1 == "@" {
|
||||||
|
k = $2
|
||||||
|
}
|
||||||
|
$1 == "requires:" {
|
||||||
|
a[k] = $0
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
p[1] = query
|
||||||
|
d[query] = 0
|
||||||
|
i = 1
|
||||||
|
while (length(p)) {
|
||||||
|
key = p[length(p)]
|
||||||
|
depth = d[key]
|
||||||
|
delete p[length(p)]
|
||||||
|
if (!s[key]++) {
|
||||||
|
printf "%*s%s\n", depth, "", key
|
||||||
|
split(a[key], r)
|
||||||
|
delete r[1]
|
||||||
|
for (req in r) {
|
||||||
|
p[length(p) + 1] = r[req]
|
||||||
|
d[r[req]] = depth + 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
' query="$pkg" setup.ini
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
|
||||||
rdepends)
|
rdepends)
|
||||||
findworkspace
|
findworkspace
|
||||||
for pkg in $packages
|
for pkg in $packages
|
||||||
|
|
Loading…
Reference in New Issue