Sha256: e6bf2739ddb3822fa9e6ea52459a7514db3a86e45aa68d00fc8dc6fe175881a6

Contents?: true

Size: 1.52 KB

Versions: 4

Compression:

Stored size: 1.52 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 && \
       apt-get install -y --no-install-recommends cmake make gcc pkg-config squashfs-tools curl bison git

  RUBYC="$BASE_DIR/bin/rubyc-linux"
  if [ ! -f "$RUBYC" ]; then
    mkdir -p "$(dirname "$RUBYC")"
    curl -L http://enclose.io/rubyc/rubyc-linux-x64.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

4 entries across 4 versions & 1 rubygems

Version Path
licensed-2.3.1 script/packages/linux
licensed-2.3.0 script/packages/linux
licensed-2.2.0 script/packages/linux
licensed-2.1.0 script/packages/linux