Bug 216733

Summary: no includes for libiptc are included in -devel package
Product: [Fedora] Fedora Reporter: Greg Swallow <greg>
Component: iptablesAssignee: Thomas Woerner <twoerner>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-10 09:18:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Greg Swallow 2006-11-21 18:54:19 UTC
This still exists in iptables-1.3.5-1.2.1 in rawhide.

+++ This bug was initially created as a clone of Bug #181982 +++

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060202 
Fedora/1.0.7-1.2.fc4 Firefox/1.0.7

Description of problem:
No include for libiptc files are included in -devel package. Those are:
iptables-1.3.0/include/libiptc/ipt_kernel_headers.h
iptables-1.3.0/include/libiptc/libip6tc.h
iptables-1.3.0/include/libiptc/libiptc.h


Version-Release number of selected component (if applicable):
iptables-1.3.0-2

How reproducible:
Always

Steps to Reproduce:
1.Install iptables-devel-1.3.0-2
2.
3.
  

Actual Results:  Cann't compile programs wich use libiptc. Fail to find 
libiptc.h

Expected Results:  Have include filed for libiptc.a installed. 

Additional info:

-- Additional comment from ikeberlein on 2006-02-18 05:58 EST --
To fix this bug:
1. Add to "%files devel" in .spec file: 
%{_includedir}/ipt_kernel_headers.h
%{_includedir}/libip6tc.h
%{_includedir}/libiptc.h

Apply the next patch:
--- iptables-1.3.0/libiptc/Makefile.libiptc-include     2004-10-10
16:56:24.000000000 +0700
+++ iptables-1.3.0/libiptc/Makefile     2006-02-18 16:23:01.000000000 +0600
@@ -4,6 +4,10 @@

 DEVEL_LIBS+=libiptc/libiptc.a

+DEVEL_HEADERS+=include/libiptc/ipt_kernel_headers.h
+DEVEL_HEADERS+=include/libiptc/libip6tc.h
+DEVEL_HEADERS+=include/libiptc/libiptc.h
+
 ifndef TOPLEVEL_INCLUDED
 local:
        cd .. && $(MAKE) $(KERN_TARGETS) $(SHARED_LIBS) $(EXTRAS)


-- Additional comment from ikeberlein on 2006-02-18 06:25 EST --
Here is the patch for .spec file:

--- iptables.spec.orig	2005-03-18 22:40:36.000000000 +0600
+++ iptables.spec	2006-02-18 17:27:34.000000000 +0600
@@ -4,7 +4,7 @@
 Name: iptables
 Summary: Tools for managing Linux kernel packet filtering capabilities.
 Version: 1.3.0
-Release: 2
+Release: 3
 Source: http://www.netfilter.org/%{name}-%{version}.tar.bz2
 Source1: iptables.init
 Source2: iptables-config
@@ -18,6 +18,7 @@
 Patch8: iptables-1.3.0-cleanup.patch
 Patch9: iptables-1.3.0-autoload.patch
 Patch10: iptables-1.3.0-no_root.patch
+Patch11: iptables-1.3.0-libiptc_include.patch
 Group: System Environment/Base
 URL: http://www.netfilter.org/
 BuildRoot: %{_tmppath}/%{name}-buildroot
@@ -76,6 +77,7 @@
 %patch8 -p1 -b .cleanup
 %patch9 -p1 -b .autoload
 %patch10 -p1 -b .no_root
+%patch11 -p1 -b .libiptc_include
 
 # Put it to a reasonable place
 find . -type f -exec perl -pi -e "s,/usr/local,%{prefix},g" {} \;
@@ -91,6 +93,10 @@
 make install DESTDIR=%{buildroot} KERNEL_DIR=/usr BINDIR=/sbin LIBDIR=/%{_lib}
MANDIR=%{_mandir}
 %if %{build_devel}
 make install-devel DESTDIR=%{buildroot} KERNEL_DIR=/usr BINDIR=/sbin
