summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2011-06-22 18:30:24 +0000
committerPeter Volkov <pva@gentoo.org>2011-06-22 18:30:24 +0000
commitbb440dbb7e5053926b390ac890b65a32b7b02e5b (patch)
tree523997d532e20c9c5866da2358318eb6681107d9 /net-firewall/ebtables
parentMarked ~x64-macos, bug #371861 (diff)
downloadgentoo-2-bb440dbb7e5053926b390ac890b65a32b7b02e5b.tar.gz
gentoo-2-bb440dbb7e5053926b390ac890b65a32b7b02e5b.tar.bz2
gentoo-2-bb440dbb7e5053926b390ac890b65a32b7b02e5b.zip
Fix build issue reported in bug #370953 by Bertrand Jacquin. Added -Wno-strict-aliasing to avoid QA warnings (code is Ok).
(Portage version: 2.1.10.3/cvs/Linux x86_64)
Diffstat (limited to 'net-firewall/ebtables')
-rw-r--r--net-firewall/ebtables/ChangeLog7
-rw-r--r--net-firewall/ebtables/ebtables-2.0.9.2-r2.ebuild7
-rw-r--r--net-firewall/ebtables/files/ebtables-v2.0.9-2-compilation.patch35
3 files changed, 47 insertions, 2 deletions
diff --git a/net-firewall/ebtables/ChangeLog b/net-firewall/ebtables/ChangeLog
index 57ce08052726..2856032e82e3 100644
--- a/net-firewall/ebtables/ChangeLog
+++ b/net-firewall/ebtables/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-firewall/ebtables
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-firewall/ebtables/ChangeLog,v 1.40 2011/05/19 10:29:33 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/ebtables/ChangeLog,v 1.41 2011/06/22 18:30:24 pva Exp $
+
+ 22 Jun 2011; Peter Volkov <pva@gentoo.org> ebtables-2.0.9.2-r2.ebuild,
+ +files/ebtables-v2.0.9-2-compilation.patch:
+ Fix build issue reported in bug #370953 by Bertrand Jacquin. Added
+ -Wno-strict-aliasing to avoid QA warnings (code is Ok).
*ebtables-2.0.9.2-r2 (19 May 2011)
diff --git a/net-firewall/ebtables/ebtables-2.0.9.2-r2.ebuild b/net-firewall/ebtables/ebtables-2.0.9.2-r2.ebuild
index 97aad4c6f6ab..dc07c939668d 100644
--- a/net-firewall/ebtables/ebtables-2.0.9.2-r2.ebuild
+++ b/net-firewall/ebtables/ebtables-2.0.9.2-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-firewall/ebtables/ebtables-2.0.9.2-r2.ebuild,v 1.1 2011/05/19 10:29:33 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/ebtables/ebtables-2.0.9.2-r2.ebuild,v 1.2 2011/06/22 18:30:24 pva Exp $
EAPI="4"
@@ -32,6 +32,7 @@ src_prepare() {
epatch "${FILESDIR}/${PN}-2.0.8.1-ebt-save.diff"
epatch "${FILESDIR}/${PN}-v2.0.9-2-LDFLAGS.diff"
epatch "${FILESDIR}/${PN}-v2.0.8-2-ethertype-DESTDIR-mkdir.patch"
+ epatch "${FILESDIR}/${PN}-v2.0.9-2-compilation.patch" #370953
sed -i -e "s,^MANDIR:=.*,MANDIR:=/usr/share/man," \
-e "s,^BINDIR:=.*,BINDIR:=/sbin," \
@@ -44,6 +45,10 @@ src_compile() {
# This package uses _init functions to initialise extensions. With
# --as-needed this will not work.
append-ldflags $(no-as-needed)
+ # This package correctly aliases pointers, but gcc is unable to know that:
+ # unsigned char ip[4];
+ # if (*((uint32_t*)ip) == 0) {
+ append-cflags -Wno-strict-aliasing
emake \
CC="$(tc-getCC)" \
CFLAGS="${CFLAGS}" \
diff --git a/net-firewall/ebtables/files/ebtables-v2.0.9-2-compilation.patch b/net-firewall/ebtables/files/ebtables-v2.0.9-2-compilation.patch
new file mode 100644
index 000000000000..38970d2904b6
--- /dev/null
+++ b/net-firewall/ebtables/files/ebtables-v2.0.9-2-compilation.patch
@@ -0,0 +1,35 @@
+http://ebtables.cvs.sourceforge.net/viewvc/ebtables/ebtables2/userspace/ebtables2/Makefile?r1=1.62&r2=1.63
+
+--- Makefile 2010/03/18 08:58:44 1.62
++++ Makefile 2011/06/19 11:35:21 1.63
+@@ -82,11 +82,10 @@
+ ebtables-standalone.o: ebtables-standalone.c include/ebtables_u.h
+ $(CC) $(CFLAGS) $(CFLAGS_SH_LIB) $(PROGSPECS) -c $< -o $@ -I$(KERNEL_INCLUDES)
+
+-.PHONY: libebtc
+-libebtc: $(OBJECTS2)
++libebtc.so: $(OBJECTS2)
+ $(CC) -shared $(LDFLAGS) -Wl,-soname,libebtc.so -o libebtc.so -lc $(OBJECTS2)
+
+-ebtables: $(OBJECTS) ebtables-standalone.o libebtc
++ebtables: $(OBJECTS) ebtables-standalone.o libebtc.so
+ $(CC) $(CFLAGS) $(CFLAGS_SH_LIB) $(LDFLAGS) -o $@ ebtables-standalone.o -I$(KERNEL_INCLUDES) -L. -Lextensions -lebtc $(EXT_LIBSI) \
+ -Wl,-rpath,$(LIBDIR)
+
+@@ -96,14 +95,14 @@
+ ebtablesd.o: ebtablesd.c include/ebtables_u.h
+ $(CC) $(CFLAGS) $(PROGSPECSD) -c $< -o $@ -I$(KERNEL_INCLUDES)
+
+-ebtablesd: $(OBJECTS) ebtablesd.o libebtc
++ebtablesd: $(OBJECTS) ebtablesd.o libebtc.so
+ $(CC) $(CFLAGS) -o $@ ebtablesd.o -I$(KERNEL_INCLUDES) -L. -Lextensions -lebtc $(EXT_LIBSI) \
+ -Wl,-rpath,$(LIBDIR)
+
+ ebtables-restore.o: ebtables-restore.c include/ebtables_u.h
+ $(CC) $(CFLAGS) $(PROGSPECS) -c $< -o $@ -I$(KERNEL_INCLUDES)
+
+-ebtables-restore: $(OBJECTS) ebtables-restore.o libebtc
++ebtables-restore: $(OBJECTS) ebtables-restore.o libebtc.so
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ ebtables-restore.o -I$(KERNEL_INCLUDES) -L. -Lextensions -lebtc $(EXT_LIBSI) \
+ -Wl,-rpath,$(LIBDIR)
+