Skip to content

Add libnat20 as buildroot package to the linux example.#103

Draft
werwurm wants to merge 1 commit into
werwurm/linux_example_nat20swfrom
werwurm/linux_example_libnat20
Draft

Add libnat20 as buildroot package to the linux example.#103
werwurm wants to merge 1 commit into
werwurm/linux_example_nat20swfrom
werwurm/linux_example_libnat20

Conversation

@werwurm
Copy link
Copy Markdown
Contributor

@werwurm werwurm commented May 11, 2026

This adds libnat20 to the example buildroot environment.
It is a dependency for developing nat20 userspace tools.

This adds libnat20 to the example buildroot environment.
It is a dependency for developing nat20 userspace tools.
@github-actions
Copy link
Copy Markdown

LCOV of commit 080638f during lcov-test-coverage-report #201

Summary coverage rate:
  lines......: 95.6% (3048 of 3188 lines)
  functions..: 99.1% (232 of 234 functions)
  branches...: 87.0% (1657 of 1904 branches)

Files changed coverage rate: n/a

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a Buildroot package for the libnat20 userspace library to the examples/linux Buildroot external tree, enabling it in the QEMU example config and exercising its build in CI to support development of nat20 userspace tooling.

Changes:

  • Add a new Buildroot libnat20 CMake package (Config.in + .mk) and source it from the external tree.
  • Enable BR2_PACKAGE_LIBNAT20 in the QEMU Buildroot defconfig and extend brrebuild all to rebuild it.
  • Update the GitHub Actions workflow to build and verify the libnat20 static archive.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
examples/linux/br_external/utils/envsetup.sh Adds libnat20 to brrebuild targets and to the all rebuild sequence.
examples/linux/br_external/package/libnat20/libnat20.mk Introduces the Buildroot package definition for building/installing libnat20 via CMake.
examples/linux/br_external/package/libnat20/Config.in Adds the Buildroot Kconfig entry for selecting libnat20.
examples/linux/br_external/configs/qemu_br_defconfig Enables the new Buildroot package in the QEMU example configuration.
examples/linux/br_external/Config.in Sources the new package’s Config.in so it appears in Buildroot menus.
.github/workflows/linux-kmod-build.yml Builds libnat20 in CI and verifies libnat20.a is produced.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 83 to 86
case "$1" in
all)
ensure_popd make linux-rebuild nat20crypto-rebuild nat20device-rebuild nat20sw-rebuild nat20lib-rebuild all
ensure_popd make linux-rebuild nat20crypto-rebuild libnat20-rebuild nat20device-rebuild nat20sw-rebuild nat20lib-rebuild all
;;
LIBNAT20_LICENSE = Apache-2.0 OR GPL-2.0
LIBNAT20_LICENSE_FILES = LICENSE-Apache-2.0.txt LICENSE-GPL-2.0.txt

LIBNAT20_INSTALL_STAGING = YES
# You should have received a copy of the GNU General Public License
# along with this program; if not, see
# <https://www.gnu.org/licenses/>.

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