def install_packages_uml(conn, suite, profile, target): traits = get_traits(conn, profile) tp = TraitParent(conn, suite) pp = TraitPackage(conn, suite) packages = ' '.join([p.package for p in pp.all_packages(traits, tp)]) os.system('chroot %s apt-get update' % target) os.system('chroot %s apt-get -y install %s' % (target, packages))
def __init__(self, conn, suite, target): # target should already be a path object self.target = path(target) self.trait = None # setup relation objects self.traitpackage = TraitPackage(conn, suite) self.traittemplate = TraitTemplate(conn, suite) self.traitscripts = TraitScript(conn, suite) # setup empty variable containers self.profiledata = {} self.machine_data = {} self.familydata = {} # It's odd, but running the same # code for setting debconf selections # returns a 1 on the preseed process, yet # returns a 0 when it's done during # the templates process. # -- I found the problem, debconf reports # an error if the question doesn't exist # yet. # This attribute helps keep track of the # problem, and will run the debconf # selections during the templates # process, if the value is True. # I don't really like this, but it seems # to work for now, so I'm going to leave # it as is, and come up with a better # solution later. self.debconf_problem = False
def __init__(self, conn, suite, target): # target should already be a path object self.target = path(target) self.trait = None # setup relation objects self.traitpackage = TraitPackage(conn, suite) self.traittemplate = TraitTemplate(conn, suite) self.traitscripts = TraitScript(conn, suite) # setup empty variable containers self.profiledata = {} self.mtypedata = {} self.familydata = {}
def __init__(self, conn, suite): Installer.__init__(self, conn) self.traitpackage = TraitPackage(conn, suite) self.traittemplate = TraitTemplate(conn, suite) self.traitscripts = TraitScript(conn, suite) self.profiledata = {} self.mtypedata = {} self.familydata = {} self.trait_processes = DEFAULT_PROCESSES if self.defenv.has_option('installer', 'trait_processes'): self.trait_processes = self.defenv.get_list( 'trait_processes', 'installer') self._process_map = { 'pre': self._process_pre, 'remove': self._process_remove, 'install': self._process_install, 'templates': self._process_templates, 'config': self._process_config, 'chroot': self._process_chroot, 'reconfig': self._process_reconfig, 'post': self._process_post }
def get_profile_packages(conn, suite, profile): traits = get_traits(conn, profile) tp = TraitParent(conn, suite) pp = TraitPackage(conn, suite) packages = [p.package for p in pp.all_packages(traits, tp)] return packages