Hi Ludovic, Ludovic Courtès <l...@gnu.org> writes:
> Hi, > > Maxim Cournoyer <maxim.courno...@gmail.com> skribis: > >> Ludovic Courtès <l...@gnu.org> writes: > [...] >> Sorry, I'm a bit lost. Are you suggesting that we should restore the >> code following the ;; Re-add SOURCE [...], but wrapped with unless to >> make it conditional to GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT being >> defined? That part depends on SOURCE, a store file name, which we don't >> have anymore since we no longer add the sources to the store to compute >> the hash. > > I’m saying that the solution to the initial problem (that if you don’t > run ‘guix build guix -S --check’ you’re not sure ‘guix’ is referring to > a valid upstream commit) The original problem was about the updated Guix package containing a faulty hash (due to being computed from a uncontrolled checkout that could be dirty). The other concern about preventing the use of a not yet published commit was added based on earlier feedback. > above. The trick at “Re-add SOURCE” is here precisely to prevent > attempts to re-download, as the comment explains, and this is what has > been causing these troubles. > > The advantages (to me) would have been simpler code, no shelling out to > ‘git’, and no fiddling with files under $PWD. Less code would also mean poorer diagnostics: time ./pre-inst-env guix build guix -S The following derivation will be built: /gnu/store/zhfchz831mncd2kyqmh5d2q0r2rpg57s-guix-1.1.0-31.07c13ae-checkout.drv building /gnu/store/zhfchz831mncd2kyqmh5d2q0r2rpg57s-guix-1.1.0-31.07c13ae-checkout.drv... guile: warning: failed to install locale environment variable `PATH' set to `/gnu/store/378zjf2kgajcfd7mfr98jn5xyc5wa3qv-gzip-1.10/bin:/gnu/store/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32/bin' Initialized empty Git repository in /gnu/store/02da8jb3wzzi3bqvrl214gdg0kkxmaf8-guix-1.1.0-31.07c13ae-checkout/.git/ error: Server does not allow request for unadvertised object 07c13aeb5abb1a5bc3cabffb9b2212993a0d5a0e Failed to do a shallow fetch; retrying a full fetch... >From https://git.savannah.gnu.org/git/guix * [new branch] core-updates -> origin/core-updates [...] * [new tag] v1.1.0rc2 -> v1.1.0rc2 fatal: reference is not a tree: 07c13aeb5abb1a5bc3cabffb9b2212993a0d5a0e git-fetch: '/gnu/store/i5b1vv7qc6l2gi4xwa9mqzjy3shvgk30-git-minimal-2.28.0/bin/git checkout 07c13aeb5abb1a5bc3cabffb9b2212993a0d5a0e' failed with exit code 128 Trying content-addressed mirror at berlin.guix.gnu.org... Trying content-addressed mirror at berlin.guix.gnu.org... Trying to download from Software Heritage... builder for `/gnu/store/zhfchz831mncd2kyqmh5d2q0r2rpg57s-guix-1.1.0-31.07c13ae-checkout.drv' failed to produce output path `/gnu/store/02da8jb3wzzi3bqvrl214gdg0kkxmaf8-guix-1.1.0-31.07c13ae-checkout' build of /gnu/store/zhfchz831mncd2kyqmh5d2q0r2rpg57s-guix-1.1.0-31.07c13ae-checkout.drv failed View build log at '/var/log/guix/drvs/zh/fchz831mncd2kyqmh5d2q0r2rpg57s-guix-1.1.0-31.07c13ae-checkout.drv.bz2'. guix build: error: build of `/gnu/store/zhfchz831mncd2kyqmh5d2q0r2rpg57s-guix-1.1.0-31.07c13ae-checkout.drv' failed real 1m42.825s user 0m2.191s sys 0m0.189s This took nearly 2 minutes, fetching the full Guix git repo just to tell me that *something* is not right. Currently, we have: time make update-guix-package git rev-parse HEAD 4893a1394e2eb8b97995b491f2f37ed85513a20f ./pre-inst-env "/gnu/store/i7z4pfa0c22q0qkxyl7fy2nlp3w658yg-profile/bin/guile" \ ./build-aux/update-guix-package.scm \ "`git rev-parse HEAD`" error: Commit 4893a1394e2eb8b97995b491f2f37ed85513a20f is not pushed upstream. Aborting. make: *** [Makefile:6507: update-guix-package] Error 1 real 0m1.135s user 0m1.066s sys 0m0.199s > BTW, in ‘make release’ does ‘make update-guix-package’ and expects it to > work with a not-pushed-yet commit. So it’s a case where we need > GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=yes. Ah, good point. I'd like to fix this, but running 'make release', it fails on: make[3]: *** No rule to make target 'po/doc/guix-manual.pot', needed by 'distdir-am'. Stop. What did I miss? Thank you! Maxim