initial commit: make basic debian .deb package compile structure
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build the project and pack it into a .deb using the standard Debian
|
||||
# toolchain (debhelper). Run this on a Debian-family system, e.g. Debian,
|
||||
# Ubuntu, or in WSL2 / a Docker container:
|
||||
#
|
||||
# sudo apt install build-essential cmake debhelper
|
||||
# ./build-deb.sh
|
||||
#
|
||||
# The resulting package lands in ./dist/ and can be installed with:
|
||||
# sudo apt install ./dist/hatsune-miku-shoshitsu_*.deb
|
||||
#
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# --- sanity checks ---------------------------------------------------------
|
||||
for tool in dpkg-buildpackage dpkg-deb cmake; do
|
||||
command -v "$tool" >/dev/null 2>&1 || {
|
||||
echo "error: '$tool' not found." >&2
|
||||
echo " Install the build tools first:" >&2
|
||||
echo " sudo apt install build-essential cmake debhelper" >&2
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
|
||||
# --- build the binary .deb -------------------------------------------------
|
||||
# -us don't sign the source
|
||||
# -uc don't sign the .changes file
|
||||
# -b build a binary package only (no upstream source tarball needed)
|
||||
# -d don't verify Build-Depends (we check the tools ourselves)
|
||||
#
|
||||
# dpkg-buildpackage writes the .deb into the PARENT directory.
|
||||
dpkg-buildpackage -us -uc -b -d
|
||||
|
||||
# --- collect the artifacts into ./dist --------------------------------------
|
||||
mkdir -p dist
|
||||
mv -f ../hatsune-miku-shoshitsu_*.deb dist/ 2>/dev/null || true
|
||||
mv -f ../hatsune-miku-shoshitsu_*.changes dist/ 2>/dev/null || true
|
||||
|
||||
echo
|
||||
echo "Done. Debian package built:"
|
||||
ls -lh dist/*.deb
|
||||
Reference in New Issue
Block a user