aboutsummaryrefslogtreecommitdiff
path: root/deployment/build.debian.amd64
blob: b2bbf9c29ef6a673354172c702cfc7a618d37f73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash

#= Debian 10+ amd64 .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-6.0, since it's installed manually
    cp -a debian/control /tmp/control.orig
    sed -i '/dotnet-sdk-6.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
dpkg-buildpackage -us -uc --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