Here are the official docs for building Grafana from source. And below are my notes on how to build Grafana, starting from a clean Fedora 27 Cloud image.
# Install Dependencies curl https://dl.yarnpkg.com/rpm/yarn.repo > /etc/yum.repos.d/yarn.repo sudo yum install golang yarn rubygems ruby-devel redhat-rpm-config rpm-build git -y gem install fpm sudo yarn install --pure-lockfile npm install -g yarn & yarn install
Setup the go environment.
# go environment mkdir ~/go export GOPATH=~/go export PATH=$PATH:$(go env GOPATH)/bin
Download the various repositories required to build. Here you could also clone your fork/branch of Grafana into $GOPATH/src.
# Pull sources required to build go get github.com/grafana/grafana golang.org/x/sync/errgroup github.com/codegangsta/cli cd $GOPATH/src/github.com/grafana/grafana npm install
Now you can make any sort of local changes, or just build from HEAD.
# go run build.go setup # takes 45 seconds $ time go run build.go build pkg-rpm # takes about 7 minutes
The build will spit out an RPM in a folder called dist:
Created package {:path=>"./dist/grafana-5.0.0-1517715437pre1.x86_64.rpm"}