build.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. set -x
  3. # deps
  4. rpm --import https://mirror.go-repo.io/fedora/RPM-GPG-KEY-GO-REPO
  5. curl -s https://mirror.go-repo.io/fedora/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
  6. yum -y install golang ruby ruby-devel gcc make redhat-rpm-config git rpm-build rpmdevtools
  7. gem install fpm
  8. # prep
  9. export DIR="/fs/src/github.com/cad/ovpm"
  10. export UNITDIR="/usr/lib/systemd/system/"
  11. export GOPATH="/fs/"
  12. #export PATH=":$PATH"
  13. mkdir -p $DIR/build/
  14. mkdir -p $DIR/rpm/
  15. rm -rf $DIR/build/*
  16. rm -rf $DIR/rpm/*
  17. mkdir -p $DIR/build/usr/sbin/
  18. mkdir -p $DIR/build/usr/bin/
  19. mkdir -p $DIR/build/var/db/ovpm
  20. mkdir -p $DIR/build/$UNITDIR
  21. go get -v -t -d ./...
  22. #build
  23. #install
  24. GOOS=linux go build -o $DIR/build/usr/sbin/ovpmd ./cmd/ovpmd
  25. GOOS=linux go build -o $DIR/build/usr/bin/ovpm ./cmd/ovpm
  26. cp $DIR/contrib/systemd/ovpmd.service $DIR/build/$UNITDIR
  27. #package
  28. fpm -s dir -t rpm -n ovpm --version `git name-rev --tags --name-only $(git rev-parse HEAD) | cut -d 'v' -f 2` --iteration 1 --depends openvpn --description "OVPM makes all aspects of OpenVPN server administration a breeze." --after-install $DIR/contrib/afterinstall.sh -p $DIR/rpm -C $DIR/build .