[opensuse-packaging] devel:languages:go - goinstall

Besides compilers, linkers etc, the core Go[1] toolchain has several utility applications bundled with it. One of these is an app called goinstall[2] which facilitates the download, compilation and installation of third party libraries written in Go. Currently this utility doesn't work very well in the Go package[3] we are working on for the following reasons: 1) It scans the third party source for "Import" statements and treats these as hard dependancies which it will try to install first(from source). At the moment this includes any imports of any of the standard go libraries and looks for the source files. Although we have the goinstall utility in the main Go package, we don't install the standard library source by default. Our Go package currently only installs the library sources either from the .srpm or from the go-doc package (because the godoc utility replicates http://golang.org and generates API docs on the fly from the sources). 2) The goinstall utility is currently installed to /usr/bin (undesirable) It is desireable to have the goinstall utility working well as part of the core Go package, because we currently don't, and cannot, package all the third party libs; although I fully intend to grow the list of popular libs that we do package. Aside from hacking on the goinstall tool to improve it. I'd like to tweak the core Go package some more to make the goinstall tool work well in it's current form so I'd appreciate some feedback on which of the following options would be the most appropriate. 1) Add a "go-devel" to the .spec and bundle the standard library sources & the goinstall tool in this sub package. OR Install the standard library sources with the main Go package. 2) Install "goinstall" binary to /usr/sbin or /usr/local/sbin OR Leave it installed to /usr/bin because Go hackers may optionally have $GOROOT exported to a location in their $HOME. [1] http://golang.org [2] http://golang.org/cmd/goinstall/ [3] https://build.opensuse.org/package/show?package=go&project=devel:languages:g... -- “What can be asserted without proof can be dismissed without proof.” - Christopher Hitchens -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

* Graham Anderson (graham.anderson@gmail.com) [20110204 13:42]:
1) Add a "go-devel" to the .spec and bundle the standard library sources & the goinstall tool in this sub package.
It's a bit unusual, but I'd go that way. BTW, does it need the complete sources or only part of it? Philipp -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Friday 04 February 2011 13:48:51 Philipp Thomas wrote:
* Graham Anderson (graham.anderson@gmail.com) [20110204 13:42]:
1) Add a "go-devel" to the .spec and bundle the standard library sources &
the goinstall tool in this sub package.
It's a bit unusual, but I'd go that way. BTW, does it need the complete sources or only part of it?
Philipp
The source treee is: src/cmd/* src/lib* src/pkg/* Only src/pkg is required for the goinstall utility to function correctly in it's current form. When I think devel packages I think headers but Go doesn't have the concept of headers with it's import system. So yeah it's slightly unusual but I'm hard pressed to think of another way to have the sources available for the goinstall tool. -- “What can be asserted without proof can be dismissed without proof.” - Christopher Hitchens -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Fri, 4 Feb 2011, Graham Anderson wrote:
On Friday 04 February 2011 13:48:51 Philipp Thomas wrote:
* Graham Anderson (graham.anderson@gmail.com) [20110204 13:42]:
1) Add a "go-devel" to the .spec and bundle the standard library sources &
the goinstall tool in this sub package.
It's a bit unusual, but I'd go that way. BTW, does it need the complete sources or only part of it?
Philipp
The source treee is:
src/cmd/* src/lib* src/pkg/*
Only src/pkg is required for the goinstall utility to function correctly in it's current form. When I think devel packages I think headers but Go doesn't have the concept of headers with it's import system. So yeah it's slightly unusual but I'm hard pressed to think of another way to have the sources available for the goinstall tool.
Please make sure the above is in go specific directories (thus not /usr/src but /usr/share/go/ and /usr/lib{,64,32}/go). If I at some point get the time to enable the Go frontend in GCC then we'll get two differing (and incompatible) set of runtimes. Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Friday 04 February 2011 13:48:51 Philipp Thomas wrote:
* Graham Anderson (graham.anderson@gmail.com) [20110204 13:42]:
1) Add a "go-devel" to the .spec and bundle the standard libraryWhy can't you have one recipe to work on all distros sources &
the goinstall tool in this sub package.
It's a bit unusual, but I'd go that way. BTW, does it need the complete sources or only part of it?
Sounds the most reasonable way of doing it to mee to. -- Mit freundlichen Grüßen, Sascha Peilicke http://saschpe.wordpress.com
participants (4)
-
Graham Anderson
-
Philipp Thomas
-
Richard Guenther
-
Sascha Peilicke