diff options
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 72 |
1 files changed, 44 insertions, 28 deletions
diff --git a/Makefile.am b/Makefile.am index 25b3eb3378..77c05ff63b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -431,10 +431,6 @@ AUX_FILES = \ gnu/packages/aux-files/linux-libre/6.8-arm64.conf \ gnu/packages/aux-files/linux-libre/6.8-i686.conf \ gnu/packages/aux-files/linux-libre/6.8-x86_64.conf \ - gnu/packages/aux-files/linux-libre/6.7-arm.conf \ - gnu/packages/aux-files/linux-libre/6.7-arm64.conf \ - gnu/packages/aux-files/linux-libre/6.7-i686.conf \ - gnu/packages/aux-files/linux-libre/6.7-x86_64.conf \ gnu/packages/aux-files/linux-libre/6.6-arm.conf \ gnu/packages/aux-files/linux-libre/6.6-arm64.conf \ gnu/packages/aux-files/linux-libre/6.6-i686.conf \ @@ -724,9 +720,12 @@ EXTRA_DIST += \ build-aux/config.rpath \ build-aux/convert-xref.scm \ build-aux/generate-authors.scm \ + build-aux/git-version-gen \ + build-aux/mdate-from-git.scm \ build-aux/test-driver.scm \ build-aux/update-NEWS.scm \ build-aux/update-guix-package.scm \ + build-aux/xgettext.scm \ doc/build.scm \ etc/disarchive-manifest.scm \ etc/guix-install.sh \ @@ -954,6 +953,20 @@ guix-binary.%.tar.xz: guix` ; \ cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@" +# The `dist' target has other dependencies when building from Git +# to assert and achieve reproducibility. +if in_git_p + +# The dependency on dist-doc-pot-update is to clean possibly stale doc and po +# files and only then generate the .pot files, which are not checked in. +dist: dist-doc-pot-update +dist-doc-pot-update: auto-clean + $(MAKE) guile$(EXEEXT) + $(MAKE) -C po/guix all + $(MAKE) -C po/packages all + $(MAKE) doc-pot-update + +dist-hook: gen-ChangeLog gen-AUTHORS # Assert that Autotools cache is up to date with Git, by checking # PACKAGE_VERSION against HEAD. Indented to get past Automake. @@ -968,20 +981,20 @@ guix-binary.%.tar.xz: $(error Cannot create reproducible tarball) else $(warning Tarball will be irreproducible; distdir will not get removed!) - endif - endif - endif + endif # !GUIX_ALLOW_IRREPRODUCIBLE_TARBALL + endif # PACKAGE_VERSION != git_version + endif # MAKECMDGOALS dist -# The dependency on dist-doc-pot-update is to clean possibly stale doc and po -# files and only then generate the .pot files, which are not checked in. -dist: dist-doc-pot-update -dist-doc-pot-update: auto-clean - $(MAKE) guile$(EXEEXT) - $(MAKE) -C po/guix all - $(MAKE) -C po/packages all - $(MAKE) doc-pot-update +else # !in_git_p + +dist: doc-pot-update -dist-hook: gen-ChangeLog gen-AUTHORS gen-tarball-version + ifeq ($(MAKECMDGOALS),dist) +$(warning Not using Git, tarball will likely be irreproducible!) + endif # MAKECMDGOALS dist +endif # !in_git_p + +dist-hook: gen-tarball-version dist-hook: assert-no-store-file-names distcheck-hook: assert-binaries-available assert-final-inputs-self-contained @@ -993,27 +1006,25 @@ $(top_srcdir)/.version: config.status gen-tarball-version: echo $(VERSION) > "$(distdir)/.tarball-version" - git show HEAD --format=%ct --no-patch > $(distdir)/.tarball-timestamp + echo $(SOURCE_DATE_EPOCH) > $(distdir)/.tarball-timestamp gen-ChangeLog: - $(AM_V_GEN)if test -e .git; then \ - export LC_ALL=en_US.UTF-8; \ - export TZ=UTC0; \ - $(top_srcdir)/build-aux/gitlog-to-changelog \ - > $(distdir)/ChangeLog.tmp; \ - rm -f $(distdir)/ChangeLog; \ - mv $(distdir)/ChangeLog.tmp $(distdir)/ChangeLog; \ - fi + $(AM_V_GEN)set -e; \ + export LC_ALL=en_US.UTF-8; \ + export TZ=UTC0; \ + $(top_srcdir)/build-aux/gitlog-to-changelog \ + > $(distdir)/ChangeLog.tmp; \ + rm -f $(distdir)/ChangeLog; \ + mv $(distdir)/ChangeLog.tmp $(distdir)/ChangeLog; gen-AUTHORS: - $(AM_V_GEN)if test -e .git; then \ + $(AM_V_GEN)set -e; \ rm -f "$(distdir)/AUTHORS"; \ export LC_ALL=en_US.UTF-8; \ export TZ=UTC0; \ $(top_builddir)/pre-inst-env "$(GUILE)" \ "$(top_srcdir)/build-aux/generate-authors.scm" \ - "$(top_srcdir)" "$(distdir)/AUTHORS"; \ - fi + "$(top_srcdir)" "$(distdir)/AUTHORS"; # Like 'dist', but regenerate 'configure' so we get an up-to-date # 'PACKAGE_VERSION' string. (In Gnulib, 'GNUmakefile' has a special trick to @@ -1241,7 +1252,12 @@ COMMIT_MSG_MAGIC = VGhpcyBpcyB0aGUgY29tbWl0LW1zZyBob29rIG9mIEd1aXg= cp etc/git/commit-msg $@; \ fi +# The etc/git/ config files are not distributed and have no use when building +# from a tarball. Do not add dependencies on these to *_DATA when building +# from a tarball, as that breaks the build. +if in_git_p nodist_noinst_DATA = .git/hooks/pre-push .git/config .git/hooks/commit-msg +endif # Downloading up-to-date PO files. |