Skip to content

Instantly share code, notes, and snippets.

@Freeaqingme
Last active October 16, 2019 02:14
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Freeaqingme/87c882e01d51633245912e333e939aae to your computer and use it in GitHub Desktop.
Save Freeaqingme/87c882e01d51633245912e333e939aae to your computer and use it in GitHub Desktop.
Cockroachdb debian .deb package
#!/bin/bash
set -ex
release=v1.0
build_iter=1.0
version=$(echo "${release}-${build_iter}" | sed 's/^v//g')
rm -rf bin/ pkg/ pkg_root/
mkdir bin pkg pkg_root
if [ ! -d src/github.com/cockroachdb/cockroach ] ; then
mkdir -p src
PATH=/opt/go/bin:$PATH GOROOT=/opt/go/ GOPATH=$(pwd) go get -d github.com/cockroachdb/cockroach
fi
cd src/github.com/cockroachdb/cockroach
git checkout "${release}"
(cd ../../../;
find ../patches \
-type f -name '*.patch' | xargs -L1 -i'{}' sh -c "echo Applying patch '{}'; patch --ignore-whitespace -i{} -p1 || exit 255"\; )
GO=/opt/go/bin/go PATH=/opt/go/bin:$PATH GOROOT=/opt/go/ GOPATH=$(pwd) make install
cd -
mkdir -p pkg_root/lib/systemd/system/
cp dist/cockroach.service pkg_root/lib/systemd/system/cockroach.service
mkdir -p pkg_root/usr/share/doc/cockroach
cp src/github.com/cockroachdb/cockroach/LICENSE pkg_root/usr/share/doc/cockroach/
mkdir -p pkg_root/etc/default
cp dist/debian/defaults pkg_root/etc/default/cockroach
mkdir -p pkg_root/usr/bin
cp bin/cockroach pkg_root/usr/bin
fpm \
-n cockroach \
-C pkg_root \
-s dir \
-t deb \
-v "${version}" \
--force \
--deb-compression bzip2 \
--after-install dist/debian/postinst \
--before-remove dist/debian/prerm \
--license "Apache 2.0" \
-m "Dolf Schimmel <dolf@transip.nl>" \
--url "https://www.cockroachlabs.com/" \
--vendor "Cockroach Labs" \
--description "The scalable, survivable, strongly consistent, SQL database." \
--category databases \
--config-files /etc/default/cockroach \
.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment