From 9d52c602b95848a37613895a1b25049aee85f95f Mon Sep 17 00:00:00 2001 From: Charles Oliveira <18oliveira.charles@gmail.com> Date: Fri, 1 Aug 2014 11:26:01 -0300 Subject: [PATCH] Added functions to install and update packages --- puppet/bootstrap.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+), 0 deletions(-) diff --git a/puppet/bootstrap.py b/puppet/bootstrap.py index 64e94b2..1966df6 100644 --- a/puppet/bootstrap.py +++ b/puppet/bootstrap.py @@ -22,6 +22,38 @@ PUPPET_TARGET_VERSION = "3.6.2" PUPPET_DIR = os.path.join(os.path.dirname(__file__)) MODULES_FILE_PATH = os.path.join(PUPPET_DIR, 'modules.txt') +DIST_CMD = { + 'ubuntu': [ + {'pkg_manager': 'apt-get'}, + {'pkg_flags': '-y'}, + {'rep_manager': 'dpkg'}, + {'rep_flags': '-i'}, + ], + 'centos': [ + {'pkg_manager': 'yum'}, + {'pkg_flags': '-y'}, + {'pkg_manager': 'yum'}, + {'rep_flags': '-ivh'}, + ], +} + +def package_install(package): + distro, release = get_release_name() + cmd_dict = DIST_CMD[distro] + pkg_manager = cmd_dict['pkg_manager'] + flags = cmd_dict['pkg_flags'] + cmd = [pkg_manager, flags, 'install', package] + return subprocess.call(cmd) + + +def distro_update(): + distro, release = get_release_name() + cmd_dict = DIST_CMD[distro] + pkg_manager = cmd_dict['pkg_manager'] + flags = cmd_dict['flags'] + cmd = [pkg_manager, 'update', flags] + return subprocess.call(cmd) + def get_release_name(): distro = platform.dist()[0].lower() -- libgit2 0.21.2