From 22d915e020643797eab6f3f3017752cb1f6b0178 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Wed, 6 May 2020 00:45:22 +0100 Subject: Software are rebuilt automatically with change of version Until now, when you changed the version of a software in an already-built system, its tarball would be downloaded, but it wouldn't actually build. The only way would be to force the build by deleting the main target of that file (under `.local/version-info/TYPE/PROGRAM'). This was because the tarballs were an order-only prerequisite which was implemented some time ago based on some theoretical argument that if the tarball dates changes, the software should not be rebuilt (because we check the checksum). However, the problems this causes are more than those it solves: Users may forget to delete the main target of the program and mistakenly think that they are using the new version. The fact that all the numbers going into the paper also contain this number further hides this. With this commit, tarballs are no longer order-only and any time a version of a software is updated, it will be automatically built and not cause confusion and manual intervention by the users. As a result of this change, I also had to correct the way we find the tarball from the list of prerequisites. --- reproduce/software/make/build-rules.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'reproduce/software/make/build-rules.mk') diff --git a/reproduce/software/make/build-rules.mk b/reproduce/software/make/build-rules.mk index 8d78ce3..506e952 100644 --- a/reproduce/software/make/build-rules.mk +++ b/reproduce/software/make/build-rules.mk @@ -57,7 +57,7 @@ gbuild = if [ x$(static_build) = xyes ] && [ "x$(2)" = xstatic ]; then \ if [ x"$$check" = x ]; then check="echo Skipping-check"; fi; \ cd $(ddir); rm -rf $(1); \ if [ x"$$gbuild_tar" = x ]; then \ - tarball=$(word 1,$(filter $(tdir)/%,$|)); \ + tarball=$(word 1,$(filter $(tdir)/%,$^)); \ else tarball=$$gbuild_tar; \ fi; \ if ! tar xf $$tarball; then \ @@ -113,7 +113,7 @@ cbuild = if [ x$(static_build) = xyes ] && [ $(2)x = staticx ]; then \ fi; \ cd $(ddir) \ && rm -rf $(1) \ - && tar xf $(word 1,$(filter $(tdir)/%,$|)) \ + && tar xf $(word 1,$(filter $(tdir)/%,$^)) \ && cd $(1) \ && rm -rf project-build \ && mkdir project-build \ -- cgit v1.2.1