#!/bin/bash set -o pipefail usage() { echo "Usage: $(basename "$0") name version [file ...]" } if [ $# -lt 2 ]; then usage exit 1 fi scriptdir="$(dirname "$0")" name="$1"; shift version="$1"; shift files=("$@") if [ "${#files[@]}" -eq 0 ]; then file_list="$("$scriptdir/list-source-files")" || exit $? if [ -z "$file_list" ]; then echo "Error: no source files found." >&2 exit 1 fi mapfile -t files <<< "$file_list" if [ -e build_mode ]; then files+=(build_mode) fi fi result="../$name-$version.tar.bz2" rm -f "${result}" printf '%s\n' "${files[@]}" | \ tar --owner=root --group=root --transform="s|^|$name-$version/|;s|^$name-$version/../scst/include/backport.h$|../scst/include/backport.h|;s|^$name-$version/scstadmin.sysfs$|scstadmin.sysfs|" \ -cjf "${result}" -T- && ls -l "${result}"