Files
vdm/debian/rules
T
samiandClaude Sonnet 5 31eadffce5 pkg: build a local .deb; de-duplicate onto DAEMON's systemd/nativehost/man page
DAEMON landed packaging/nativehost/, packaging/systemd/{velox.service,velox.socket}
(real sd_listen_fds() socket activation) and cli/man/velox.1 on main while this was
in flight, duplicating paths this branch had drafted independently. Per CLAUDE.md
(packaging/nativehost/ is DAEMON's; the rest of packaging/ is PKG/QA's), DAEMON's
copies are kept as the single source and this branch's packaging/native-messaging/,
packaging/man/velox.1 and stale packaging/systemd/velox.service are dropped rather
than maintained twice. The root CMakeLists.txt's install() rules now point at
DAEMON's paths directly, install both systemd units (not just velox.service), and
docs/07-packaging.md / packaging/README.md no longer claim there's no socket
activation — there is, and this package now ships it.

Adds the local-test-only .deb itself: debian/{control,rules,postinst,postrm,
changelog,copyright}, a placeholder icon set, the desktop entry and PKG/QA's own
man pages (veloxd.8, velox-gui.1 — velox.1 stays DAEMON's). libveloxcore stays
static (no consumer needs a .so yet); pairing has no real approval UI in this
build (D1 unbuilt), so postinst and packaging/README.md both say VELOX_PAIR_AUTO=1
is required and print it prominently. No PPA, no GPG — local dpkg -i only.

Verified live: dpkg-buildpackage -us -uc -b, dpkg -i, socket activation (systemctl
--user enable --now velox.socket), `velox ls` against the running daemon, lintian
clean, dpkg -r removes the manifest/units and leaves $XDG_DATA_HOME/velox alone.

.gitignore now excludes dpkg-buildpackage's debhelper build tree and obj-*/ (the
debuild output dir) — debian/control et al. stay tracked, everything debhelper
regenerates does not.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0176u3fTrxegrGNm2yC7r69W
2026-09-15 18:02:11 +04:00

29 lines
1.3 KiB
Makefile
Executable File

#!/usr/bin/make -f
# Velox — local test .deb build. Not a release build (no signing, no LTO tuning beyond
# what the flags below ask for): see packaging/README.md.
#
# Explicit cmake flags rather than a CMakePresets.json preset: dh_auto_configure already
# sets its own CMAKE_INSTALL_PREFIX / build-dir conventions, which fighting a preset's own
# cache variables (build/<preset>/, etc.) would only complicate. The flags mirror the
# `release` preset's intent (RelWithDebInfo, no tests) without inheriting its binaryDir.
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -- \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DVELOX_BUILD_TESTS=OFF \
-DVELOX_BUILD_GUI=ON \
-DVELOX_WERROR=OFF
# dh_installsystemd (system units) is disabled: velox.service/velox.socket are --user
# units, not system ones, so that helper has nothing to do here. dh_installsystemduser is
# NOT overridden — it runs normally, finds both units under lib/systemd/user/ in the
# install tree, and marks them enabled for each user's *next* systemd --user login (it
# cannot reach an already-running session from a root maintainer script at install time;
# postinst prints the manual start commands for the current session, matching
# packaging/README.md's own instructions).
override_dh_installsystemd: