Added packages

This commit is contained in:
absurdo 2023-11-22 22:34:57 +01:00
parent 92cab96c85
commit 8e641c0f97

View file

@ -0,0 +1,39 @@
#!/usr/bin/env python3
import distro
from subprocess import call, DEVNULL
def install_package(package: dict, extra_configurations={}):
"""A function for install packages for different distros. Now support, debian, ubuntu, rocky, almalinux, fedora, archlinux.
Args:
package (dict): A dict with all packages names for every distro.
Returns
result_package_manager (bool): return false if install fail, if install is finished, return true.
"""
linux_distro=distro.id()
if linux_distro=='debian' or linux_distro=='ubuntu':
if call('sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y {}'.format(package[linux_distro]), shell=True) > 0:
print('Error, cannot install {}...'.format(package[linux_distro]))
return False
elif linux_distro=='rocky' or linux_distro=='fedora' or linux_distro=='almalinux':
if call("sudo dnf install -y {}", shell=True) > 0:
print('Error, cannot install {}...'.format(package[linux_distro]))
return False
if linux_distro=='arch':
if call("sudo pacman -S --noconfirm {}".format(package[linux_distro]), shell=True) > 0:
print('Error, cannot install {}...'.format(package[linux_distro]))
exit(1)
def change_config_file(config_file: dict):
pass