ソースを参照

Merge branch 'release-v0.1.18'

Mustafa Arici 8 年 前
コミット
72a483c606
10 ファイル変更59 行追加22 行削除
  1. 8 0
      CHANGELOG.md
  2. 21 0
      Dockerfile
  3. 3 2
      Makefile
  4. 6 6
      bindata/bindata.go
  5. 12 13
      build.sh
  6. 1 1
      const.go
  7. 1 0
      contrib/afterinstall.sh
  8. 1 0
      contrib/afterupgrade.sh
  9. 5 0
      contrib/beforeinstall.sh
  10. 1 0
      contrib/beforeremove.sh

+ 8 - 0
CHANGELOG.md

@@ -1,5 +1,12 @@
 # Change Log
 
+## [v0.1.17](https://github.com/cad/ovpm/tree/v0.1.17) (2017-09-19)
+[Full Changelog](https://github.com/cad/ovpm/compare/v0.1.16...v0.1.17)
+
+**Enhancements:**
+
+  fix package generation and improve build system
+
 ## [v0.1.16](https://github.com/cad/ovpm/tree/v0.1.16) (2017-09-19)
 [Full Changelog](https://github.com/cad/ovpm/compare/v0.1.15...v0.1.16)
 
@@ -122,3 +129,4 @@
 - implement remote control proto [\#8](https://github.com/cad/ovpm/issues/8)
 - write docs [\#4](https://github.com/cad/ovpm/issues/4)
 - write unit tests [\#3](https://github.com/cad/ovpm/issues/3)
+

+ 21 - 0
Dockerfile

@@ -0,0 +1,21 @@
+FROM fedora:latest
+MAINTAINER Mustafa Arici (mustafa@arici.io)
+
+
+
+# Deps
+RUN rpm --import https://mirror.go-repo.io/fedora/RPM-GPG-KEY-GO-REPO
+RUN curl -s https://mirror.go-repo.io/fedora/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
+RUN yum -y install golang ruby ruby-devel gcc make redhat-rpm-config git rpm-build rpmdevtools createrepo reprepro
+RUN gem install fpm
+
+VOLUME /fs/src/github.com/cad/ovpm
+
+ENV DIR="/fs/src/github.com/cad/ovpm"
+ENV RELEASEDIR=$DIR/release
+ENV UNITDIR="/usr/lib/systemd/system/"
+ENV GOPATH="/fs/"
+
+WORKDIR /fs/src/github.com/cad/ovpm
+
+CMD ["./build.sh"]

+ 3 - 2
Makefile

@@ -1,7 +1,8 @@
 .PHONY: deps build
 docker-build:
-	docker run --rm -i -t -e TRAVIS_GO_VERSION=$(TRAVIS_GO_VERSION) -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm fedora ./build.sh
-	#docker run --rm -i -t -e TRAVIS_GO_VERSION=$(TRAVIS_GO_VERSION) -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm fedora /bin/bash
+	docker run --rm -i -t -e TRAVIS_GO_VERSION=$(TRAVIS_GO_VERSION) -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm cadthecoder/ovpm-builder:latest
+docker-build-shell:
+	docker run --rm -i -t -e TRAVIS_GO_VERSION=$(TRAVIS_GO_VERSION) -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm cadthecoder/ovpm-builder:latest /bin/bash
 
 deps:
 	# grpc related dependencies

+ 6 - 6
bindata/bindata.go

@@ -91,7 +91,7 @@ func templateAuthSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/auth.swagger.json", size: 2404, mode: os.FileMode(420), modTime: time.Unix(1505820134, 0)}
+	info := bindataFileInfo{name: "template/auth.swagger.json", size: 2404, mode: os.FileMode(420), modTime: time.Unix(1505858991, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -131,7 +131,7 @@ func templateClientOvpnTmpl() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/client.ovpn.tmpl", size: 325, mode: os.FileMode(420), modTime: time.Unix(1505403826, 0)}
+	info := bindataFileInfo{name: "template/client.ovpn.tmpl", size: 325, mode: os.FileMode(420), modTime: time.Unix(1505858652, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -191,7 +191,7 @@ func templateNetworkSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/network.swagger.json", size: 7498, mode: os.FileMode(420), modTime: time.Unix(1505820134, 0)}
+	info := bindataFileInfo{name: "template/network.swagger.json", size: 7498, mode: os.FileMode(420), modTime: time.Unix(1505858991, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -211,7 +211,7 @@ func templateServerConfTmpl() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/server.conf.tmpl", size: 9598, mode: os.FileMode(420), modTime: time.Unix(1505803900, 0)}
+	info := bindataFileInfo{name: "template/server.conf.tmpl", size: 9598, mode: os.FileMode(420), modTime: time.Unix(1505858652, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -231,7 +231,7 @@ func templateUserSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/user.swagger.json", size: 6532, mode: os.FileMode(420), modTime: time.Unix(1505820134, 0)}
+	info := bindataFileInfo{name: "template/user.swagger.json", size: 6532, mode: os.FileMode(420), modTime: time.Unix(1505858991, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -251,7 +251,7 @@ func templateVpnSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/vpn.swagger.json", size: 3322, mode: os.FileMode(420), modTime: time.Unix(1505820134, 0)}
+	info := bindataFileInfo{name: "template/vpn.swagger.json", size: 3322, mode: os.FileMode(420), modTime: time.Unix(1505858991, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }

+ 12 - 13
build.sh

@@ -1,23 +1,21 @@
 #!/bin/bash
 set -ex
 
+## After Docker
 echo "travis build no: $TRAVIS_BUILD_NUMBER"
 echo "travis tag: $TRAVIS_TAG"
 echo "travis go version: $TRAVIS_GO_VERSION"
 
-# deps
-rpm --import https://mirror.go-repo.io/fedora/RPM-GPG-KEY-GO-REPO
-curl -s https://mirror.go-repo.io/fedora/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
-yum -y install golang ruby ruby-devel gcc make redhat-rpm-config git rpm-build rpmdevtools createrepo reprepro
-gem install fpm
-
-# prep
-export DIR="/fs/src/github.com/cad/ovpm"
-export RELEASEDIR=$DIR/release
-export UNITDIR="/usr/lib/systemd/system/"
-export GOPATH="/fs/"
 export RELEASEVER=${TRAVIS_BUILD_NUMBER:-"1"}
 echo "releasever: $RELEASEVER"
+
+export VERSION="0.0"
+export LOCAL_GIT_TAG=`git name-rev --tags --name-only $(git rev-parse HEAD) | cut -d 'v' -f 2`
+if [ "$LOCAL_GIT_TAG" != "undefined" ]; then
+    export VERSION=$LOCAL_GIT_TAG
+fi
+echo "Version is $VERSION"
+
 mkdir -p $RELEASEDIR/
 mkdir -p $RELEASEDIR/build/
 mkdir -p $RELEASEDIR/rpm/
@@ -41,9 +39,9 @@ cp $DIR/contrib/yumrepo.repo $RELEASEDIR/rpm/ovpm.repo
 cp $DIR/contrib/deb-repo-config $RELEASEDIR/deb/conf/distributions
 
 #package
-fpm -s dir -t rpm -n ovpm --version `git name-rev --tags --name-only $(git rev-parse HEAD) | cut -d 'v' -f 2` --iteration $RELEASEVER --depends openvpn --description "OVPM makes all aspects of OpenVPN server administration a breeze." --after-install $DIR/contrib/afterinstall.sh --before-remove $DIR/contrib/beforeremove.sh --after-upgrade $DIR/contrib/afterupgrade.sh -p $RELEASEDIR/rpm -C $RELEASEDIR/build .
+fpm -s dir -t rpm -n ovpm --version $VERSION  --iteration $RELEASEVER --depends openvpn --description "OVPM makes all aspects of OpenVPN server administration a breeze." --before-install $DIR/contrib/beforeinstall.sh --after-install $DIR/contrib/afterinstall.sh --before-remove $DIR/contrib/beforeremove.sh --after-upgrade $DIR/contrib/afterupgrade.sh -p $RELEASEDIR/rpm -C $RELEASEDIR/build .
 
-fpm -s dir -t deb -n ovpm --version `git name-rev --tags --name-only $(git rev-parse HEAD) | cut -d 'v' -f 2` --iteration $RELEASEVER --depends openvpn --description "OVPM makes all aspects of OpenVPN server administration a breeze." --after-install $DIR/contrib/afterinstall.sh --before-remove $DIR/contrib/beforeremove.sh --after-upgrade $DIR/contrib/afterupgrade.sh -p $RELEASEDIR/deb -C $RELEASEDIR/build .
+fpm -s dir -t deb -n ovpm --version $VERSION --iteration $RELEASEVER --depends openvpn --description "OVPM makes all aspects of OpenVPN server administration a breeze." --before-install $DIR/contrib/beforeinstall.sh --after-install $DIR/contrib/afterinstall.sh --before-remove $DIR/contrib/beforeremove.sh --after-upgrade $DIR/contrib/afterupgrade.sh -p $RELEASEDIR/deb -C $RELEASEDIR/build .
 
 #create rpm repo
 createrepo --database $RELEASEDIR/rpm
@@ -53,3 +51,4 @@ reprepro -b $RELEASEDIR/deb/ includedeb ovpm $RELEASEDIR/deb/*.deb
 
 # clean
 rm -rf $RELEASEDIR/build
+echo "packages are ready at ./deb/ and ./rpm/"

+ 1 - 1
const.go

@@ -2,7 +2,7 @@ package ovpm
 
 const (
 	// Version defines the version of ovpm.
-	Version = "0.1.17"
+	Version = "0.1.18"
 
 	// DefaultVPNPort is the default OpenVPN port to listen.
 	DefaultVPNPort = "1197"

+ 1 - 0
contrib/afterinstall.sh

@@ -1,3 +1,4 @@
+#!/bin/bash
 export USER="nobody"
 export GROUP="nobody"
 id -u $USER &>/dev/null || useradd $USER

+ 1 - 0
contrib/afterupgrade.sh

@@ -1,3 +1,4 @@
+#!/bin/bash
 if [ "`systemctl is-active ovpmd`" != "active" ]
 then
     systemctl restart ovpmd

+ 5 - 0
contrib/beforeinstall.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+export USER="nobody"
+export GROUP="nobody"
+getent passwd $USER || useradd $USER
+getent group $GROUP || groupadd $GROUP

+ 1 - 0
contrib/beforeremove.sh

@@ -1,2 +1,3 @@
+#!/bin/bash
 systemctl stop ovpmd
 systemctl disable ovpmd