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$