From 7a060110ffc525e5cf5f69e9bc09d426249e8a3f Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Mon, 22 Jun 2015 12:07:23 -0700 Subject: [PATCH] Fix BUILDDEPS paths for golang installation --- buildscripts/checkdeps.sh | 6 +-- pkg/erasure/BUILDDEPS.md | 80 ------------------------------------- pkg/erasure/CONTRIBUTING.md | 30 -------------- pkg/erasure/INSTALLGO.md | 64 +++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 113 deletions(-) delete mode 100644 pkg/erasure/BUILDDEPS.md delete mode 100644 pkg/erasure/CONTRIBUTING.md create mode 100644 pkg/erasure/INSTALLGO.md diff --git a/buildscripts/checkdeps.sh b/buildscripts/checkdeps.sh index 88772052e..421df529e 100644 --- a/buildscripts/checkdeps.sh +++ b/buildscripts/checkdeps.sh @@ -81,7 +81,7 @@ check_golang_env() { if [ $? -eq 1 ]; then echo "ERROR" echo "GOROOT environment variable missing, please refer to Go installation document" - echo "https://github.com/minio/minio/blob/master/BUILDDEPS.md#install-go-13" + echo "https://github.com/minio/minio/blob/master/INSTALLGO.md#install-go-13" exit 1 fi @@ -89,7 +89,7 @@ check_golang_env() { if [ $? -eq 1 ]; then echo "ERROR" echo "GOPATH environment variable missing, please refer to Go installation document" - echo "https://github.com/minio/minio/blob/master/BUILDDEPS.md#install-go-13" + echo "https://github.com/minio/minio/blob/master/INSTALLGO.md#install-go-13" exit 1 fi } @@ -188,7 +188,7 @@ main() { echo "Please install them " echo "${MISSING}" echo - echo "Follow https://github.com/minio/minio/blob/master/BUILDDEPS.md for further instructions" + echo "Follow https://github.com/minio/minio/blob/master/INSTALLGO.md for further instructions" exit 1 fi echo "Done" diff --git a/pkg/erasure/BUILDDEPS.md b/pkg/erasure/BUILDDEPS.md deleted file mode 100644 index df3770b29..000000000 --- a/pkg/erasure/BUILDDEPS.md +++ /dev/null @@ -1,80 +0,0 @@ -## Ubuntu (Kylin) 14.04 -### Build Dependencies -This installation document assumes Ubuntu 14.04 or later on x86-64 platform. - -##### Install YASM - -Erasure depends on Intel ISAL library, ISAL uses Intel AVX2 processor instructions, to compile these files one needs to install ``yasm`` which supports AVX2 instructions. AVX2 support only ended in ``yasm`` from version ``1.2.0``, any version below ``1.2.0`` will throw a build error. - -```sh -$ sudo apt-get install yasm -``` - -##### Install Go 1.4+ -Download Go 1.4+ from [https://golang.org/dl/](https://golang.org/dl/) and extract it into ``${HOME}/local`` and setup ``${HOME}/mygo`` as your project workspace folder. -For example: -```sh -.... Extract and install golang .... - -$ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz -$ mkdir -p ${HOME}/local -$ mkdir -p $HOME/mygo -$ tar -C ${HOME}/local -xzf go1.4.linux-amd64.tar.gz - -.... Export necessary environment variables .... - -$ export PATH=$PATH:${HOME}/local/go/bin -$ export GOROOT=${HOME}/local/go -$ export GOPATH=$HOME/mygo -$ export PATH=$PATH:$GOPATH/bin - -.... Add paths to your bashrc .... - -$ echo "export PATH=$PATH:${HOME}/local/go/bin" >> ${HOME}/.bashrc -$ echo "export GOROOT=${HOME}/local/go" >> ${HOME}/.bashrc -$ echo "export GOPATH=$HOME/mygo" >> ${HOME}/.bashrc -$ echo "export PATH=$PATH:$GOPATH/bin" >> ${HOME}/.bashrc -``` - -## Mac OSX (Yosemite) 10.10 -### Build Dependencies -This installation document assumes Mac OSX Yosemite 10.10 or later on x86-64 platform. - -##### Install brew -```sh -$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -``` - -##### Install Git -```sh -$ brew install git -``` - -##### Install YASM - -Erasure depends on Intel ISAL library, ISAL uses Intel AVX2 processor instructions, to compile these files one needs to install ``yasm`` which supports AVX2 instructions. AVX2 support only ended in ``yasm`` from version ``1.2.0``, any version below ``1.2.0`` will throw a build error. - -```sh -$ brew install yasm -``` - -##### Install Go 1.4+ -On MacOSX ``brew.sh`` is the best way to install golang - -For example: -```sh -.... Install golang using `brew` .... - -$ brew install go -$ mkdir -p $HOME/mygo - -.... Export necessary environment variables .... - -$ export GOPATH=$HOME/mygo -$ export PATH=$PATH:$GOPATH/bin - -.... Add paths to your bashrc .... - -$ echo "export GOPATH=$HOME/mygo" >> ${HOME}/.bashrc -$ echo "export PATH=$PATH:$GOPATH/bin" >> ${HOME}/.bashrc -``` diff --git a/pkg/erasure/CONTRIBUTING.md b/pkg/erasure/CONTRIBUTING.md deleted file mode 100644 index 649197d31..000000000 --- a/pkg/erasure/CONTRIBUTING.md +++ /dev/null @@ -1,30 +0,0 @@ -### Setup your Erasure Github Repository -Fork [Erasure upstream](https://github.com/minio/erasure/fork) source repository to your own personal repository. Copy the URL and pass it to ``go get`` command. Go uses git to clone a copy into your project workspace folder. -```sh -$ git clone https://github.com/$USER_ID/erasure -$ cd erasure -$ mkdir -p ${GOPATH}/src/github.com/minio -$ ln -s ${PWD} $GOPATH/src/github.com/minio/ -``` - -### Compiling Erasure from source -```sh -$ go generate -$ go build -``` -### Developer Guidelines -To make the process as seamless as possible, we ask for the following: -* Go ahead and fork the project and make your changes. We encourage pull requests to discuss code changes. - - Fork it - - Create your feature branch (git checkout -b my-new-feature) - - Commit your changes (git commit -am 'Add some feature') - - Push to the branch (git push origin my-new-feature) - - Create new Pull Request -* When you're ready to create a pull request, be sure to: - - Have test cases for the new code. If you have questions about how to do it, please ask in your pull request. - - Run `go fmt` - - Squash your commits into a single commit. `git rebase -i`. It's okay to force update your pull request. - - Make sure `go test -race ./...` and `go build` completes. -* Read [Effective Go](https://github.com/golang/go/wiki/CodeReviewComments) article from Golang project - - `Erasure` project is strictly conformant with Golang style - - if you happen to observe offending code, please feel free to send a pull request diff --git a/pkg/erasure/INSTALLGO.md b/pkg/erasure/INSTALLGO.md new file mode 100644 index 000000000..19cb8807d --- /dev/null +++ b/pkg/erasure/INSTALLGO.md @@ -0,0 +1,64 @@ +## Ubuntu (Kylin) 14.04 +### Build Dependencies +This installation document assumes Ubuntu 14.04+ on x86-64 platform. + +##### Install Git, GCC, yasm +```sh +$ sudo apt-get install git build-essential yasm +``` + +##### Install Go 1.4+ + +Download Go 1.4+ from [https://golang.org/dl/](https://golang.org/dl/). + +```sh +$ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz +$ mkdir -p ${HOME}/bin/ +$ mkdir -p ${HOME}/go/ +$ tar -C ${HOME}/bin/ -xzf go1.4.linux-amd64.tar.gz +``` +##### Setup GOROOT and GOPATH + +Add the following exports to your ``~/.bashrc``. Environment variable GOROOT specifies the location of your golang binaries +and GOPATH specifies the location of your project workspace. + +```sh +$ export GOROOT=${HOME}/bin/go +$ export GOPATH=${HOME}/go +$ export PATH=$PATH:${HOME}/bin/go/bin:${GOPATH}/bin +``` + +## OS X (Yosemite) 10.10 +### Build Dependencies +This installation document assumes OS X Yosemite 10.10+ on x86-64 platform. + +##### Install brew +```sh +$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" +``` + +##### Install Git, Python +```sh +$ brew install git python yasm +``` + +##### Install Go 1.4+ + +Install golang binaries using `brew` + +```sh +$ brew install go +$ mkdir -p $HOME/go +``` + +##### Setup GOROOT and GOPATH + +Add the following exports to your ``~/.bashrc``. Environment variable GOROOT specifies the location of your golang binaries +and GOPATH specifies the location of your project workspace. + +```sh +$ export GOPATH=${HOME}/go +$ export GOVERSION=$(brew list go | head -n 1 | cut -d '/' -f 6) +$ export GOROOT=$(brew --prefix)/Cellar/go/${GOVERSION}/libexec +$ export PATH=$PATH:${GOPATH}/bin +```