def _ask_source_system(_pseed_): """Queries for Backup, from iso, or boostrap as the source for the build """ # now choose the source of build stage = 'new configuration' pycone._print_log('', stage)## choice = pycone._choose_from(pyconeQ.base_type_list, pyconeQ.base_type_msg) # create a list of choices return the users choice pycone._print_log(pyconeQ.base_type_list, stage)## pycone._print_log(choice + 1, stage)## if choice == 0: # choose a backup of current system #_write_to_auto_seed('source :\n\t','backup', 'append') _q_my_system(_pseed_, 'backup') elif choice == 1: # choose to use an existing iso file #_new_config('iso') print("iso that thing") print("not working at this time") pycone._exit() elif choice == 2: # choose to install a new bootstrap system #_new_config('bootstrap') print("bootstrap new system") print("not working at this time") pycone._exit() else: pycone._do_help_quit(choice, pyconeQ.base_type_list)
def _get_base_system(source): stage = 'get base system' pycone._print_log('', stage) sys_q_list = pycone._system_list() # return a list of choices from available system seeds and quit/help pycone._print_log(sys_q_list, stage) choice_list = pycone._choice_list(sys_q_list) # return a numerated list of choices for user pycone._print_log(choice_list, stage) choice = pycone._choose_from(sys_q_list, pyconeQ.base_sys) # return the users choice pycone._print_log(choice + 1, stage) pycone._do_help_quit(choice, sys_q_list + pyconeQ.quit_help_list)## this seems incorrect # allows 'help' and 'quit' choices to work base_system = str.lower(sys_q_list[choice]) # make the choice to lower letter for easier manipulation pycone._print_log(base_system, stage) base_sys = pycone._base(base_system) # get the full seed name pycone._print_log(base_sys, stage) # master_seed = # creates a master seed from base + user + main seeds base_sys_seed = pycone.pyne_dir(base_sys) # get the full seed path and name pycone._print_log(base_sys_seed, stage) return base_sys
def _ask_existing_new_build(): """begin with choice of an existing build file or creation of a new build file """ stage = 'begin' pycone._print_log('', stage)## choice = pycone._choose_from(pyconeQ.level_list, pyconeQ.welcome_msg) # create a list of choices return the users choice pycone._print_log(pyconeQ.level_list, stage)## pycone._print_log(choice + 1, stage)## if choice == 0: #choose to use existing builder config pycone._print_log('use auto conf', stage)## print('not yet functional') pycone._exit() # no need to write to autoseed, read from it elif choice == 1: # choose to create a new builder config #_write_to_auto_seed('[autoseed]','', 'new') pycone._print_log('create a new conf', stage)## _pseed_ = pycone._os_prober(pycone._master_seed('')) _ask_source_system(_pseed_) else: pycone._do_help_quit(choice, pyconeQ.level_list)
def _q_my_system(_pseed_, source): stage = 'q-my-system' pycone._print_log('', stage)## c_system = str.capitalize(_pseed_) choice = pycone._choose_from(pyconeQ.yes_no_list, pyconeQ.which_system % c_system) # probe current system, then user confirm pycone._print_log(c_system, stage)## pycone._print_log(pyconeQ.yes_no_list, stage)## pycone._print_log(choice + 1, stage)## if choice == 0: # choose a backup of current system pycone._print_log(choice + 1, stage)## #pycone._rsync_live(seed) base = pycone._base(_pseed_) pycone._print_log('pseed', stage)## pycone._print_log(_pseed_, stage)## _mseed_ = pycone._master_seed(str.lower(base)) pycone._print_log('mseed', stage)## pycone._print_log(_mseed_, stage)## _mkdir_p(_mseed_,source) _ask_rsync(_mseed_) elif choice == 1: # choose to use an existing iso file #_new_config('iso') pycone._print_log(choice + 1, stage)## _sys_backup('') pycone._exit() else: pycone._do_help_quit(choice, pyconeQ.yes_no_list)
def _install_source_system_packages(base): """Install packages used on the source system to create iso from backup/bootstrap """ stage = 'install source packages' pycone._print_log('', stage)## choice = pycone._choose_from(pyconeQ.yes_no_list, pyconeQ.source_paks_msg) # return the users choice pycone._print_log(pyconeQ.yes_no_list, stage)## pycone._print_log(choice + 1, stage)## # Check ok to install required packages if choice == 0: source_packages = pycone._var_from_seed(base, 'packages', '_SOURCE') # list of packages required by the source system pycone._print_log(choice + 1, stage)## pycone._print_log(source_packages, stage)## pycone._package_db_update(base) # update the database of available packages for item in source_packages: pycone._install(base, item) # install each required package elif choice == 1: pycone._print_log(choice + 1, stage)## pycone._print_log(source_packages, stage)## print('PyneCone cannot continue. Exiting') pycone._exit() else: pycone._do_help_quit(choice, pyconeQ.yes_no_list)
def _mount_chroot_fs(seed): choice = pycone._choose_from(pyconeQ.yes_no_list, pyconeQ.mount_msg) # create a list of choices return the users choice if choice == 0: # choose a backup of current system _working_dir = pycone._var_from_seed(seed, 'directories', '_BUILD_DIR')[0] _mount_dev = pycone._var_from_seed(seed, 'mount', '_MOUNT')[0] + ' ' _mount_proc = pycone._var_from_seed(seed, 'mount', '_MOUNT')[1] + ' ' _devfs = pycone._var_from_seed(seed, 'mount', '_MOUNTFS')[0] _procfs = pycone._var_from_seed(seed, 'mount', '_MOUNTFS')[1] _mount_devfs = _mount_dev + _working_dir + _devfs _mount_procfs = _mount_proc + _working_dir + _procfs #os.system(_mount_devfs) #os.system(_mount_procfs) print(_mount_devfs) print(_mount_procfs) elif choice == 1: # choose to use an existing iso file #_new_config('iso') print("Nothing to do. Exiting") pycone._exit() else: pycone._do_help_quit(choice, pyconeQ.yes_no_list)
def _mkdir_p(base, _mseed_): """Create the directories needed to store new system """ # make the dirs in the pyne dir, which doesn't get rsync'd stage = 'mkdir_p' pycone._print_log('', '', stage)## distro_dir = pycone._var_from_seed(_mseed_, 'directories', '_BUILD_DIR') iso_creation_dir = pycone._var_from_seed(_mseed_, 'directories', '_ISO_DIR') required_dirs = distro_dir + iso_creation_dir for dir in required_dirs: dir = '/home/pyne' + dir pycone._print_log(dir, '', stage)## # if path is not already present, request to create it # else the dir exists, and PyneCone will use them if not os.path.exists(dir): choice = pycone._choose_from(pyconeQ.yes_no_list, pyconeQ.create_new_dir_msg % dir) # return the users choice pycone._print_log(pyconeQ.yes_no_list, '', stage)## if choice == 0: pycone._print_log(choice + 1, '', stage)## try: pycone._print_log('making dir', '', stage) print("making dir", dir) #os.makedirs(dir) except: # call error handler pycone._print_log('error making dir', '', stage) print("error creating backup directory") pycone._exit() elif choice == 1: pycone._print_log(choice + 1, '', stage)## print('PyneCone cannot continue. Exiting') pycone._exit() else: pycone._do_help_quit(choice, pyconeQ.yes_no_list) time.sleep(2)
def _ask_rsync(_mseed_): stage = 'ask-rsync' pycone._print_log('', stage)## choice = pycone._choose_from(pyconeQ.yes_no_list, pyconeQ.start_rsync_msg) # return the users choice pycone._print_log(pyconeQ.yes_no_list, stage)## if choice == 0: # choose a backup of current system pycone._print_log(choice + 1, stage)## distro_dir = pycone._var_from_seed(_mseed_, 'directories', '_BUILD_DIR') for dir in distro_dir: dir = '/home/pyne' + dir pycone._rsync_live(_mseed_, dir) elif choice == 1: # choose to use an existing iso file #_new_config('iso') pycone._print_log(choice + 1, stage)## print("Nothing to do. Exiting") pycone._exit() else: pycone._do_help_quit(choice, pyconeQ.yes_no_list)