From 24e136618fb48ada0cbc756235b8fd364fa845ad Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 29 Apr 2009 00:16:10 +0000 Subject: [PATCH] Bug #267104 - If the statvfs f_bavail field shows insufficient free space and userfetch is not enabled, recalculate using the f_bfree field. svn path=/main/trunk/; revision=13406 --- pym/portage/__init__.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index ea04d5e87..5a0f86da2 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -3947,8 +3947,15 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", mysize = 0 if (size - mysize + vfs_stat.f_bsize) >= \ (vfs_stat.f_bsize * vfs_stat.f_bavail): - writemsg("!!! Insufficient space to store %s in %s\n" % (myfile, mysettings["DISTDIR"]), noiselevel=-1) - has_space = False + if 'userfetch' in features: + has_space = False + elif (size - mysize + vfs_stat.f_bfree) >= \ + (vfs_stat.f_bfree * vfs_stat.f_bavail): + has_space = False + + if not has_space: + writemsg("!!! Insufficient space to store %s in %s\n" % \ + (myfile, mysettings["DISTDIR"]), noiselevel=-1) if distdir_writable and use_locks: -- 2.26.2