Exemple #1
0
def _main__level_two():
    parser = argparse.ArgumentParser()

    add_output_control_options(parser)

    system = parser.add_argument_group('system configuration')
    system.add_argument('--arch', dest='architecture', default='x86_64',
            choices=SUPPORTED_ARCHITECTURES,
            help='architecture (e.g. x86_64)')
    system.add_argument('--resolv-conf', metavar='FILE', default='/etc/resolv.conf',
        help='file to copy nameserver entries from (default: %(default)s)')

    distros = parser.add_subparsers(title='subcommands (choice of distribution)',
            description='Run "%(prog)s DISTRIBUTION --help" for details '
                    'on options specific to that distribution.',
            metavar='DISTRIBUTION', help='choice of distribution, pick from:')

    arch = distros.add_parser('arch')
    ArchBootstrapper.add_arguments_to(arch)

    parser.add_argument('target_dir', metavar='DIRECTORY')

    options = parser.parse_args()


    messenger = Messenger(options.verbosity, is_color_wanted(options))
    run_handle_errors(_main__level_three, messenger, options)
    def run_directory_bootstrap(self, architecture, bootloader_approach):
        self._messenger.info('Bootstrapping %s into "%s"...' % (self.DISTRO_NAME_SHORT, self._abs_mountpoint))

        bootstrap = ArchBootstrapper(
            self._messenger,
            self._executor,
            self._abs_mountpoint,
            self._abs_cache_dir,
            architecture,
            self._image_date_triple_or_none,
            self._mirror_url,
            self._abs_resolv_conf,
        )
        bootstrap.run()
Exemple #3
0
    def run_directory_bootstrap(self, architecture, bootloader_approach):
        self._messenger.info('Bootstrapping %s into "%s"...' %
                             (self.DISTRO_NAME_SHORT, self._abs_mountpoint))

        bootstrap = ArchBootstrapper(
            self._messenger,
            self._executor,
            self._abs_mountpoint,
            self._abs_cache_dir,
            architecture,
            self._image_date_triple_or_none,
            self._mirror_url,
            self._abs_resolv_conf,
        )
        bootstrap.run()
 def get_commands_to_check_for(self):
     return ArchBootstrapper.get_commands_to_check_for() + [
         COMMAND_CHROOT,
         COMMAND_FIND,
         COMMAND_RM,
         COMMAND_SED,
         COMMAND_WGET,
     ]
Exemple #5
0
 def get_commands_to_check_for(self):
     return ArchBootstrapper.get_commands_to_check_for() + [
             COMMAND_CHROOT,
             COMMAND_FIND,
             COMMAND_RM,
             COMMAND_SED,
             COMMAND_WGET,
             ]
Exemple #6
0
def _main__level_three(messenger, options):
    stdout_wanted = options.verbosity is VERBOSITY_VERBOSE

    if stdout_wanted:
        child_process_stdout = None
    else:
        child_process_stdout = open('/dev/null', 'w')

    executor = Executor(messenger, stdout=child_process_stdout)


    bootstrap = ArchBootstrapper(
            messenger,
            executor,
            os.path.abspath(options.target_dir),
            os.path.abspath(options.cache_dir),
            options.architecture,
            options.image_date,
            options.mirror_url,
            os.path.abspath(options.resolv_conf),
            )
    bootstrap.check_for_commands()
    bootstrap.unshare()
    bootstrap.run()


    if not stdout_wanted:
        child_process_stdout.close()
    def add_parser_to(clazz, distros):
        arch = distros.add_parser(clazz.DISTRO_KEY, help=clazz.DISTRO_NAME_LONG)
        arch.set_defaults(**{DISTRO_CLASS_FIELD: clazz})

        ArchBootstrapper.add_arguments_to(arch)
Exemple #8
0
    def add_parser_to(clazz, distros):
        arch = distros.add_parser(clazz.DISTRO_KEY,
                                  help=clazz.DISTRO_NAME_LONG)
        arch.set_defaults(**{DISTRO_CLASS_FIELD: clazz})

        ArchBootstrapper.add_arguments_to(arch)