summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/tasks/task-base.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/tasks/task-base.bb')
-rw-r--r--meta/recipes-core/tasks/task-base.bb385
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 @@
1DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
2LICENSE = "MIT"
3PR = "r69"
4
5inherit task
6
7PROVIDES = "${PACKAGES}"
8PACKAGES = ' \
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
48ALLOW_EMPTY = "1"
49
50#
51# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH
52#
53PACKAGE_ARCH = "${MACHINE_ARCH}"
54
55#
56# linux-hotplug or none
57#
58HOTPLUG ?= "${@base_contains("MACHINE_FEATURES", "kernel24", "linux-hotplug","",d)} "
59
60#
61# dropbear, openssh or none
62#
63DISTRO_SSH_DAEMON ?= "dropbear"
64
65#
66# pcmciautils for >= 2.6.13-rc1, pcmcia-cs for others
67#
68PCMCIA_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#
73MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
74MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
75
76#
77# task-base contain stuff needed for base system (machine related)
78#
79RDEPENDS_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
117RDEPENDS_task-base-extended = "\
118 task-base \
119 ${ADD_WIFI} \
120 ${ADD_BT} \
121 "
122
123ADD_WIFI = ""
124ADD_BT = ""
125
126python __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#
145DEPENDS_task-distro-base = "${DISTRO_EXTRA_DEPENDS}"
146RDEPENDS_task-distro-base = "${DISTRO_EXTRA_RDEPENDS}"
147RRECOMMENDS_task-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}"
148
149#
150# packages added by machine config
151#
152RDEPENDS_task-machine-base = "${MACHINE_EXTRA_RDEPENDS}"
153RRECOMMENDS_task-machine-base = "${MACHINE_EXTRA_RRECOMMENDS}"
154
155RDEPENDS_task-base-kernel24 = "\
156 modutils-depmod"
157
158RDEPENDS_task-base-kernel26 = "\
159 sysfsutils \
160 module-init-tools"
161
162RRECOMMENDS_task-base-kernel24 = "\
163 kernel-module-input \
164 kernel-module-uinput"
165
166RRECOMMENDS_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
176RDEPENDS_task-base-keyboard = "\
177 keymaps"
178
179RDEPENDS_task-base-pci = "\
180 pciutils"
181
182RDEPENDS_task-base-acpi = "\
183 acpid \
184 libacpi "
185
186RDEPENDS_task-base-apm = "\
187 apm \
188 apmd"
189
190RDEPENDS_task-base-ext2 = "\
191 hdparm \
192 e2fsprogs \
193 e2fsprogs-e2fsck \
194 e2fsprogs-mke2fs"
195
196RRECOMMENDS_task-base-vfat = "\
197 kernel-module-msdos \
198 kernel-module-vfat \
199 kernel-module-nls-iso8859-1 \
200 kernel-module-nls-cp437"
201
202RDEPENDS_task-base-alsa = "\
203 alsa-utils-alsactl \
204 alsa-utils-alsamixer"
205
206RRECOMMENDS_task-base-alsa = "\
207 kernel-module-snd-mixer-oss \
208 kernel-module-snd-pcm-oss"
209
210RDEPENDS_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
216RRECOMMENDS_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
226task-base-pcmcia24 = "\
227 ${@base_contains('DISTRO_FEATURES', 'wifi', 'hostap-modules-cs', '',d)} \
228 ${@base_contains('DISTRO_FEATURES', 'wifi', 'orinoco-modules-cs', '',d)} \
229 "
230
231task-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
238RDEPENDS_task-base-bluetooth = "\
239 bluez4 \
240 "
241
242RRECOMMENDS_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
261RDEPENDS_task-base-irda = "\
262 irda-utils"
263
264RRECOMMENDS_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
277RRECOMMENDS_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
284RDEPENDS_task-base-usbhost = "\
285 usbutils "
286
287RRECOMMENDS_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
301RDEPENDS_task-base-ppp = "\
302 ppp \
303 ppp-dialin"
304
305RRECOMMENDS_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
312RDEPENDS_task-base-ipsec = "\
313 openswan"
314
315RRECOMMENDS_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#
322RDEPENDS_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
328RRECOMMENDS_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
342RRECOMMENDS_task-base-smbfs = "\
343 kernel-module-cifs \
344 kernel-module-smbfs"
345
346RRECOMMENDS_task-base-cramfs = "\
347 kernel-module-cramfs"
348
349#
350# task-base-nfs provides ONLY client support - server is in nfs-utils package
351#
352RDEPENDS_task-base-nfs = "\
353 portmap"
354
355RRECOMMENDS_task-base-nfs = "\
356 kernel-module-nfs "
357
358RDEPENDS_task-base-zeroconf = "\
359 avahi-daemon"
360
361RDEPENDS_task-base-raid = "\
362 "
363
364RDEPENDS_task-base-screen = "\
365 "
366
367#
368# GPE/OPIE/OpenMoko provide own touchscreen calibration utils
369#
370RDEPENDS_task-base-touchscreen = "\
371 "
372
373RDEPENDS_task-base-ipv6 = "\
374 "
375
376RRECOMMENDS_task-base-ipv6 = "\
377 kernel-module-ipv6 "
378
379RDEPENDS_task-base-serial = "\
380 setserial \
381 lrzsz "
382
383RDEPENDS_task-base-phone = "\
384 gsmd \
385 libgsmd-tools"