initial commit: make basic debian .deb package compile structure
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Minimal fallback: assemble a .deb directly with dpkg-deb, WITHOUT debhelper.
|
||||
# Handy for quick builds on a bare Debian/Ubuntu system:
|
||||
#
|
||||
# sudo apt install build-essential cmake
|
||||
# ./pack-deb.sh
|
||||
#
|
||||
# Produces ./dist/hatsune-miku-shoshitsu_0.1.0-1_amd64.deb
|
||||
#
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
PKG="hatsune-miku-shoshitsu"
|
||||
VERSION="0.1.0"
|
||||
ARCH="amd64" # adjust to your target architecture (e.g. arm64)
|
||||
|
||||
for tool in cmake dpkg-deb; do
|
||||
command -v "$tool" >/dev/null 2>&1 || {
|
||||
echo "error: '$tool' not found. Install build tools first." >&2
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
|
||||
rm -rf build staging dist
|
||||
mkdir -p dist
|
||||
|
||||
# 1) configure + build
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
|
||||
cmake --build build -j
|
||||
|
||||
# 2) install into a staging tree (simulates /usr on the target system)
|
||||
DESTDIR="$(pwd)/staging" cmake --install build
|
||||
|
||||
# 3) write the binary-package control file
|
||||
mkdir -p "staging/DEBIAN"
|
||||
cat > "staging/DEBIAN/control" <<EOF
|
||||
Package: $PKG
|
||||
Version: ${VERSION}-1
|
||||
Section: utils
|
||||
Priority: optional
|
||||
Architecture: $ARCH
|
||||
Maintainer: Your Name <you@example.com>
|
||||
Depends: libc6
|
||||
Description: Hatsune Miku's Shoshitsu in Terminal
|
||||
A terminal-based program about Hatsune Miku's Shoshitsu (loss).
|
||||
Replace this placeholder description before releasing.
|
||||
EOF
|
||||
|
||||
# 4) pack it (--root-owner-group makes every file owned by root:root,
|
||||
# as Debian packages require; available since dpkg 1.19 / Debian 10)
|
||||
dpkg-deb --build --root-owner-group "staging" "dist/${PKG}_${VERSION}-1_${ARCH}.deb"
|
||||
|
||||
echo
|
||||
echo "Done. Debian package built:"
|
||||
ls -lh "dist/${PKG}_${VERSION}-1_${ARCH}.deb"
|
||||
Reference in New Issue
Block a user