43 lines
1.2 KiB
Bash
Executable File
43 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# This script expects to run on Ubuntu. It installs the dependencies necessary
|
|
# to build Boulder and produce a Debian Package. The actual build and packaging
|
|
# is handled by a call to Make.
|
|
#
|
|
|
|
# -e Stops execution in the instance of a command or pipeline error.
|
|
# -u Treat unset variables as an error and exit immediately.
|
|
set -eu
|
|
|
|
#
|
|
# Setup Dependencies
|
|
#
|
|
|
|
sudo apt-get install -y --no-install-recommends \
|
|
ruby \
|
|
ruby-dev \
|
|
gcc
|
|
|
|
# Download and unpack our production go version. Ensure that $GO_VERSION is
|
|
# already set in the environment (e.g. by the github actions release workflow).
|
|
$(dirname -- "${0}")/fetch-and-verify-go.sh "${GO_VERSION}"
|
|
sudo tar -C /usr/local -xzf go.tar.gz
|
|
export PATH=/usr/local/go/bin:$PATH
|
|
|
|
# Install fpm, this is used in our Makefile to package Boulder as a deb or rpm.
|
|
sudo gem install --no-document -v 1.14.0 fpm
|
|
|
|
#
|
|
# Build
|
|
#
|
|
|
|
# Set $ARCHIVEDIR to our current directory. If left unset our Makefile will set
|
|
# it to /tmp.
|
|
export ARCHIVEDIR="${PWD}"
|
|
|
|
# Set $VERSION to be a simulacrum of what is set in other build environments.
|
|
export VERSION="${GO_VERSION}.$(date +%s)"
|
|
|
|
# Build Boulder and produce an RPM, a .deb, and a tar.gz file in $PWD.
|
|
make rpm deb tar
|