From 35a09fd9c1aeb1023352b8e29c483b2fa6c4e41a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 19 Apr 2019 15:28:19 +0200 Subject: maint: Build all the 'guix' packages in parallel. Until now, the 'guix' package shipped in binary tarballs and system images would be built sequentially for each system type, one at a time. Now all of them can potentially be built in parallel. * Makefile.am (system_flags): New function. (release): Run "guix build guix" before "make binary-tarballs" and before "guix system disk-image" to build all the 'guix' packages in parallel. --- Makefile.am | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Makefile.am b/Makefile.am index 93203f0c81..99d6ed64b6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -684,6 +684,9 @@ GUIX_SYSTEM_IMAGE_BASE = guix-system-install-$(PACKAGE_VERSION) # Prefix of the Guix VM image file name. GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION) +# Return the sequence of '-s' flags for the given systems. +system_flags = $(foreach system,$(1),-s $(system)) + # The release process works in several phases: # # 0. We assume the developer created a 'vX.Y' tag. @@ -714,6 +717,9 @@ release: dist "`git rev-parse HEAD`" "$(PACKAGE_VERSION)" git add $(top_srcdir)/gnu/packages/package-management.scm git commit -m "gnu: guix: Update to $(PACKAGE_VERSION)." + $(top_builddir)/pre-inst-env guix build guix \ + $(call system_flags,$(SUPPORTED_SYSTEMS)) \ + -v1 --no-grafts -K rm -f $(BINARY_TARBALLS) $(MAKE) $(BINARY_TARBALLS) for system in $(SUPPORTED_SYSTEMS) ; do \ @@ -725,6 +731,9 @@ release: dist "`git rev-parse HEAD`" git add $(top_srcdir)/gnu/packages/package-management.scm git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`." + $(top_builddir)/pre-inst-env guix build guix \ + $(call system_flags,$(GUIX_SYSTEM_SUPPORTED_SYSTEMS)) \ + -v1 --no-grafts -K for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \ image=`$(top_builddir)/pre-inst-env \ guix system disk-image \ -- cgit v1.2.3