blob: c882e152665c291a60eb3e0163534ac76f60cd1e [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Merge machine and distro options to create a basic machine task/package"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05002PR = "r83"
3
4#
5# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH
6#
7PACKAGE_ARCH = "${MACHINE_ARCH}"
8
9inherit packagegroup
Patrick Williamsc124f4f2015-09-15 14:41:29 -050010
11PROVIDES = "${PACKAGES}"
12PACKAGES = ' \
13 packagegroup-base \
14 packagegroup-base-extended \
15 packagegroup-distro-base \
16 packagegroup-machine-base \
17 \
18 ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "packagegroup-base-acpi", "",d)} \
19 ${@bb.utils.contains("MACHINE_FEATURES", "alsa", "packagegroup-base-alsa", "", d)} \
20 ${@bb.utils.contains("MACHINE_FEATURES", "apm", "packagegroup-base-apm", "", d)} \
21 ${@bb.utils.contains("MACHINE_FEATURES", "ext2", "packagegroup-base-ext2", "", d)} \
22 ${@bb.utils.contains("MACHINE_FEATURES", "vfat", "packagegroup-base-vfat", "", d)} \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050023 ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "packagegroup-base-keyboard", "", d)} \
24 ${@bb.utils.contains("MACHINE_FEATURES", "pci", "packagegroup-base-pci", "",d)} \
25 ${@bb.utils.contains("MACHINE_FEATURES", "pcmcia", "packagegroup-base-pcmcia", "", d)} \
26 ${@bb.utils.contains("MACHINE_FEATURES", "phone", "packagegroup-base-phone", "", d)} \
27 ${@bb.utils.contains("MACHINE_FEATURES", "serial", "packagegroup-base-serial", "", d)} \
28 ${@bb.utils.contains("MACHINE_FEATURES", "usbgadget", "packagegroup-base-usbgadget", "", d)} \
29 ${@bb.utils.contains("MACHINE_FEATURES", "usbhost", "packagegroup-base-usbhost", "", d)} \
30 \
31 ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "packagegroup-base-bluetooth", "", d)} \
32 ${@bb.utils.contains("DISTRO_FEATURES", "wifi", "packagegroup-base-wifi", "", d)} \
33 ${@bb.utils.contains("DISTRO_FEATURES", "3g", "packagegroup-base-3g", "", d)} \
34 ${@bb.utils.contains("DISTRO_FEATURES", "nfc", "packagegroup-base-nfc", "", d)} \
35 ${@bb.utils.contains("DISTRO_FEATURES", "cramfs", "packagegroup-base-cramfs", "", d)} \
36 ${@bb.utils.contains("DISTRO_FEATURES", "ipsec", "packagegroup-base-ipsec", "", d)} \
37 ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "packagegroup-base-ipv6", "", d)} \
38 ${@bb.utils.contains("DISTRO_FEATURES", "nfs", "packagegroup-base-nfs", "", d)} \
39 ${@bb.utils.contains("DISTRO_FEATURES", "ppp", "packagegroup-base-ppp", "", d)} \
40 ${@bb.utils.contains("DISTRO_FEATURES", "smbfs", "packagegroup-base-smbfs", "", d)} \
41 ${@bb.utils.contains("DISTRO_FEATURES", "zeroconf", "packagegroup-base-zeroconf", "", d)} \
42 \
43 '
44
45# Override by distro if needed
46VIRTUAL-RUNTIME_keymaps ?= "keymaps"
47
48#
49# packagegroup-base contain stuff needed for base system (machine related)
50#
51RDEPENDS_packagegroup-base = "\
52 packagegroup-distro-base \
53 packagegroup-machine-base \
54 \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050055 module-init-tools \
56 ${@bb.utils.contains('MACHINE_FEATURES', 'apm', 'packagegroup-base-apm', '',d)} \
57 ${@bb.utils.contains('MACHINE_FEATURES', 'acpi', 'packagegroup-base-acpi', '',d)} \
58 ${@bb.utils.contains('MACHINE_FEATURES', 'keyboard', 'packagegroup-base-keyboard', '',d)} \
59 ${@bb.utils.contains('MACHINE_FEATURES', 'phone', 'packagegroup-base-phone', '',d)} \
60 \
61 ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'packagegroup-base-alsa', '',d)} \
62 ${@bb.utils.contains('COMBINED_FEATURES', 'ext2', 'packagegroup-base-ext2', '',d)} \
63 ${@bb.utils.contains('COMBINED_FEATURES', 'vfat', 'packagegroup-base-vfat', '',d)} \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050064 ${@bb.utils.contains('COMBINED_FEATURES', 'pci', 'packagegroup-base-pci', '',d)} \
65 ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'packagegroup-base-pcmcia', '',d)} \
66 ${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', 'packagegroup-base-usbgadget', '',d)} \
67 ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'packagegroup-base-usbhost', '',d)} \
68 ${@bb.utils.contains('COMBINED_FEATURES', 'bluetooth', 'packagegroup-base-bluetooth', '',d)} \
69 ${@bb.utils.contains('COMBINED_FEATURES', 'wifi', 'packagegroup-base-wifi', '',d)} \
70 ${@bb.utils.contains('COMBINED_FEATURES', '3g', 'packagegroup-base-3g', '',d)} \
71 ${@bb.utils.contains('COMBINED_FEATURES', 'nfc', 'packagegroup-base-nfc', '',d)} \
72 \
73 ${@bb.utils.contains('DISTRO_FEATURES', 'nfs', 'packagegroup-base-nfs', '',d)} \
74 ${@bb.utils.contains('DISTRO_FEATURES', 'cramfs', 'packagegroup-base-cramfs', '',d)} \
75 ${@bb.utils.contains('DISTRO_FEATURES', 'smbfs', 'packagegroup-base-smbfs', '',d)} \
76 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'packagegroup-base-ipv6', '',d)} \
77 ${@bb.utils.contains('DISTRO_FEATURES', 'ipsec', 'packagegroup-base-ipsec', '',d)} \
78 ${@bb.utils.contains('DISTRO_FEATURES', 'ppp', 'packagegroup-base-ppp', '',d)} \
79 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'packagegroup-base-zeroconf', '',d)} \
80 "
81
82
83RRECOMMENDS_packagegroup-base = "\
84 kernel-module-nls-utf8 \
85 kernel-module-input \
86 kernel-module-uinput \
87 kernel-module-rtc-dev \
88 kernel-module-rtc-proc \
89 kernel-module-rtc-sysfs \
90 kernel-module-unix"
91
92RDEPENDS_packagegroup-base-extended = "\
93 packagegroup-base \
94 ${ADD_WIFI} \
95 ${ADD_BT} \
96 ${ADD_3G} \
97 ${ADD_NFC} \
98 "
99
100ADD_WIFI = ""
101ADD_BT = ""
102ADD_3G = ""
103ADD_NFC = ""
104
105python __anonymous () {
106 # If Distro want wifi and machine feature wifi/pci/pcmcia/usbhost (one of them)
107 # then include packagegroup-base-wifi in packagegroup-base
108
Brad Bishop6e60e8b2018-02-01 10:27:11 -0500109 distro_features = set(d.getVar("DISTRO_FEATURES").split())
110 machine_features= set(d.getVar("MACHINE_FEATURES").split())
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500111
112 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):
Andrew Geissler1e34c2d2020-05-29 16:02:59 -0500113 d.setVar("ADD_BT", "${MLPREFIX}packagegroup-base-bluetooth")
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500114
115 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):
Andrew Geissler1e34c2d2020-05-29 16:02:59 -0500116 d.setVar("ADD_WIFI", "${MLPREFIX}packagegroup-base-wifi")
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500117
118 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):
Andrew Geissler1e34c2d2020-05-29 16:02:59 -0500119 d.setVar("ADD_3G", "${MLPREFIX}packagegroup-base-3g")
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500120
121 if "nfc" in distro_features and not "nfc" in machine_features and ("usbhost" in machine_features):
Andrew Geissler1e34c2d2020-05-29 16:02:59 -0500122 d.setVar("ADD_NFC", "${MLPREFIX}packagegroup-base-nfc")
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500123}
124
125#
126# packages added by distribution
127#
128SUMMARY_packagegroup-distro-base = "${DISTRO} extras"
129DEPENDS_packagegroup-distro-base = "${DISTRO_EXTRA_DEPENDS}"
130RDEPENDS_packagegroup-distro-base = "${DISTRO_EXTRA_RDEPENDS}"
131RRECOMMENDS_packagegroup-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}"
132
133#
134# packages added by machine config
135#
136SUMMARY_packagegroup-machine-base = "${MACHINE} extras"
137SUMMARY_packagegroup-machine-base = "Extra packages required to fully support ${MACHINE} hardware"
138RDEPENDS_packagegroup-machine-base = "${MACHINE_EXTRA_RDEPENDS}"
139RRECOMMENDS_packagegroup-machine-base = "${MACHINE_EXTRA_RRECOMMENDS}"
140
141SUMMARY_packagegroup-base-keyboard = "Keyboard support"
142RDEPENDS_packagegroup-base-keyboard = "\
143 ${VIRTUAL-RUNTIME_keymaps}"
144
145SUMMARY_packagegroup-base-pci = "PCI bus support"
146RDEPENDS_packagegroup-base-pci = "\
147 pciutils"
148
149SUMMARY_packagegroup-base-acpi = "ACPI support"
150RDEPENDS_packagegroup-base-acpi = "\
Brad Bishop316dfdd2018-06-25 12:45:53 -0400151 acpid"
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500152
153SUMMARY_packagegroup-base-apm = "APM support"
154RDEPENDS_packagegroup-base-apm = "\
155 ${VIRTUAL-RUNTIME_apm} \
156 apmd"
157
158SUMMARY_packagegroup-base-ext2 = "ext2 filesystem support"
159RDEPENDS_packagegroup-base-ext2 = "\
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500160 e2fsprogs-e2fsck \
161 e2fsprogs-mke2fs"
162
Andrew Geissler90fd73c2021-03-05 15:25:55 -0600163RRECOMMENDS_packagegroup-base-ext2 = "\
164 hdparm \
165 e2fsprogs"
166
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500167SUMMARY_packagegroup-base-vfat = "FAT filesystem support"
168RRECOMMENDS_packagegroup-base-vfat = "\
169 kernel-module-msdos \
170 kernel-module-vfat \
171 kernel-module-nls-iso8859-1 \
172 kernel-module-nls-cp437 \
173 dosfstools"
174
175SUMMARY_packagegroup-base-alsa = "ALSA sound support"
176RDEPENDS_packagegroup-base-alsa = "\
177 alsa-utils-alsactl \
Andrew Geissler90fd73c2021-03-05 15:25:55 -0600178 alsa-utils-amixer \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500179 ${VIRTUAL-RUNTIME_alsa-state}"
180
181RRECOMMENDS_packagegroup-base-alsa = "\
182 kernel-module-snd-mixer-oss \
183 kernel-module-snd-pcm-oss"
184
185SUMMARY_packagegroup-base-pcmcia = "PC card slot support"
186RDEPENDS_packagegroup-base-pcmcia = "\
187 pcmciautils \
188 "
189
190RRECOMMENDS_packagegroup-base-pcmcia = "\
191 kernel-module-pcmcia \
192 kernel-module-airo-cs \
193 kernel-module-pcnet-cs \
194 kernel-module-serial-cs \
195 kernel-module-ide-cs \
196 kernel-module-ide-disk \
197 ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'kernel-module-hostap-cs', '',d)} \
198 ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'kernel-module-orinoco-cs', '',d)} \
199 ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'kernel-module-spectrum-cs', '',d)}"
200
201SUMMARY_packagegroup-base-bluetooth = "Bluetooth support"
202RDEPENDS_packagegroup-base-bluetooth = "\
Brad Bishop96ff1982019-08-19 13:50:42 -0400203 bluez5 \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500204 "
205
206RRECOMMENDS_packagegroup-base-bluetooth = "\
207 kernel-module-bluetooth \
208 kernel-module-l2cap \
209 kernel-module-rfcomm \
210 kernel-module-hci-vhci \
211 kernel-module-bnep \
212 kernel-module-hidp \
213 kernel-module-hci-uart \
214 kernel-module-sco \
215 ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-hci-usb', '',d)} \
216 ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluetooth3c-cs', '',d)} \
217 ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluecard-cs', '',d)} \
218 ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluetoothuart-cs', '',d)} \
219 ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-dtl1-cs', '',d)} \
220 "
221
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500222SUMMARY_packagegroup-base-usbgadget = "USB gadget support"
223RRECOMMENDS_packagegroup-base-usbgadget = "\
224 kernel-module-pxa27x_udc \
225 kernel-module-gadgetfs \
226 kernel-module-g-file-storage \
227 kernel-module-g-serial \
228 kernel-module-g-ether"
229
230SUMMARY_packagegroup-base-usbhost = "USB host support"
231RDEPENDS_packagegroup-base-usbhost = "\
232 usbutils "
233
234RRECOMMENDS_packagegroup-base-usbhost = "\
235 kernel-module-uhci-hcd \
236 kernel-module-ohci-hcd \
237 kernel-module-ehci-hcd \
238 kernel-module-usbcore \
239 kernel-module-usbhid \
240 kernel-module-usbnet \
241 kernel-module-sd-mod \
242 kernel-module-scsi-mod \
243 kernel-module-usbmouse \
244 kernel-module-mousedev \
245 kernel-module-usbserial \
246 kernel-module-usb-storage "
247
248SUMMARY_packagegroup-base-ppp = "PPP dial-up protocol support"
249RDEPENDS_packagegroup-base-ppp = "\
250 ppp \
251 ppp-dialin"
252
253RRECOMMENDS_packagegroup-base-ppp = "\
254 kernel-module-ppp-async \
255 kernel-module-ppp-deflate \
256 kernel-module-ppp-generic \
257 kernel-module-ppp-mppe \
258 kernel-module-slhc"
259
260SUMMARY_packagegroup-base-ipsec = "IPSEC support"
261RDEPENDS_packagegroup-base-ipsec = "\
262 "
263
264RRECOMMENDS_packagegroup-base-ipsec = "\
265 kernel-module-ipsec"
266
267#
268# packagegroup-base-wifi contain everything needed to get WiFi working
269# WEP/WPA connection needs to be supported out-of-box
270#
271SUMMARY_packagegroup-base-wifi = "WiFi support"
272RDEPENDS_packagegroup-base-wifi = "\
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800273 iw \
Brad Bishopf3fd2882019-06-21 08:06:37 -0400274 wireless-regdb-static \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500275 wpa-supplicant"
276
277RRECOMMENDS_packagegroup-base-wifi = "\
278 ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \
279 kernel-module-ieee80211-crypt \
280 kernel-module-ieee80211-crypt-ccmp \
281 kernel-module-ieee80211-crypt-tkip \
282 kernel-module-ieee80211-crypt-wep \
283 kernel-module-ecb \
284 kernel-module-arc4 \
285 kernel-module-crypto_algapi \
286 kernel-module-cryptomgr \
287 kernel-module-michael-mic \
288 kernel-module-aes-generic \
289 kernel-module-aes"
290
291SUMMARY_packagegroup-base-nfc = "Near Field Communication support"
292RDEPENDS_packagegroup-base-nfc = "\
293 neard"
294
295RRECOMMENDS_packagegroup-base-nfc = "\
296 kernel-module-nfc"
297
298SUMMARY_packagegroup-base-3g = "Cellular data support"
299RDEPENDS_packagegroup-base-3g = "\
300 ofono"
301
302RRECOMMENDS_packagegroup-base-3g = "\
303 kernel-module-cdc-acm \
304 kernel-module-cdc-wdm"
305
306SUMMARY_packagegroup-base-smbfs = "SMB network filesystem support"
307RRECOMMENDS_packagegroup-base-smbfs = "\
308 kernel-module-cifs \
309 kernel-module-smbfs"
310
311SUMMARY_packagegroup-base-cramfs = "cramfs filesystem support"
312RRECOMMENDS_packagegroup-base-cramfs = "\
313 kernel-module-cramfs"
314
315#
316# packagegroup-base-nfs provides ONLY client support - server is in nfs-utils package
317#
318SUMMARY_packagegroup-base-nfs = "NFS network filesystem support"
319RDEPENDS_packagegroup-base-nfs = "\
320 rpcbind"
321
322RRECOMMENDS_packagegroup-base-nfs = "\
323 kernel-module-nfs "
324
325SUMMARY_packagegroup-base-zeroconf = "Zeroconf support"
326RDEPENDS_packagegroup-base-zeroconf = "\
327 avahi-daemon"
328RDEPENDS_packagegroup-base-zeroconf_append_libc-glibc = "\
329 libnss-mdns \
330 "
331
332SUMMARY_packagegroup-base-ipv6 = "IPv6 support"
333RDEPENDS_packagegroup-base-ipv6 = "\
334 "
335
336RRECOMMENDS_packagegroup-base-ipv6 = "\
337 kernel-module-ipv6 "
338
339SUMMARY_packagegroup-base-serial = "Serial port support"
340RDEPENDS_packagegroup-base-serial = "\
341 setserial \
342 lrzsz "
343
344SUMMARY_packagegroup-base-phone = "Cellular telephony (voice) support"
345RDEPENDS_packagegroup-base-phone = "\
346 ofono"