Boxer

 view release on metacpan or  search on metacpan

lib/Boxer/CLI/Command/Bootstrap.pm  view on Meta::CPAN

package Boxer::CLI::Command::Bootstrap;

=encoding UTF-8

=cut

use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;

use Path::Tiny;
use List::MoreUtils qw(before after);
use Module::Runtime qw/use_module/;
use Boxer::CLI -command;

use strictures 2;
no warnings "experimental::signatures";

=head1 VERSION

Version v1.4.3

=cut

our $VERSION = "v1.4.3";

use constant {
	abstract   => q[bootstrap system image from abstract node],
	usage_desc => q[%c bootstrap %o NODE [NODE...] [-- helper-options]],
};

sub description
{
	<<'DESCRIPTION';
Bootstrap a system image.

Generate a filesystem image.  Input is one or more abstract nodes
to resolve using a set of abstract classes, and output is one or more
images generated using a bootstrapping tool.

DESCRIPTION
}

sub command_names
{
	qw(
		bootstrap
	);
}

sub opt_spec
{
	return (
		[ "suite=s",    "suite of classes to use (buster)" ],
		[ "nodedir=s",  "location of nodes (current dir)" ],
		[ "classdir=s", "location of classes (XDG datadir + suite/classes)" ],
		[ "datadir=s",  "location containing nodes and classes" ],
		[ "skeldir=s",  "location of skeleton files (use builtin)" ],
		[ "mode=s",     "mode passed to helper, and use sudo in sudo mode" ],
		[ "helper=s",   "bootstrapping tool to use (mmdebstrap)" ],
		[ "nonfree",    "enable use of contrib and non-free code" ],
		[ "dryrun",     "only echo command, without executing it" ],
		[ "verbose|v",  "verbose output" ],
	);
}

sub execute ( $self, $opt, $args )
{
	Log::Any::Adapter->set( 'Screen', default_level => 'info' )



( run in 3.309 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )