Sha256: a4ee464e3723dbf24b7098035317dcd148455f15e386394f934c0aeb2d81a48c

Contents?: true

Size: 1.58 KB

Versions: 22

Compression:

Stored size: 1.58 KB

Contents

#!/bin/bash
#/ Usage: script/packages/linux [VERSION]
#/
#/ WARNING: You should not need to call this directly. Please create packages using
#/ `script/package [platform]` or `bundle exec rake package[platform]`
#/
#/ Builds a linux distributable package for licensed for a given and licensed VERSION.
#/ Packages are of the form licensed-$VERSION-linux-x64.tar.gz and contain a `./licensed` executable
#/ Built packages are placed in the <root>/pkg directory.
#/
#/ If calling from a non-linux OS, docker is used to build a linux binary
#/
#/ OPTIONS:
#/   [VERSION]         (optional, default to current git branch or SHA1) version of licensed to build exe at
#/

set -euo pipefail

BASE_DIR="$(cd "$(dirname $0)/../.." && pwd)"
VERSION=${VERSION:=""}

build_linux_docker() {
  IMAGE="licensed/build-linux"
  docker build -t "$IMAGE" - < "$BASE_DIR/docker/Dockerfile.build-linux"
  docker run --rm \
    -e VERSION="$VERSION" \
    -v "$BASE_DIR":/var/licensed \
    -w /var/licensed \
    "$IMAGE" \
    "script/packages/build"
}

build_linux_local() {
  sudo apt-get update
  sudo apt-get install -y --no-install-recommends cmake make gcc pkg-config squashfs-tools curl bison git rsync

  RUBYC="$BASE_DIR/bin/rubyc-linux"
  if [ ! -f "$RUBYC" ]; then
    mkdir -p "$(dirname "$RUBYC")"
    curl -L https://github.com/kontena/ruby-packer/releases/download/2.6.0-0.6.0/rubyc-2.6.0-0.6.0-linux-amd64.gz | gunzip > "$RUBYC"
    chmod +x "$RUBYC"
  fi

  export CPPFLAGS="-P"
  export RUBYC
  "$BASE_DIR"/script/packages/build
}

if [[ "$(uname -s)" != "Linux" ]]; then
  build_linux_docker
else
  build_linux_local
fi

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
licensed-2.14.3 script/packages/linux
licensed-2.14.2 script/packages/linux
licensed-2.14.1 script/packages/linux
licensed-2.14.0 script/packages/linux
licensed-2.13.0 script/packages/linux
licensed-2.12.2 script/packages/linux
licensed-2.12.1 script/packages/linux
licensed-2.12.0 script/packages/linux
licensed-2.11.1 script/packages/linux
licensed-2.11.0 script/packages/linux
licensed-2.10.0 script/packages/linux
licensed-2.9.2 script/packages/linux
licensed-2.9.1 script/packages/linux
licensed-2.9.0 script/packages/linux
licensed-2.8.0 script/packages/linux
licensed-2.7.0 script/packages/linux
licensed-2.6.2 script/packages/linux
licensed-2.6.1 script/packages/linux
licensed-2.6.0 script/packages/linux
licensed-2.5.0 script/packages/linux