summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2008-09-09 14:35:09 +0000
committerDoug Goldstein <cardoe@gentoo.org>2008-09-09 14:35:09 +0000
commit93ff4ecc0f7cdd2546ce99d08cced4426e62fcaf (patch)
tree6edf83f8c5b28343861ff0a25fc3f8e1e088aa4d /sys-apps
parentRemove old versions referencing removed patches; bug #236890 (diff)
downloadgentoo-2-93ff4ecc0f7cdd2546ce99d08cced4426e62fcaf.tar.gz
gentoo-2-93ff4ecc0f7cdd2546ce99d08cced4426e62fcaf.tar.bz2
gentoo-2-93ff4ecc0f7cdd2546ce99d08cced4426e62fcaf.zip
multilib and ldflags respecting changes from Olivier Huber <oli.huber@gmail.com> bug #236861
(Portage version: 2.2_rc8/cvs/Linux 2.6.25-gentoo-r8 x86_64)
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/iproute2/ChangeLog9
-rw-r--r--sys-apps/iproute2/files/iproute2-2.6.26-ldflags.patch11
-rw-r--r--sys-apps/iproute2/iproute2-2.6.26-r2.ebuild100
3 files changed, 119 insertions, 1 deletions
diff --git a/sys-apps/iproute2/ChangeLog b/sys-apps/iproute2/ChangeLog
index c99c3771615c..b126a00339dc 100644
--- a/sys-apps/iproute2/ChangeLog
+++ b/sys-apps/iproute2/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-apps/iproute2
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/ChangeLog,v 1.111 2008/08/20 06:31:55 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/ChangeLog,v 1.112 2008/09/09 14:35:09 cardoe Exp $
+
+*iproute2-2.6.26-r2 (09 Sep 2008)
+
+ 09 Sep 2008; Doug Goldstein <cardoe@gentoo.org>
+ +files/iproute2-2.6.26-ldflags.patch, +iproute2-2.6.26-r2.ebuild:
+ multilib and ldflags respecting changes from Olivier Huber
+ <oli.huber@gmail.com> bug #236861
*iproute2-2.6.26-r1 (20 Aug 2008)
diff --git a/sys-apps/iproute2/files/iproute2-2.6.26-ldflags.patch b/sys-apps/iproute2/files/iproute2-2.6.26-ldflags.patch
new file mode 100644
index 000000000000..5b8b6c1fa77a
--- /dev/null
+++ b/sys-apps/iproute2/files/iproute2-2.6.26-ldflags.patch
@@ -0,0 +1,11 @@
+--- tc/Makefile.old 2008-09-06 15:28:35.862794338 +0200
++++ tc/Makefile 2008-09-06 16:02:11.043794213 +0200
+@@ -83,7 +83,7 @@
+ rm -f emp_ematch.yacc.output
+
+ q_atm.so: q_atm.c
+- $(CC) $(CFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
+
+ %.yacc.c: %.y
+ $(YACC) $(YACCFLAGS) -o $@ $<
diff --git a/sys-apps/iproute2/iproute2-2.6.26-r2.ebuild b/sys-apps/iproute2/iproute2-2.6.26-r2.ebuild
new file mode 100644
index 000000000000..08f9817d438a
--- /dev/null
+++ b/sys-apps/iproute2/iproute2-2.6.26-r2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.26-r2.ebuild,v 1.1 2008/09/09 14:35:09 cardoe Exp $
+
+inherit eutils toolchain-funcs
+
+if [[ ${PV} == *.*.*.* ]] ; then
+ MY_PV=${PV%.*}
+else
+ MY_PV=${PV}
+fi
+MY_P="${PN}-${MY_PV}"
+DESCRIPTION="kernel routing and traffic control utilities"
+HOMEPAGE="http://linux-net.osdl.org/index.php/Iproute2"
+SRC_URI="http://developer.osdl.org/dev/iproute2/download/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="atm berkdb minimal"
+
+RDEPEND="!minimal? ( berkdb? ( sys-libs/db ) )
+ atm? ( net-dialup/linux-atm )"
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.7 )
+ >=virtual/os-headers-2.6.25"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i "s:-O2:${CFLAGS} ${CPPFLAGS}:" Makefile || die "sed Makefile failed"
+
+ # build against system headers
+ rm -r include/linux include/netinet #include/ip{,6}tables{,_common}.h include/libiptc
+
+ # fix LDFLAGS usage bug #236861
+ epatch "${FILESDIR}"/${PN}-2.6.26-ldflags.patch
+
+ local check base=${PORTAGE_CONFIGROOT}/etc/portage/patches
+ for check in {${CATEGORY}/${PF},${CATEGORY}/${P},${CATEGORY}/${PN}}; do
+ EPATCH_SOURCE=${base}/${CTARGET}/${check}
+ [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${CHOST}/${check}
+ [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${check}
+ if [[ -d ${EPATCH_SOURCE} ]] ; then
+ EPATCH_SUFFIX="patch"
+ EPATCH_FORCE="yes" \
+ EPATCH_MULTI_MSG="Applying user patches from ${EPATCH_SOURCE} ..." \
+ epatch
+ break
+ fi
+ done
+
+ # don't build arpd if USE=-berkdb #81660
+ use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
+ # Multilib fixes
+ sed -i 's:/usr/local:/usr:' tc/m_ipt.c include/iptables.h
+ sed -i "s:/usr/lib:/usr/$(get_libdir):g" \
+ netem/Makefile tc/{Makefile,tc.c,q_netem.c,m_ipt.c} include/iptables.h || die
+ sed -i "s:/lib/tc:$(get_libdir)/tc:g" tc/Makefile || die
+ # Use correct iptables dir, #144265.
+ sed -i "s:/usr/local/lib/iptables:/$(get_libdir)/iptables:g" \
+ include/iptables.h
+}
+
+src_compile() {
+ echo -n 'TC_CONFIG_ATM:=' > Config
+ use atm \
+ && echo 'y' >> Config \
+ || echo 'n' >> Config
+
+ use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
+ emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ || die "make"
+}
+
+src_install() {
+ if use minimal ; then
+ into /
+ dosbin tc/tc || die "minimal"
+ return 0
+ fi
+
+ emake \
+ DESTDIR="${D}" \
+ SBINDIR=/sbin \
+ DOCDIR=/usr/share/doc/${PF} \
+ MANDIR=/usr/share/man \
+ install \
+ || die "make install failed"
+ if use berkdb ; then
+ dodir /var/lib/arpd
+ # bug 47482, arpd doesn't need to be in /sbin
+ dodir /usr/sbin
+ mv "${D}"/sbin/arpd "${D}"/usr/sbin/
+ fi
+}