]> git.pld-linux.org Git - packages/nftables.git/blob - nftables.spec
Release 2 (by relup.sh)
[packages/nftables.git] / nftables.spec
1 #
2 # Conditional build:
3 %bcond_without  systemd         # without systemd unit
4
5 Summary:        Administration tool for packet filtering and classification
6 Summary(pl.UTF-8):      Narzędzie administracyjne do filtrowania i klasyfikacji pakietów
7 Name:           nftables
8 Version:        1.0.5
9 Release:        2
10 License:        GPL v2
11 Group:          Applications/Networking
12 Source0:        https://netfilter.org/projects/nftables/files/%{name}-%{version}.tar.bz2
13 # Source0-md5:  1e7aa3748cdd1621afb598178008af7c
14 Source1:        %{name}.service
15 Source2:        %{name}.conf
16 Patch0:         %{name}-python.patch
17 URL:            https://netfilter.org/projects/nftables/
18 BuildRequires:  asciidoc
19 BuildRequires:  autoconf >= 2.61
20 BuildRequires:  automake >= 1.6
21 BuildRequires:  bison
22 BuildRequires:  flex
23 BuildRequires:  gmp-devel
24 BuildRequires:  iptables-devel >= 1.6.1
25 BuildRequires:  jansson-devel
26 BuildRequires:  libmnl-devel >= 1.0.4
27 BuildRequires:  libnftnl-devel >= 1.2.3
28 BuildRequires:  libtool >= 2:2
29 BuildRequires:  pkgconfig
30 BuildRequires:  python-modules >= 1:2.5
31 BuildRequires:  readline-devel
32 BuildRequires:  rpm-pythonprov
33 BuildRequires:  rpmbuild(macros) >= 1.644
34 Requires:       iptables-libs >= 1.6.1
35 Requires:       libmnl >= 1.0.4
36 Requires:       libnftnl >= 1.2.3
37 %{?with_systemd:Requires:       systemd-units >= 38}
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %description
41 nftables is the project that aims to replace the existing
42 {ip,ip6,arp,eb}tables framework. Basically, this project provides a
43 new packet filtering framework, a new userspace utility and also a
44 compatibility layer for {ip,ip6}tables. nftables is built upon the
45 building blocks of the Netfilter infrastructure such as the existing
46 hooks, the connection tracking system, the userspace queueing
47 component and the logging subsystem.
48
49 %description -l pl.UTF-8
50 nftables to projekt mający na celu zastąpienie istniejącego szkieletu
51 {ip,ip6,arp,eb}tables. Ten projekt przede wszystkim dostarcza nowy
52 szkielet filtrowania, nowe narzędzie linii poleceń oraz warstwę
53 zgodności dla {ip,ip6}tables. nftables jest zbudowane w oparciu o
54 bloki tworzące infrastrukturę Netfilter, takie jak istniejące uchwyty,
55 system śledzenia połączeń, komponent kolejkowania w przestrzeni
56 użytkownika oraz podsystem logowania.
57
58 %package devel
59 Summary:        Header file for nftables library
60 Summary(pl.UTF-8):      Plik nagłówkowy biblioteki nftables
61 Group:          Development/Libraries
62 Requires:       %{name} = %{version}-%{release}
63
64 %description devel
65 Header file for nftables library.
66
67 %description devel -l pl.UTF-8
68 Plik nagłówkowy biblioteki nftables.
69
70 %package static
71 Summary:        Static nftables library
72 Summary(pl.UTF-8):      Statyczna biblioteka nftables
73 Group:          Development/Libraries
74 Requires:       %{name}-devel = %{version}-%{release}
75
76 %description static
77 Static nftables library.
78
79 %description static -l pl.UTF-8
80 Statyczna biblioteka nftables.
81
82 %package -n python-nftables
83 Summary:        Python bindings for libnftables library
84 Summary(pl.UTF-8):      Wiązania Pythona do biblioteki libnftables
85 Group:          Libraries/Python
86 Requires:       %{name} = %{version}-%{release}
87
88 %description -n python-nftables
89 Python bindings for libnftables library.
90
91 %description -n python-nftables -l pl.UTF-8
92 Wiązania Pythona do biblioteki libnftables.
93
94 %prep
95 %setup -q
96 %patch0 -p1
97
98 %build
99 %{__libtoolize}
100 %{__aclocal} -I m4
101 %{__autoconf}
102 %{__autoheader}
103 %{__automake}
104 %configure \
105         --disable-silent-rules \
106         --enable-static \
107         --with-cli=readline \
108         --with-json \
109         --with-xtables
110
111 %{__make}
112
113 %install
114 rm -rf $RPM_BUILD_ROOT
115
116 install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{systemdunitdir}}
117
118 %{__make} install \
119         DESTDIR=$RPM_BUILD_ROOT
120
121 cp %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/nftables
122 %{__sed} -i -e 's|@NFT@|%{_sbindir}/nft|' \
123         $RPM_BUILD_ROOT/etc/sysconfig/nftables
124
125 %if %{with systemd}
126 cp %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}
127 %{__sed} -i -e '{
128         s|@NFT@|%{_sbindir}/nft|
129         s|@CONF@|/etc/sysconfig/nftables|
130 }' \
131         $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
132 %endif
133
134 # obsoleted by pkg-config
135 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libnftables.la
136
137 %py_postclean
138
139 %clean
140 rm -rf $RPM_BUILD_ROOT
141
142 %post
143 /sbin/ldconfig
144 %{?with_systemd:%systemd_post %{name}.service}
145
146 %preun
147 %{?with_systemd:%systemd_preun %{name}.service}
148
149 %postun
150 /sbin/ldconfig
151 %{?with_systemd:%systemd_reload}
152
153 %files
154 %defattr(644,root,root,755)
155 %attr(755,root,root) %{_sbindir}/nft
156 %dir %{_sysconfdir}/nftables
157 %dir %{_sysconfdir}/nftables/osf
158 %attr(740,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nftables/osf/pf.os
159 %attr(740,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nftables
160 %attr(755,root,root) %{_libdir}/libnftables.so.*.*.*
161 %attr(755,root,root) %ghost %{_libdir}/libnftables.so.1
162 %dir %{_datadir}/nftables
163 %attr(740,root,root) %{_datadir}/nftables/all-in-one.nft
164 %attr(740,root,root) %{_datadir}/nftables/arp-filter.nft
165 %attr(740,root,root) %{_datadir}/nftables/bridge-filter.nft
166 %attr(740,root,root) %{_datadir}/nftables/inet-filter.nft
167 %attr(740,root,root) %{_datadir}/nftables/inet-nat.nft
168 %attr(740,root,root) %{_datadir}/nftables/ipv4-filter.nft
169 %attr(740,root,root) %{_datadir}/nftables/ipv4-mangle.nft
170 %attr(740,root,root) %{_datadir}/nftables/ipv4-nat.nft
171 %attr(740,root,root) %{_datadir}/nftables/ipv4-raw.nft
172 %attr(740,root,root) %{_datadir}/nftables/ipv6-filter.nft
173 %attr(740,root,root) %{_datadir}/nftables/ipv6-mangle.nft
174 %attr(740,root,root) %{_datadir}/nftables/ipv6-nat.nft
175 %attr(740,root,root) %{_datadir}/nftables/ipv6-raw.nft
176 %attr(740,root,root) %{_datadir}/nftables/netdev-ingress.nft
177 %doc %{_docdir}/nftables
178 %{_mandir}/man5/libnftables-json.5*
179 %{_mandir}/man8/nft.8*
180 %{?with_systemd:%{systemdunitdir}/%{name}.service}
181
182 %files devel
183 %defattr(644,root,root,755)
184 %attr(755,root,root) %{_libdir}/libnftables.so
185 %{_includedir}/nftables
186 %{_pkgconfigdir}/libnftables.pc
187 %{_mandir}/man3/libnftables.3*
188
189 %files static
190 %defattr(644,root,root,755)
191 %{_libdir}/libnftables.a
192
193 %files -n python-nftables
194 %defattr(644,root,root,755)
195 %dir %{py_sitedir}/nftables
196 %{py_sitedir}/nftables/*.py[co]
197 %{py_sitedir}/nftables/schema.json
198 %{py_sitedir}/nftables-0.1-py*.egg-info
This page took 0.080009 seconds and 3 git commands to generate.