User Tools

Site Tools


buildroot:cni-plugins

cni-plugins

Some standard networking plugins, maintained by the CNI team

make dependencies go
mkdir /data/buildroot/package/cni-plugins
cat > /data/buildroot/package/cni-plugins/Config.in<< 'EOF'
config BR2_PACKAGE_CNI_PLUGINS
        bool "cni-plugins"
        depends on BR2_PACKAGE_GLIBC
        help
          Some standard networking plugins, maintained by the CNI team
EOF

cat > /data/buildroot/package/cni-plugins/cni-plugins.mk<< 'EOF'
#############################################################
#
# cni-plugins
#
#############################################################
CNI_PLUGINS_VERSION = 1.1.1
CNI_PLUGINS_SOURCE = v$(CNI_PLUGINS_VERSION).tar.gz
CNI_PLUGINS_SITE = https://github.com/containernetworking/plugins/archive

CNI_PLUGINS_DEPENDENCIES = glibc

define CNI_PLUGINS_BUILD_CMDS
  cd $(@D)/ && \
  GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw" \
  CGO_LDFLAGS="${LDFLAGS}"                                     \
  CGO_CFLAGS="${CFLAGS}"                                       \
  CGO_CPPFLAGS="${CPPFLAGS}"                                   \
  CGO_CXXFLAGS="${CXXFLAGS}"                                   \
  GOROOT=/go GOPATH=$(@D)/go ./build_linux.sh
endef

define CNI_PLUGINS_INSTALL_TARGET_CMDS
  install -vDm755 $(@D)/bin/* -t "$(TARGET_DIR)/usr/lib/cni/"
  install -vDm755 $(@D)/bin/* -t "$(TARGET_DIR)/opt/cni/bin/"
  install -vdm755 "$(TARGET_DIR)/etc/cni/net.d/"
  install -vDm644 $(@D)/LICENSE -t "$(TARGET_DIR)/usr/share/licenses/$pkgname/"
  install -vDm644 $(@D)/plugins/ipam/dhcp/systemd/* -t "$(TARGET_DIR)/usr/lib/systemd/system/"
endef

$(eval $(generic-package))
EOF

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