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