Build debian packages #56

Merged
konrad merged 9 commits from build-deb into master 2019-01-21 21:52:26 +00:00
3 changed files with 83 additions and 10 deletions
Showing only changes of commit 82c79aaddd - Show all commits

View File

@ -180,6 +180,61 @@ steps:
target: /master/
depends_on: [ sign-release ]
# Build a debian package and push it to our bucket
- name: build-deb
image: kolaente/fpm
pull: true
commands:
- make build-deb
depends_on: [ static-build-linux ]
- name: deb-structure
image: kolaente/reprepro
pull: true
environment:
GPG_PASSWORD: ?[Rf'Iu9WU]6E<i6=f8yL4#^(MS}<39O/T"I+W"E2[((3l0daS
GPG_PRIVATE_KEY:
from_secret:
commands:
- export GPG_TTY=$(tty)
- gpg -qk
- echo "use-agent" >> ~/.gnupg/gpg.conf
- gpgconf --kill gpg-agent
- echo "-----BEGIN PGP PRIVATE KEY BLOCK-----\n\n\nlQdGBFw6bcsBEACzZDIWN1oRtnPmAJNqL2GFoNl3uE7GklWqtM61wmWj6dGprJYe\nR0UxmI8C893Kobps13MLcp6SHQOta4XX/EV5dd7Xa/F9n/qgHv5K8aV1eF54Kcun\nGUuUd2dZtOHYoSU71YRo6cLWi9MwOGGTopNlJsFvEpAPVmxjnls1PcML1m4c3dJV\nQc1VSHSm2GUBOfectBHXDtQj925e4J8I9MlE2OC49UX5vYBMOSfx0ah0rLJEGa2P\n5sS34aWxNvOhR58UdXCsS7F0zwmXH0kf9THCtoH3+M2aiokpSvDlKqyEw3y3oF6L\nSky8f25SNUNd3g+AgTEQjanj8yEQowKRDPuNyvNzSFw8/rX0GR5HLQRRiC+Ir+kn\nfpdtvbKGWQWs9NkRZgwusYOrHUeNOhRpgbAYcEN8ISZZuU/xmo8PiVexwl5kohuz\nvkVfj7f2tQSDlQMz9V0c/MiPpy2vhTChIszQ9o0u2fnEhvvbdSrUX+NulWbYLTV0\n9xSbvii+VDyGzdN4rk3ZQXvyg4z41LZuVbM9bPIJXvoR8Pjt3O5LfpnCmtsmBv55\nll9R2QUsB2fJcJMZhpK+WDZ9r2z7nS18bxqzCgbMd7wMFwqNqS3nYRDtcySYkCTv\nEKY4xUJCy+nYHKocj9BfRdQHWZDsJTOezSey6TDB2nv3qzc5lMi8cLqAHQARAQAB\n/gcDAh4PVtX3Kyqq8hXYaQr7yD91kivXU9iQPTRpdolmTl54Eubt0cDzwZ9XK0Z8\nSjpDSF8DP86R/sney/S5V11Cgq1g6t5qyLW6iCQy/VkKdtflJk8gNt3Q4c1QXk1y\nU6Gte6qD1WNjk5iqs7vx7zQFuruiLDDFZTQrSPbhQxqBszNKACSq5mnuoS7nLAm3\nfVOjWr8yEjPVeJMz4j8HYx6hNbCOJ8vvf8IGFMnc3lJMRMfU4ze+pj5jyqa+vxQy\nQl5aV6l3LWII4a7vAUicN2+Hi9SpYNxV0ddBIxfcYjM3eAYRsZD1Y6tgV8IWiKN0\nfqxl/e2X1cai/5j4ubLzQuFa1wCZUDpyStLEjhgKKtOPf+RBNhewr+4HqBTmV1Kk\nA2jqH43EWfzczI+a0p3bwzOtBZqvSgmnDVuP1Rn8gGipZLFE6Urz8yJLay/AXORK\nBRYWLiRRePi6WY7NxVrsFu6Ood4GQBx8U7x3QLMQifPSfgMTWpCrdd0j0DEDpX1w\nvITdBhtDwUZWqOM+vtpWCCTwpivfVS67vm4fBIqgVPbTBBNCCwCUGB+73zN4wi8+\n9iWQwjI0N5YziDJyQlEbzilTcX47H1JrlRJDzMMGb31A2WfHhBsfaBpIqvYUuFUU\nejKbZhQm/8pqlzWFGKGeijNnirCbPpit4ZUktjVwbpa+eGu8SFkQFaaSmBilxzBi\n42BVr7R0+uO1hpXOFp5GV/UD8s69TqHdrIkk94rjxozf1QsxYfNQKZn7JMfwSMWp\nbXP/qN7w0GZ9iGtIdbQB/6NHj4CH4+0gnFJFh8IU8yxfJJRPE/z2g2jlaBBX0t9J\ndXwjst/i+B9rlndl1hbt2jkiWghGJS3zAx3scMVHlhXiFs/nGawv+Nk17vqlMgPw\nPLdUw5Au2l5kgKyxilnc2EbA1Kpz4Jf7RfJsL81yz5a91X7UQDMBQrI6yWIC8vlu\nrmKLvIPyV3O69GI3u9ni1hsCfUoqe8PQ5Dusn9fiI/ptHqv2xkcgqLzSJaL/YlpJ\n6tgEdBBMcOMeMT9nQCJJrq9QqHp5f2j0CSEvh2abSFwo7nwemU5IYSSkkYDI4Xeb\nHt5KwlQNhsMRJPArZ/ddnrwV3GIaDmEpPGcpbAW5vBHFASYht2PiTgaIM6qu8OZj\nYG7Y8TSKlJk1CncKUqYpb2mT4cRLeJGPuGAzGxmB3QsNLuQVC6U4ei98DBAiduK2\nXbjDNRlMVu2cOV7gNzryIkE1CaX9J8YevBGKpo9E7s5NWuZC8JOahxjEswN2YjCV\nrM2QphXKxSWCclEzehYhidkcEO3GFsBVw+RnrXOjmRqkf9hlZegNfj4ZtkuQDeBH\n1r2MMPUzw+Ba8uAcIow83NZagujrpgv9G7qZw3mMp6rEMFliIDpfCfz+aLoJzA83\n0Fi/VIVBvo+DNqYczKLN2UHRjlgcPCQ3/eqZ8mz1NNPbkDwZlfo2pBYbN5gT68hL\nk3vb2FatrTJzCcAemOGhbRt+m8QUOzxsbqxwbkMO9W9Iziec/2Cn7Ljja7oplAjh\nvXsM55Ef7+ROodcWY+by5MDR5lTMW6duxWLGz2wNFfhanOdxwXME6vYZtukeZl1E\n5xQVF0TZ3r0FKD8o1SABCPENxOdnDumMXEzxqNrw5pPqp78rxs4FsvV180VOoB2e\n+jka/1vnsbFwytFGrKd/ez7EKsmwmUKuEeu0aGHvF5EUm4Upa4ZdwSWOSPTDIhL2\njZWUNHGzui4Fhtz02zpdPF9OkCOic+Iwl30Y3SqJxb1zwmpaUH4Jrem0SUZyZWRl\ncmljIChWaWt1bmphKSAoVGhlIGtleSB0byBzaWduIHZpa3VuamEgc3R1ZmYuKSA8\nZnJlZGVyaWNAdmlrdW5qYS5pbz6JAk4EEwEIADgWIQQOpO8sbknxiLtjACwwLDhx\n9SxuWQUCXDptywIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAwLDhx9Sxu\nWVtdEACfTOOdmsFlYYqfGk2fHCyTdQ8Yn67Mq+1/L8Jd404hPbhFvmGWwA8Z70td\nE9WCWwawC7HYD6fkQf9mMjISrqhWh6OZlSKLNU/8XjpImvKXP9YIa79WJH0+lbC3\nB+nM1IphEJ2ydHXaVQ0GkbU9f6+8X4EWZOC0SKiUYwU3kIz8J9lIXtuEftQlZtGI\nmC2z03TlJi2rSfefMVyiBkZQ1GOM33qJVFP4F/eCVSQGxeVREdd9BAzzGcmlRpm+\niDY5fR3+u6J8z3HmBGUl8b6KV1g4Ap/jT7zxlMHBl3r5RaZTItatJ53/zV4lMbIQ\nmdrV+DbTTk+fEMjAaDS/cI6pHicpKwm8bQr+k0vc4uY2PsxX9XOJYmT4yFyNjB8q\nVAdWkm6ZcIxcy4Acd0NF0kdyaz2ErTm2ibLbk+59dI4f9HIzEJ0nbFbF2nC5UTyq\nx3zo7QRHTT3ssv9S45yebtUhY9N65YSaTA8br+1q72M0fzkbzb4mZu03DWUZ1jAy\nS83/e1gbmLHgyaaCyKWMhPduANuyOxZ1+lflushb7le7P0IiCkIFhWmgWbosWvjq\n0rIRDmxHVXVIsnTmLEaOk65+OfkWjiRwCZe8mV2pVEsxVDBY8u/tNQA9fy6/1CBF\nSdpqnkTJ+FJ42P6rAYlhGxdFbuWa279G4lQN6CE85pRrDOaS6Q==\n=vY5V\n-----END PGP PRIVATE KEY BLOCK-----" > ~/frederik.gpg
- gpg --import ~/frederik.gpg
- mkdir debian/conf -p
- cp build/reprepro-dist-conf debian/conf/distributions
- make reprepro
- name: sign-deb
image: plugins/gpgsign:1
pull: true
depends_on: [ build-deb ]
settings:
key:
from_secret: gpg_privkey
passphrase:
from_secret: gpg_password
files:
- '*.deb'
detach_sign: true
# Push the releases to our pseudo-s3-bucket
- name: release-deb-latest
image: plugins/s3:1
pull: true
settings:
bucket: vikunja-deb
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
endpoint: https://storage.kolaente.de
path_style: true
source: '*.deb'
target: /master/
depends_on: [ build-deb ]
# Build the docker image and push it to docker hub
- name: docker
image: plugins/docker

View File

@ -42,6 +42,12 @@ else
endif
endif
ifeq ($(DRONE_WORKSPACE),'')
BINLOCATION := $(EXECUTABLE)
else
BINLOCATION := $(DIST)/binaries/$(EXECUTABLE)-$(VERSION)-linux-amd64
endif
VERSION := $(shell echo $(VERSION) | sed 's/\//\-/g')
.PHONY: all
@ -104,9 +110,9 @@ release-windows:
go install $(GOFLAGS) github.com/karalabe/xgo; \
fi
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'windows/*' -out vikunja-$(VERSION) .
ifneq ($(DRONE_WORKSPACE),'')
mv /build/* $(DIST)/binaries
endif
#ifneq ($(DRONE_WORKSPACE),'')
# mv /build/* $(DIST)/binaries
#endif
.PHONY: release-linux
release-linux:
@ -114,9 +120,9 @@ release-linux:
go install $(GOFLAGS) github.com/karalabe/xgo; \
fi
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'linux/*' -out vikunja-$(VERSION) .
ifneq ($(DRONE_WORKSPACE),'')
mv /build/* $(DIST)/binaries
endif
#ifneq ($(DRONE_WORKSPACE),'')
# mv /build/* $(DIST)/binaries
#endif
.PHONY: release-darwin
release-darwin:
@ -124,9 +130,9 @@ release-darwin:
go install $(GOFLAGS) github.com/karalabe/xgo; \
fi
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '$(LDFLAGS)' -targets 'darwin/*' -out vikunja-$(VERSION) .
ifneq ($(DRONE_WORKSPACE),'')
mv /build/* $(DIST)/binaries
endif
#ifneq ($(DRONE_WORKSPACE),'')
# mv /build/* $(DIST)/binaries
#endif
.PHONY: release-copy
release-copy:
@ -149,7 +155,11 @@ release-zip:
# Builds a deb package using fpm from a previously created binary (using make build)
.PHONY: build-deb
build-deb:
fpm -s dir -t deb -n vikunja -v $(VERSION) --license GPLv3 --directories /opt/vikunja --after-install ./build/after-install.sh --description 'Vikunja is an open-source todo application, written in Go. It lets you create lists,tasks and share them via teams or directly between users.' -m maintainers@vikunja.io ./$(EXECUTABLE)=/opt/vikunja/vikunja ./templates=/opt/vikunja ./config.yml.sample=/etc/vikunja/config.yml
fpm -s dir -t deb --url https://vikunja.io -n vikunja -v $(VERSION) --license GPLv3 --directories /opt/vikunja --after-install ./build/after-install.sh --description 'Vikunja is an open-source todo application, written in Go. It lets you create lists,tasks and share them via teams or directly between users.' -m maintainers@vikunja.io ./$(BINLOCATION)=/opt/vikunja/vikunja ./templates=/opt/vikunja ./config.yml.sample=/etc/vikunja/config.yml;
.PHONY: reprepro
reprepro:
reprepro_expect debian includedeb strech ./$(EXECUTABLE)_$(VERSION)_amd64.deb
.PHONY: got-swag
got-swag: do-the-swag

8
build/reprepro-dist-conf Normal file
View File

@ -0,0 +1,8 @@
Origin: dl.vikunja.io
Label: Vikunja
Codename: strech
Architectures: amd64
Components: main
Description: The debian repo for Vikunja builds.
SignWith: yes
Pull: strech