python3: avoid unnecessary rebuilds
authorEneas U de Queiroz <cotequeiroz@gmail.com>
Wed, 4 Oct 2023 19:19:07 +0000 (16:19 -0300)
committerJosef Schlehofer <pepe.schlehofer@gmail.com>
Sat, 7 Oct 2023 17:33:30 +0000 (19:33 +0200)
Move the order in which BuildPackage is called, so that the libpython
package is built ahead of the module packages, to avoid forcing a
clean-build of the package when 'make package/python3/compile' is called
a second time without changes.

The library must be built first, so that when the buildsystem checks for
ABI version changes using libpython3.version, its timestamp should be
older than the dependent package's STAMP_PREPARED file.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
(cherry picked from commit c230d7bd7f8a794032d2414588f1cdfc1a5ec74e)

lang/python/python3/Makefile

index 4d4b922ae29d70a693e269909ad62270f0964b58..762b11b9ba05176b0b1a52936f937d3b7478fb13 100644 (file)
@@ -390,12 +390,6 @@ endef
 
 $(eval $(call HostBuild))
 
-$(foreach package, $(PYTHON3_PACKAGES),  \
-       $(eval $(call Py3Package,$(package))) \
-       $(eval $(call BuildPackage,$(package))) \
-       $(eval $(call BuildPackage,$(package)-src)) \
-)
-
 $(eval $(call BuildPackage,libpython3))
 
 $(eval $(call Py3Package,python3-base))
@@ -408,3 +402,9 @@ $(eval $(call BuildPackage,python3))
 
 $(eval $(call BuildPackage,python3-base-src))
 $(eval $(call BuildPackage,python3-light-src))
+
+$(foreach package, $(PYTHON3_PACKAGES),  \
+       $(eval $(call Py3Package,$(package))) \
+       $(eval $(call BuildPackage,$(package))) \
+       $(eval $(call BuildPackage,$(package)-src)) \
+)