mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-29 23:30:04 +01:00
107 lines
2.4 KiB
Bash
Executable File
107 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
ARCH="amd64"
|
|
if [[ $# -ge 1 ]]
|
|
then
|
|
ARCH="$1"
|
|
fi
|
|
|
|
# Map to Debian architecture
|
|
if [[ "$ARCH" == "amd64" ]]; then
|
|
DEB_ARCH=amd64
|
|
EXENAME_SRC="victoria-metrics-linux-amd64-prod"
|
|
elif [[ "$ARCH" == "arm64" ]]; then
|
|
DEB_ARCH=arm64
|
|
EXENAME_SRC="victoria-metrics-linux-arm64-prod"
|
|
elif [[ "$ARCH" == "arm" ]]; then
|
|
DEB_ARCH=armhf
|
|
EXENAME_SRC="victoria-metrics-linux-arm-prod"
|
|
else
|
|
echo "*** Unknown arch $ARCH"
|
|
exit 1
|
|
fi
|
|
|
|
PACKDIR="./package"
|
|
TEMPDIR="${PACKDIR}/temp-deb-${DEB_ARCH}"
|
|
EXENAME_DST="victoria-metrics-prod"
|
|
|
|
# Pull in version info
|
|
|
|
VERSION=`cat ${PACKDIR}/VAR_VERSION | perl -ne 'chomp and print'`
|
|
BUILD=`cat ${PACKDIR}/VAR_BUILD | perl -ne 'chomp and print'`
|
|
|
|
# Create directories
|
|
|
|
[[ -d "${TEMPDIR}" ]] && rm -rf "${TEMPDIR}"
|
|
|
|
mkdir -p "${TEMPDIR}" && echo "*** Created : ${TEMPDIR}"
|
|
|
|
mkdir -p "${TEMPDIR}/usr/bin/"
|
|
mkdir -p "${TEMPDIR}/lib/systemd/system/"
|
|
|
|
echo "*** Version : ${VERSION}-${BUILD}"
|
|
echo "*** Arch : ${DEB_ARCH}"
|
|
|
|
OUT_DEB="victoria-metrics_${VERSION}-${BUILD}_$DEB_ARCH.deb"
|
|
|
|
echo "*** Out .deb : ${OUT_DEB}"
|
|
|
|
# Copy the binary
|
|
|
|
cp "./bin/${EXENAME_SRC}" "${TEMPDIR}/usr/bin/${EXENAME_DST}"
|
|
|
|
# Copy supporting files
|
|
|
|
cp "${PACKDIR}/victoria-metrics.service" "${TEMPDIR}/lib/systemd/system/"
|
|
|
|
# Generate debian-binary
|
|
|
|
echo "2.0" > "${TEMPDIR}/debian-binary"
|
|
|
|
# Generate control
|
|
|
|
echo "Version: $VERSION-$BUILD" > "${TEMPDIR}/control"
|
|
echo "Installed-Size:" `du -sb "${TEMPDIR}" | awk '{print int($1/1024)}'` >> "${TEMPDIR}/control"
|
|
echo "Architecture: $DEB_ARCH" >> "${TEMPDIR}/control"
|
|
cat "${PACKDIR}/deb/control" >> "${TEMPDIR}/control"
|
|
|
|
# Copy conffile
|
|
|
|
cp "${PACKDIR}/deb/conffile" "${TEMPDIR}/conffile"
|
|
|
|
# Copy postinst and postrm
|
|
|
|
cp "${PACKDIR}/deb/postinst" "${TEMPDIR}/postinst"
|
|
cp "${PACKDIR}/deb/prerm" "${TEMPDIR}/prerm"
|
|
cp "${PACKDIR}/deb/postrm" "${TEMPDIR}/postrm"
|
|
|
|
(
|
|
# Generate md5 sums
|
|
|
|
cd "${TEMPDIR}"
|
|
|
|
find ./usr ./lib -type f | while read i ; do
|
|
md5sum "$i" | sed 's/\.\///g' >> md5sums
|
|
done
|
|
|
|
# Archive control
|
|
|
|
chmod 644 control md5sums
|
|
chmod 755 postinst postrm prerm
|
|
fakeroot -- tar -c --xz -f ./control.tar.xz ./control ./md5sums ./postinst ./prerm ./postrm
|
|
|
|
# Archive data
|
|
|
|
fakeroot -- tar -c --xz -f ./data.tar.xz ./usr ./lib
|
|
|
|
# Make final archive
|
|
|
|
fakeroot -- ar -cr "${OUT_DEB}" debian-binary control.tar.xz data.tar.xz
|
|
)
|
|
|
|
ls -lh "${TEMPDIR}/${OUT_DEB}"
|
|
|
|
cp "${TEMPDIR}/${OUT_DEB}" "${PACKDIR}"
|
|
|
|
echo "*** Created : ${PACKDIR}/${OUT_DEB}"
|