Container-Buildah

 view release on metacpan or  search on metacpan

examples/bind9/bind9-build.pl  view on Meta::CPAN

			's/^pkgver=.*/pkgver='.Container::Buildah->get_config("bind_version").'/;'
			.'/bind\.so_bsdcompat\.patch/ and $_="";'
			.'/isc-config\.sh/ and $_="";'
			.'s/[0-9a-f]{128}\s+bind-.*\.tar\.[gx]z$/'.Container::Buildah->get_config("bind_src_sha512sum")
				.'  '.Container::Buildah->get_config("bind_src_file").'/;'
			.'s/(^\s*depends=")/$1libuv-static /;',
			"APKBUILD"],

		# set up APK build environment
		[qw(/usr/sbin/usermod --append --groups abuild named)],
		["/bin/sh", "-c", "chown -R named:named ".$apkbuild_dir." ".$apk_dir],

		# build BIND9 APK
		[qw(su --login -- named /usr/bin/abuild-keygen -a)],
		[qw(su --login -- named /usr/bin/abuild verify)],
		[qw(/usr/bin/abuild -F deps)],
		[qw(su --login -- named /usr/bin/abuild)],

		# save built BIND9 APKs
		["/bin/sh", "-c", "cp -p packages/opt/$arch/* .abuild/named-*.pub ".$apk_dir],
	);

examples/bind9/bind9-build.pl  view on Meta::CPAN

		[qw(/sbin/apk add wget)],

		# move APK public key(s) to /etc/apk/keys where APK can use it/them
		["/bin/sh", "-c", "mv ".$apk_dir."/*.pub /etc/apk/keys"],

		# install BIND9 APKs from the build stage
		[qw(/sbin/apk add), @apks],

		# set up BIND9 configuration
		[qw(mkdir -m 0750 -p /etc/bind)],
		[qw(chown -R root:named /etc/bind)],
		[qw(mkdir -m 0770 -p /var/cache/bind)],
		[qw(chown -R named:named /var/cache/bind)],
		[qw(wget -q -O /etc/bind/bind.keys https://ftp.isc.org/isc/bind9/keys/9.11/bind.keys.v9_11)],
		[qw(rndc-confgen -a)],

		# clean up
		[qw(/sbin/apk del shadow wget)],
		[qw(/bin/sh -c), "rm -rf /var/cache/apk/*"],
	);

	# copy configuration files to container
	$stage->copy({dest => "/etc/bind/"}, "content/configs" );

lib/Container/Buildah/Stage.pm  view on Meta::CPAN


#
# buildah subcommand front-end functions
# Within Container::Buildah::Stage the object has methods for subcommands which take a container name.
# Each method gets container_name from the object. So it is not passed as a separate parameter.
#
# Other more general subcommands are in Container::Buildah class.
#

# front-end to "buildah add" subcommand
# usage: $self->add( [{[dest => value]. [chown => mode]},] src, [src, ...] )
# public instance method
sub add
{
	my ($self, @in_args) = @_;
	$self->debug({level => 2}, @in_args);
	my $params = {};
	if (ref $in_args[0] eq "HASH") {
		$params = shift @in_args;
	}

	# process parameters
	my ($extract, @args) = process_params({name => 'add',
		extract => [qw(dest)],
		arg_flag => [qw(add-history quiet)],
		arg_str => [qw(chown)]
	}, $params);

	# insert --add-history if corresponding global option set
	# (buildah also does this by $ENV{BUILDAH_HISTORY}='true')
	if (Container::Buildah->get_config(qw(opts add-history)) // 0) {
		unshift @args, "--add-history";
	}

	# get special parameter dest if it exists
	my $dest = $extract->{dest};

lib/Container/Buildah/Stage.pm  view on Meta::CPAN

	$self->debug({level => 2}, @in_args);
	my $params = {};
	if (ref $in_args[0] eq "HASH") {
		$params = shift @in_args;
	}

	# process parameters
	my ($extract, @args) = process_params({name => 'copy',
		extract => [qw(dest)],
		arg_flag => [qw(add-history quiet)],
		arg_str => [qw(chown)]
	}, $params);

	# insert --add-history if corresponding global option set
	# (buildah also does this by $ENV{BUILDAH_HISTORY}='true')
	if (Container::Buildah->get_config(qw(opts add-history)) // 0) {
		unshift @args, "--add-history";
	}

	# get special parameter dest if it exists
	my $dest = $extract->{dest};



( run in 0.835 second using v1.01-cache-2.11-cpan-71847e10f99 )