/[packages]/updates/8/kmod-xtables-addons/current/SPECS/kmod-xtables-addons.spec
ViewVC logotype

Contents of /updates/8/kmod-xtables-addons/current/SPECS/kmod-xtables-addons.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1720946 - (show annotations) (download)
Sun May 2 17:08:50 2021 UTC (2 years, 11 months ago) by tmb
File size: 4929 byte(s)
SILENT: add note about matching backports
1 # define driver name, version and release
2 %define drvname xtables-addons
3 %define drvver 3.18
4 %define drvrel 1.mga8
5 %define url https://inai.de/projects/xtables-addons/
6
7 # define core kernel version we build against
8 %define kernver 5.10.33
9 %define kernrel 1.mga8
10
11 # where to build
12 %define topdir ${RPM_BUILD_DIR}/%{name}-%{_arch}
13
14 # source package
15 Name: kmod-%{drvname}
16 Version: %{drvver}
17 # NOTE! use subrels to stay under backports with rel 2
18 Release: %mkrel 1
19 Summary: Prebuilt %{drvname} modules for kernel-%{kernver}-%{kernrel}
20 License: GPLv2
21 URL: %{url}
22 Group: System/Kernel and hardware
23 ExclusiveArch: %{ix86} x86_64
24
25 BuildRequires: dkms-%{drvname} = %{drvver}-%{drvrel}
26 %ifarch %{ix86}
27 BuildRequires: kernel-desktop586-devel-%{kernver}-%{kernrel}
28 %endif
29 BuildRequires: kernel-desktop-devel-%{kernver}-%{kernrel}
30 BuildRequires: kernel-server-devel-%{kernver}-%{kernrel}
31
32 %description
33 This package creates prebuilt %{drvname} kernel modules for core kernel.
34
35
36 # obsoletes prebuilt -netbook-latest modules with matching -desktop-latest
37 %define latest_obsoletes_desktop %{drvname}-kernel-netbook-latest < 1.47.1-2
38 %define latest_provides_desktop %{drvname}-kernel-netbook-latest = %{drvver}-%{release}
39
40 ##### mkflavour() ala core kernel #####
41 %define mkflavour() \
42 %package -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \
43 Summary: %{drvname} driver for kernel-%{1}-%{kernver}-%{kernrel} \
44 License: GPLv2 \
45 URL: %{url} \
46 Group: System/Kernel and hardware \
47 Provides: kmod(xt_geoip.ko) = %{version} \
48 Provides: kmod(xt_ACCOUNT.ko) = %{version} \
49 Provides: installonlypkg(kernel-module) \
50 Requires(post): dkms-minimal \
51 Requires(preun): dkms-minimal \
52 Requires: kernel-%{1}-%{kernver}-%{kernrel} \
53 Requires(post): kernel-%{1}-%{kernver}-%{kernrel} \
54 Requires(preun): kernel-%{1}-%{kernver}-%{kernrel} \
55 Recommends: %{drvname}-kernel-%{1}-latest \
56 %ifarch %{ix86} \
57 Conflicts: arch(x86_64) \
58 %endif \
59 \
60 %description -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \
61 Prebuilt dkms binary kernel modules for the %{drvname} driver version %{drvver} \
62 built for kernel-%{1}-%{kernver}-%{kernrel}. \
63 \
64 %files -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \
65 %dir /var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-%{1}-%{kernrel} \
66 /var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-%{1}-%{kernrel}/* \
67 \
68 %posttrans -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \
69 %{_sbindir}/dkms install --binary -m %{drvname} -v %{drvver}-%{drvrel} -k %{kernver}-%{1}-%{kernrel} --rpm_safe_upgrade \
70 %{_sbindir}/dkms status -m %{drvname} -v %{drvver}-%{drvrel} \
71 \
72 %preun -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \
73 %{_sbindir}/dkms uninstall --binary -m %{drvname} -v %{drvver}-%{drvrel} -k %{kernver}-%{1}-%{kernrel} --rpm_safe_upgrade \
74 \
75 \
76 %package -n %{drvname}-kernel-%{1}-latest \
77 Summary: Virtual rpm for latest %{drvname}-kernel-%{1} driver \
78 License: GPLv2 \
79 URL: %{url} \
80 Group: System/Kernel and hardware \
81 Requires: %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} = %{version}-%{release} \
82 %{expand:%%{?latest_obsoletes_%{1}:Obsoletes: %{latest_obsoletes_%{1}}}} \
83 %{expand:%%{?latest_provides_%{1}:Provides: %{latest_provides_%{1}}}} \
84 %ifarch %{ix86} \
85 Conflicts: arch(x86_64) \
86 %endif \
87 \
88 %description -n %{drvname}-kernel-%{1}-latest \
89 This package is a virtual rpm that aims to make sure you always have the \
90 latest prebuilt %{drvname} driver for kernel-%{1}. \
91 \
92 %files -n %{drvname}-kernel-%{1}-latest
93
94 %ifarch %{ix86}
95 %mkflavour desktop586
96 %endif
97
98 %mkflavour desktop
99 %mkflavour server
100
101
102 %prep
103 rm -rf %{topdir}
104
105 %build
106 %{_sbindir}/dkms add -m %{drvname} -v %{drvver}-%{drvrel} --dkmstree %{topdir}/var/lib/dkms-binary
107 %ifarch %{ix86}
108 %{_sbindir}/dkms build --no-prepare-kernel --no-clean-kernel -m %{drvname} -v %{drvver}-%{drvrel} \
109 -k %{kernver}-desktop586-%{kernrel} --kernelsourcedir /usr/src/kernel-%{kernver}-desktop586-%{kernrel} \
110 --dkmstree %{topdir}/var/lib/dkms-binary
111 %endif
112 for flavour in desktop server; do
113 %{_sbindir}/dkms build --no-prepare-kernel --no-clean-kernel -m %{drvname} -v %{drvver}-%{drvrel} \
114 -k %{kernver}-$flavour-%{kernrel} --kernelsourcedir /usr/src/kernel-%{kernver}-$flavour-%{kernrel} \
115 --dkmstree %{topdir}/var/lib/dkms-binary
116 done
117
118 %install
119 mkdir -p %{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}
120 cp -a %{topdir}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-*-%{kernrel} \
121 %{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/
122 for dir in %{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-*-%{kernrel}; do
123 cp -a /usr/src/%{drvname}-%{drvver}-%{drvrel}/dkms.conf $dir/
124 xz -6e $dir/*/module/*.ko ||:
125 done

  ViewVC Help
Powered by ViewVC 1.1.30