Make splits on demand rather than pre-create a hard set of splits.

This commit is contained in:
Jesse Keating 2009-05-15 11:19:26 -07:00
parent 9012c9fd41
commit 038a98a2d3

View File

@ -365,21 +365,13 @@ self.reserve_size : Additional size needed to be reserved on the first disc.
# move to the next disc if true # move to the next disc if true
if newsize > maxsize: if newsize > maxsize:
self.reportSizes(disc, firstpkg=firstpackage, lastpkg=lastpackage) self.reportSizes(disc, firstpkg=firstpackage, lastpkg=lastpackage)
# try it, if we are already on the last disc then complain loudly # Create a new split dir to copy into
try: self.createSplitDir()
nextdisc=self.bin_list.index(disc+1) disc = self.bin_list[-1]
disc = self.bin_list[nextdisc]
os.link("%s/%s/%s" % (self.dist_dir, pkgdir, file_name), os.link("%s/%s/%s" % (self.dist_dir, pkgdir, file_name),
"%s-disc%d/%s/%s" % (self.dist_dir, disc, pkgdir, file_name)) "%s-disc%d/%s/%s" % (self.dist_dir, disc, pkgdir, file_name))
packagenum = 1 packagenum = 1
firstpackage = file_name firstpackage = file_name
except:
# back down to the last RPM disc and complain about the overflow
disc = disc - 1
self.logfile.append("No more discs to put packages, overflowing on disc%d" % disc)
continue
else: else:
os.link("%s/%s/%s" % (self.dist_dir, pkgdir, file_name), os.link("%s/%s/%s" % (self.dist_dir, pkgdir, file_name),
"%s-disc%d/%s/%s" % (self.dist_dir, disc, pkgdir, file_name)) "%s-disc%d/%s/%s" % (self.dist_dir, disc, pkgdir, file_name))