make_release_tarball.sh raw

   1  #!/bin/sh
   2  # Copyright (c) 2020 The Limenka developers
   3  # Distributed under the MIT software license, see the accompanying
   4  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
   5  #
   6  # A helper script to generate source release tarball
   7  
   8  export LC_ALL=C
   9  set -ex
  10  
  11  [ "$#" -ge 2 ]
  12  [ -n "${REFERENCE_DATETIME}" ]
  13  
  14  GIT_ARCHIVE="$1"
  15  DISTNAME="$2"
  16  
  17  git archive --prefix="${DISTNAME}/" HEAD |
  18   tar -xp \
  19    --exclude .cirrus.yml \
  20    --exclude '.git*' \
  21    --exclude ci \
  22    --exclude '*minisketch*' \
  23    --exclude 'doc/release-notes' \
  24   # end of tar options
  25  
  26  # Generate correct build info file from git, before we lose git
  27  GIT_BUILD_INFO="$(cmake -P cmake/script/GenerateBuildInfo.cmake)"
  28  sed 's/\/\/ No build information available/'"${GIT_BUILD_INFO}"'/' -i "${DISTNAME}/cmake/script/GenerateBuildInfo.cmake"
  29  
  30  tar \
  31    --format=ustar \
  32    --sort=name \
  33    --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 \
  34    --mtime="${REFERENCE_DATETIME}" \
  35    -c "${DISTNAME}" | \
  36    gzip -9n \
  37    >"${GIT_ARCHIVE}"
  38  
  39  rm -rf "${DISTNAME}"
  40