App-LXC-Container
view release on metacpan or search on metacpan
lib/App/LXC/Container/Data/Debian.pm view on Meta::CPAN
Internal Object-oriented implementation of the function
L<App::LXC::Container::Data::content_default_mounts>
=cut
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
sub content_default_mounts($$@)
{
local $_ = shift;
my @output =
($_->SUPER::content_default_mounts(@_),
'',
'# Debian:',
'/etc/debian_version');
return @output
}
########################################################################
=head2 depends_on - find package of file
internal object-oriented implementation of the function
L<App::LXC::Container::Data::depends_on>
=cut
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
sub depends_on($$$)
{
my ($self, $package, $include) = @_;
$self->SUPER::depends_on($package, $include);
return () unless $self->_dpkg_status($package);
my @packages = ();
local $_;
# outer loop over all possible dependencies:
my @check = ('pre-depends', 'depends');
$include > 0 and push @check, 'recommends';
$include > 1 and push @check, 'suggests';
foreach (@check)
{
lib/App/LXC/Container/Data/Debian.pm view on Meta::CPAN
internal object-oriented implementation of the function
L<App::LXC::Container::Data::package_of>
=cut
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
use constant SEARCH => 'dpkg-query --search ';
sub package_of($$)
{
my ($self, $file) = @_;
$self->SUPER::package_of($file);
local $_;
# TODO: looks like pipe with redirection in shell never fails:
# uncoverable branch true
open my $dpkg, '-|', SEARCH . $file . ' 2>/dev/null'
or fatal('internal_error__1',
'error calling ' . SEARCH . $file . ': '. $!);
# escape special characters in file name:
$file =~ s/([]+*?{}[])/\\$1/;
my $package = undef;
while (<$dpkg>)
lib/App/LXC/Container/Data/Debian.pm view on Meta::CPAN
internal object-oriented implementation of the function
L<App::LXC::Container::Data::paths_of>
=cut
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
use constant LISTFILES => 'dpkg-query --listfiles ';
sub paths_of($$)
{
my ($self, $package) = @_;
$self->SUPER::paths_of($package);
local $_;
# TODO: Better approach to get main architecture?
foreach ('', ':amd64', ':i386')
{
my $pa = $package . $_;
# TODO: as above:
# uncoverable branch true
open my $dpkg, '-|', LISTFILES . $pa . ' 2>/dev/null'
or fatal('internal_error__1',
'error calling ' . LISTFILES . $pa . ': '. $!);
( run in 1.405 second using v1.01-cache-2.11-cpan-49f99fa48dc )