aman/scripts/package_arch.sh

44 lines
1 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
source "${SCRIPT_DIR}/package_common.sh"
require_command git
require_command sha256sum
VERSION="$(project_version)"
PACKAGE_NAME="$(project_name)"
ARCH_DIST_DIR="${DIST_DIR}/arch"
TARBALL_NAME="${PACKAGE_NAME}-${VERSION}.tar.gz"
TARBALL_PATH="${ARCH_DIST_DIR}/${TARBALL_NAME}"
PKGBUILD_PATH="${ARCH_DIST_DIR}/PKGBUILD"
mkdir -p "${ARCH_DIST_DIR}"
git -C "${ROOT_DIR}" archive \
--format=tar.gz \
--prefix="${PACKAGE_NAME}-${VERSION}/" \
HEAD \
> "${TARBALL_PATH}"
TARBALL_SHA256="$(sha256sum "${TARBALL_PATH}" | awk '{print $1}')"
render_template \
"${ROOT_DIR}/packaging/arch/PKGBUILD.in" \
"${PKGBUILD_PATH}" \
"VERSION=${VERSION}" \
"TARBALL_NAME=${TARBALL_NAME}" \
"TARBALL_SHA256=${TARBALL_SHA256}"
echo "generated ${PKGBUILD_PATH}"
echo "generated ${TARBALL_PATH}"
if [[ "${BUILD_ARCH_PACKAGE:-0}" == "1" ]]; then
require_command makepkg
(
cd "${ARCH_DIST_DIR}"
makepkg -f
)
fi