#!/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" < 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"