From: Ryan Barnett Date: Mon, 27 Apr 2020 21:26:52 +0000 (-0500) Subject: package/ebtables: bump to version 2.0.11 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b3a6c7d3a3c19f19a45ef91b46357f1249f01d23;p=buildroot.git package/ebtables: bump to version 2.0.11 With the version bump to 2.0.11, ebtables switch to autotools build system. In addition, ebtables-{restore/save} moved to being installed as ebtables-legacy-{restore/save}. Changes to support this version bump include: * Remove dependency on !BR2_STATIC_LIBS for ebtables-restore as the switch to autotools supports compiling with static libraries. * Update ebtables-save script patch to use /usr/sbin/ebtables-legacy * Remove 0001-*-ethernetdb*.patch as it was merged with commit: http://git.netfilter.org/ebtables/commit/?id=f8079671326e9fd079391d24911a9a8a77f1d6fd * Remove 0002-*-musl-*.patch as support was added with commit: http://git.netfilter.org/ebtables/commit/?id=9fff3d5f9da00255463d28b38d688c25025b7fb1 Tested with test-pkg with BR2_PACKAGE_EBTABLES=y: br-arm-full [1/6]: OK br-arm-cortex-a9-glibc [2/6]: OK br-arm-cortex-m4-full [3/6]: SKIPPED br-x86-64-musl [4/6]: OK br-arm-full-static [5/6]: OK sourcery-arm [6/6]: OK Signed-off-by: Ryan Barnett Tested-by: Markus Mayer Signed-off-by: Thomas Petazzoni --- diff --git a/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch b/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch deleted file mode 100644 index bd7bead093..0000000000 --- a/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch +++ /dev/null @@ -1,50 +0,0 @@ -From f8079671326e9fd079391d24911a9a8a77f1d6fd Mon Sep 17 00:00:00 2001 -From: Felix Janda -Date: Sat, 16 May 2015 12:31:58 +0200 -Subject: [PATCH] ethernetdb.h: Remove C++ specific compiler hint macro _THROW - -Fixes compilation with musl libc - -Signed-off-by: Felix Janda -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit f8079671326e9fd0 - - include/ethernetdb.h | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/include/ethernetdb.h b/include/ethernetdb.h -index 46d8bfd1b7e5..1683abe01987 100644 ---- a/include/ethernetdb.h -+++ b/include/ethernetdb.h -@@ -38,21 +38,20 @@ struct ethertypeent { - - /* Open ethertype data base files and mark them as staying open even - after a later search if STAY_OPEN is non-zero. */ --extern void setethertypeent(int __stay_open) __THROW; -+extern void setethertypeent(int __stay_open); - - /* Close ethertype data base files and clear `stay open' flag. */ --extern void endethertypeent(void) __THROW; -+extern void endethertypeent(void); - - /* Get next entry from ethertype data base file. Open data base if - necessary. */ --extern struct ethertypeent *getethertypeent(void) __THROW; -+extern struct ethertypeent *getethertypeent(void); - - /* Return entry from ethertype data base for network with NAME. */ --extern struct ethertypeent *getethertypebyname(__const char *__name) -- __THROW; -+extern struct ethertypeent *getethertypebyname(__const char *__name); - - /* Return entry from ethertype data base which number is PROTO. */ --extern struct ethertypeent *getethertypebynumber(int __ethertype) __THROW; -+extern struct ethertypeent *getethertypebynumber(int __ethertype); - - - #endif /* ethernetdb.h */ --- -2.11.0 - diff --git a/package/ebtables/0001-replace-ebtables-save-perl-script-with-bash.patch b/package/ebtables/0001-replace-ebtables-save-perl-script-with-bash.patch new file mode 100644 index 0000000000..525e8a28b5 --- /dev/null +++ b/package/ebtables/0001-replace-ebtables-save-perl-script-with-bash.patch @@ -0,0 +1,79 @@ +From 73536d15c80be96049289d96fc32122467c56b1d Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Mon, 16 Dec 2019 13:27:30 -0600 +Subject: [PATCH] ebtables: replace ebtables-save perl script with bash rewrite + +Fedora provides a bash replacement for the default ebtables-save perl +script. Using it allows the ebtables run-time dependency on perl to +be replaced with a runtime dependency on bash - which is lower +overhead and more likely to be present on typical embedded systems +already. + + https://bugzilla.redhat.com/show_bug.cgi?id=746040 + http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save + +Upstream: +https://github.com/openembedded/meta-openembedded/commit/7f723007364ba79de05447671e83d4eefb3097dc + +Signed-off-by: Matthew Weber +[ryanbarnett3@gmail.com: + - changed EBTABLES executable to /usr/sbin/ebtables-legacy +] +Signed-off-by: Ryan Barnett +--- + ebtables-save.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 43 insertions(+) + create mode 100644 ebtables-save.sh + +diff --git a/ebtables-save.sh b/ebtables-save.sh +new file mode 100644 +index 0000000..2d7fc4e +--- /dev/null ++++ b/ebtables-save.sh +@@ -0,0 +1,43 @@ ++#!/bin/bash ++ ++EBTABLES="/usr/sbin/ebtables-legacy" ++ ++[ -x "$EBTABLES" ] || exit 1 ++ ++echo "# Generated by ebtables-save v1.0 on $(date)" ++ ++cnt="" ++[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc" ++ ++for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do ++ table=$($EBTABLES -t $table_name -L $cnt) ++ [ $? -eq 0 ] || { echo "$table"; exit -1; } ++ ++ chain="" ++ rules="" ++ while read line; do ++ [ -z "$line" ] && continue ++ ++ case "$line" in ++ Bridge\ table:\ *) ++ echo "*${line:14}" ++ ;; ++ Bridge\ chain:\ *) ++ chain="${line:14}" ++ chain="${chain%%,*}" ++ policy="${line##*policy: }" ++ echo ":$chain $policy" ++ ;; ++ *) ++ if [ "$cnt" = "--Lc" ]; then ++ line=${line/, pcnt \=/ -c} ++ line=${line/-- bcnt \=/} ++ fi ++ rules="$rules-A $chain $line\n" ++ ;; ++ esac ++ done < -Date: Thu, 16 Feb 2017 14:41:48 +0200 -Subject: [PATCH] Fix musl compatibility - -Include netinet/ether.h before kernel headers to suppress the conflicting -definition of struct ethhdr. - -Signed-off-by: Baruch Siach ---- -Upstream status: not upstreamable; depends on Buildroot local musl patch ---- - include/ebtables_u.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/ebtables_u.h b/include/ebtables_u.h -index 35a5bcc54c86..268b1fd599d2 100644 ---- a/include/ebtables_u.h -+++ b/include/ebtables_u.h -@@ -24,6 +24,7 @@ - #ifndef EBTABLES_U_H - #define EBTABLES_U_H - #include -+#include - #include - #include - --- -2.11.0 - diff --git a/package/ebtables/0003-replace-ebtables-save-perl-script-with-bash.patch b/package/ebtables/0003-replace-ebtables-save-perl-script-with-bash.patch deleted file mode 100644 index 687eb6a373..0000000000 --- a/package/ebtables/0003-replace-ebtables-save-perl-script-with-bash.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 73536d15c80be96049289d96fc32122467c56b1d Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Mon, 16 Dec 2019 13:27:30 -0600 -Subject: [PATCH] ebtables: replace ebtables-save perl script with bash rewrite - -Fedora provides a bash replacement for the default ebtables-save perl -script. Using it allows the ebtables run-time dependency on perl to -be replaced with a runtime dependency on bash - which is lower -overhead and more likely to be present on typical embedded systems -already. - - https://bugzilla.redhat.com/show_bug.cgi?id=746040 - http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save - -Upstream: -https://github.com/openembedded/meta-openembedded/commit/7f723007364ba79de05447671e83d4eefb3097dc - -Signed-off-by: Matthew Weber ---- - ebtables-save.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 43 insertions(+) - create mode 100644 ebtables-save.sh - -diff --git a/ebtables-save.sh b/ebtables-save.sh -new file mode 100644 -index 0000000..2d7fc4e ---- /dev/null -+++ b/ebtables-save.sh -@@ -0,0 +1,43 @@ -+#!/bin/bash -+ -+EBTABLES="/sbin/ebtables" -+ -+[ -x "$EBTABLES" ] || exit 1 -+ -+echo "# Generated by ebtables-save v1.0 on $(date)" -+ -+cnt="" -+[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc" -+ -+for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do -+ table=$($EBTABLES -t $table_name -L $cnt) -+ [ $? -eq 0 ] || { echo "$table"; exit -1; } -+ -+ chain="" -+ rules="" -+ while read line; do -+ [ -z "$line" ] && continue -+ -+ case "$line" in -+ Bridge\ table:\ *) -+ echo "*${line:14}" -+ ;; -+ Bridge\ chain:\ *) -+ chain="${line:14}" -+ chain="${chain%%,*}" -+ policy="${line##*policy: }" -+ echo ":$chain $policy" -+ ;; -+ *) -+ if [ "$cnt" = "--Lc" ]; then -+ line=${line/, pcnt \=/ -c} -+ line=${line/-- bcnt \=/} -+ fi -+ rules="$rules-A $chain $line\n" -+ ;; -+ esac -+ done <