Bug 1298791 - Go isn't installed into recommended upstream location
Go isn't installed into recommended upstream location
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: golang (Show other bugs)
23
x86_64 Linux
unspecified Severity unspecified
: ---
: ---
Assigned To: Vincent Batts
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-01-15 00:16 EST by Martín Cigorraga
Modified: 2016-01-15 04:16 EST (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-01-15 04:07:43 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Martín Cigorraga 2016-01-15 00:16:19 EST
Hi,

Description of problem:

Go's download page states:
"The Go binary distributions assume they will be installed in /usr/local/go [...]"

Currently the golang package installs Go into /usr/bin/.

Version-Release number of selected component (if applicable):
Name        : golang
Arch        : x86_64
Epoch       : 0
Version     : 1.5.2
Release     : 2.fc23

Additional info:
Being Fedora a distribution that strives to be as close as possible to upstream I'm curious about the reason on why Go is installed on a different location from the one upstream expects to be installed.

Cheers.
Comment 1 Ed Marshall 2016-01-15 00:28:03 EST
Fedora's packaging guidelines are very specific about this:

https://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout

See, specifically:

- Fedora follows the Filesystem Hierarchy Standard (FHS) with regards to filesystem layout. The FHS defines where files should be placed on the system. Fedora packages must follow the FHS. Any deviation from the FHS should be rationalized when the package is reviewed.

- No Files or Directories under /srv, /usr/local, or /home/$USER
Comment 2 Martín Cigorraga 2016-01-15 04:07:43 EST
Hi Ed,

Thanks for your explanation, I will then use the above mentioned location to manually install the latest version of Go.
Comment 3 Jakub Čajka 2016-01-15 04:16:21 EST
Just to add few bits(I had it written, but you were faster with closing the bug :))

To elaborate more 'go' binary (you mention /usr/bin, actually go tool chain including binaries, sources of packages,etc. live under GOROOT=/usr/lib/golang in Fedora) is "just another binary" provided by distribution and as so it should reside in standard location(based on respective Linux distro/FHS). Plus alternatives https://fedoraproject.org/wiki/Packaging:Alternatives complicates stuff for golang a bit as Fedora ship gcc-go(which provides go binary too).

Also as you write upstream binary distribution is assuming GOROOT/GOTOOLSDIR residing under /usr/local/go(see "go env" and rest of upstream distribution notes), that is not a case in Fedora as you see.

In the end, if you need go in /usr/local/go/ nothing prevents you from symlinking/copying Fedora's golang there(and adjusting ENV accordingly).

Note You need to log in before you can comment on or make changes to this bug.