Bug 1244246

Summary: rebase to golang-1.4.99-2.1.5beta1.fc2[3|4] breaks kubernetes builds due to bytes.Reader defining a Size method which results in ambiguity about the Size method
Product: [Fedora] Fedora Reporter: Jan Chaloupka <jchaloup>
Component: golang-github-elazarl-go-bindata-assetfsAssignee: FridolĂ­n PokornĂ˝ <fpokorny>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: urgent    
Version: rawhideCC: admiller, golang-updates, jchaloup, lemenkov, lsm5, pbrobinson, renich, s, vbatts
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-17 19:07:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jan Chaloupka 2015-07-17 14:48:53 UTC
Kubernetes fails to build with the following error:

    # github.com/elazarl/go-bindata-assetfs
Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs/assetfs.go:74: AssetFile.Size is ambiguous
Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs/assetfs.go:74: cannot use f (type *AssetFile) as type os.FileInfo in return argument:
	*AssetFile does not implement os.FileInfo (missing Size method)
Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs/assetfs.go:114: AssetDirectory.Size is ambiguous
Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs/assetfs.go:114: cannot use f (type *AssetDirectory) as type os.FileInfo in return argument:
	*AssetDirectory does not implement os.FileInfo (missing Size method)

With golang-1.4.2-3.fc23 this did not occur. It is related to [1] which reffers [2]. They recommends to update to golang-1.5.

[1] https://github.com/golang/go/issues/11101
[2] https://github.com/golang/go/issues/10654

Kubernetes is build every day in Fedora, setting to urgent.

Comment 1 Vincent Batts 2015-07-17 15:53:13 UTC
I have pushed an update to go1.5beta2 for f23 and f24. Jan, what was the issue that shows this will be resolved with beta2?

Comment 2 Jan Chaloupka 2015-07-17 15:57:05 UTC
This one:

https://github.com/golang/go/commit/5ee552815ceaa5874b73125df07265bee34d1cc1

At least I suppose it does resolves the issue. [1] was actually reported by a kubernetes developer.

[1] https://github.com/golang/go/issues/11101

Comment 3 Vincent Batts 2015-07-17 17:47:54 UTC
go1.5beta2 is available for f23 and f24. Please test.

http://koji.fedoraproject.org/koji/taskinfo?taskID=10392005
http://koji.fedoraproject.org/koji/taskinfo?taskID=10392008

Comment 4 Jan Chaloupka 2015-07-17 21:08:11 UTC
Still the same problem [1]. Maybe it is the correct behaviour, just golang language specification has changed. Or it is a regression. Let analyse the piece of the code.

[1] https://kojipkgs.fedoraproject.org//work/tasks/4711/10394711/build.log

Comment 5 Jan Chaloupka 2015-07-20 11:08:02 UTC
Smaller reproducer with github.com/elazarl/go-bindata-assetfs commit ae4665cf2d188c65764c73fe4af5378acc549510

$ cat main.go
package main

import assetfs "github.com/elazarl/go-bindata-assetfs"
import "fmt"

type Test struct {
	assetfs.AssetFile
}

func main() {
	fmt.Println("Test")
}

$ go version
go version go1.5beta2 linux/amd64
$ GOPATH="/usr/share/gocode" go run main.go 
# github.com/elazarl/go-bindata-assetfs
/usr/share/gocode/src/github.com/elazarl/go-bindata-assetfs/assetfs.go:74: AssetFile.Size is ambiguous
/usr/share/gocode/src/github.com/elazarl/go-bindata-assetfs/assetfs.go:74: cannot use f (type *AssetFile) as type os.FileInfo in return argument:
	*AssetFile does not implement os.FileInfo (missing Size method)
/usr/share/gocode/src/github.com/elazarl/go-bindata-assetfs/assetfs.go:114: AssetDirectory.Size is ambiguous
/usr/share/gocode/src/github.com/elazarl/go-bindata-assetfs/assetfs.go:114: cannot use f (type *AssetDirectory) as type os.FileInfo in return argument:
	*AssetDirectory does not implement os.FileInfo (missing Size method)

Comment 6 Jan Chaloupka 2015-07-20 11:17:11 UTC
Not occurring with the latest commit of github.com/elazarl/go-bindata-assetfs, i.e. 3dcc96556217539f50599357fb481ac0dc7439b9.

It is fixed with c57a80f1ab2ad67bafa83f5fd0b4c2ecbd253dd5 commit. So it is a bug in golang-github-elazarl-go-bindata-assetfs.

Citing:
"
 Fix build for go tip (a.k.a. go 1.5).

In go 1.5 bytes.Reader defines a Size method which causes ambiguity when
embedding both bytes.Reader and FakeFile in AssetFile. Manually resolve
the ambiguity about which Size method to use."

Comment 7 Jan Chaloupka 2015-07-20 15:52:01 UTC
Kubernetes now builds fine. However some tests fail.

https://github.com/GoogleCloudPlatform/kubernetes/pull/11580

Comment 8 Fedora Update System 2015-07-20 19:58:44 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.fc22

Comment 9 Fedora Update System 2015-07-20 19:59:04 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.fc21

Comment 10 Fedora Update System 2015-07-20 19:59:48 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.el6

Comment 11 Fedora Update System 2015-07-21 15:04:46 UTC
Package golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2015-7287/golang-github-elazarl-go-bindata-assetfs-0-0.3.git3dcc965.el6
then log in and leave karma (feedback).

Comment 12 Fedora Update System 2015-07-27 07:58:07 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.4.git3dcc965.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.4.git3dcc965.fc22

Comment 13 Fedora Update System 2015-07-27 07:59:43 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.4.git3dcc965.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.4.git3dcc965.fc21

Comment 14 Fedora Update System 2015-07-27 08:02:04 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.4.git3dcc965.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.4.git3dcc965.el6

Comment 15 Fedora Admin XMLRPC Client 2015-07-29 13:30:37 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 16 Fedora Update System 2015-07-31 09:54:38 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.fc22

Comment 17 Fedora Update System 2015-07-31 09:56:19 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.fc21

Comment 18 Fedora Update System 2015-07-31 09:57:48 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.el6

Comment 19 Fedora Update System 2015-08-17 19:07:26 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 20 Fedora Update System 2015-08-19 08:01:39 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2015-08-19 08:02:22 UTC
golang-github-elazarl-go-bindata-assetfs-0-0.5.git3dcc965.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.