/usr/share/perl5/Sbuild/ChrootInfoSudo.pm is in libsbuild-perl 0.75.0-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #
# ChrootInfo.pm: chroot utility library for sbuild
# Copyright © 2005-2006 Roger Leigh <rleigh@debian.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
#
#######################################################################
package Sbuild::ChrootInfoSudo;
use Sbuild::ChrootInfo;
use Sbuild::ChrootSudo;
use strict;
use warnings;
BEGIN {
use Exporter ();
our (@ISA, @EXPORT);
@ISA = qw(Exporter Sbuild::ChrootInfo);
@EXPORT = qw();
}
sub new {
my $class = shift;
my $conf = shift;
my $self = $class->SUPER::new($conf);
bless($self, $class);
return $self;
}
sub get_info {
my $self = shift;
my $chroot = shift;
$chroot =~ /(\S+):(\S+)/;
my ($namespace, $chrootname) = ($1, $2);
my $info = undef;
if (exists($self->get('Chroots')->{$namespace}) &&
defined($self->get('Chroots')->{$namespace}) &&
exists($self->get('Chroots')->{$namespace}->{$chrootname})) {
$info = $self->get('Chroots')->{$namespace}->{$chrootname}
}
return $info;
}
sub get_info_all {
my $self = shift;
my $chroots = {};
# All sudo chroots are in the chroot namespace.
my $namespace = "chroot";
$chroots->{$namespace} = {};
my $build_dir = $self->get_conf('BUILD_DIR');
# TODO: Configure $build_dir as $sudo_chroot_dir
foreach (glob($self->get_conf('SBUILD_MODE') eq "user" ?
"/etc/sbuild/chroot/*" :
"$build_dir/chroot-*")) {
my %tmp = ('Priority' => 0,
'Location' => $_,
'Session Purged' => 0);
if (-d $tmp{'Location'}) {
my $name = $_;
if ($self->get_conf('SBUILD_MODE') eq "user") {
$name =~ s/^\/etc\/sbuild\/chroot\///;
} else {
$name =~ s/\Q${build_dir}\/chroot-\E//;
}
if ($self->get_conf('DEBUG')) {
print STDERR "Found chroot $name\n";
foreach (sort keys %tmp) {
print STDERR " $_ $tmp{$_}\n";
}
}
$tmp{'Name'} = $name;
$tmp{'Namespace'} = $namespace;
$chroots->{$namespace}->{$name} = \%tmp;
}
}
$self->set('Chroots', $chroots);
}
sub _create {
my $self = shift;
my $chroot_id = shift;
my $chroot = undef;
if (defined($chroot_id)) {
$chroot = Sbuild::ChrootSudo->new($self->get('Config'), $chroot_id);
}
return $chroot;
}
1;
|