pimd: new package
PATCH v3 1/1 pimd: new package
pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon.
Tested on Beaglebone Black.
Build-tested with test-pkg script.
---
Changes v2->v3
- moved to the correct menu location at "Target packages" -> "Networking applications".
Changes v1->v2
- added LICENSE.mrouted as a license file.
- changed to generic package, since it is not a real autotools based package.
--- DEVELOPERS | 1 + package/Config.in | 1 + package/pimd/Config.in | 8 ++++++++ package/pimd/pimd.hash | 6 ++++++ package/pimd/pimd.mk | 38 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 54 insertions(+) create mode 100644 package/pimd/Config.in create mode 100644 package/pimd/pimd.hash create mode 100644 package/pimd/pimd.mk
DEVELOPERS +1 -0
@@ -1518,6 +1518,7 @@ F: configs/linksprite_pcduino_defconfig N: Sergio Prado <[email protected]> F: package/libgdiplus/ F: package/mongodb/ +F: package/pimd/ F: package/stella/ F: package/tunctl/ F: package/ubus/
package/Config.in +1 -0
@@ -1749,6 +1749,7 @@ endif source "package/p910nd/Config.in" source "package/phidgetwebservice/Config.in" source "package/phytool/Config.in" + source "package/pimd/Config.in" source "package/pound/Config.in" source "package/pppd/Config.in" source "package/pptp-linux/Config.in"
package/pimd/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_PIMD + bool "pimd" + depends on BR2_USE_MMU # fork() + help + pimd is a lightweight stand-alone PIM-SM v2 multicast routing + daemon. + + http://troglobit.com/project/pimd/
package/pimd/pimd.hash new file +6 -0
@@ -0,0 +1,6 @@ +# Locally computed: +sha256 c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d pimd-2.3.2.tar.gz + +# Hash for license files: +sha256 3379436c16caccdef9b40a49fbdfdbb45aad8ecb05870834490b8fb080126009 LICENSE +sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 LICENSE.mrouted
package/pimd/pimd.mk new file +38 -0
@@ -0,0 +1,38 @@ +################################################################################ +# +# pimd +# +################################################################################ + +PIMD_VERSION = 2.3.2 +PIMD_SOURCE = pimd-$(PIMD_VERSION).tar.gz +PIMD_SITE = https://github.com/troglobit/pimd/releases/download/$(PIMD_VERSION) + +PIMD_LICENSE = BSD-3-Clause +PIMD_LICENSE_FILES = LICENSE LICENSE.mrouted + +PIMD_MAKE_OPTS = CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) + +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC)$(BR2_TOOLCHAIN_USES_MUSL),y) +PIMD_CONF_OPTS = --embedded-libc +endif + +# The configure script is not autoconf based, so we use the +# generic-package infrastructure +define PIMD_CONFIGURE_CMDS + (cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + ./configure $(PIMD_CONF_OPTS) \ + ) +endef + +define PIMD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(PIMD_MAKE_OPTS) -C $(@D) +endef + +define PIMD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install +endef + +$(eval $(generic-package))
Signature · 1 line
1.9.1
PATCH v3 1/1 pimd: new package
Hello,
package/pimd/pimd.mk line 14
Quoted 8 lines · Sergio Prado
package/pimd/pimd.mk new file +8
-0+PIMD_VERSION = 2.3.2 +PIMD_SOURCE = pimd-$(PIMD_VERSION).tar.gz +PIMD_SITE = https://github.com/troglobit/pimd/releases/download/$(PIMD_VERSION) + +PIMD_LICENSE = BSD-3-Clause +PIMD_LICENSE_FILES = LICENSE LICENSE.mrouted + +PIMD_MAKE_OPTS = CROSS=$(TARGET_CROSS) CC=$(TARGET_CC)
This variable was not really needed, since it's used only once, so I've used CROSS and CC directly in BUILD_CMDS.
package/pimd/pimd.mk line 17
Quoted 3 lines
package/pimd/pimd.mk new file +3
-0+ +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC)$(BR2_TOOLCHAIN_USES_MUSL),y) +PIMD_CONF_OPTS = --embedded-libc
I've used += here instead of =, since we're inside a condition. This typically avoids mistakes in the future.
package/pimd/pimd.mk line 36
Quoted 3 lines
package/pimd/pimd.mk new file +3
-0+define PIMD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install +endef
This was incorrectly installing in $(TARGET_DIR)/usr/local, so I've added prefix=/usr to fix that. I've also dropped the quotes around "$(TARGET_DIR)" since we don't do it in general in Buildroot.
Applied with those changes. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com