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