Skip to content

feat: EXPKITS-1375 Debian packaging - #147

Merged
ibori75 merged 13 commits into
mainfrom
Feature/expkits-1375/debian-package
Oct 16, 2026
Merged

ibori75 merged 13 commits into
mainfrom
Feature/expkits-1375/debian-package

Conversation

@ibori75

@ibori75 ibori75 commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Pull Request

Goal

Provide installable Debian packages for the Open Perception Kit runtime and demo content on Debian 13 (Trixie), without redistributing NumPy or the FlatBuffers Python runtime.

Change

  • Add Meson targets for building architecture-specific opk-runtime and opk-demo Debian packages on amd64 and arm64.
  • Package the OPK GStreamer plugins, operation modules, ONNX Runtime, ExecuTorch integration, Python Ops bridge, web assets, schemas, documentation, configuration, models, and demo media into their appropriate packages.
  • Derive shared-library dependencies with dpkg-shlibdeps and validate ELF architecture, RUNPATHs, SONAME links, legal documentation, and package contents.
  • Exclude NumPy and FlatBuffers from the binary package. The opk-runtime postinst downloads checksum-locked upstream wheels into /var/lib/opk/python and verifies their versions and load paths.
  • Make Python Ops use and validate the private installed Python dependency directory.
  • Configure packaged opk-menu defaults for installed plugins, operation modules, content, and XDG-compatible mutable state.
  • Allow opksink to locate web assets in both development/archive and Debian multiarch layouts.
  • Add package assembly tests and Debian package build documentation.

Related issue: EXPKITS-1375

Testing

  • Ran the focused release and packaging tests:
python3 -m unittest -v \
            scripts.release.TestReleaseTool \
            development.packaging.tests.test_package_opk_runtime_deb \
            development.packaging.tests.test_package_opk_demo_deb

All 36 tests passed.

  • Built the runtime package through Meson:
meson compile -C development/build-deb opk-runtime-deb
  • Installed newly built opk-runtime and opk-demo packages in a fresh Debian Trixie container.
  • Verified that opk-menu discovers the installed pipelines and launches successfully.
  • Verified a pipeline using Python Ops and confirmed that it produces valid serialized frame results.
  • Verified that NumPy and FlatBuffers are installed by postinst rather than included in the .deb payload.

@ibori75
ibori75 requested review from a team as code owners October 8, 2026 08:14
@ibori75 ibori75 changed the title Feature/expkits 1375/debian package feat: EXPKITS-1375 Debian packaging Oct 8, 2026
@ibori75
ibori75 force-pushed the Feature/expkits-1375/debian-package branch from 75cdba7 to 0deb6b9 Compare October 16, 2026 14:23
@ibori75
ibori75 merged commit 9be6d65 into main Oct 16, 2026
18 checks passed
@ibori75
ibori75 deleted the Feature/expkits-1375/debian-package branch October 16, 2026 15:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants