Package: sbuild
Tags: moreinfo patch
X-Debbugs-Cc:
myon@debian.org
Hi,
I noticed that sbuild --mode=schroot does not support --no-enable
network. As it happens, unschroot[1] supports --isolate-network and all
that's missing here is passing that flag. Of course, that's not the
default schroot implementation and schroot may end up using a different
flag name. Still, I'm posting the patch that makes it work practically
for future reference.
Helmut
[1]
https://git.subdivi.de/~helmut/python-linuxnamespaces.git/tree/examples/unschroot.py
--- a/usr/share/perl5/Sbuild/ChrootSchroot.pm
+++ b/usr/share/perl5/Sbuild/ChrootSchroot.pm
@@ -107,12 +107,14 @@
my $self = shift;
my $dir = shift;
my $user = shift;
+ my $disable_network = shift // 0;
return ($self->get_conf('SCHROOT'),
'-d', $dir,
'-c', $self->get('Session ID'),
'--run-session',
@{$self->get_conf('SCHROOT_OPTIONS')},
+ $disable_network ? ('--isolate-network') : (),
'-u', "$user", '-p', '--');
}
@@ -134,7 +136,11 @@
my $disable_network = 0;
if (defined($options->{'ENABLE_NETWORK'}) && $options->{'ENABLE_NETWORK'} == 0) {
- print STDERR "Disabling the network for this command was requested but the schroot backend doesn't support this feature yet:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802849\n" if $self->get_conf('DEBUG');
+ if ($self->get_conf('SCHROOT') =~ /unschroot/) {
+ $disable_network = 1;
+ } else {
+ print STDERR "Disabling the network for this command was requested but th