1 |
# buildforkernels macro hint: when you build a new version or a new release |
2 |
# that contains bugfixes or other improvements then you must disable the |
3 |
# "buildforkernels newest" macro for just that build; immediately after |
4 |
# queuing that build enable the macro again for subsequent builds; that way |
5 |
# a new akmod package will only get build when a new one is actually needed |
6 |
|
7 |
%global buildforkernels newest |
8 |
#%global buildforkernels current |
9 |
#%global buildforkernels akmod |
10 |
|
11 |
#FIXME xtables-kmod doesn't use the appropriate cflags |
12 |
%global debug_package %{nil} |
13 |
|
14 |
%define name xtables-addons-kmod |
15 |
%define name_src xtables-addons |
16 |
%define version 2.14 |
17 |
%define release 01 |
18 |
Summary: %{name} is a set of additional extensions for the Xtables packet filter (modules kmod ONLY). |
19 |
Name: %{name} |
20 |
Version: %{version} |
21 |
Release: %{release}%{?dist} |
22 |
Distribution: SME Server |
23 |
License: GNU GPL version 2 |
24 |
Group: SME Server/addon |
25 |
Source: %{name_src}-%{version}.tar.xz |
26 |
URL: http://xtables-addons.sourceforge.net |
27 |
Patch0: %{name_src}-2.14-init.patch |
28 |
Packager: Michel Begue <mab974@gmail.com> |
29 |
#BuildRoot: %RPM_BUILD_ROOT |
30 |
|
31 |
Requires: smeserver-release >= 10.0 |
32 |
Requires: xtables-addons >= 2.14 |
33 |
BuildRequires: e-smith-devtools |
34 |
BuildRequires: iptables-devel |
35 |
BuildRequires: %{_bindir}/kmodtool |
36 |
ExclusiveArch: x86_64 |
37 |
Requires(post): /sbin/weak-modules |
38 |
Requires(postun): /sbin/weak-modules |
39 |
|
40 |
%{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} } |
41 |
|
42 |
# kmodtool does its magic here |
43 |
%{expand:%(kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } |
44 |
|
45 |
%description |
46 |
%{name} is a set of additional extensions for the Xtables packet filter that is present in the Linux kernel (modules kmod ONLY). |
47 |
It is just a "kernel update" release. |
48 |
|
49 |
%changelog |
50 |
* Wed Apr 15 2020 Michel Begue <mab974@gmail.com> 2.14-01.sme |
51 |
- initial release 2.14 for sme10 |
52 |
- changes for using GeoIP2 databases (download and build (-g2) + fetch) |
53 |
- dependency : perl-IO-Socket-INET6 (bug sa-update) |
54 |
- set XT_GEOIP_MAX from 15 to 50 |
55 |
- comment out "print STDERR" counters in xt_geoip-build |
56 |
- add license_key in download script of bases |
57 |
- comment out build_TARPIT (Centos 7 compatibility pbm) |
58 |
|
59 |
%prep |
60 |
# error out if there was something wrong with kmodtool |
61 |
%{?kmodtool_check} |
62 |
# print kmodtool output for debugging purposes: |
63 |
kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null |
64 |
|
65 |
%setup -q -c -T -a 0 |
66 |
%patch0 |
67 |
|
68 |
for kernel_version in %{?kernel_versions} ; do |
69 |
cp -a xtables-addons-%{version} _kmod_build_${kernel_version%%___*} |
70 |
done |
71 |
|
72 |
%build |
73 |
#ls -l /usr/src/kernels/2.6.32-754.el6.x86_64/include/config/auto.conf >&2 |
74 |
for kernel_version in %{?kernel_versions} ; do |
75 |
if ! grep -q 'XT_TARGET_TEE=m' %{_usrsrc}/kernels/${kernel_version%%___*}/.config; then |
76 |
sed -i 's/build_TEE=/build_TEE=m/' _kmod_build_${kernel_version%%___*}/mconfig |
77 |
fi |
78 |
if ! grep -q 'XT_TARGET_CHECKSUM=m' %{_usrsrc}/kernels/${kernel_version%%___*}/.config; then |
79 |
sed -i 's/build_CHECKSUM=/build_CHECKSUM=m/' _kmod_build_${kernel_version%%___*}/mconfig |
80 |
fi |
81 |
export XA_ABSTOPSRCDIR=${PWD}/_kmod_build_${kernel_version%%___*} |
82 |
make %{?_smp_mflags} V=1 -C "${kernel_version##*___}" M=${PWD}/_kmod_build_${kernel_version%%___*}/extensions modules |
83 |
done |
84 |
|
85 |
%install |
86 |
for kernel_version in %{?kernel_versions} ; do |
87 |
export XA_ABSTOPSRCDIR=${PWD}/_kmod_build_${kernel_version%%___*} |
88 |
make %{?_smp_mflags} V=1 -C "${kernel_version##*___}" M=${PWD}/_kmod_build_${kernel_version%%___*}/extensions _emodinst_ INSTALL_MOD_PATH=%{buildroot}%{_prefix} ext-mod-dir=%{kmodinstdir_postfix} |
89 |
# workaround to avoid error at file stage, it seems that we are installing it in /usr/lib and files script is waiting it in /lib... |
90 |
mv %{buildroot}%{_prefix}/lib %{buildroot}%{_prefix}/../lib |
91 |
done |
92 |
%{?akmod_install} |
93 |
|
94 |
%clean |
95 |
%{__rm} -rf %{buildroot} |
96 |
|
97 |
%pre |
98 |
|
99 |
%post -n %{name} |
100 |
/sbin/weak-modules --add-kernel |
101 |
|
102 |
%preun |
103 |
|
104 |
%postun -n %{name} |
105 |
/sbin/weak-modules --add-kernel |
106 |
|
107 |
%files |
108 |
%defattr(-, root, root, 0755) |
109 |
/lib/modules/* |
110 |
|