Bundle pinned offline dependencies, remove libcork/libipset and submodule requirements, and add portable runtime helpers with relocatable static/shared library installations.
Add Clang static build validation for Linux/musl, macOS and Windows, real TCP/UDP and SIP003 interoperability coverage, and recorded performance tradeoffs. All 21 hosted checks pass at the reviewed PR head 8d504e6218.
Add tests/test_deb_build.sh with four phases:
1. Build .deb packages via dpkg-buildpackage
2. Verify all three packages contain expected files (binaries, man
pages, shared library, headers, pkg-config)
3. Install packages and resolve dependencies
4. Smoke-test installed binaries, ldconfig, and headers
Add a Linux-only CI step in build.yml to run the test.
Statically link the bundled submodule libraries (libcork, libipset,
libbloom) into all targets instead of building them as shared libs.
These are vendored code built from git submodules, not system
libraries, so static linking is correct and eliminates
dpkg-shlibdeps warnings about missing .so files.
Pass -DWITH_STATIC=OFF in debian/rules since debian build-depends
only provide shared library dev packages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
debhelper 10 is available in the following Debian/Ubuntu releases:
- Debian 8.x Jessie (jessie-backports)
- Debian 9.x Stretch / unstable
- Ubuntu 16.04 Xenial (xenial-backports)
- Ubuntu 16.10 Yakkety
debhelper supports dh-autoreconf and dh-systemd by default, so we can
safely remove a few Build-Depends and dh params.
We also sync a few other files under debian/ folder with Debian release
3.0.2+ds-1~exp1.
This commit will fix .deb packaging instructions for Ubuntu 16.04.
Meanwhile, .deb packaging for Debian/Ubuntu is now only suitable
for Ubuntu 16.04 LTS or higher, Debian 9 or higher.
Debian 8 users won't be able to build from source too because this
project now requires libsodium >= 1.0.8. Jessie-packports is needed
to build on Debian 8.
Changes:
- Add license of manpages to copyright
- Change way to handle config file (config.json)
- Add lintian-overrides
- Rename/Update docs and install file
A few itmes deserve to be mentioned:
- use apg to generate random password when install.
- generated password won't get updated when upgrading / reinstall.
- add more to description to make lintian happy.
- generated Makefile.am don't need to be listed in debian/copyright.
- the way of installing systemd service is changed. Thanks to advice
from Boyuan.
- multi-arch can be archived without specific setting in debian/rules
- add debian/watch file