/[packages]/cauldron/kmod-virtualbox/current/SPECS/kmod-virtualbox.spec
ViewVC logotype

Contents of /cauldron/kmod-virtualbox/current/SPECS/kmod-virtualbox.spec

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30