Summary: Packet filtering tool
Summary(ja): パケットフィルタリングツール
Name: iptables
Version: 1.4.21
Release: 1%{?_dist_release}
License: GPL
Group: System Environment/Base
URL: http://www.netfilter.org/
Source0: ftp://ftp.netfilter.org/pub/iptables/%{name}-%{version}.tar.bz2
Source1: iptables.init
Source2: iptables-config
# Patch5: iptables-1.4.3.1-cloexec.patch

BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: perl
BuildRequires: kernel-headers >= 2.4.0
Conflicts : kernel < 2.4.20
Requires(post): chkconfig
Requires(preun): chkconfig

Vendor: Project Vine
Distribution: Vine Linux
Packager: daisuke

%description
The iptables utility controls the network packet filtering code in the
Linux kernel. If you need to set up firewalls and/or IP masquerading,
you should install this package.

%description -l ja
iptables は Linux kernel のネットワークパケットフィルタを制御するための
ユーティリティです。これを用いることで、ファイアウオールや IP マスカレー
ディング, NAT などを設定することができます。

%package devel
Summary: Libraries, includes, etc. to develop iptables
Summary(ja): iptables 開発用ライブラリ、ヘッダファイル
Group: Development/Libraries
Requires: iptables = %{version}-%{release}

%description devel
Libraries, include files, etc you can use to develop iptables.

%description devel -l ja
iptables を用いた開発に使用するライブラリやヘッダファイルです。

%package ipv6
Summary: IPv6 Packet filtering tool
Summary(ja): IPv6 用パケットフィルタリングツール
Group: System Environment/Base
Requires: %{name} = %{version}-%{release}
Requires(post): chkconfig
Requires(preun): chkconfig

%description ipv6
The iptables package contains IPv6 (the next version of the IP
protocol) support for iptables. Iptables controls the Linux kernel
network packet filtering code, allowing you to set up firewalls and IP
masquerading. 

%description ipv6 -l ja
iptables-ipv6 は iptables で IPv6 をサポートするためのパッケージです。
これを用いることで、IPv6 環境におけるファイアウオールや IP マスカレー
ディング, NAT などを設定することができます。

%prep
%setup -q
# %patch5 -p1 -b .cloexec

%build
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
./configure --enable-devel \
	    --enable-libipq \
	    --bindir=/bin \
	    --sbindir=/sbin \
	    --sysconfdir=/etc \
	    --libdir=%{_libdir} \
	    --libexecdir=/%{_lib} \
	    --with-xtlibdir=/%{_lib}/xtables \
	    --mandir=%{_mandir} \
	    --includedir=%{_includedir} \
	    --with-kernel=/usr \
	    --with-kbuild=/usr \
	    --with-ksource=/usr

# do not use rpath
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

make %{?_smp_mflags}

%install
rm -rf %{buildroot}

