diff --git a/iproute2-libxtables6.diff b/iproute2-libxtables6.diff new file mode 100644 index 0000000..5e7646c --- /dev/null +++ b/iproute2-libxtables6.diff @@ -0,0 +1,31 @@ +From: Jan Engelhardt +Date: 2011-06-01 00:52:29+0200 + +--- + tc/m_xt.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +Index: iproute2-2.6.38/tc/m_xt.c +=================================================================== +--- iproute2-2.6.38.orig/tc/m_xt.c ++++ iproute2-2.6.38/tc/m_xt.c +@@ -162,7 +162,8 @@ static int parse_ipt(struct action_util + return -1; + } + tcipt_globals.opts = +- xtables_merge_options(tcipt_globals.opts, ++ xtables_merge_options(tcipt_globals.orig_opts, ++ tcipt_globals.opts, + m->extra_opts, + &m->option_offset); + } else { +@@ -307,7 +308,8 @@ print_ipt(struct action_util *au,FILE * + } + + tcipt_globals.opts = +- xtables_merge_options(tcipt_globals.opts, ++ xtables_merge_options(tcipt_globals.orig_opts, ++ tcipt_globals.opts, + m->extra_opts, + &m->option_offset); + } else { diff --git a/iproute2-xt.diff b/iproute2-xt.diff new file mode 100644 index 0000000..36b8200 --- /dev/null +++ b/iproute2-xt.diff @@ -0,0 +1,22 @@ +From: Jan Engelhardt +Date: 2011-06-01 00:52:07+0200 + +--- + tc/m_xt.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: iproute2-2.6.37/tc/m_xt.c +=================================================================== +--- iproute2-2.6.37.orig/tc/m_xt.c ++++ iproute2-2.6.37/tc/m_xt.c +@@ -343,8 +343,8 @@ print_ipt(struct action_util *au,FILE * + return 0; + } + +-struct action_util ipt_action_util = { +- .id = "ipt", ++struct action_util xt_action_util = { ++ .id = "xt", + .parse_aopt = parse_ipt, + .print_aopt = print_ipt, + }; diff --git a/iproute2.changes b/iproute2.changes index fb6c7cc..c9600ca 100644 --- a/iproute2.changes +++ b/iproute2.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue May 31 21:35:16 UTC 2011 - jengelh@medozas.de + +- Correct installation path of tc modules +- Restore symbol lookup in m_xt.so (bnc#679172) +- Add patches to make m_xt build with libxtables6 +- Restore m_xt's module lookup (bnc#660554) +- Run spec-beautifier + ------------------------------------------------------------------- Mon May 30 11:50:56 UTC 2011 - jengelh@medozas.de diff --git a/iproute2.spec b/iproute2.spec index 3b7b26d..e255cad 100644 --- a/iproute2.spec +++ b/iproute2.spec @@ -26,16 +26,17 @@ Version: 2.6.38 Release: 2 %define rversion 2.6.38 Summary: Advanced Routing -Url: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 +URL: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 Source0: %name-%rversion.tar.bz2 Patch0: %name-libdir-1.diff Patch1: %name-HZ.diff Patch2: %name-pdfdoc.diff Patch3: %name-memleak.diff -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: bison db-devel flex ghostscript-fonts-std ghostscript-x11 libpng-devel libtiff-devel sgmltool texlive-latex xorg-x11-devel -# iproute2 not adapted for iptables 1.4.11 -%define with_xt 0 +Patch4: iproute2-xt.diff +Patch5: iproute2-libxtables6.diff +BuildRoot: %_tmppath/%name-%version-build +BuildRequires: bison, db-devel, flex, ghostscript-fonts-std, ghostscript-x11, libpng-devel, libtiff-devel, sgmltool, texlive-latex, xorg-x11-devel +%define with_xt 1 %if 0%{?with_xt} BuildRequires: iptables-devel %endif @@ -78,50 +79,51 @@ as well as examples and other outdated files. %patch1 %patch2 %patch3 +%patch -P 4 -P 5 -p1 find . -name *.orig -print0 | xargs -r0 rm -v %build # build with -fPIC. For details see # https://bugzilla.novell.com/show_bug.cgi?id=388021 -make %{?_smp_mflags} LIBDIR=%_libdir CCOPTS="-D_GNU_SOURCE $RPM_OPT_FLAGS -Wstrict-prototypes -fPIC" +xtlibdir="$(pkg-config xtables --variable=xtlibdir)"; +make %{?_smp_mflags} LIBDIR=%_libdir CCOPTS="-D_GNU_SOURCE %optflags -Wstrict-prototypes -fPIC -DXT_LIB_DIR=\\\"$xtlibdir\\\"" cd doc make pdf %install -install -d $RPM_BUILD_ROOT/{etc/,sbin/,usr/{sbin,share/man/man{3,8}}} -install -d $RPM_BUILD_ROOT/{/usr/include,%_libdir,/usr/share} -make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%_libdir \ - MODDESTDIR="$RPM_BUILD_ROOT/%_libdir" -rm -f "$RPM_BUILD_ROOT/%_libdir/m_ipt.so" -install lib/libnetlink.a $RPM_BUILD_ROOT/%_libdir -install include/libnetlink.h $RPM_BUILD_ROOT/usr/include -mv $RPM_BUILD_ROOT/usr/sbin/ip $RPM_BUILD_ROOT/sbin -mkdir -p $RPM_BUILD_ROOT/bin -ln -sf /sbin/ip $RPM_BUILD_ROOT/bin/ip -rm $RPM_BUILD_ROOT/usr/sbin/ifcfg +install -d %buildroot/{etc/,sbin/,usr/{sbin,share/man/man{3,8}}} +install -d %buildroot/{/usr/include,%_libdir,/usr/share} +make install DESTDIR=%buildroot LIBDIR=%_libdir \ + MODDESTDIR="%buildroot/%_libdir/tc" +# We have m_xt +rm -f "%buildroot/%_libdir/tc/m_ipt.so" +install lib/libnetlink.a %buildroot/%_libdir +install include/libnetlink.h %buildroot%_includedir +mv %buildroot%_sbindir/ip %buildroot/sbin +mkdir -p %buildroot/bin +ln -sf /sbin/ip %buildroot/bin/ip +rm %buildroot%_sbindir/ifcfg %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %buildroot %files %defattr(-,root,root) %doc README* RELNOTES -/usr/sbin/* +%_sbindir/* /sbin/* /bin/ip %_mandir/man8/* -%dir /etc/iproute2 -%config(noreplace) /etc/iproute2/rt_dsfield -%config(noreplace) /etc/iproute2/rt_protos -%config(noreplace) /etc/iproute2/rt_scopes -%config(noreplace) /etc/iproute2/rt_realms -%config(noreplace) /etc/iproute2/rt_tables -%config(noreplace) /etc/iproute2/ematch_map -%if 0%{?with_xt} -%_libdir/m_xt.so -%endif -%dir /usr/share/tc -%attr(644,root,root)/usr/share/tc/* +%dir %_sysconfdir/iproute2 +%config(noreplace) %_sysconfdir/iproute2/rt_dsfield +%config(noreplace) %_sysconfdir/iproute2/rt_protos +%config(noreplace) %_sysconfdir/iproute2/rt_scopes +%config(noreplace) %_sysconfdir/iproute2/rt_realms +%config(noreplace) %_sysconfdir/iproute2/rt_tables +%config(noreplace) %_sysconfdir/iproute2/ematch_map +%_libdir/tc +%dir %_datadir/tc +%attr(644,root,root)%_datadir/tc/* %files doc %defattr(-,root,root) @@ -131,7 +133,7 @@ rm -rf $RPM_BUILD_ROOT %files -n libnetlink-devel %defattr(-,root,root) -/usr/include/* +%_includedir/* %_mandir/man3/libnetlink* %_libdir/lib*