Package: golang-github-common-nighthawk-go-figure
Severity: wishlist

Hi.  I noticed that the source code file bindata.go in this package was
generated using go-bindata from the files in fonts/.  This bug is to
request that this file is re-generated from source code during the build
of the Debian package.  I have verified manually that it is possible to
re-generate the file resulting in only minor differences (see below).

Before fixing this, I think we need to understand one thing better.  I
am worried that if we would use the output below, the differences in the
resulting source code would result in a build that is not bit-by-bit
binary identical to what the rest of the Go eco-system would see, which
may be a problem.  How can we make go-bindata generate exactly the same
bindata.go as upstream ships?  Of course, we could easily run go-bindata
and then add a sed expression to modify the resulting source code, so it
will match upstream's.  But that is a bit ugly.

Alternatively, we could enhance go-bindata to generating code without
mode/modTime (under some parameter) -- since I think this approach play
well with reproducible builds -- and then convince
golang-github-common-nighthawk-go-figure upstream to re-generate their
file using that.  Then we would be able to reproduce the upstream source
identically and still rebuild the sources we use for building this
Debian package.

Thoughts?

/Simon

jas@kaka:~/dpkg/golang-github-common-nighthawk-go-figure$ go-bindata -pkg 
figure -modtime 1529341546 fonts/
jas@kaka:~/dpkg/golang-github-common-nighthawk-go-figure$ git diff -w
diff --git a/bindata.go b/bindata.go
index f85d3bb..6b7c86d 100644
--- a/bindata.go
+++ b/bindata.go
@@ -1231,7 +1231,7 @@ func fontsEliteFlf() (*asset, error) {
                return nil, err
        }
 
-       info := bindataFileInfo{name: "fonts/elite.flf", size: 5005, mode: 
os.FileMode(420), modTime: time.Unix(1559099119, 0)}
+       info := bindataFileInfo{name: "fonts/elite.flf", size: 5005, mode: 
os.FileMode(436), modTime: time.Unix(1529341546, 0)}
        a := &asset{bytes: bytes, info: info}
        return a, nil
 }
@@ -3438,7 +3438,6 @@ type bintree struct {
        Func     func() (*asset, error)
        Children map[string]*bintree
 }
-
 var _bintree = &bintree{nil, map[string]*bintree{
        "fonts": &bintree{nil, map[string]*bintree{
                "3-d.flf": &bintree{fonts3DFlf, map[string]*bintree{}},
@@ -3639,3 +3638,4 @@ func _filePath(dir, name string) string {
        cannonicalName := strings.Replace(name, "\\", "/", -1)
        return filepath.Join(append([]string{dir}, 
strings.Split(cannonicalName, "/")...)...)
 }
+
jas@kaka:~/dpkg/golang-github-common-nighthawk-go-figure$ 

Attachment: signature.asc
Description: PGP signature

Reply via email to