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