LIBDIR=%{_libdir} MANDIR=%{_mandir}
+mkdir -p $RPM_BUILD_ROOT/usr/include/libiptc
+mv $RPM_BUILD_ROOT/usr/include/ipt_kernel_headers.h
$RPM_BUILD_ROOT/usr/include/libiptc/ipt_kernel_headers.h
+mv $RPM_BUILD_ROOT/usr/include/libip6tc.h
$RPM_BUILD_ROOT/usr/include/libiptc/libip6tc.h
+mv $RPM_BUILD_ROOT/usr/include/libiptc.h
$RPM_BUILD_ROOT/usr/include/libiptc/libiptc.h
 %endif
 cp ip{6,}tables-{save,restore} $RPM_BUILD_ROOT/sbin
 cp iptables-*.8 $RPM_BUILD_ROOT%{_mandir}/man8
@@ -144,6 +150,9 @@
 %files devel
 %defattr(-,root,root,0755)
 %{_includedir}/libipq.h
+%{_includedir}/libiptc/ipt_kernel_headers.h
+%{_includedir}/libiptc/libip6tc.h
+%{_includedir}/libiptc/libiptc.h
 %{_libdir}/libipq.a
 %{_libdir}/libiptc.a
 %{_mandir}/man3/*
@@ -348,7 +357,7 @@
 - fix bugzilla #25962 (iptables-restore)
 - mv chkconfig --del from postun to preun
 
-* Thu Feb  1 2001 Trond Eivind Glomsrd <teg>
+* Thu Feb  1 2001 Trond Eivind Glomsrd <teg>
 - Fix check for ipchains
 
 * Mon Jan 29 2001 Bernhard Rosenkraenzer <bero>
@@ -395,5 +404,5 @@
 * Mon Jun  4 2000 Bill Nottingham <notting>
 - remove explicit kernel requirement
 
-* Tue May  2 2000 Bernhard Rosenkr�zer <bero>
+* Tue May  2 2000 Bernhard Rosenkr�zer <bero>
 - initial package


-- Additional comment from greg on 2006-08-22 12:21 EST --
This bug prevents building linux-igd - they have a note in their INSTALL
document with a workaround:
http://sourceforge.net/project/showfiles.php?group_id=52728

This is not fixed in FC5 or Rawhide either.

-- Additional comment from greg on 2006-08-22 12:54 EST --
Created an attachment (id=134650)
patch for iptables rpm spec file


-- Additional comment from greg on 2006-08-22 12:57 EST --
Above patch is an alternative to patching the makefile, etc as was shown above.
Patch was made against the spec file from the iptables rpm in Rawhide (1.3.5-
1.2).


-- Additional comment from greg on 2006-09-04 14:45 EST --
Someone should change the version of this bug from FC4 to FC6 or devel, as 
it's surely not going to be fixed in FC4.

Comment 1 Greg Swallow 2006-11-21 19:10:30 UTC
Just to make it clear, the patch is here:
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=134650

And here is the exerpt from the linux-igd INSTALL document describing the 
problem with the Fedora iptables-devel rpm, so you don't have to dig around for 
it as to why this is needed:

-----------------------------------------------------------------------
Notes: Installing on Fedora Core 5
For Fedora Core 5 there are rpm's available for libupnp 1.3.1 and
iptables 1.3.5:
# yum install iptables-devel libupnp libupnp-devel
The files are installed in /usr/lib and /usr/include.
One thing about iptables-devel is that it includes libiptc.a, but not
the corresponding header files: ipt_kernel_headers.h and
libiptc.h. You will have to get hold of them from a source tarball,
e.g.
http://www.netfilter.org/projects/iptables/files/iptables-1.3.5.tar.bz2.
-----------------------------------------------------------------------

Comment 2 Shad L. Lords 2007-07-25 20:02:42 UTC
bump

Comment 3 Greg Swallow 2007-07-25 20:10:28 UTC
Is this assigned to the right person?

This bug also blocks building a kmod for ipp2p - www.ipp2p.org.

Comment 4 Thomas Woerner 2007-09-10 09:18:01 UTC
Fixed in rawhide in package iptables-1.3.8-2.fc8.