Skip to content

Instantly share code, notes, and snippets.

@drnic
Last active July 30, 2017 01:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drnic/b0d16213867f2be989993379a3080d58 to your computer and use it in GitHub Desktop.
Save drnic/b0d16213867f2be989993379a3080d58 to your computer and use it in GitHub Desktop.

Debian package for BOSH CLI

cat > /etc/apt/sources.list.d/myrepo.list << EOF
deb [trusted=yes] https://starkandwayne-debian-apt.s3.amazonaws.com stable main
EOF
apt-get update
apt-get install bosh-cli
NAME=bosh-cli
BINNAME=bosh
VERSION=2.0.28
LICENSE=Apache2
DESCRIPTION="BOSH CLI - Interact with BOSH director"
URL=https://bosh.io/docs/cli-v2.html
MAINTAINERS=https://github.com/cloudfoundry/bosh-cli/graphs/contributors
VENDOR="Cloud Foundry Foundation"
UBUNTU=frodenas/ubuntu
RELEASE_BUCKET=starkandwayne-debian-apt
all: docker-test-deb
$(NAME)-$(VERSION):
rm -f $(NAME)-$(VERSION)
curl -L https://s3.amazonaws.com/bosh-cli-artifacts/bosh-cli-$(VERSION)-linux-amd64 -o $(NAME)-$(VERSION)
chmod +x $(NAME)-$(VERSION)
$(NAME)_$(VERSION)_amd64.deb: $(NAME)-$(VERSION)
rm -f $(NAME)*.deb
fpm -s dir -t deb -n $(NAME) -v $(VERSION) \
--provides $(BINNAME) \
--vendor $(VENDOR) --license $(LICENSE) -m $(MAINTAINERS) --description $(DESCRIPTION) --url $(URL) \
--deb-use-file-permissions \
--deb-no-default-config-files \
$(NAME)-$(VERSION)=/usr/bin/$(BINNAME)
.PHONY: docker-test
docker-test-deb: $(NAME)_$(VERSION)_amd64.deb
docker run -ti -v ${CURDIR}:/packages $(UBUNTU) \
sh -c "dpkg -i /packages/$(NAME)_$(VERSION)_amd64.deb && $(BINNAME) -v"
release: $(NAME)_$(VERSION)_amd64.deb
deb-s3 upload $(NAME)_$(VERSION)_amd64.deb --bucket $(RELEASE_BUCKET)
clean:
rm -f $(NAME)*
dependencies:
gem install fpm deb-s3 --no-ri --no-rdoc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment