[v4,1/2] package/iana-assignments: new package

Message ID 20240908144815.3822467-1-dario.binacchi@amarulasolutions.com
State New
Headers show
Series
  • [v4,1/2] package/iana-assignments: new package
Related show

Commit Message

Dario Binacchi Sept. 8, 2024, 2:48 p.m. UTC
The fixing of [1] and related code reviews [2] and [3] highlighted the
need for a package providing a versioned PEN (Enterprise Numbers)
registry file from IANA (Internet Assigned Numbers Authority).
The GitHub repository from which this package originates is a mirror of
the IANA registries periodically updated from https://www.iana.org/protocols.

[1] http://autobuild.buildroot.org/results/5ae5ee948d99679cd50d1115a7d46f4368347b4f
[2] https://patchwork.ozlabs.org/project/buildroot/patch/20240902210055.239859-1-dario.binacchi@amarulasolutions.com
[3] https://patchwork.ozlabs.org/project/buildroot/patch/20240904174021.2670289-1-dario.binacchi@amarulasolutions.com/
Co-Developed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Co-Developed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
Changes v3 -> v4:
  - select BR2_PACKAGE_IANA_ASSIGNMENTS_PEN_REG when the package is enabled

Added in v3

 DEVELOPERS                                     |  1 +
 package/Config.in                              |  1 +
 package/iana-assignments/Config.in             | 15 +++++++++++++++
 package/iana-assignments/iana-assignments.hash |  2 ++
 package/iana-assignments/iana-assignments.mk   | 18 ++++++++++++++++++
 5 files changed, 37 insertions(+)
 create mode 100644 package/iana-assignments/Config.in
 create mode 100644 package/iana-assignments/iana-assignments.hash
 create mode 100644 package/iana-assignments/iana-assignments.mk

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index b0efabfd5d35..40e46741612b 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -792,6 +792,7 @@  F:	configs/imx8mn_bsh_smm_s2_pro_defconfig
 F:	configs/stm32f769_disco_sd_defconfig
 F:	package/armadillo/
 F:	package/babeld/
+F:	package/iana-assignments/
 F:	package/sscep/
 F:	package/uuu/
 
diff --git a/package/Config.in b/package/Config.in
index 17855fed3058..729e05be675d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2465,6 +2465,7 @@  endif
 	source "package/htpdate/Config.in"
 	source "package/httping/Config.in"
 	source "package/i2pd/Config.in"
+	source "package/iana-assignments/Config.in"
 	source "package/ibrdtn-tools/Config.in"
 	source "package/ibrdtnd/Config.in"
 	source "package/ifenslave/Config.in"
diff --git a/package/iana-assignments/Config.in b/package/iana-assignments/Config.in
new file mode 100644
index 000000000000..f1b803cfec1a
--- /dev/null
+++ b/package/iana-assignments/Config.in
@@ -0,0 +1,15 @@ 
+config BR2_PACKAGE_IANA_ASSIGNMENTS
+	bool "IANA assignments"
+	select BR2_PACKAGE_IANA_ASSIGNMENTS_PEN_REG
+	help
+	  Mirror of the IANA registries periodically updated
+	  from https://www.iana.org/protocols.
+
+	  https://github.com/larseggert/iana-assignments
+
+if BR2_PACKAGE_IANA_ASSIGNMENTS
+
+config BR2_PACKAGE_IANA_ASSIGNMENTS_PEN_REG
+	bool "PEN (Enterprise Numbers) registry"
+
+endif
diff --git a/package/iana-assignments/iana-assignments.hash b/package/iana-assignments/iana-assignments.hash
new file mode 100644
index 000000000000..c58fb61df292
--- /dev/null
+++ b/package/iana-assignments/iana-assignments.hash
@@ -0,0 +1,2 @@ 
+# Locally computed
+sha256  e7a1f8153715fa9e0f4c5d102f9271bce425a468f58a445e7c5ecdf7105fd460  iana-assignments-bf358dc8d89b7939557220b8055699b42a4133e9.tar.gz
diff --git a/package/iana-assignments/iana-assignments.mk b/package/iana-assignments/iana-assignments.mk
new file mode 100644
index 000000000000..824b26d4ecf6
--- /dev/null
+++ b/package/iana-assignments/iana-assignments.mk
@@ -0,0 +1,18 @@ 
+################################################################################
+#
+# iana-assignments
+#
+################################################################################
+
+IANA_ASSIGNMENTS_VERSION = bf358dc8d89b7939557220b8055699b42a4133e9
+IANA_ASSIGNMENTS_SITE = $(call github,larseggert,iana-assignments,$(IANA_ASSIGNMENTS_VERSION))
+
+ifeq ($(BR2_PACKAGE_IANA_ASSIGNMENTS_PEN_REG),y)
+define IANA_ASSIGNMENTS_INSTALL_PEN_REG
+	$(INSTALL) -D -m 0644 $(@D)/enterprise-numbers/enterprise-numbers \
+		$(TARGET_DIR)/usr/share/misc/iana/enterprise-numbers
+endef
+IANA_ASSIGNMENTS_POST_INSTALL_TARGET_HOOKS += IANA_ASSIGNMENTS_INSTALL_PEN_REG
+endif
+
+$(eval $(generic-package))