#!/bin/bash

#= Debian 10+ arm64 .deb

set -o errexit
set -o xtrace

# Move to source directory
pushd "${SOURCE_DIR}"

if [[ ${IS_DOCKER} == YES ]]; then
    # Remove build-dep for dotnet-sdk-8.0, since it's installed manually
    cp -a debian/control /tmp/control.orig
    sed -i '/dotnet-sdk-8.0,/d' debian/control
fi

# Modify changelog to unstable configuration if IS_UNSTABLE
if [[ ${IS_UNSTABLE} == 'yes' ]]; then
    pushd debian
    PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' )

    cat <<EOF >changelog
jellyfin-server (${BUILD_ID}-unstable) unstable; urgency=medium

  * Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID}

 -- Jellyfin Packaging Team <packaging@jellyfin.org>  $( date --rfc-2822 )
EOF
    popd
fi

# Build DEB
export CONFIG_SITE=/etc/dpkg-cross/cross-config.${ARCH}
dpkg-buildpackage -us -uc -a armhf --pre-clean --post-clean

mkdir -p "${ARTIFACT_DIR}/"
mv ../jellyfin*.{deb,dsc,tar.gz,buildinfo,changes} "${ARTIFACT_DIR}/"

if [[ ${IS_DOCKER} == YES ]]; then
    cp -a /tmp/control.orig debian/control
    chown -Rc $(stat -c %u:%g "${ARTIFACT_DIR}") "${ARTIFACT_DIR}"
fi

popd