Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#551917: [sbuild] Please add a switch to disable/ignore free space calculation

0 views
Skip to first unread message

Bruno Kleinert

unread,
Oct 21, 2009, 3:30:04 PM10/21/09
to
Package: sbuild
Version: 0.59.0-1
Severity: wishlist

--- Please enter the report below this line. ---
Hi there,

it would be great if it was possible to disable the disc space checking
code for particular builds by a command line option. In my particular
case sbuild assumed it will run out of disc sapce. I commented out the
checking code in Build.pm, lines 663 to 676 and building the package
worked just fine. I'm using sbuild together with schroot on a LVM
snapshot.

Cheers - Fuddl


--- System information. ---
Architecture: amd64
Kernel: Linux 2.6.30-2-amd64

Debian Release: squeeze/sid
500 unstable ftp.de.debian.org
1 experimental ftp.de.debian.org

--- Package information. ---
Depends (Version) | Installed
===============================-+-=============
perl | 5.10.1-5
perl-modules | 5.10.1-5
libsbuild-perl (= 0.59.0-1) | 0.59.0-1
adduser | 3.111


Recommends (Version) | Installed
==========================-+-===========
fakeroot | 1.14
debootstrap | 1.0.20


Suggests (Version) | Installed
========================-+-===========
wget | 1.12-1
deborphan |

signature.asc

Roger Leigh

unread,
Dec 12, 2009, 9:50:01 AM12/12/09
to
tags 551917 + fixed-upstream patch pending
thanks

On Wed, Oct 21, 2009 at 09:14:53PM +0200, Bruno Kleinert wrote:
> it would be great if it was possible to disable the disc space checking
> code for particular builds by a command line option. In my particular
> case sbuild assumed it will run out of disc sapce. I commented out the
> checking code in Build.pm, lines 663 to 676 and building the package
> worked just fine. I'm using sbuild together with schroot on a LVM
> snapshot.

Done. The following patch was committed to the git master branch to
add this feature.


Regards,
Roger


diff --git a/etc/sbuild.conf b/etc/sbuild.conf
index 3d82caf..7b55581 100644
--- a/etc/sbuild.conf
+++ b/etc/sbuild.conf
@@ -129,6 +129,14 @@
# each build, or 0 to disable.
#$apt_update = 0;

+# Check free disk space prior to starting a build. sbuild requires
+# the free space to be at least twice the size of the unpacked sources
+# to allow a build to proceed. Can be disabled to allow building if
+# space is very limited, but the threshold to abort a build has been
+# exceeded despite there being sufficient space for the build to
+# complete.
+#$check_space = 1;
+
# Check watched packages to discover missing build dependencies. This
# can be disabled to increase the speed of builds
#$check_watches = 1;
diff --git a/lib/Sbuild/Build.pm b/lib/Sbuild/Build.pm
index 6aae838..b9d0d88 100644
--- a/lib/Sbuild/Build.pm
+++ b/lib/Sbuild/Build.pm
@@ -703,7 +703,7 @@ sub build {
$current_usage = $1;
if ($current_usage) {
my $free = df($dscdir);
- if ($free < 2*$current_usage) {
+ if ($free < 2*$current_usage && $self->get_conf('CHECK_SPACE')) {
$self->log("Disc space is propably not enough for building.\n".
"(Source needs $current_usage KB, free are $free KB.)\n");
# TODO: Only purge in a single place.
diff --git a/lib/Sbuild/Conf.pm b/lib/Sbuild/Conf.pm
index 0de778e..bab48e6 100644
--- a/lib/Sbuild/Conf.pm
+++ b/lib/Sbuild/Conf.pm
@@ -303,6 +303,9 @@ sub init_allowed_keys {
'APT_POLICY' => {
DEFAULT => 1
},
+ 'CHECK_SPACE' => {
+ DEFAULT => 1
+ },
'CHECK_WATCHES' => {
DEFAULT => 1
},
@@ -489,6 +492,7 @@ sub read_config {
my $max_lock_trys = undef;
my $lock_interval = undef;
my $apt_policy = undef;
+ my $check_space = undef;
my $check_watches = undef;
my @ignore_watches_no_build_deps;
undef @ignore_watches_no_build_deps;
@@ -570,6 +574,7 @@ sub read_config {
$self->set('LOCK_INTERVAL', $lock_interval);
$self->set('APT_POLICY', $apt_policy);
$self->set('CHECK_WATCHES', $check_watches);
+ $self->set('CHECK_SPACE', $check_space);
$self->set('IGNORE_WATCHES_NO_BUILD_DEPS',
\@ignore_watches_no_build_deps)
if (@ignore_watches_no_build_deps);

--
.''`. Roger Leigh
: :' : Debian GNU/Linux http://people.debian.org/~rleigh/
`. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/
`- GPG Public Key: 0x25BFB848 Please GPG sign your mail.

signature.asc
0 new messages