make install DESTDIR=%{buildroot} 
# remove la file(s)
rm -f %{buildroot}/%{_libdir}/*.la

# install ip*tables.h header files
install -m 644 include/ip*tables.h %{buildroot}%{_includedir}/

# install ipulog header file
install -d -m 755 %{buildroot}%{_includedir}/libipulog/
install -m 644 include/libipulog/*.h %{buildroot}%{_includedir}/libipulog/

# install init scripts and configuration files
install -d -m 755 %{buildroot}/etc/rc.d/init.d
install -c -m 755 %{SOURCE1} %{buildroot}/etc/rc.d/init.d/iptables
sed -e 's;iptables;ip6tables;g' -e 's;IPTABLES;IP6TABLES;g' < %{SOURCE1} > ip6tables.init
install -c -m 755 ip6tables.init %{buildroot}/etc/rc.d/init.d/ip6tables
install -d -m 755 %{buildroot}/etc/sysconfig
install -c -m 755 %{SOURCE2} %{buildroot}/etc/sysconfig/iptables-config
sed -e 's;iptables;ip6tables;g' -e 's;IPTABLES;IP6TABLES;g' < %{SOURCE2} > ip6tables-config
install -c -m 755 ip6tables-config %{buildroot}/etc/sysconfig/ip6tables-config

%clean
rm -rf %{buildroot}

%post
/sbin/ldconfig
/sbin/chkconfig --add iptables

%postun -p /sbin/ldconfig

%preun
if [ "$1" = 0 ]; then
	/sbin/chkconfig --del iptables
fi

%post ipv6
/sbin/chkconfig --add ip6tables

%preun ipv6
if [ "$1" = 0 ]; then
	/sbin/chkconfig --del ip6tables
fi

%files
%defattr(-,root,root)
%doc COPYING INSTALL INCOMPATIBILITIES
%attr(0755,root,root) /etc/rc.d/init.d/iptables
%config(noreplace) %attr(0600,root,root) /etc/sysconfig/iptables-config
/sbin/iptables*
/sbin/xtables-multi
%{_mandir}/man1/iptables-xml*
%{_mandir}/man8/iptables*
%dir /%{_lib}/xtables
/%{_lib}/xtables/libipt*
/%{_lib}/xtables/libxt*
%{_libdir}/libip*tc.so.*
%{_libdir}/libxtables.so.*
%{_libdir}/libipq.so.*

%files ipv6
%defattr(-,root,root)
%attr(0755,root,root) /etc/rc.d/init.d/ip6tables
%config(noreplace) %attr(0600,root,root) /etc/sysconfig/ip6tables-config
/sbin/ip6tables*
/bin/iptables-xml
%{_mandir}/man8/ip6tables*
/%{_lib}/xtables/libip6t*

%files devel
%defattr(-,root,root)
%{_includedir}/*.h
%dir %{_includedir}/libiptc
%{_includedir}/libiptc/*.h
%dir %{_includedir}/libipulog
%{_includedir}/libipulog/*.h
%{_mandir}/man3/*
%{_libdir}/libipq.so
%{_libdir}/libip*tc.so
%{_libdir}/libxtables.so
%{_libdir}/pkgconfig/libiptc.pc
%{_libdir}/pkgconfig/libip4tc.pc
%{_libdir}/pkgconfig/libip6tc.pc
%{_libdir}/pkgconfig/libipq.pc
%{_libdir}/pkgconfig/xtables.pc

%changelog
* Tue Dec 10 2013 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.4.21
- new upstream release.

* Fri Oct 19 2012 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.4.16.3
- new upstream release 1.4.16.2
- update source1 url 

* Thu Oct 18 2012 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.4.16.2
- new upstream release 1.4.16.2
- fix ipv6 subpackage ja discription
- drop old patch
- add with-xtlibdir in configure section

* Fri Apr 22 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 1.4.10-1
- update to 1.4.10

* Thu Mar 04 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 1.4.7-1
- new upstream release

* Wed Aug 12 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.4.4-2
- don't fail initscript if config file is not found.

* Wed Jun 17 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.4.4-1
- new upstream release

* Mon Apr 13 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.4.3.2-1
- new upstream release

* Mon Apr 13 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.4.3.1-1
- new upstream release
  - libiptc is now shared
- drop patch1
- update patch2
- fix typo in spec file

* Fri Apr 03 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.4.2-2
- rebuild to add sign..

* Wed Apr 01 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.4.2-1
- new upstream release
- spec in utf-8

* Sat Jul 28 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.3.6-0vl2
- changed devel package Group to Development/Libraries

* Sat Nov 04 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 1.3.6-0vl1
- new upstream release
- remove libiptc.a from %%files
  - libiptc is not a public interface

* Wed Sep 06 2006 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 1.3.5-0vl4
- updates Summaries and Descriptions (<BTS:0101>)

* Sun Aug 13 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 1.3.5-0vl3
- updates Summaries (<BTS:0101>)

* Thu Jul 06 2006 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 1.3.5-0vl2
- add Patch10 (to include libipt_recent.so)

* Tue Jun 13 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 1.3.5-0vl1
- new upstream release

* Tue Jun 22 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.11-0vl1
- new upstream release

* Thu Jun 17 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.10-0vl1
- new upstream release

* Fri Nov 21 2003 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.9-0vl1
- new upstream release

* Thu Jul 24 2003 Takeru INOUE <takeru.inoue@gamma.ocn.ne.jp> 1.2.7a-0vl3
- add ipv6 version

* Sun Mar 23 2003 Takeru INOUE <takeru.inoue@gamma.ocn.ne.jp> 1.2.7a-0vl2
- rebuild development version

* Sun Sep 29 2002 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.7a-0vl1
- new upstream release 1.2.7a

* Mon Mar 25 2002 Seiya Nishizawa <seiya@kugi.kyoto-u.ac.jp> 1.2.6-0vl0
- updated to 1.2.6

* Thu Mar 07 2002 Toru Sagami <sagami@vinelinux.org> 1.2.5-0vl1
- kernel24 -> kernel for Requires

* Sat Mar 02 2002 Toru Sagami <sagami@vinelinux.org> 1.2.5-0vl0
- updated to 1.2.5 and merged with RHL's spec 
- compatibilities: %%{_sbindir} -> /sbin, %%{_libdir} -> /lib

* Mon Nov 19 2001 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.2-2vl1
- build for Vine Linux based on conectiva iptables package.

* Sun Jun 17 2001 Harald Welte <laforge@conectiva.com>
+ iptables-1.2.2-2cl
- fixes iptables-save / -restore problems (Closes: #3673)
- fixes REJECT save problem
- fixes ipv6 compile problem
- moved binaries to sbindir instead of bindir

* Wed May 30 2001 Harald Welte <laforge@conectiva.com>
+ iptables-1.2.2-1cl
- updated to 1.2.2 (Closes: #3376)

* Wed May 30 2001 Wanderlei Antonio Cavassin <cavassin@conectiva.com>
+ iptables-1.2.1a-2cl
- recompiled for kernel-2.4.4-2cl (Closes: #3354)
- spec file changes provided by Vagner Farias <vfarias@conectiva.com>

* Fri Apr 20 2001 Harald Welte <laforge@conectiva.com>
+ iptables-1.2.1a-1cl
- updated to version 1.2.1a because of various bugfixes

* Fri Mar 16 2001 Harald Welte <laforge@conectiva.com>
+ iptables-1.2.1-1cl
- updated to version 1.2.1

* Wed Jan 10 2001 Andreas Hasenack <andreas@conectiva.com>
- updated to version 1.2
- added requirement for kernel >= 2.4.0

* Thu Dec 14 2000 Andreas Hasenack <andreas@conectiva.com>
- first package for Conectiva Linux