Browse Source

chore(ci): add rpm repo and package

Mustafa Arici 8 years ago
parent
commit
00777ee222
2 changed files with 17 additions and 4 deletions
  1. 14 4
      build.sh
  2. 3 0
      contrib/deb-repo-config

+ 14 - 4
build.sh

@@ -6,9 +6,9 @@ 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
+#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
+yum -y install golang ruby ruby-devel gcc make redhat-rpm-config git rpm-build rpmdevtools createrepo reprepro
 gem install fpm
 
 # prep
@@ -16,16 +16,20 @@ export DIR="/fs/src/github.com/cad/ovpm"
 export RELEASEDIR=$DIR/release
 export UNITDIR="/usr/lib/systemd/system/"
 export GOPATH="/fs/"
-#export PATH=":$PATH"
+export RELEASEVER=${TRAVIS_BUILD_NUMBER:-"1"}
+echo "releasever: $RELEASEVER"
 mkdir -p $RELEASEDIR/
 mkdir -p $RELEASEDIR/build/
 mkdir -p $RELEASEDIR/rpm/
+mkdir -p $RELEASEDIR/deb/
 rm -rf $RELEASEDIR/build/*
 rm -rf $RELEASEDIR/rpm/*
+rm -rf $RELEASEDIR/deb/*
 mkdir -p $RELEASEDIR/build/usr/sbin/
 mkdir -p $RELEASEDIR/build/usr/bin/
 mkdir -p $RELEASEDIR/build/var/db/ovpm
 mkdir -p $RELEASEDIR/build/$UNITDIR
+mkdir -p $RELEASEDIR/deb/conf
 go get -v -t -d ./...
 
 #build
@@ -34,12 +38,18 @@ GOOS=linux  go build  -o $RELEASEDIR/build/usr/sbin/ovpmd ./cmd/ovpmd
 GOOS=linux  go build  -o $RELEASEDIR/build/usr/bin/ovpm   ./cmd/ovpm
 cp $DIR/contrib/systemd/ovpmd.service $RELEASEDIR/build/$UNITDIR
 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 $TRAVIS_BUILD_NUMBER --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 -p $RELEASEDIR/rpm -C $RELEASEDIR/build .
+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 -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 -p $RELEASEDIR/deb -C $RELEASEDIR/build .
 
 #create rpm repo
 createrepo --database $RELEASEDIR/rpm
 
+#create deb repo
+reprepro -b $RELEASEDIR/deb/ includedeb ovpm $RELEASEDIR/deb/*.deb
+
 # clean
 rm -rf $RELEASEDIR/build

+ 3 - 0
contrib/deb-repo-config

@@ -0,0 +1,3 @@
+Codename: ovpm
+Components: main
+Architectures: amd64