]> git.pld-linux.org Git - packages/ipset.git/blob - ipset.spec
- update to build on ac
[packages/ipset.git] / ipset.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # allow non-distribution kernel
4 %bcond_without  kernel          # don't build kernel modules
5 %bcond_without  userspace       # don't build userspace tools
6 %bcond_with     verbose         # verbose build (V=1)
7
8 %if %{without kernel}
9 %undefine       with_dist_kernel
10 %endif
11 %if "%{_alt_kernel}" != "%{nil}"
12 %undefine       with_userspace
13 %endif
14 %if %{without userspace}
15 # nothing to be placed to debuginfo package
16 %define         _enable_debug_packages  0
17 %endif
18
19 %define         rel     11
20 %define         pname   ipset
21 Summary:        IP sets utility
22 Summary(pl.UTF-8):      Narzędzie do zarządzania zbiorami IP
23 Name:           %{pname}%{_alt_kernel}
24 Version:        4.2
25 Release:        %{rel}
26 License:        GPL
27 Group:          Networking/Admin
28 Source0:        http://ipset.netfilter.org/%{pname}-%{version}.tar.bz2
29 # Source0-md5:  9060d549a18c1c0794fa47a71343d627
30 Source1:        %{pname}.init
31 Patch0: shadow-args.patch
32 URL:            http://ipset.netfilter.org/
33 %{?with_dist_kernel:BuildRequires:      kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
34 %{?with_userspace:BuildRequires:        linux-libc-headers >= 7:2.6.22.1-2}
35 BuildRequires:  perl-base
36 BuildRequires:  rpmbuild(macros) >= 1.379
37 Suggests:       kernel-net-ipset
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %description
41 IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel, which
42 can be administered by the ipset utility. Depending on the type,
43 currently an IP set may store IP addresses, (TCP/UDP) port numbers or
44 IP addresses with MAC addresses in a way, which ensures lightning
45 speed when matching an entry against a set.
46
47 %description -l pl.UTF-8
48 Zbiory IP to szkielet w jądrze Linuksa 2.4.x i 2.6.x, którym można
49 administrować przy użyciu narzędzia ipset. W zależności od rodzaju
50 aktualnie zbiór IP może przechowywać adresy IP, numery portów
51 (TCP/UDP) lub adresy IP z adresami MAC - w sposób zapewniający
52 maksymalną szybkość przy dopasowywaniu elementu do zbioru.
53
54 %package devel
55 Summary:        Header files for ipset interface
56 Summary(pl.UTF-8):      Pliki nagłówkowe do interfejsu ipset
57 Group:          Development/Libraries
58
59 %description devel
60 Header files for IPset interface.
61
62 %description devel -l pl.UTF-8
63 Pliki nagłówkowe do interfejsu IPset.
64
65 %package init
66 Summary:        IPset init script
67 Summary(pl.UTF-8):      Skrypt startowy IPset
68 Group:          Networking/Admin
69 Requires(post,preun):   /sbin/chkconfig
70 Requires:       %{pname} = %{version}-%{release}
71 Requires:       rc-scripts
72
73 %description init
74 IPset initialization script.
75
76 %description init -l pl.UTF-8
77 Skrypt startowy IPset.
78
79 %package -n kernel%{_alt_kernel}-net-ipset
80 Summary:        IPset kernel modules
81 Summary(pl.UTF-8):      Moduły jądra oferujące wsparcie dla zbiorów IP
82 Release:        %{rel}@%{_kernel_ver_str}
83 Group:          Base/Kernel
84 %{?with_dist_kernel:%requires_releq_kernel}
85 Requires(post,postun):  /sbin/depmod
86
87 %description -n kernel%{_alt_kernel}-net-ipset
88 IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel, which
89 can be administered by the ipset utility. Depending on the type,
90 currently an IP set may store IP addresses, (TCP/UDP) port numbers or
91 IP addresses with MAC addresses in a way, which ensures lightning
92 speed when matching an entry against a set.
93
94 This package contains kernel modules.
95
96 %description -n kernel%{_alt_kernel}-net-ipset -l pl.UTF-8
97 Zbiory IP to szkielet w jądrze Linuksa 2.4.x i 2.6.x, którym można
98 administrować przy użyciu narzędzia ipset. W zależności od rodzaju
99 aktualnie zbiór IP może przechowywać adresy IP, numery portów
100 (TCP/UDP) lub adresy IP z adresami MAC - w sposób zapewniający
101 maksymalną szybkość przy dopasowywaniu elementu do zbioru.
102
103 Ten pakiet zawiera moduły jądra oferujące wsparcie dla zbiorów IP.
104
105 %prep
106 %setup -q -n %{pname}-%{version}
107 %patch0 -p1
108 mv kernel/{Kbuild,Makefile}
109
110 # maximum number of ipsets.
111 %{__sed} -i 's:$(IP_NF_SET_MAX):256:' kernel/Makefile
112 # hash size for bindings of IP sets.
113 %{__sed} -i 's:$(IP_NF_SET_HASHSIZE):1024:' kernel/Makefile
114 # these options can be overriden by module parameters.
115
116 %if "%{cc_version}" < "3.4"
117 %{__sed} -i -e 's/-Wextra//' Makefile
118 %{__sed} -i -e 's/-Winit-self//' Makefile
119 %{__sed} -i -e 's/-Wold-style-definition//' Makefile
120 %{__sed} -i -e 's/-Wno-missing-field-initializers//' Makefile
121 %endif
122
123 %build
124 %if %{with userspace}
125 %{__make} binaries \
126         CC="%{__cc}" \
127         PREFIX="%{_prefix}" \
128         LIBDIR="%{_libdir}" \
129         MANDIR="%{_mandir}" \
130         BINDIR="%{_sbindir}" \
131         COPT_FLAGS:="%{rpmcflags}"
132 %endif
133
134 %if %{with kernel}
135 # ugly hack for satisfy rpm build macro. in fact all modules will be build.
136 %build_kernel_modules -C kernel -m ip_set
137 %endif
138
139 %install
140 rm -rf $RPM_BUILD_ROOT
141
142 %if %{with userspace}
143 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_includedir}}
144
145 %{__make} binaries_install \
146         DESTDIR="$RPM_BUILD_ROOT" \
147         PREFIX="%{_prefix}" \
148         LIBDIR="%{_libdir}" \
149         MANDIR="%{_mandir}" \
150         BINDIR="%{_sbindir}"
151
152 cp -a *.h $RPM_BUILD_ROOT%{_includedir}
153 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{pname}
154 %endif
155
156 %if %{with kernel}
157 cd kernel
158 %install_kernel_modules -m ip_set -d kernel/net/ipv4/netfilter
159 install -p ip_set_*.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter
160 install -p ipt_*.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter
161 cd -
162 %endif
163
164 %clean
165 rm -rf $RPM_BUILD_ROOT
166
167 %post init
168 /sbin/chkconfig --add %{pname}
169
170 %preun init
171 if [ "$1" = "0" ]; then
172         /sbin/chkconfig --del %{pname}
173 fi
174
175 %post   -n kernel%{_alt_kernel}-net-ipset
176 %depmod %{_kernel_ver}
177
178 %postun -n kernel%{_alt_kernel}-net-ipset
179 %depmod %{_kernel_ver}
180
181 %if %{with userspace}
182 %files
183 %defattr(644,root,root,755)
184 %doc ChangeLog ChangeLog.ippool TODO
185 %attr(755,root,root) %{_sbindir}/*
186 %dir %{_libdir}/ipset
187 %attr(755,root,root) %{_libdir}/ipset/*.so
188 %{_mandir}/man8/*
189
190 %files devel
191 %defattr(644,root,root,755)
192 %{_includedir}/*.h
193
194 %files init
195 %defattr(644,root,root,755)
196 %attr(754,root,root) /etc/rc.d/init.d/ipset
197 %endif
198
199 %if %{with kernel}
200 %files -n kernel%{_alt_kernel}-net-ipset
201 %defattr(644,root,root,755)
202 /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/*.ko*
203 %endif
This page took 0.034496 seconds and 3 git commands to generate.