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# 270SUMMARY_packagegroup-base-wifi = "WiFi support" 271RDEPENDS_packagegroup-base-wifi = "\ 272 iw \ 273 wireless-regdb-static \ 274 wpa-supplicant" 275 276RRECOMMENDS_packagegroup-base-wifi = "\ 277 ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \ 278 kernel-module-ieee80211-crypt \ 279 kernel-module-ieee80211-crypt-ccmp \ 280 kernel-module-ieee80211-crypt-tkip \ 281 kernel-module-ieee80211-crypt-wep \ 282 kernel-module-ecb \ 283 kernel-module-arc4 \ 284 kernel-module-crypto_algapi \ 285 kernel-module-cryptomgr \ 286 kernel-module-michael-mic \ 287 kernel-module-aes-generic \ 288 kernel-module-aes" 289 290SUMMARY_packagegroup-base-nfc = "Near Field Communication support" 291RDEPENDS_packagegroup-base-nfc = "\ 292 neard" 293 294RRECOMMENDS_packagegroup-base-nfc = "\ 295 kernel-module-nfc" 296 297SUMMARY_packagegroup-base-3g = "Cellular data support" 298RDEPENDS_packagegroup-base-3g = "\ 299 ofono" 300 301RRECOMMENDS_packagegroup-base-3g = "\ 302 kernel-module-cdc-acm \ 303 kernel-module-cdc-wdm" 304 305SUMMARY_packagegroup-base-smbfs = "SMB network filesystem support" 306RRECOMMENDS_packagegroup-base-smbfs = "\ 307 kernel-module-cifs \ 308 kernel-module-smbfs" 309 310SUMMARY_packagegroup-base-cramfs = "cramfs filesystem support" 311RRECOMMENDS_packagegroup-base-cramfs = "\ 312 kernel-module-cramfs" 313 314# 315# packagegroup-base-nfs provides ONLY client support - server is in nfs-utils package 316# 317SUMMARY_packagegroup-base-nfs = "NFS network filesystem support" 318RDEPENDS_packagegroup-base-nfs = "\ 319 rpcbind" 320 321RRECOMMENDS_packagegroup-base-nfs = "\ 322 kernel-module-nfs " 323 324SUMMARY_packagegroup-base-zeroconf = "Zeroconf support" 325RDEPENDS_packagegroup-base-zeroconf = "\ 326 avahi-daemon" 327RDEPENDS_packagegroup-base-zeroconf_append_libc-glibc = "\ 328 libnss-mdns \ 329 " 330 331SUMMARY_packagegroup-base-ipv6 = "IPv6 support" 332RDEPENDS_packagegroup-base-ipv6 = "\ 333 " 334 335RRECOMMENDS_packagegroup-base-ipv6 = "\ 336 kernel-module-ipv6 " 337 338SUMMARY_packagegroup-base-serial = "Serial port support" 339RDEPENDS_packagegroup-base-serial = "\ 340 setserial \ 341 lrzsz " 342 343SUMMARY_packagegroup-base-phone = "Cellular telephony (voice) support" 344RDEPENDS_packagegroup-base-phone = "\ 345 ofono" 346