X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/18af6870370226b4d502d7372844e7f2aded5887..b10edcb9d41ad2da0cf2232519a8f6d61ccec776:/Makefile.am diff --git a/Makefile.am b/Makefile.am index d9bc30dc33..8e91e1e558 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,9 +7,9 @@ # Copyright © 2017 Mathieu Othacehe # Copyright © 2017 Leo Famulari # Copyright © 2017 Ricardo Wurmus -# Copyright © 2017 Jan Nieuwenhuizen +# Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen # Copyright © 2017 Arun Isaac -# Copyright © 2018 ng0 +# Copyright © 2018 Nikita # Copyright © 2018 Julien Lepiller # Copyright © 2018 Oleg Pykhalov # Copyright © 2018 Alex Vong @@ -68,8 +68,8 @@ MODULES = \ guix/cpio.scm \ guix/deprecation.scm \ guix/docker.scm \ - guix/json.scm \ guix/records.scm \ + guix/openpgp.scm \ guix/pki.scm \ guix/progress.scm \ guix/combinators.scm \ @@ -79,6 +79,7 @@ MODULES = \ guix/modules.scm \ guix/download.scm \ guix/discovery.scm \ + guix/android-repo-download.scm \ guix/bzr-download.scm \ guix/git-download.scm \ guix/hg-download.scm \ @@ -94,6 +95,7 @@ MODULES = \ guix/repl.scm \ guix/inferior.scm \ guix/describe.scm \ + guix/quirks.scm \ guix/channels.scm \ guix/gnu-maintenance.scm \ guix/self.scm \ @@ -102,12 +104,11 @@ MODULES = \ guix/lint.scm \ guix/glob.scm \ guix/git.scm \ + guix/git-authenticate.scm \ guix/graph.scm \ guix/cache.scm \ guix/cve.scm \ guix/workers.scm \ - guix/zlib.scm \ - guix/lzlib.scm \ guix/build-system.scm \ guix/build-system/android-ndk.scm \ guix/build-system/ant.scm \ @@ -129,6 +130,7 @@ MODULES = \ guix/build-system/haskell.scm \ guix/build-system/julia.scm \ guix/build-system/linux-module.scm \ + guix/build-system/maven.scm \ guix/build-system/node.scm \ guix/build-system/perl.scm \ guix/build-system/python.scm \ @@ -168,6 +170,7 @@ MODULES = \ guix/build/minify-build-system.scm \ guix/build/font-build-system.scm \ guix/build/go-build-system.scm \ + guix/build/android-repo.scm \ guix/build/asdf-build-system.scm \ guix/build/bzr.scm \ guix/build/copy-build-system.scm \ @@ -178,6 +181,7 @@ MODULES = \ guix/build/gnu-build-system.scm \ guix/build/gnu-dist.scm \ guix/build/guile-build-system.scm \ + guix/build/maven-build-system.scm \ guix/build/node-build-system.scm \ guix/build/perl-build-system.scm \ guix/build/python-build-system.scm \ @@ -209,6 +213,9 @@ MODULES = \ guix/build/emacs-utils.scm \ guix/build/java-utils.scm \ guix/build/lisp-utils.scm \ + guix/build/maven/java.scm \ + guix/build/maven/plugin.scm \ + guix/build/maven/pom.scm \ guix/build/graft.scm \ guix/build/bournish.scm \ guix/build/qt-utils.scm \ @@ -278,6 +285,8 @@ MODULES = \ guix/scripts/publish.scm \ guix/scripts/edit.scm \ guix/scripts/size.scm \ + guix/scripts/git.scm \ + guix/scripts/git/authenticate.scm \ guix/scripts/graph.scm \ guix/scripts/weather.scm \ guix/scripts/container.scm \ @@ -316,12 +325,17 @@ MODULES += $(STORE_MODULES) dist_noinst_DATA = \ guix/tests.scm \ guix/tests/http.scm \ - guix/tests/git.scm + guix/tests/git.scm \ + guix/tests/gnupg.scm # Auxiliary files for packages. AUX_FILES = \ gnu/packages/aux-files/chromium/master-preferences.json \ gnu/packages/aux-files/emacs/guix-emacs.el \ + gnu/packages/aux-files/linux-libre/5.8-arm.conf \ + gnu/packages/aux-files/linux-libre/5.8-arm64.conf \ + gnu/packages/aux-files/linux-libre/5.8-i686.conf \ + gnu/packages/aux-files/linux-libre/5.8-x86_64.conf \ gnu/packages/aux-files/linux-libre/5.4-arm.conf \ gnu/packages/aux-files/linux-libre/5.4-arm64.conf \ gnu/packages/aux-files/linux-libre/5.4-i686.conf \ @@ -337,12 +351,14 @@ AUX_FILES = \ gnu/packages/aux-files/linux-libre/4.9-x86_64.conf \ gnu/packages/aux-files/linux-libre/4.4-i686.conf \ gnu/packages/aux-files/linux-libre/4.4-x86_64.conf \ + gnu/packages/aux-files/pack-audit.c \ gnu/packages/aux-files/run-in-namespace.c # Templates, examples. EXAMPLES = \ gnu/system/examples/asus-c201.tmpl \ gnu/system/examples/bare-bones.tmpl \ + gnu/system/examples/bare-hurd.tmpl \ gnu/system/examples/beaglebone-black.tmpl \ gnu/system/examples/desktop.tmpl \ gnu/system/examples/lightweight-desktop.tmpl \ @@ -400,6 +416,7 @@ SCM_TESTS = \ tests/gem.scm \ tests/gexp.scm \ tests/git.scm \ + tests/git-authenticate.scm \ tests/glob.scm \ tests/gnu-maintenance.scm \ tests/grafts.scm \ @@ -409,12 +426,13 @@ SCM_TESTS = \ tests/import-utils.scm \ tests/inferior.scm \ tests/lint.scm \ - tests/lzlib.scm \ tests/modules.scm \ tests/monads.scm \ tests/nar.scm \ tests/networking.scm \ + tests/offload.scm \ tests/opam.scm \ + tests/openpgp.scm \ tests/packages.scm \ tests/pack.scm \ tests/pki.scm \ @@ -447,14 +465,14 @@ SCM_TESTS = \ tests/upstream.scm \ tests/utils.scm \ tests/uuid.scm \ - tests/workers.scm \ - tests/zlib.scm + tests/workers.scm SH_TESTS = \ tests/guix-build.sh \ tests/guix-build-branch.sh \ tests/guix-download.sh \ tests/guix-gc.sh \ + tests/guix-git-authenticate.sh \ tests/guix-hash.sh \ tests/guix-pack.sh \ tests/guix-pack-localstatedir.sh \ @@ -469,6 +487,7 @@ SH_TESTS = \ tests/guix-environment-container.sh \ tests/guix-graph.sh \ tests/guix-describe.sh \ + tests/guix-repl.sh \ tests/guix-lint.sh TESTS = $(SCM_TESTS) $(SH_TESTS) @@ -514,7 +533,7 @@ check-system: $(GOBJECTS) # Public keys used to sign substitutes. dist_pkgdata_DATA = \ - etc/substitutes/berlin.guixsd.org.pub \ + etc/substitutes/berlin.guix.gnu.org.pub \ etc/substitutes/ci.guix.gnu.org.pub \ etc/substitutes/ci.guix.info.pub @@ -543,6 +562,7 @@ EXTRA_DIST += \ etc/news.scm \ etc/release-manifest.scm \ etc/system-tests.scm \ + etc/historical-authorizations \ build-aux/build-self.scm \ build-aux/compile-all.scm \ build-aux/hydra/evaluate.scm \ @@ -553,9 +573,9 @@ EXTRA_DIST += \ build-aux/cuirass/guix-modular.scm \ build-aux/cuirass/hydra-to-cuirass.scm \ build-aux/check-final-inputs-self-contained.scm \ + build-aux/check-channel-news.scm \ build-aux/compile-as-derivation.scm \ build-aux/generate-authors.scm \ - build-aux/git-authenticate.scm \ build-aux/test-driver.scm \ build-aux/update-guix-package.scm \ build-aux/update-NEWS.scm \ @@ -565,6 +585,13 @@ EXTRA_DIST += \ tests/signing-key.pub \ tests/signing-key.sec \ tests/cve-sample.json \ + tests/civodul.key \ + tests/rsa.key \ + tests/dsa.key \ + tests/ed25519.key \ + tests/ed25519.sec \ + tests/ed25519bis.key \ + tests/ed25519bis.sec \ build-aux/config.rpath \ bootstrap \ doc/build.scm \ @@ -617,17 +644,19 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA install-data-hook: touch "$(DESTDIR)$(guileobjectdir)/guix/config.go" -# Commit corresponding to the 'v1.0.1' tag. -commit_v1_0_1 = d68de958b60426798ed62797ff7c96c327a672ac +# Commit corresponding to the 'v1.0.0' tag. +commit_v1_0_0 = 6298c3ffd9654d3231a6f25390b056483e8f407c -# Authenticate the current Git checkout by checking signatures on every commit -# starting from $(commit_v1_0_1). +# Introduction of the 'guix' channel. Keep in sync with (guix channels)! +channel_intro_commit = 9edb3f66fd807b096b48283debdcddccfea34bad +channel_intro_signer = BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA + +# Authenticate the current Git checkout by checking signatures on every commit. authenticate: $(AM_V_at)echo "Authenticating Git checkout..." ; \ - "$(top_builddir)/pre-inst-env" $(GUILE) \ - --no-auto-compile -e git-authenticate \ - "$(top_srcdir)/build-aux/git-authenticate.scm" \ - "$(commit_v1_0_1)" + guix git authenticate \ + --cache-key=channels/guix --stats \ + "$(channel_intro_commit)" "$(channel_intro_signer)" # Assuming Guix is already installed and the daemon is up and running, this # rule builds from $(srcdir), creating and building derivations. @@ -663,11 +692,16 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ --enable-daemon \ ac_cv_guix_test_root="$(GUIX_TEST_ROOT)" +# Name of the 'guix' package shipped in the binary tarball. +GUIX_FOR_BINARY_TARBALL = guile3.0-guix + # The self-contained tarball. guix-binary.%.tar.xz: $(AM_V_GEN)GUIX_PACKAGE_PATH= \ - tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \ - -s "$*" --localstatedir --profile-name=current-guix guix` ; \ + tarball=`$(top_builddir)/pre-inst-env guix pack -C xz \ + --fallback \ + -s "$*" --localstatedir --profile-name=current-guix \ + $(GUIX_FOR_BINARY_TARBALL)` ; \ cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@" @@ -701,6 +735,16 @@ gen-AUTHORS: "$(top_srcdir)" "$(distdir)/AUTHORS"; \ fi +# Like 'dist', but regenerate 'configure' so we get an up-to-date +# 'PACKAGE_VERSION' string. (In Gnulib, 'GNUmakefile' has a special trick to +# do that whenever a 'dist' target is used.) +dist-with-updated-version: + @echo "Running './bootstrap' for new version string..." + $(top_srcdir)/bootstrap + $(MAKE) $(AM_MAKEFLAGS) $(top_srcdir)/.version dist + +.PHONY: dist-with-updated-version + # # Release management. @@ -756,7 +800,7 @@ system_flags = $(foreach system,$(1),-s $(system)) # # XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext # issue described at . -release: dist +release: dist-with-updated-version cd po; git checkout . @if ! git diff-index --quiet HEAD; then \ echo "There are uncommitted changes; stopping." >&2 ; \ @@ -770,9 +814,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 \ + $(top_builddir)/pre-inst-env guix build $(GUIX_FOR_BINARY_TARBALL) \ $(call system_flags,$(SUPPORTED_SYSTEMS)) \ - -v1 --no-grafts -K + -v1 --no-grafts --fallback rm -f $(BINARY_TARBALLS) $(MAKE) $(BINARY_TARBALLS) for system in $(SUPPORTED_SYSTEMS) ; do \ @@ -786,12 +830,13 @@ release: dist 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 + -v1 --no-grafts --fallback for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \ image=`$(top_builddir)/pre-inst-env \ guix system disk-image \ --file-system-type=iso9660 \ - --system=$$system \ + --label="GUIX_$${system}_$(VERSION)" \ + --system=$$system --fallback \ gnu/system/install.scm` ; \ if [ ! -f "$$image" ] ; then \ echo "failed to produced Guix installation image for $$system" >&2 ; \ @@ -804,7 +849,8 @@ release: dist for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \ image=`$(top_builddir)/pre-inst-env \ guix system vm-image $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \ - --system=$$system \ + --save-provenance \ + --system=$$system --fallback \ gnu/system/examples/vm-image.tmpl` ; \ if [ ! -f "$$image" ] ; then \ echo "failed to produced Guix VM image for $$system" >&2 ; \ @@ -860,6 +906,11 @@ assert-final-inputs-self-contained: $(GOBJECTS) $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ "$(top_srcdir)/build-aux/check-final-inputs-self-contained.scm" +# Validate channel news. +check-channel-news: $(GOBJECTS) + $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ + "$(top_srcdir)/build-aux/check-channel-news.scm" + # Compute the Hydra jobs and write them in the target file. hydra-jobs.scm: $(GOBJECTS) $(AM_V_at)$(MKDIR_P) "`dirname "$@"`" @@ -879,7 +930,7 @@ cuirass-jobs.scm: $(GOBJECTS) .PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version .PHONY: assert-no-store-file-names assert-binaries-available -.PHONY: assert-final-inputs-self-contained +.PHONY: assert-final-inputs-self-contained check-channel-news .PHONY: clean-go make-go as-derivation authenticate .PHONY: update-guix-package update-NEWS release