summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/packagegroups/packagegroup-base.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/packagegroups/packagegroup-base.bb')
-rw-r--r--meta/recipes-core/packagegroups/packagegroup-base.bb373
1 files changed, 373 insertions, 0 deletions
diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
new file mode 100644
index 0000000..368c318
--- /dev/null
+++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -0,0 +1,373 @@
1SUMMARY = "Merge machine and distro options to create a basic machine task/package"
2LICENSE = "MIT"
3PR = "r83"
4
5inherit packagegroup
6
7PROVIDES = "${PACKAGES}"
8PACKAGES = ' \
9 packagegroup-base \
10 packagegroup-base-extended \
11 packagegroup-distro-base \
12 packagegroup-machine-base \
13 \
14 ${@base_contains("MACHINE_FEATURES", "acpi", "packagegroup-base-acpi", "",d)} \
15 ${@base_contains("MACHINE_FEATURES", "alsa", "packagegroup-base-alsa", "", d)} \
16 ${@base_contains("MACHINE_FEATURES", "apm", "packagegroup-base-apm", "", d)} \
17 ${@base_contains("MACHINE_FEATURES", "ext2", "packagegroup-base-ext2", "", d)} \
18 ${@base_contains("MACHINE_FEATURES", "vfat", "packagegroup-base-vfat", "", d)} \
19 ${@base_contains("MACHINE_FEATURES", "irda", "packagegroup-base-irda", "",d)} \
20 ${@base_contains("MACHINE_FEATURES", "keyboard", "packagegroup-base-keyboard", "", d)} \
21 ${@base_contains("MACHINE_FEATURES", "pci", "packagegroup-base-pci", "",d)} \
22 ${@base_contains("MACHINE_FEATURES", "pcmcia", "packagegroup-base-pcmcia", "", d)} \
23 ${@base_contains("MACHINE_FEATURES", "phone", "packagegroup-base-phone", "", d)} \
24 ${@base_contains("MACHINE_FEATURES", "serial", "packagegroup-base-serial", "", d)} \
25 ${@base_contains("MACHINE_FEATURES", "usbgadget", "packagegroup-base-usbgadget", "", d)} \
26 ${@base_contains("MACHINE_FEATURES", "usbhost", "packagegroup-base-usbhost", "", d)} \
27 \
28 ${@base_contains("DISTRO_FEATURES", "bluetooth", "packagegroup-base-bluetooth", "", d)} \
29 ${@base_contains("DISTRO_FEATURES", "wifi", "packagegroup-base-wifi", "", d)} \
30 ${@base_contains("DISTRO_FEATURES", "3g", "packagegroup-base-3g", "", d)} \
31 ${@base_contains("DISTRO_FEATURES", "nfc", "packagegroup-base-nfc", "", d)} \
32 ${@base_contains("DISTRO_FEATURES", "cramfs", "packagegroup-base-cramfs", "", d)} \
33 ${@base_contains("DISTRO_FEATURES", "ipsec", "packagegroup-base-ipsec", "", d)} \
34 ${@base_contains("DISTRO_FEATURES", "ipv6", "packagegroup-base-ipv6", "", d)} \
35 ${@base_contains("DISTRO_FEATURES", "nfs", "packagegroup-base-nfs", "", d)} \
36 ${@base_contains("DISTRO_FEATURES", "ppp", "packagegroup-base-ppp", "", d)} \
37 ${@base_contains("DISTRO_FEATURES", "smbfs", "packagegroup-base-smbfs", "", d)} \
38 ${@base_contains("DISTRO_FEATURES", "zeroconf", "packagegroup-base-zeroconf", "", d)} \
39 \
40 '
41
42#
43# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH
44#
45PACKAGE_ARCH = "${MACHINE_ARCH}"
46
47# Override by distro if needed
48VIRTUAL-RUNTIME_keymaps ?= "keymaps"
49
50#
51# packagegroup-base contain stuff needed for base system (machine related)
52#
53RDEPENDS_packagegroup-base = "\
54 packagegroup-distro-base \
55 packagegroup-machine-base \
56 \
57 sysfsutils \
58 module-init-tools \
59 ${@base_contains('MACHINE_FEATURES', 'apm', 'packagegroup-base-apm', '',d)} \
60 ${@base_contains('MACHINE_FEATURES', 'acpi', 'packagegroup-base-acpi', '',d)} \
61 ${@base_contains('MACHINE_FEATURES', 'keyboard', 'packagegroup-base-keyboard', '',d)} \
62 ${@base_contains('MACHINE_FEATURES', 'phone', 'packagegroup-base-phone', '',d)} \
63 \
64 ${@base_contains('COMBINED_FEATURES', 'alsa', 'packagegroup-base-alsa', '',d)} \
65 ${@base_contains('COMBINED_FEATURES', 'ext2', 'packagegroup-base-ext2', '',d)} \
66 ${@base_contains('COMBINED_FEATURES', 'vfat', 'packagegroup-base-vfat', '',d)} \
67 ${@base_contains('COMBINED_FEATURES', 'irda', 'packagegroup-base-irda', '',d)} \
68 ${@base_contains('COMBINED_FEATURES', 'pci', 'packagegroup-base-pci', '',d)} \
69 ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'packagegroup-base-pcmcia', '',d)} \
70 ${@base_contains('COMBINED_FEATURES', 'usbgadget', 'packagegroup-base-usbgadget', '',d)} \
71 ${@base_contains('COMBINED_FEATURES', 'usbhost', 'packagegroup-base-usbhost', '',d)} \
72 ${@base_contains('COMBINED_FEATURES', 'bluetooth', 'packagegroup-base-bluetooth', '',d)} \
73 ${@base_contains('COMBINED_FEATURES', 'wifi', 'packagegroup-base-wifi', '',d)} \
74 ${@base_contains('COMBINED_FEATURES', '3g', 'packagegroup-base-3g', '',d)} \
75 ${@base_contains('COMBINED_FEATURES', 'nfc', 'packagegroup-base-nfc', '',d)} \
76 \
77 ${@base_contains('DISTRO_FEATURES', 'nfs', 'packagegroup-base-nfs', '',d)} \
78 ${@base_contains('DISTRO_FEATURES', 'cramfs', 'packagegroup-base-cramfs', '',d)} \
79 ${@base_contains('DISTRO_FEATURES', 'smbfs', 'packagegroup-base-smbfs', '',d)} \
80 ${@base_contains('DISTRO_FEATURES', 'ipv6', 'packagegroup-base-ipv6', '',d)} \
81 ${@base_contains('DISTRO_FEATURES', 'ipsec', 'packagegroup-base-ipsec', '',d)} \
82 ${@base_contains('DISTRO_FEATURES', 'ppp', 'packagegroup-base-ppp', '',d)} \
83 ${@base_contains('DISTRO_FEATURES', 'zeroconf', 'packagegroup-base-zeroconf', '',d)} \
84 "
85
86
87RRECOMMENDS_packagegroup-base = "\
88 kernel-module-nls-utf8 \
89 kernel-module-input \
90 kernel-module-uinput \
91 kernel-module-rtc-dev \
92 kernel-module-rtc-proc \
93 kernel-module-rtc-sysfs \
94 kernel-module-unix"
95
96RDEPENDS_packagegroup-base-extended = "\
97 packagegroup-base \
98 ${ADD_WIFI} \
99 ${ADD_BT} \
100 ${ADD_3G} \
101 ${ADD_NFC} \
102 "
103
104ADD_WIFI = ""
105ADD_BT = ""
106ADD_3G = ""
107ADD_NFC = ""
108
109python __anonymous () {
110 # If Distro want wifi and machine feature wifi/pci/pcmcia/usbhost (one of them)
111 # then include packagegroup-base-wifi in packagegroup-base
112
113 distro_features = set(d.getVar("DISTRO_FEATURES", True).split())
114 machine_features= set(d.getVar("MACHINE_FEATURES", True).split())
115
116 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):
117 d.setVar("ADD_BT", "packagegroup-base-bluetooth")
118
119 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):
120 d.setVar("ADD_WIFI", "packagegroup-base-wifi")
121
122 if "3g" in distro_features and not "3g" in machine_features and ("pcmcia" in machine_features or "pci" in machine_features or "usbhost" in machine_features):
123 d.setVar("ADD_3G", "packagegroup-base-3g")
124
125 if "nfc" in distro_features and not "nfc" in machine_features and ("usbhost" in machine_features):
126 d.setVar("ADD_NFC", "packagegroup-base-nfc")
127
128 # For backwards compatibility after rename
129 packages = d.getVar("PACKAGES", True).split()
130 for pkg in packages:
131 d.appendVar("RPROVIDES_%s" % pkg, pkg.replace("packagegroup-", "task-"))
132 d.appendVar("RREPLACES_%s" % pkg, pkg.replace("packagegroup-", "task-"))
133 d.appendVar("RCONFLICTS_%s" % pkg, pkg.replace("packagegroup-", "task-"))
134}
135
136#
137# packages added by distribution
138#
139SUMMARY_packagegroup-distro-base = "${DISTRO} extras"
140DEPENDS_packagegroup-distro-base = "${DISTRO_EXTRA_DEPENDS}"
141RDEPENDS_packagegroup-distro-base = "${DISTRO_EXTRA_RDEPENDS}"
142RRECOMMENDS_packagegroup-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}"
143
144#
145# packages added by machine config
146#
147SUMMARY_packagegroup-machine-base = "${MACHINE} extras"
148SUMMARY_packagegroup-machine-base = "Extra packages required to fully support ${MACHINE} hardware"
149RDEPENDS_packagegroup-machine-base = "${MACHINE_EXTRA_RDEPENDS}"
150RRECOMMENDS_packagegroup-machine-base = "${MACHINE_EXTRA_RRECOMMENDS}"
151
152SUMMARY_packagegroup-base-keyboard = "Keyboard support"
153RDEPENDS_packagegroup-base-keyboard = "\
154 ${VIRTUAL-RUNTIME_keymaps}"
155
156SUMMARY_packagegroup-base-pci = "PCI bus support"
157RDEPENDS_packagegroup-base-pci = "\
158 pciutils"
159
160SUMMARY_packagegroup-base-acpi = "ACPI support"
161RDEPENDS_packagegroup-base-acpi = "\
162 acpid \
163 libacpi "
164
165SUMMARY_packagegroup-base-apm = "APM support"
166RDEPENDS_packagegroup-base-apm = "\
167 ${VIRTUAL-RUNTIME_apm} \
168 apmd"
169
170SUMMARY_packagegroup-base-ext2 = "ext2 filesystem support"
171RDEPENDS_packagegroup-base-ext2 = "\
172 hdparm \
173 e2fsprogs \
174 e2fsprogs-e2fsck \
175 e2fsprogs-mke2fs"
176
177SUMMARY_packagegroup-base-vfat = "FAT filesystem support"
178RRECOMMENDS_packagegroup-base-vfat = "\
179 kernel-module-msdos \
180 kernel-module-vfat \
181 kernel-module-nls-iso8859-1 \
182 kernel-module-nls-cp437 \
183 dosfstools"
184
185SUMMARY_packagegroup-base-alsa = "ALSA sound support"
186RDEPENDS_packagegroup-base-alsa = "\
187 alsa-utils-alsactl \
188 alsa-utils-alsamixer \
189 ${VIRTUAL-RUNTIME_alsa-state}"
190
191RRECOMMENDS_packagegroup-base-alsa = "\
192 kernel-module-snd-mixer-oss \
193 kernel-module-snd-pcm-oss"
194
195SUMMARY_packagegroup-base-pcmcia = "PC card slot support"
196RDEPENDS_packagegroup-base-pcmcia = "\
197 pcmciautils \
198 "
199
200RRECOMMENDS_packagegroup-base-pcmcia = "\
201 kernel-module-pcmcia \
202 kernel-module-airo-cs \
203 kernel-module-pcnet-cs \
204 kernel-module-serial-cs \
205 kernel-module-ide-cs \
206 kernel-module-ide-disk \
207 ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-hostap-cs', '',d)} \
208 ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-orinoco-cs', '',d)} \
209 ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-spectrum-cs', '',d)}"
210
211SUMMARY_packagegroup-base-bluetooth = "Bluetooth support"
212RDEPENDS_packagegroup-base-bluetooth = "\
213 bluez4 \
214 ${@base_contains('COMBINED_FEATURES', 'alsa', 'libasound-module-bluez', '',d)} \
215 "
216
217RRECOMMENDS_packagegroup-base-bluetooth = "\
218 kernel-module-bluetooth \
219 kernel-module-l2cap \
220 kernel-module-rfcomm \
221 kernel-module-hci-vhci \
222 kernel-module-bnep \
223 kernel-module-hidp \
224 kernel-module-hci-uart \
225 kernel-module-sco \
226 ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-hci-usb', '',d)} \
227 ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluetooth3c-cs', '',d)} \
228 ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluecard-cs', '',d)} \
229 ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluetoothuart-cs', '',d)} \
230 ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-dtl1-cs', '',d)} \
231 "
232
233SUMMARY_packagegroup-base-irda = "IrDA support"
234RDEPENDS_packagegroup-base-irda = "\
235 irda-utils"
236
237RRECOMMENDS_packagegroup-base-irda = "\
238 kernel-module-pxaficp-ir \
239 kernel-module-irda \
240 kernel-module-ircomm \
241 kernel-module-ircomm-tty \
242 kernel-module-irlan \
243 ${@base_contains('DISTRO_FEATURES', 'ppp', 'kernel-module-irnet', '',d)} \
244 kernel-module-irport \
245 kernel-module-irtty \
246 kernel-module-irtty-sir \
247 kernel-module-sir-dev \
248 ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-ir-usb', '',d)} "
249
250SUMMARY_packagegroup-base-usbgadget = "USB gadget support"
251RRECOMMENDS_packagegroup-base-usbgadget = "\
252 kernel-module-pxa27x_udc \
253 kernel-module-gadgetfs \
254 kernel-module-g-file-storage \
255 kernel-module-g-serial \
256 kernel-module-g-ether"
257
258SUMMARY_packagegroup-base-usbhost = "USB host support"
259RDEPENDS_packagegroup-base-usbhost = "\
260 usbutils "
261
262RRECOMMENDS_packagegroup-base-usbhost = "\
263 kernel-module-uhci-hcd \
264 kernel-module-ohci-hcd \
265 kernel-module-ehci-hcd \
266 kernel-module-usbcore \
267 kernel-module-usbhid \
268 kernel-module-usbnet \
269 kernel-module-sd-mod \
270 kernel-module-scsi-mod \
271 kernel-module-usbmouse \
272 kernel-module-mousedev \
273 kernel-module-usbserial \
274 kernel-module-usb-storage "
275
276SUMMARY_packagegroup-base-ppp = "PPP dial-up protocol support"
277RDEPENDS_packagegroup-base-ppp = "\
278 ppp \
279 ppp-dialin"
280
281RRECOMMENDS_packagegroup-base-ppp = "\
282 kernel-module-ppp-async \
283 kernel-module-ppp-deflate \
284 kernel-module-ppp-generic \
285 kernel-module-ppp-mppe \
286 kernel-module-slhc"
287
288SUMMARY_packagegroup-base-ipsec = "IPSEC support"
289RDEPENDS_packagegroup-base-ipsec = "\
290 "
291
292RRECOMMENDS_packagegroup-base-ipsec = "\
293 kernel-module-ipsec"
294
295#
296# packagegroup-base-wifi contain everything needed to get WiFi working
297# WEP/WPA connection needs to be supported out-of-box
298#
299SUMMARY_packagegroup-base-wifi = "WiFi support"
300RDEPENDS_packagegroup-base-wifi = "\
301 wireless-tools \
302 ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'hostap-utils', '',d)} \
303 ${@base_contains('COMBINED_FEATURES', 'pci', 'hostap-utils', '',d)} \
304 wpa-supplicant"
305
306RRECOMMENDS_packagegroup-base-wifi = "\
307 ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \
308 kernel-module-ieee80211-crypt \
309 kernel-module-ieee80211-crypt-ccmp \
310 kernel-module-ieee80211-crypt-tkip \
311 kernel-module-ieee80211-crypt-wep \
312 kernel-module-ecb \
313 kernel-module-arc4 \
314 kernel-module-crypto_algapi \
315 kernel-module-cryptomgr \
316 kernel-module-michael-mic \
317 kernel-module-aes-generic \
318 kernel-module-aes"
319
320SUMMARY_packagegroup-base-nfc = "Near Field Communication support"
321RDEPENDS_packagegroup-base-nfc = "\
322 neard"
323
324RRECOMMENDS_packagegroup-base-nfc = "\
325 kernel-module-nfc"
326
327SUMMARY_packagegroup-base-3g = "Cellular data support"
328RDEPENDS_packagegroup-base-3g = "\
329 ofono"
330
331RRECOMMENDS_packagegroup-base-3g = "\
332 kernel-module-cdc-acm \
333 kernel-module-cdc-wdm"
334
335SUMMARY_packagegroup-base-smbfs = "SMB network filesystem support"
336RRECOMMENDS_packagegroup-base-smbfs = "\
337 kernel-module-cifs \
338 kernel-module-smbfs"
339
340SUMMARY_packagegroup-base-cramfs = "cramfs filesystem support"
341RRECOMMENDS_packagegroup-base-cramfs = "\
342 kernel-module-cramfs"
343
344#
345# packagegroup-base-nfs provides ONLY client support - server is in nfs-utils package
346#
347SUMMARY_packagegroup-base-nfs = "NFS network filesystem support"
348RDEPENDS_packagegroup-base-nfs = "\
349 rpcbind"
350
351RRECOMMENDS_packagegroup-base-nfs = "\
352 kernel-module-nfs "
353
354SUMMARY_packagegroup-base-zeroconf = "Zeroconf support"
355RDEPENDS_packagegroup-base-zeroconf = "\
356 libnss-mdns \
357 avahi-daemon"
358
359SUMMARY_packagegroup-base-ipv6 = "IPv6 support"
360RDEPENDS_packagegroup-base-ipv6 = "\
361 "
362
363RRECOMMENDS_packagegroup-base-ipv6 = "\
364 kernel-module-ipv6 "
365
366SUMMARY_packagegroup-base-serial = "Serial port support"
367RDEPENDS_packagegroup-base-serial = "\
368 setserial \
369 lrzsz "
370
371SUMMARY_packagegroup-base-phone = "Cellular telephony (voice) support"
372RDEPENDS_packagegroup-base-phone = "\
373 ofono"