
| Current Path : /var/www/web-klick.de/dsh/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/resolve_dependencies.py |
import os,re,sys,glob
rounds = sys.argv[1] # Erster Parameter: wieviele Runden will ich gehen
nr = 0
while 0 == 0:
nr = nr + 1
if nr > rounds:
break
print("=============")
print(" ROUND " + str(nr) )
print("=============")
packages_to_load = {}
for deb_pack in glob.glob("*.deb"):
for zeile in os.popen("dpkg-deb -I " + deb_pack).read().split("\n"):
m = re.search(r"(Depends|Recommends|Suggests)\:(.*)",zeile)
if not m:
continue
dep_list = m.group(2).split(",")
for pkg1 in dep_list:
m = re.search(r"^ *(\S+?)(\(| |$)",pkg1)
if m:
packages_to_load[m.group(1)] = 1
new_packages_loaded = False
for pkg in packages_to_load.keys():
file = glob.glob(pkg + "_*") + glob.glob("../" + pkg + "_*")
if len(file) == 0:
print ("download " + pkg + " ...")
os.system("apt-get download " + pkg)
new_packages_loaded = True
if not new_packages_loaded:
break