User Tools

Site Tools


buildroot:slirp4netns

slirp4netns

User-mode networking for unprivileged network namespaces

runtime dependencies libglib2 (Libraries/Other)
libcap (Libraries/Other)
libseccomp (Libraries/Other)
git (Development tools)
qemu (Miscellaneous)
slirp (Networking)
make dependencies git (Development tools)
slirp (Networking)
mkdir /data/buildroot/package/slirp4netns
cat > /data/buildroot/package/slirp4netns/Config.in<< 'EOF'
config BR2_PACKAGE_SLIRP4NETNS
        bool "slirp4netns"
        depends on BR2_PACKAGE_GIT
        depends on BR2_PACKAGE_LIBGLIB2
        depends on BR2_PACKAGE_LIBCAP
        depends on BR2_PACKAGE_LIBSECCOMP
        depends on BR2_PACKAGE_QEMU
        help
          User-mode networking for unprivileged network namespaces
EOF

cat > /data/buildroot/package/slirp4netns/slirp4netns.mk<< 'EOF'
#############################################################
#
# slirp4netns
#
#############################################################
SLIRP4NETNS_VERSION = v1.1.12
SLIRP4NETNS_SITE_METHOD = git
SLIRP4NETNS_SITE = https://github.com/rootless-containers/slirp4netns.git

SLIRP4NETNS_INSTALL_STAGING = YES

SLIRP4NETNS_DEPENDENCIES = git libglib2 libcap libseccomp qemu 

define SLIRP4NETNS_BUILD_CMDS
  cd $(@D)/ && \
  autoreconf -fi && \
  PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig/" ./configure --prefix=/usr && \
  make
endef

define SLIRP4NETNS_INSTALL_STAGING_CMDS
  cd $(@D)/ && \
  make DESTDIR="$(STAGING_DIR)" install 
endef

define SLIRP4NETNS_INSTALL_TARGET_CMDS
  cd $(@D)/ && \
  make DESTDIR="$(TARGET_DIR)" install 
endef

$(eval $(generic-package))
EOF

sed -i '/menu "Custom packages"/a source "package/slirp4netns/Config.in"' /data/buildroot/package/Config.in
buildroot/slirp4netns.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1