GNU bug report logs -
#35603
Go build system mishandles repetitive import paths (was [PATCH] build: go-build-system: Ensure uniform unpacking directory.)
Previous Next
Reported by: Leo Famulari <leo <at> famulari.name>
Date: Mon, 6 May 2019 15:44:02 UTC
Severity: normal
Tags: patch
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On Sun, Apr 14, 2019 at 12:03:05AM -0400, Maxim Cournoyer wrote:
> From 1f7535fbe28f7ac96e824b792e9f1a140b8c54cd Mon Sep 17 00:00:00 2001
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> Date: Fri, 5 Apr 2019 00:00:08 -0400
> Subject: [PATCH 3/3] build: go-build-system: Ensure uniform unpacking
> directory.
>
> Depending on whether the source is a directory or an archive, we strip the
> source directory or preserve it, respectively. This change makes it so that
> whether the type of the source, it is unpacked at the expected location given
> by the IMPORT-PATH of the Go build system.
>
> * guix/build/go-build-system.scm: Add the (ice-9 ftw) module.
> (unpack): Add inner procedure to maybe strip the top level directory of an
> archive, document it and use it.
This commit (or patch series) broke the build of Syncthing and maybe
others.
It seems like the the new unpacking code is stripping duplicate
directory names?
It fails like this:
------
starting phase `increase-test-timeout'
Backtrace:
6 (primitive-load "/gnu/store/yfvy06fscz726da5wjvh9jxjsah…")
In ice-9/eval.scm:
191:35 5 (_ _)
In srfi/srfi-1.scm:
863:16 4 (every1 #<procedure 870540 at /gnu/store/zmc0hcmdfg5n4…> …)
In /gnu/store/zmc0hcmdfg5n4kl32vcla4cg9c9bspfg-module-import/guix/build/gnu-build-system.scm:
799:28 3 (_ _)
In ice-9/eval.scm:
619:8 2 (_ #(#(#<directory (guile-user) 5ce140>) (#:inputs # …)))
In /gnu/store/zmc0hcmdfg5n4kl32vcla4cg9c9bspfg-module-import/guix/build/utils.scm:
635:19 1 (with-atomic-file-replacement "src/github.com/syncthin…" …)
In unknown file:
0 (mkstemp! "src/github.com/syncthing/syncthing/build.go…" …)
ERROR: In procedure mkstemp!:
In procedure mkstemp!: No such file or directory
------
And indeed, if you keep the failed build directory, you will see that
the path 'src/github.com/syncthing/syncthing' does not exist, even
though this corresponds to the Go import path specified in the package
definition.
Instead it is like src/github.com/syncthing' which is incorrect.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 6 years and 11 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.