summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Ludd <solar@gentoo.org>2006-01-19 21:30:29 +0000
committerNed Ludd <solar@gentoo.org>2006-01-19 21:30:29 +0000
commit5407a549398d41b571b28acaf1f994360523f3ae (patch)
tree5f7b4beb04d599451118d458794862548d03ea14
parentStable on x86. (diff)
downloadgentoo-2-5407a549398d41b571b28acaf1f994360523f3ae.tar.gz
gentoo-2-5407a549398d41b571b28acaf1f994360523f3ae.tar.bz2
gentoo-2-5407a549398d41b571b28acaf1f994360523f3ae.zip
- ebtables-2.0.6 does not build with gcc-4.x; Bug #119489
(Portage version: 2.1_pre3-r1)
-rw-r--r--net-firewall/ebtables/ChangeLog10
-rw-r--r--net-firewall/ebtables/Manifest21
-rw-r--r--net-firewall/ebtables/ebtables-2.0.6-r1.ebuild40
-rw-r--r--net-firewall/ebtables/files/digest-ebtables-2.0.6-r11
-rw-r--r--net-firewall/ebtables/files/ebtables-2.0.6-gcc4.patch116
5 files changed, 171 insertions, 17 deletions
diff --git a/net-firewall/ebtables/ChangeLog b/net-firewall/ebtables/ChangeLog
index 29ab5a3d4684..1c33f66735e1 100644
--- a/net-firewall/ebtables/ChangeLog
+++ b/net-firewall/ebtables/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-firewall/ebtables
-# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-firewall/ebtables/ChangeLog,v 1.9 2005/06/08 02:14:47 solar Exp $
+# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/ebtables/ChangeLog,v 1.10 2006/01/19 21:30:29 solar Exp $
+
+*ebtables-2.0.6-r1 (19 Jan 2006)
+
+ 19 Jan 2006; <solar@gentoo.org> +files/ebtables-2.0.6-gcc4.patch,
+ +ebtables-2.0.6-r1.ebuild:
+ - ebtables-2.0.6 does not build with gcc-4.x; Bug #119489
07 Jun 2005; <solar@gentoo.org> ebtables-2.0.6.ebuild:
- ebtables used the host compiler vs the cross compiler while merging. We use
diff --git a/net-firewall/ebtables/Manifest b/net-firewall/ebtables/Manifest
index 28d304c80fd4..54fdb75a2dbd 100644
--- a/net-firewall/ebtables/Manifest
+++ b/net-firewall/ebtables/Manifest
@@ -1,17 +1,8 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 9979552c18681dd6edfe1e91f6717609 ebtables-2.0.6.ebuild 975
MD5 3212022ecac9dfe74493b71305fe0ee3 ChangeLog 1347
-MD5 3eaf375e87551d0b332db3a82109c9d7 metadata.xml 221
-MD5 0488ef6b4eb8aa41352527597cb5d2ad files/ebtables-2.0.6-gcc34.patch 272
+MD5 c6946d41d99f09f7ef746777ae6e1610 ebtables-2.0.6-r1.ebuild 1076
+MD5 9979552c18681dd6edfe1e91f6717609 ebtables-2.0.6.ebuild 975
MD5 72232fd4c734d316f9f588216d3228f2 files/digest-ebtables-2.0.6 66
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.0 (GNU/Linux)
-
-iQCVAwUBQqZUpJ4WFLgrx1GWAQIcsAQAxwinc5q0S1SvqJbV6t8loNMMDzqHgD0+
-lDB5XJYZNk97nMV+UQB4JATLz4aemyYfs0WULDYsi6E+nWzMP9s/l6WjZiQkebu5
-13nAS18+A+jW8gVTPQzhsAh4MUZ5klg+kSeOWRT52NRGyKOd6OszdsPZmiBNYvev
-NY8zv2L6izs=
-=y9pC
------END PGP SIGNATURE-----
+MD5 72232fd4c734d316f9f588216d3228f2 files/digest-ebtables-2.0.6-r1 66
+MD5 0488ef6b4eb8aa41352527597cb5d2ad files/ebtables-2.0.6-gcc34.patch 272
+MD5 49410b65a0fadade808e745f1e309bb9 files/ebtables-2.0.6-gcc4.patch 3966
+MD5 3eaf375e87551d0b332db3a82109c9d7 metadata.xml 221
diff --git a/net-firewall/ebtables/ebtables-2.0.6-r1.ebuild b/net-firewall/ebtables/ebtables-2.0.6-r1.ebuild
new file mode 100644
index 000000000000..d12cd3fe8d25
--- /dev/null
+++ b/net-firewall/ebtables/ebtables-2.0.6-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/ebtables/ebtables-2.0.6-r1.ebuild,v 1.1 2006/01/19 21:30:29 solar Exp $
+
+inherit eutils toolchain-funcs
+
+MY_P="${PN}-v${PV}"
+
+DESCRIPTION="Utility that enables basic Ethernet frame filtering on a Linux bridge, MAC NAT and brouting."
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://ebtables.sourceforge.net/"
+KEYWORDS="~x86 ~ppc ~amd64"
+IUSE=""
+LICENSE="GPL-2"
+SLOT="0"
+
+S="${WORKDIR}/${MY_P}"
+
+DEPEND="virtual/libc"
+
+src_compile() {
+ emake CC="$(tc-getCC)" || die "emake failed"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # fix "label at end of compound statement" error that
+ # prevents ebtables from being compilable with >=gcc-3.4
+ epatch ${FILESDIR}/ebtables-2.0.6-gcc34.patch
+
+ # ebtables does not build with gcc-4.x; Bug #119489
+ epatch ${FILESDIR}/ebtables-2.0.6-gcc4.patch
+}
+
+src_install() {
+ dodir /sbin/
+ einstall MANDIR=${D}/usr/share/man ETHERTYPESPATH=${D}/etc/ BINPATH=${D}/sbin/ || die
+}
diff --git a/net-firewall/ebtables/files/digest-ebtables-2.0.6-r1 b/net-firewall/ebtables/files/digest-ebtables-2.0.6-r1
new file mode 100644
index 000000000000..e5996dd6bdde
--- /dev/null
+++ b/net-firewall/ebtables/files/digest-ebtables-2.0.6-r1
@@ -0,0 +1 @@
+MD5 c4559af2366c764c6c42a3fdd40d60d3 ebtables-v2.0.6.tar.gz 71411
diff --git a/net-firewall/ebtables/files/ebtables-2.0.6-gcc4.patch b/net-firewall/ebtables/files/ebtables-2.0.6-gcc4.patch
new file mode 100644
index 000000000000..cf64aed3aa28
--- /dev/null
+++ b/net-firewall/ebtables/files/ebtables-2.0.6-gcc4.patch
@@ -0,0 +1,116 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../ebtables/gcc4.patch
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- T2-COPYRIGHT-NOTE-END ---
+diff -Nur ebtables-v2.0.6.orig/extensions/ebt_ip.c ebtables-v2.0.6/extensions/ebt_ip.c
+--- ebtables-v2.0.6.orig/extensions/ebt_ip.c 2003-11-02 20:22:56.000000000 +0200
++++ ebtables-v2.0.6/extensions/ebt_ip.c 2005-11-01 18:48:56.000000000 +0200
+@@ -244,6 +244,7 @@
+ struct ebt_ip_info *ipinfo = (struct ebt_ip_info *)(*match)->data;
+ char *end;
+ long int i;
++ unsigned char j;
+
+ switch (c) {
+ case IP_SOURCE:
+@@ -313,7 +314,7 @@
+ ipinfo->invflags |= EBT_IP_PROTO;
+ if (optind > argc)
+ print_error("Missing IP protocol argument");
+- (unsigned char) i = strtoul(argv[optind - 1], &end, 10);
++ j = strtoul(argv[optind - 1], &end, 10);
+ if (*end != '\0') {
+ struct protoent *pe;
+
+@@ -324,7 +325,7 @@
+ argv[optind - 1]);
+ ipinfo->protocol = pe->p_proto;
+ } else {
+- ipinfo->protocol = (unsigned char) i;
++ ipinfo->protocol = j;
+ }
+ ipinfo->bitmask |= EBT_IP_PROTO;
+ break;
+diff -Nur ebtables-v2.0.6.orig/extensions/ebt_limit.c ebtables-v2.0.6/extensions/ebt_limit.c
+--- ebtables-v2.0.6.orig/extensions/ebt_limit.c 2003-11-02 20:22:56.000000000 +0200
++++ ebtables-v2.0.6/extensions/ebt_limit.c 2005-11-01 18:48:56.000000000 +0200
+@@ -203,15 +203,15 @@
+
+ static struct ebt_u_match limit_match =
+ {
+- .name EBT_LIMIT_MATCH,
+- .size sizeof(struct ebt_limit_info),
+- .help print_help,
+- .init init,
+- .parse parse,
+- .final_check final_check,
+- .print print,
+- .compare compare,
+- .extra_ops opts,
++ .name = EBT_LIMIT_MATCH,
++ .size = sizeof(struct ebt_limit_info),
++ .help = print_help,
++ .init = init,
++ .parse = parse,
++ .final_check = final_check,
++ .print = print,
++ .compare = compare,
++ .extra_ops = opts,
+ };
+
+ static void _init(void) __attribute((constructor));
+diff -Nur ebtables-v2.0.6.orig/extensions/ebt_vlan.c ebtables-v2.0.6/extensions/ebt_vlan.c
+--- ebtables-v2.0.6.orig/extensions/ebt_vlan.c 2003-11-02 20:22:56.000000000 +0200
++++ ebtables-v2.0.6/extensions/ebt_vlan.c 2005-11-01 18:48:56.000000000 +0200
+@@ -135,14 +135,16 @@
+ (struct ebt_vlan_info *) (*match)->data;
+ char *end;
+ struct ebt_vlan_info local;
++ unsigned short id, encap;
++ unsigned char prio;
+
+ switch (c) {
+ case VLAN_ID:
+ check_option(flags, OPT_VLAN_ID);
+ CHECK_INV_FLAG(EBT_VLAN_ID);
+ CHECK_IF_MISSING_VALUE;
+- (unsigned short) local.id =
+- strtoul(argv[optind - 1], &end, 10);
++ id = strtoul(argv[optind - 1], &end, 10);
++ local.id = (uint16_t) id;
+ CHECK_RANGE(local.id > 4094 || *end != '\0');
+ vlaninfo->id = local.id;
+ SET_BITMASK(EBT_VLAN_ID);
+@@ -152,8 +154,8 @@
+ check_option(flags, OPT_VLAN_PRIO);
+ CHECK_INV_FLAG(EBT_VLAN_PRIO);
+ CHECK_IF_MISSING_VALUE;
+- (unsigned char) local.prio =
+- strtoul(argv[optind - 1], &end, 10);
++ prio = strtoul(argv[optind - 1], &end, 10);
++ local.prio = (uint8_t) prio;
+ CHECK_RANGE(local.prio >= 8 || *end != '\0');
+ vlaninfo->prio = local.prio;
+ SET_BITMASK(EBT_VLAN_PRIO);
+@@ -163,8 +165,8 @@
+ check_option(flags, OPT_VLAN_ENCAP);
+ CHECK_INV_FLAG(EBT_VLAN_ENCAP);
+ CHECK_IF_MISSING_VALUE;
+- (unsigned short) local.encap =
+- strtoul(argv[optind - 1], &end, 16);
++ encap = strtoul(argv[optind - 1], &end, 16);
++ local.encap = (uint16_t) encap;
+ if (*end != '\0') {
+ ethent = getethertypebyname(argv[optind - 1]);
+ if (ethent == NULL)