mirror of
https://github.com/teddysun/across.git
synced 2025-01-19 06:19:35 +08:00
75 lines
2.5 KiB
Plaintext
75 lines
2.5 KiB
Plaintext
|
#!/usr/bin/env bash
|
||
|
set -x
|
||
|
set -e
|
||
|
|
||
|
# untar sources
|
||
|
mkdir -p /root/build-deb/xray-plugin
|
||
|
tar -C /root/build-deb -xzf /sources/xray-plugin.tgz
|
||
|
|
||
|
# link them to their canonical path
|
||
|
mkdir -p /go/src/github.com/teddysun
|
||
|
ln -snf /root/build-deb/xray-plugin /go/src/github.com/teddysun/xray-plugin
|
||
|
|
||
|
EPOCH="${EPOCH:-}"
|
||
|
EPOCH_SEP=""
|
||
|
if [[ -n "$EPOCH" ]]; then
|
||
|
EPOCH_SEP=":"
|
||
|
fi
|
||
|
|
||
|
if [[ -z "${DEB_VERSION}" ]]; then
|
||
|
echo "DEB_VERSION is required to build deb packages"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
echo VERSION AAA ${VERSION}
|
||
|
|
||
|
VERSION=${VERSION:-$(cat VERSION)}
|
||
|
|
||
|
debSource="$(awk -F ': ' '$1 == "Source" { print $2; exit }' debian/control)"
|
||
|
debMaintainer="$(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control)"
|
||
|
debDate="$(date --rfc-2822)"
|
||
|
|
||
|
# Include an extra `1` in the version, in case we ever would have to re-build an
|
||
|
# already published release with a packaging-only change.
|
||
|
pkgRevision=1
|
||
|
|
||
|
# Generate changelog. The version/name of the generated packages are based on this.
|
||
|
#
|
||
|
# Resulting packages are formatted as;
|
||
|
#
|
||
|
# - name of the package (e.g., "docker-ce")
|
||
|
# - version (e.g., "23.0.0~beta.0")
|
||
|
# - pkgRevision (usually "-0", see above), which allows updating packages with
|
||
|
# packaging-only changes (without a corresponding release of the software
|
||
|
# that's packaged).
|
||
|
# - distro (e.g., "ubuntu")
|
||
|
# - VERSION_ID (e.g. "22.04" or "11") this must be "sortable" to make sure that
|
||
|
# packages are upgraded when upgrading to a newer distro version ("codename"
|
||
|
# cannot be used for this, as they're not sorted)
|
||
|
# - SUITE ("codename"), e.g. "jammy" or "bullseye". This is mostly for convenience,
|
||
|
# because some places refer to distro versions by codename, others by version.
|
||
|
# we prefix the codename with a tilde (~), which effectively excludes it from
|
||
|
# version comparison.
|
||
|
#
|
||
|
# Note that while the `${EPOCH}${EPOCH_SEP}` is part of the version, it is not
|
||
|
# included in the package's *filename*. (And if you're wondering: we needed the
|
||
|
# EPOCH because of our use of CalVer, which made version comparing not work in
|
||
|
# some cases).
|
||
|
#
|
||
|
# Examples:
|
||
|
#
|
||
|
# docker-ce_23.0.0~beta.0-1~debian.11~bullseye_amd64.deb
|
||
|
# docker-ce_23.0.0~beta.0-1~ubuntu.22.04~jammy_amd64.deb
|
||
|
cat > "debian/changelog" <<-EOF
|
||
|
$debSource (${EPOCH}${EPOCH_SEP}${DEB_VERSION}-${pkgRevision}~${DISTRO}.${VERSION_ID}~${SUITE}) $SUITE; urgency=low
|
||
|
* Version: ${VERSION}
|
||
|
-- $debMaintainer $debDate
|
||
|
EOF
|
||
|
# The space above at the start of the line for the debMaintainer is very important
|
||
|
|
||
|
echo VERSION BBB ${VERSION}
|
||
|
dpkg-buildpackage -uc -us -I.git
|
||
|
destination="/build"
|
||
|
mkdir -p "$destination"
|
||
|
mv -v /root/xray-plugin* "$destination"
|