[Bug 1132101] New: RPM dependencies of all go packages using "golang-packaging"/"go_provides broken
http://bugzilla.suse.com/show_bug.cgi?id=1132101 Bug ID: 1132101 Summary: RPM dependencies of all go packages using "golang-packaging"/"go_provides broken Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Critical Priority: P5 - None Component: Development Assignee: graham@andtech.eu Reporter: kukuk@suse.com QA Contact: qa-bugs@suse.de CC: containers-bugowner@suse.de Found By: --- Blocker: --- %{go_provides} Macro does not seem to work. All go packages using this macro (BuildRequires golang-packaging) have empty Requires, most likely other things like Provides are broken, too. The output is always the same, you can replace "github.com/coreos/flannel/..." with any other package, including kubernetes. [ 82s] warning: Deprecated external dependency generator is used! [ 82s] Finding Provides: /usr/lib/rpm/golang.prov [ 82s] go: warning: "github.com/coreos/flannel/..." matched no packages [ 82s] Finding Requires(interp): [ 82s] Finding Requires(rpmlib): [ 82s] Finding Requires(verify): [ 82s] Finding Requires(pre): [ 82s] Finding Requires(post): [ 82s] Finding Requires(preun): [ 82s] Finding Requires(postun): [ 82s] Finding Requires(pretrans): [ 82s] Finding Requires(posttrans): [ 82s] Finding Requires: /usr/lib/rpm/golang.req [ 82s] go: warning: "github.com/coreos/flannel/..." matched no packages [ 82s] Finding Conflicts: [ 82s] Finding Obsoletes: [ 82s] Finding Recommends: [ 82s] Finding Suggests: [ 82s] Finding Supplements: /usr/lib/rpm/find-supplements [ 82s] Finding Enhances: The binaries are dynamically linked, so at least glibc and others should be there. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1132101
Richard Brown
http://bugzilla.suse.com/show_bug.cgi?id=1132101
Thorsten Kukuk
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c1
--- Comment #1 from Thorsten Kukuk
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c2
Klaus Kämpf
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c3
--- Comment #3 from Thorsten Kukuk
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c4
Flavio Castelli
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c5
--- Comment #5 from Jeff Kowalczyk
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c6
--- Comment #6 from Thorsten Kukuk
If I understand the conditional correctly (expands to 0 or 01), go_provides only applies to SLE11?
Should be, yes. But I think /usr/lib/rpm/fileattrs/golang.attr is the real problem. In short: macros.go belongs to /usr/lib/rpm/macros.d, not /etc/... go_nostrip: why do we need that? What's wrong with our default debuginfo packages? This only creates really fat binaries, and as result, I often see "-s -w" in go build arguments, which throws the debuginfo really away. goprep: go mod init and go mod vendor is much more useful. /usr/lib/rpm/golang.sh: this need a security review, fix filenames in /tmp written by root? Ouch. Same for the golang.req/golang.prov files. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1132101
Flavio Castelli
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c7
Aleksa Sarai
(In reply to Jeff Kowalczyk from comment #5) go_nostrip: why do we need that? What's wrong with our default debuginfo packages? This only creates really fat binaries, and as result, I often see "-s -w" in go build arguments, which throws the debuginfo really away.
This is required because the default debuginfo stripping has caused several cases in the past where Go binaries were subtly broken (in particular, backtraces in panics were broken). I submitted patches to the post-build scripts several years ago to fix it (currently strip(1) gives an error code, but the file is still modified), but those patches weren't accepted. Ideally, if everyone used the RPM macro for "go build", then we'd use '-s -w' universally -- but as you said this means that debuginfo is completely useless.
goprep: go mod init and go mod vendor is much more useful.
I can't disagree, though we don't have internet access in our builds so you couldn't really do this in an OBS build.
/usr/lib/rpm/golang.sh: this need a security review, fix filenames in /tmp written by root? Ouch. Same for the golang.req/golang.prov files.
Yeah, this should be reviewed. The current golang.sh is a bug-compatible rewrite of the original which was written by the old Golang maintainer for openSUSE. Personally I'm not really sold on golang-packaging at all (almost nobody uses it, and those that do use it don't like it). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c8
--- Comment #8 from Swamp Workflow Management
http://bugzilla.suse.com/show_bug.cgi?id=1132101
http://bugzilla.suse.com/show_bug.cgi?id=1132101#c9
--- Comment #9 from Jeff Kowalczyk
(In reply to Thorsten Kukuk from comment #6)
goprep: go mod init and go mod vendor is much more useful.
I can't disagree, though we don't have internet access in our builds so you couldn't really do this in an OBS build.
devel:languages:go/obs-service-go_modules is now available to help automate this step. https://build.opensuse.org/package/show/devel:languages:go/obs-service-go_mo... https://github.com/openSUSE/obs-service-go_modules -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com