diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-12-24 22:39:38 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-12-24 22:39:38 +0000 |
commit | 94113c65c8bfbd4edb442a08a4ef6b6a95f8a013 (patch) | |
tree | 6e5ed7c439750187f201a05cfd3b44c4d63d81b1 /src/backend/solverevdeps.py | |
parent | 86897731b3e7c41eb248f926495977919d8911ca (diff) |
Diffstat (limited to 'src/backend/solverevdeps.py')
-rw-r--r-- | src/backend/solverevdeps.py | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/backend/solverevdeps.py b/src/backend/solverevdeps.py deleted file mode 100644 index bba3932..0000000 --- a/src/backend/solverevdeps.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/python3 - -import animation -import os -import pickle -import re -import signal -import subprocess -import sys -import sisyphus.getfs - - -def sigint_handler(signal, frame): - sys.exit(0) - - -signal.signal(signal.SIGINT, sigint_handler) - - -@animation.wait('resolving reverse dependencies') -def start(pkgname=None, depclean=False, unmerge=False): - pattern = r'(\b[a-zA-Z0-9-_]+/[a-zA-Z0-9-_]+):\s+([0-9]+(\.[0-9]+){0,4})' - rm_list = [] - - args = ['--quiet', '--pretend', '--verbose'] - args += ['--unmerge'] if unmerge else ['--depclean'] - if pkgname: - args += list(pkgname) - - is_installed = int(1) - is_needed = int(0) - is_vague = int(0) - - try: - p_exe = subprocess.Popen( - ['emerge'] + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE - ) - - stdout, stderr = p_exe.communicate() - - for p_out in stdout.decode('utf-8').splitlines(): - match = re.search(pattern, p_out) - if match: - to_remove = f"{match.group(1)}-{match.group(2)}" - rm_list.append(to_remove) - - if any(key in p_out for key in ["pulled in by:", "required"]): - is_needed = int(1) - - for p_out in stderr.decode('utf-8').splitlines(): - if any(key in p_out for key in ["Couldn't find", "to depclean."]): - is_installed = int(0) - - if any(key in p_out for key in ["short ebuild name", "is ambiguous"]): - is_vague = int(1) - - except KeyboardInterrupt: - p_exe.terminate() - try: - p_exe.wait(1) - except subprocess.TimeoutExpired: - p_exe.kill() - sys.exit() - - pickle.dump([is_installed, is_needed, is_vague, rm_list], open( - os.path.join(sisyphus.getfs.p_mtd_dir, "sisyphus_pkgrevdeps.pickle"), "wb")) |