import datetime
import hashlib
import logging
-import apt
+import shutil
import stat
import argparse
print("Attribute files do not exist -- ABORT", file=sys.stderr)
sys.exit(1)
- # TODO verify if other linux distributions support APT library
- cache = apt.Cache()
- package_names = ['brotli', 'attr', 'tar']
- missing_package_names = [package for package in package_names if package not in cache or not cache[package].is_installed]
-
- if missing_package_names:
- missing_package_names = ", ".join(missing_package_names)
- print(f"Missing packages: {missing_package_names} -- ABORT", file=sys.stderr)
+ # May checking commands is not sufficient for checking requirements
+ required_commands = ['brotli', 'attr', 'tar']
+ missing_commands = list(filter(lambda cmd: shutil.which(cmd) == None, required_commands))
+ if missing_commands != []:
+ missing_commands = ", ".join(missing_commands)
+ print(f"Missing commands: {missing_commands} -- ABORT", file=sys.stderr)
sys.exit(1)
logging.info('Basic utils installed')