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
29 lines
1.3 KiB
Makefile
Executable File
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:
|