[Fix] Build issue for x86_64 architecture
[platform/upstream/iptables.git] / packaging / iptables.spec
1 Name:           iptables
2 Summary:        Tools for managing Linux kernel packet filtering capabilities
3 Version:        1.6.1
4 Release:        2
5 Group:          System/Network
6 Source:         %{name}-%{version}.tar.gz
7 URL:            http://www.netfilter.org
8 License:        GPL-2.0+
9 BuildRequires:  kernel-headers
10 Requires(post): /sbin/ldconfig
11 Requires(postun):       /sbin/ldconfig
12
13 %description
14 The iptables utility controls the network packet filtering code in the
15 Linux kernel. If you need to set up firewalls and/or IP masquerading,
16 you should install this package.
17
18 %package devel
19 Summary:        Development package for iptables
20 Group:          System/Network
21 License:        GPL-2.0+
22 Requires:       %{name} = %{version}
23 Requires:       pkgconfig
24
25 %description devel
26 iptables development headers and libraries.
27
28 The iptc interface is upstream marked as not public. The interface is not
29 stable and may change with every new version. It is therefore unsupported.
30
31 %prep
32 %setup -q
33
34
35 %build
36 export CFLAGS+=" $RPM_OPT_FLAGS -Wall -Werror -O2 -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fPIE -pie -fno-strict-aliasing -Wno-unused-value -fPIC"
37 export LDFLAGS+=" -Wl,-z,relro,--as-needed"
38
39 %autogen.sh
40 %configure --enable-devel --with-kernel=/usr --with-kbuild=/usr --with-ksource=/usr --disable-nftables
41
42 # do not use rpath
43 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
44 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
45
46 make %{?_smp_mflags}
47
48
49 %install
50 make install DESTDIR=%{buildroot}
51
52 # remove la file(s)
53 rm -f %{buildroot}/%{_libdir}/*.la
54
55 # install ip*tables.h header files
56 install -m 644 include/ip*tables.h %{buildroot}%{_includedir}/
57 install -d -m 755 %{buildroot}%{_includedir}/iptables
58 install -m 644 include/iptables/internal.h %{buildroot}%{_includedir}/iptables/
59
60 # install ipulog header file
61 install -d -m 755 %{buildroot}%{_includedir}/libipulog/
62 install -m 644 include/libipulog/*.h %{buildroot}%{_includedir}/libipulog/
63
64 # remove man pages
65 rm -rf %{buildroot}%{_mandir}
66
67 %post -p /sbin/ldconfig
68 %postun -p /sbin/ldconfig
69
70 %docs_package
71
72 %files
73 %manifest iptables.manifest
74 %{_sbindir}/iptables*
75 %{_sbindir}/ip6tables*
76 %{_sbindir}/xtables-multi
77 %{_bindir}/iptables-xml
78 %dir %{_libdir}/xtables
79 %{_libdir}/xtables/libipt*
80 %{_libdir}/xtables/libip6t*
81 %{_libdir}/xtables/libxt*
82 %{_libdir}/xtables/libebt*
83 %{_libdir}/libip*tc.so.*
84 %{_libdir}/libxtables.so.*
85 %license COPYING
86
87 %files devel
88 %dir %{_includedir}/iptables
89 %{_includedir}/iptables/*.h
90 %{_includedir}/*.h
91 %dir %{_includedir}/libiptc
92 %{_includedir}/libiptc/*.h
93 %dir %{_includedir}/libipulog
94 %{_includedir}/libipulog/*.h
95 %{_libdir}/libip*tc.so
96 %{_libdir}/libxtables.so
97 %{_libdir}/pkgconfig/libiptc.pc
98 %{_libdir}/pkgconfig/libip4tc.pc
99 %{_libdir}/pkgconfig/libip6tc.pc
100 %{_libdir}/pkgconfig/xtables.pc