Add support for running the final make_image step in parallel

to make best use of larger machines with SSD storage. Use
PARALLEL_MAKE_IMAGE=<n> to specify how many to build in parallel.
This commit is contained in:
Steve McIntyre 2020-12-12 03:13:53 +00:00
parent 176789bebc
commit 45c0531c78
4 changed files with 24 additions and 2 deletions

View File

@ -439,6 +439,11 @@ if [ -d "/etc/ssl/ca-debian" ]; then
fi
export WGET="wget $WGET_OPTS"
# Run the make_image step in parallel? Specify the number of calls to
# use in parallel here if desired. Don't go too high - this *will*
# thrash your IO!
#export PARALLEL_MAKE_IMAGE=4
# Set this to force the Release file(s) to say "stable". Used in first
# Etch builds to allow us to build before the archive updated
#EARLY_BUILD_HACK=1

View File

@ -497,6 +497,12 @@ image-trees: ok genlist
images: ok $(OUT) $(BDIR)/checksum-check
$(Q)$(make_image) "$(BDIR)" "$(ARCHES)" "$(OUT)" "$(DEBVERSION)" "$(MIRROR)" "$(MKISOFS)" "$(MKISOFS_OPTS)" "$(JIGDO_OPTS)" "$(jigdo_cleanup)"
parallel_images: $(subst volid,image,$(notdir $(wildcard $(BDIR)/*.volid)))
echo $^
%.image: ok $(OUT) $(BDIR)/checksum-check
$(Q)CD=$(subst .image,,$@) $(make_image) "$(BDIR)" "$(ARCHES)" "$(OUT)" "$(DEBVERSION)" "$(MIRROR)" "$(MKISOFS)" "$(MKISOFS_OPTS)" "$(JIGDO_OPTS)" "$(jigdo_cleanup)"
check-number-given:
@test -n "$(CD)" || (echo "Give me a CD=<num> parameter !" && false)

View File

@ -80,7 +80,12 @@ else
fi
echo "Building $NUMJIGDOS jigdos and $NUMISOS isos for $ARCHES $DISKTYPE"
make $IMAGETARGET
if [ "$IMAGETARGET" = "official_images" ] && [ ! -z "$PARALLEL_MAKE_IMAGE" ]; then
make ok init packagelists image-trees
make -j $PARALLEL_MAKE_IMAGE parallel_images
else
make $IMAGETARGET
fi
if [ "$IMAGESUMS"x = 1x ]; then
make imagesums

8
debian/changelog vendored
View File

@ -1,8 +1,14 @@
debian-cd (3.1.32) UNRELEASED; urgency=medium
[ Holger Levsen ]
* Update standards version to 4.5.1, no changes needed.
-- Holger Levsen <holger@debian.org> Thu, 19 Nov 2020 11:24:03 +0100
[ Steve McIntyre ]
* Add support for running the final make_image step in parallel to
make best use of larger machines with SSD storage. Use
PARALLEL_MAKE_IMAGE=<n> to specify how many to build in parallel.
-- Steve McIntyre <93sam@debian.org> sat, 12 Dec 2020 03:12:36 +0100
debian-cd (3.1.31) unstable; urgency=medium