Kako sem jaz pameten!
Folku cedim sline, potem pa ne attacham ...
No, sedaj je tu izboljsana verzija (pri meni dela hitro).
Attachani sta 2 skripti - packs izpise vse pakete, na katere noben drug
ne dependa. lpacks izpise samo tiste, ki imajo za section nastavljen
".*lib.*".
Upam, da bo tole komu koristilo.
Ce bo, naj mi prosim poslje mail. Ce bo takih mailov dovolj, bomo lahko
zatezili komu, ki je pravi debian developer, da je tole
wanted feature.
#!/usr/bin/awk -Wexec
BEGIN {
FS="\n"
RS="\n\n"
DEPS[1]="";
PACKS[1]="";
} {
split($0, PACK, "\n[a-z,A-Z]");
if (PACK[2] ~ ".* installed"){
split(PACK[1], NAME, ": ");
for (sect in PACK) {
if (PACK[sect] ~ "ection: .*lib.*") {
PACKS[NAME[2]]=NAME[2];
}
}
for (sect in PACK) {
if (PACK[sect] ~ "epends: .*") {
split(PACK[sect], NAME, ": ");
split(NAME[2], SUBDEPS, ",");
for (i in SUBDEPS){
split(SUBDEPS[i], finaldep, " ")
DEPS[finaldep[1]]=finaldep[1];
# print("dep: " finaldep[1]);
}
}
}
}
} END {
for (j in DEPS) {
delete PACKS[DEPS[j]];
}
for (i in PACKS) print(PACKS[i])
}
#!/usr/bin/awk -Wexec
BEGIN {
FS="\n"
RS="\n\n"
DEPS[1]="";
PACKS[1]="";
} {
split($0, PACK, "\n[a-z,A-Z]");
if (PACK[2] ~ ".* installed"){
split(PACK[1], NAME, ": ");
PACKS[NAME[2]]=NAME[2];
for (sect in PACK) {
if (PACK[sect] ~ "epends: .*") {
split(PACK[sect], NAME, ": ");
split(NAME[2], SUBDEPS, ",");
for (i in SUBDEPS){
split(SUBDEPS[i], finaldep, " ")
DEPS[finaldep[1]]=finaldep[1];
# print("dep: " finaldep[1]);
}
}
}
}
} END {
for (j in DEPS) {
delete PACKS[DEPS[j]];
}
for (i in PACKS) print(PACKS[i])
}