diff options
Diffstat (limited to 'meta/recipes-core/tasks/task-base.bb')
-rw-r--r-- | meta/recipes-core/tasks/task-base.bb | 385 |
1 files changed, 385 insertions, 0 deletions
diff --git a/meta/recipes-core/tasks/task-base.bb b/meta/recipes-core/tasks/task-base.bb new file mode 100644 index 0000000000..9873c060cc --- /dev/null +++ b/meta/recipes-core/tasks/task-base.bb | |||
@@ -0,0 +1,385 @@ | |||
1 | DESCRIPTION = "Merge machine and distro options to create a basic machine task/package" | ||
2 | LICENSE = "MIT" | ||
3 | PR = "r69" | ||
4 | |||
5 | inherit task | ||
6 | |||
7 | PROVIDES = "${PACKAGES}" | ||
8 | PACKAGES = ' \ | ||
9 | task-base \ | ||
10 | task-base-extended \ | ||
11 | task-distro-base \ | ||
12 | task-machine-base \ | ||
13 | \ | ||
14 | ${@base_contains("MACHINE_FEATURES", "acpi", "task-base-acpi", "",d)} \ | ||
15 | ${@base_contains("MACHINE_FEATURES", "alsa", "task-base-alsa", "", d)} \ | ||
16 | ${@base_contains("MACHINE_FEATURES", "apm", "task-base-apm", "", d)} \ | ||
17 | ${@base_contains("MACHINE_FEATURES", "ext2", "task-base-ext2", "", d)} \ | ||
18 | ${@base_contains("MACHINE_FEATURES", "vfat", "task-base-vfat", "", d)} \ | ||
19 | ${@base_contains("MACHINE_FEATURES", "irda", "task-base-irda", "",d)} \ | ||
20 | ${@base_contains("MACHINE_FEATURES", "keyboard", "task-base-keyboard", "", d)} \ | ||
21 | ${@base_contains("MACHINE_FEATURES", "pci", "task-base-pci", "",d)} \ | ||
22 | ${@base_contains("MACHINE_FEATURES", "pcmcia", "task-base-pcmcia", "", d)} \ | ||
23 | ${@base_contains("MACHINE_FEATURES", "phone", "task-base-phone", "", d)} \ | ||
24 | ${@base_contains("MACHINE_FEATURES", "screen", "task-base-screen", "", d)} \ | ||
25 | ${@base_contains("MACHINE_FEATURES", "serial", "task-base-serial", "", d)} \ | ||
26 | ${@base_contains("MACHINE_FEATURES", "touchscreen", "task-base-touchscreen", "", d)} \ | ||
27 | ${@base_contains("MACHINE_FEATURES", "usbgadget", "task-base-usbgadget", "", d)} \ | ||
28 | ${@base_contains("MACHINE_FEATURES", "usbhost", "task-base-usbhost", "", d)} \ | ||
29 | \ | ||
30 | ${@base_contains("MACHINE_FEATURES", "uboot", "task-base-uboot", "",d)} \ | ||
31 | ${@base_contains("MACHINE_FEATURES", "redboot", "task-base-redboot", "",d)} \ | ||
32 | ${@base_contains("MACHINE_FEATURES", "apex", "task-base-apex", "",d)} \ | ||
33 | \ | ||
34 | ${@base_contains("DISTRO_FEATURES", "bluetooth", "task-base-bluetooth", "", d)} \ | ||
35 | ${@base_contains("DISTRO_FEATURES", "wifi", "task-base-wifi", "", d)} \ | ||
36 | ${@base_contains("DISTRO_FEATURES", "cramfs", "task-base-cramfs", "", d)} \ | ||
37 | ${@base_contains("DISTRO_FEATURES", "ipsec", "task-base-ipsec", "", d)} \ | ||
38 | ${@base_contains("DISTRO_FEATURES", "ipv6", "task-base-ipv6", "", d)} \ | ||
39 | ${@base_contains("DISTRO_FEATURES", "nfs", "task-base-nfs", "", d)} \ | ||
40 | ${@base_contains("DISTRO_FEATURES", "ppp", "task-base-ppp", "", d)} \ | ||
41 | ${@base_contains("DISTRO_FEATURES", "smbfs", "task-base-smbfs", "", d)} \ | ||
42 | ${@base_contains("DISTRO_FEATURES", "raid", "task-base-raid", "",d)} \ | ||
43 | ${@base_contains("DISTRO_FEATURES", "zeroconf", "task-base-zeroconf", "", d)} \ | ||
44 | \ | ||
45 | ${@base_contains("MACHINE_FEATURES","kernel26","task-base-kernel26","task-base-kernel24",d)} \ | ||
46 | ' | ||
47 | |||
48 | ALLOW_EMPTY = "1" | ||
49 | |||
50 | # | ||
51 | # packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH | ||
52 | # | ||
53 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
54 | |||
55 | # | ||
56 | # linux-hotplug or none | ||
57 | # | ||
58 | HOTPLUG ?= "${@base_contains("MACHINE_FEATURES", "kernel24", "linux-hotplug","",d)} " | ||
59 | |||
60 | # | ||
61 | # dropbear, openssh or none | ||
62 | # | ||
63 | DISTRO_SSH_DAEMON ?= "dropbear" | ||
64 | |||
65 | # | ||
66 | # pcmciautils for >= 2.6.13-rc1, pcmcia-cs for others | ||
67 | # | ||
68 | PCMCIA_MANAGER ?= "${@base_contains('MACHINE_FEATURES', 'kernel26','pcmciautils','pcmcia-cs',d)} " | ||
69 | |||
70 | # | ||
71 | # those ones can be set in machine config to supply packages needed to get machine booting | ||
72 | # | ||
73 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" | ||
74 | MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" | ||
75 | |||
76 | # | ||
77 | # task-base contain stuff needed for base system (machine related) | ||
78 | # | ||
79 | RDEPENDS_task-base = "\ | ||
80 | task-distro-base \ | ||
81 | task-machine-base \ | ||
82 | ${DISTRO_SSH_DAEMON} \ | ||
83 | ${HOTPLUG} \ | ||
84 | \ | ||
85 | ${@base_contains('MACHINE_FEATURES', 'kernel26','task-base-kernel26','task-base-kernel24',d)} \ | ||
86 | ${@base_contains('MACHINE_FEATURES', 'apm', 'task-base-apm', '',d)} \ | ||
87 | ${@base_contains('MACHINE_FEATURES', 'acpi', 'task-base-acpi', '',d)} \ | ||
88 | ${@base_contains('MACHINE_FEATURES', 'keyboard', 'task-base-keyboard', '',d)} \ | ||
89 | ${@base_contains('MACHINE_FEATURES', 'phone', 'task-base-phone', '',d)} \ | ||
90 | \ | ||
91 | ${@base_contains('COMBINED_FEATURES', 'alsa', 'task-base-alsa', '',d)} \ | ||
92 | ${@base_contains('COMBINED_FEATURES', 'ext2', 'task-base-ext2', '',d)} \ | ||
93 | ${@base_contains('COMBINED_FEATURES', 'vfat', 'task-base-vfat', '',d)} \ | ||
94 | ${@base_contains('COMBINED_FEATURES', 'irda', 'task-base-irda', '',d)} \ | ||
95 | ${@base_contains('COMBINED_FEATURES', 'pci', 'task-base-pci', '',d)} \ | ||
96 | ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'task-base-pcmcia', '',d)} \ | ||
97 | ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'bluez-dtl1-workaround', '',d)} \ | ||
98 | ${@base_contains('COMBINED_FEATURES', 'usbgadget', 'task-base-usbgadget', '',d)} \ | ||
99 | ${@base_contains('COMBINED_FEATURES', 'usbhost', 'task-base-usbhost', '',d)} \ | ||
100 | ${@base_contains('COMBINED_FEATURES', 'bluetooth', 'task-base-bluetooth', '',d)} \ | ||
101 | ${@base_contains('COMBINED_FEATURES', 'wifi', 'task-base-wifi', '',d)} \ | ||
102 | ${@base_contains('COMBINED_FEATURES', 'uboot', 'task-base-uboot', '',d)} \ | ||
103 | ${@base_contains('COMBINED_FEATURES', 'redboot', 'task-base-redboot', '',d)} \ | ||
104 | ${@base_contains('COMBINED_FEATURES', 'apex', 'task-base-apex', '',d)} \ | ||
105 | \ | ||
106 | ${@base_contains('DISTRO_FEATURES', 'nfs', 'task-base-nfs', '',d)} \ | ||
107 | ${@base_contains('DISTRO_FEATURES', 'cramfs', 'task-base-cramfs', '',d)} \ | ||
108 | ${@base_contains('DISTRO_FEATURES', 'smbfs', 'task-base-smbfs', '',d)} \ | ||
109 | ${@base_contains('DISTRO_FEATURES', 'ipv6', 'task-base-ipv6', '',d)} \ | ||
110 | ${@base_contains('DISTRO_FEATURES', 'ipsec', 'task-base-ipsec', '',d)} \ | ||
111 | ${@base_contains('DISTRO_FEATURES', 'ppp', 'task-base-ppp', '',d)} \ | ||
112 | ${@base_contains('DISTRO_FEATURES', 'raid', 'task-base-raid', '',d)} \ | ||
113 | ${@base_contains('DISTRO_FEATURES', 'zeroconf', 'task-base-zeroconf', '',d)} \ | ||
114 | " | ||
115 | # bluez-dtl1-workaround above is workaround for bitbake not handling DEPENDS on it in | ||
116 | |||
117 | RDEPENDS_task-base-extended = "\ | ||
118 | task-base \ | ||
119 | ${ADD_WIFI} \ | ||
120 | ${ADD_BT} \ | ||
121 | " | ||
122 | |||
123 | ADD_WIFI = "" | ||
124 | ADD_BT = "" | ||
125 | |||
126 | python __anonymous () { | ||
127 | # If Distro want wifi and machine feature wifi/pci/pcmcia/usbhost (one of them) | ||
128 | # then include task-base-wifi in task-base | ||
129 | |||
130 | import bb | ||
131 | |||
132 | distro_features = set(bb.data.getVar("DISTRO_FEATURES", d, 1).split()) | ||
133 | machine_features= set(bb.data.getVar("MACHINE_FEATURES", d, 1).split()) | ||
134 | |||
135 | if "bluetooth" in distro_features and not "bluetooth" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features): | ||
136 | bb.data.setVar("ADD_BT", "task-base-bluetooth", d) | ||
137 | |||
138 | if "wifi" in distro_features and not "wifi" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features): | ||
139 | bb.data.setVar("ADD_WIFI", "task-base-wifi", d) | ||
140 | } | ||
141 | |||
142 | # | ||
143 | # packages added by distribution | ||
144 | # | ||
145 | DEPENDS_task-distro-base = "${DISTRO_EXTRA_DEPENDS}" | ||
146 | RDEPENDS_task-distro-base = "${DISTRO_EXTRA_RDEPENDS}" | ||
147 | RRECOMMENDS_task-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}" | ||
148 | |||
149 | # | ||
150 | # packages added by machine config | ||
151 | # | ||
152 | RDEPENDS_task-machine-base = "${MACHINE_EXTRA_RDEPENDS}" | ||
153 | RRECOMMENDS_task-machine-base = "${MACHINE_EXTRA_RRECOMMENDS}" | ||
154 | |||
155 | RDEPENDS_task-base-kernel24 = "\ | ||
156 | modutils-depmod" | ||
157 | |||
158 | RDEPENDS_task-base-kernel26 = "\ | ||
159 | sysfsutils \ | ||
160 | module-init-tools" | ||
161 | |||
162 | RRECOMMENDS_task-base-kernel24 = "\ | ||
163 | kernel-module-input \ | ||
164 | kernel-module-uinput" | ||
165 | |||
166 | RRECOMMENDS_task-base-kernel26 = "\ | ||
167 | kernel-module-nls-utf8 \ | ||
168 | kernel-module-input \ | ||
169 | kernel-module-uinput \ | ||
170 | kernel-module-rtc-dev \ | ||
171 | kernel-module-rtc-proc \ | ||
172 | kernel-module-rtc-sysfs \ | ||
173 | kernel-module-rtc-sa1100 \ | ||
174 | kernel-module-unix" | ||
175 | |||
176 | RDEPENDS_task-base-keyboard = "\ | ||
177 | keymaps" | ||
178 | |||
179 | RDEPENDS_task-base-pci = "\ | ||
180 | pciutils" | ||
181 | |||
182 | RDEPENDS_task-base-acpi = "\ | ||
183 | acpid \ | ||
184 | libacpi " | ||
185 | |||
186 | RDEPENDS_task-base-apm = "\ | ||
187 | apm \ | ||
188 | apmd" | ||
189 | |||
190 | RDEPENDS_task-base-ext2 = "\ | ||
191 | hdparm \ | ||
192 | e2fsprogs \ | ||
193 | e2fsprogs-e2fsck \ | ||
194 | e2fsprogs-mke2fs" | ||
195 | |||
196 | RRECOMMENDS_task-base-vfat = "\ | ||
197 | kernel-module-msdos \ | ||
198 | kernel-module-vfat \ | ||
199 | kernel-module-nls-iso8859-1 \ | ||
200 | kernel-module-nls-cp437" | ||
201 | |||
202 | RDEPENDS_task-base-alsa = "\ | ||
203 | alsa-utils-alsactl \ | ||
204 | alsa-utils-alsamixer" | ||
205 | |||
206 | RRECOMMENDS_task-base-alsa = "\ | ||
207 | kernel-module-snd-mixer-oss \ | ||
208 | kernel-module-snd-pcm-oss" | ||
209 | |||
210 | RDEPENDS_task-base-pcmcia = "\ | ||
211 | ${PCMCIA_MANAGER} \ | ||
212 | ${@base_contains('DISTRO_FEATURES', 'wifi', 'prism-firmware', '',d)} \ | ||
213 | ${@base_contains('DISTRO_FEATURES', 'wifi', 'spectrum-fw', '',d)} \ | ||
214 | " | ||
215 | |||
216 | RRECOMMENDS_task-base-pcmcia = "\ | ||
217 | ${@base_contains('MACHINE_FEATURES', 'kernel26', '${task-base-pcmcia26}', '${task-base-pcmcia24}',d)} \ | ||
218 | kernel-module-pcmcia \ | ||
219 | kernel-module-airo-cs \ | ||
220 | kernel-module-pcnet-cs \ | ||
221 | kernel-module-serial-cs \ | ||
222 | kernel-module-ide-cs \ | ||
223 | kernel-module-ide-disk \ | ||
224 | " | ||
225 | |||
226 | task-base-pcmcia24 = "\ | ||
227 | ${@base_contains('DISTRO_FEATURES', 'wifi', 'hostap-modules-cs', '',d)} \ | ||
228 | ${@base_contains('DISTRO_FEATURES', 'wifi', 'orinoco-modules-cs', '',d)} \ | ||
229 | " | ||
230 | |||
231 | task-base-pcmcia26 = "\ | ||
232 | ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-hostap-cs', '',d)} \ | ||
233 | ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-orinoco-cs', '',d)} \ | ||
234 | ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-spectrum-cs', '',d)}" | ||
235 | |||
236 | # Provide bluez-utils-compat utils for the time being, the binaries in that package will vanish soon from upstream releases, so beware! | ||
237 | |||
238 | RDEPENDS_task-base-bluetooth = "\ | ||
239 | bluez4 \ | ||
240 | " | ||
241 | |||
242 | RRECOMMENDS_task-base-bluetooth = "\ | ||
243 | kernel-module-bluetooth \ | ||
244 | kernel-module-l2cap \ | ||
245 | kernel-module-rfcomm \ | ||
246 | kernel-module-hci-vhci \ | ||
247 | kernel-module-bnep \ | ||
248 | kernel-module-hidp \ | ||
249 | kernel-module-hci-uart \ | ||
250 | kernel-module-sco \ | ||
251 | ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-hci-usb', '',d)} \ | ||
252 | ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluetooth3c-cs', '',d)} \ | ||
253 | ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluecard-cs', '',d)} \ | ||
254 | ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluetoothuart-cs', '',d)} \ | ||
255 | ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-dtl1-cs', '',d)} \ | ||
256 | ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'bluez-dtl1-workaround', '',d)} \ | ||
257 | " | ||
258 | # bluez-dtl1-workaround above is workaround for bitbake not handling DEPENDS on it in | ||
259 | # kernel.bbclass. It should be there as long as kernel-module-dtl1-cs is, but not longer. | ||
260 | |||
261 | RDEPENDS_task-base-irda = "\ | ||
262 | irda-utils" | ||
263 | |||
264 | RRECOMMENDS_task-base-irda = "\ | ||
265 | kernel-module-pxaficp-ir \ | ||
266 | kernel-module-irda \ | ||
267 | kernel-module-ircomm \ | ||
268 | kernel-module-ircomm-tty \ | ||
269 | kernel-module-irlan \ | ||
270 | ${@base_contains('DISTRO_FEATURES', 'ppp', 'kernel-module-irnet', '',d)} \ | ||
271 | kernel-module-irport \ | ||
272 | kernel-module-irtty \ | ||
273 | kernel-module-irtty-sir \ | ||
274 | kernel-module-sir-dev \ | ||
275 | ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-ir-usb', '',d)} " | ||
276 | |||
277 | RRECOMMENDS_task-base-usbgadget = "\ | ||
278 | kernel-module-pxa27x_udc \ | ||
279 | kernel-module-gadgetfs \ | ||
280 | kernel-module-g-file-storage \ | ||
281 | kernel-module-g-serial \ | ||
282 | kernel-module-g-ether" | ||
283 | |||
284 | RDEPENDS_task-base-usbhost = "\ | ||
285 | usbutils " | ||
286 | |||
287 | RRECOMMENDS_task-base-usbhost = "\ | ||
288 | kernel-module-uhci-hcd \ | ||
289 | kernel-module-ohci-hcd \ | ||
290 | kernel-module-ehci-hcd \ | ||
291 | kernel-module-usbcore \ | ||
292 | kernel-module-usbhid \ | ||
293 | kernel-module-usbnet \ | ||
294 | kernel-module-sd-mod \ | ||
295 | kernel-module-scsi-mod \ | ||
296 | kernel-module-usbmouse \ | ||
297 | kernel-module-mousedev \ | ||
298 | kernel-module-usbserial \ | ||
299 | kernel-module-usb-storage " | ||
300 | |||
301 | RDEPENDS_task-base-ppp = "\ | ||
302 | ppp \ | ||
303 | ppp-dialin" | ||
304 | |||
305 | RRECOMMENDS_task-base-ppp = "\ | ||
306 | kernel-module-ppp-async \ | ||
307 | kernel-module-ppp-deflate \ | ||
308 | kernel-module-ppp-generic \ | ||
309 | kernel-module-ppp-mppe \ | ||
310 | kernel-module-slhc" | ||
311 | |||
312 | RDEPENDS_task-base-ipsec = "\ | ||
313 | openswan" | ||
314 | |||
315 | RRECOMMENDS_task-base-ipsec = "\ | ||
316 | kernel-module-ipsec" | ||
317 | |||
318 | # | ||
319 | # task-base-wifi contain everything needed to get WiFi working | ||
320 | # WEP/WPA connection needs to be supported out-of-box | ||
321 | # | ||
322 | RDEPENDS_task-base-wifi = "\ | ||
323 | wireless-tools \ | ||
324 | ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'hostap-utils', '',d)} \ | ||
325 | ${@base_contains('COMBINED_FEATURES', 'pci', 'hostap-utils', '',d)} \ | ||
326 | wpa-supplicant" | ||
327 | |||
328 | RRECOMMENDS_task-base-wifi = "\ | ||
329 | ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \ | ||
330 | kernel-module-ieee80211-crypt \ | ||
331 | kernel-module-ieee80211-crypt-ccmp \ | ||
332 | kernel-module-ieee80211-crypt-tkip \ | ||
333 | kernel-module-ieee80211-crypt-wep \ | ||
334 | kernel-module-ecb \ | ||
335 | kernel-module-arc4 \ | ||
336 | kernel-module-crypto_algapi \ | ||
337 | kernel-module-cryptomgr \ | ||
338 | kernel-module-michael-mic \ | ||
339 | kernel-module-aes-generic \ | ||
340 | kernel-module-aes" | ||
341 | |||
342 | RRECOMMENDS_task-base-smbfs = "\ | ||
343 | kernel-module-cifs \ | ||
344 | kernel-module-smbfs" | ||
345 | |||
346 | RRECOMMENDS_task-base-cramfs = "\ | ||
347 | kernel-module-cramfs" | ||
348 | |||
349 | # | ||
350 | # task-base-nfs provides ONLY client support - server is in nfs-utils package | ||
351 | # | ||
352 | RDEPENDS_task-base-nfs = "\ | ||
353 | portmap" | ||
354 | |||
355 | RRECOMMENDS_task-base-nfs = "\ | ||
356 | kernel-module-nfs " | ||
357 | |||
358 | RDEPENDS_task-base-zeroconf = "\ | ||
359 | avahi-daemon" | ||
360 | |||
361 | RDEPENDS_task-base-raid = "\ | ||
362 | " | ||
363 | |||
364 | RDEPENDS_task-base-screen = "\ | ||
365 | " | ||
366 | |||
367 | # | ||
368 | # GPE/OPIE/OpenMoko provide own touchscreen calibration utils | ||
369 | # | ||
370 | RDEPENDS_task-base-touchscreen = "\ | ||
371 | " | ||
372 | |||
373 | RDEPENDS_task-base-ipv6 = "\ | ||
374 | " | ||
375 | |||
376 | RRECOMMENDS_task-base-ipv6 = "\ | ||
377 | kernel-module-ipv6 " | ||
378 | |||
379 | RDEPENDS_task-base-serial = "\ | ||
380 | setserial \ | ||
381 | lrzsz " | ||
382 | |||
383 | RDEPENDS_task-base-phone = "\ | ||
384 | gsmd \ | ||
385 | libgsmd-tools" | ||