#@TYPE: Distribution#@NAME: Poky
#@DESCRIPTION: Distribution configuration for OpenedHand (Poky)

DISTRO = "poky"
DISTRO_NAME = "OpenedHand Linux (Poky)"
DISTRO_VERSION = "3.3+snapshot-${DATE}"

MAINTAINER = "Poky <poky@openedhand.com>"

USER_CLASSES ?= ""

PACKAGE_CLASSES ?= "package_ipk"
INHERIT_INSANE ?= "insane"
INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} debian poky devshell ${INHERIT_INSANE} sstate"
# For some reason, this doesn't work
# TARGET_OS ?= "linux"
# TARGET_VENDOR ?= "-poky"
# Set by POKYMODE instead
TARGET_OS = "linux"
TARGET_FPU_arm ?= "soft"
TARGET_FPU_armeb ?= "soft"
TARGET_FPU_nokia800 = "hard"

QA_LOGFILE = "${TMPDIR}/qa.log"

IMAGE_ROOTFS_SIZE_ext2 ?= "131072"

#IPK_FEED_URIS += " \
#           upgrades##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/upgrades/ \
#upgrades-${MACHINE}##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/upgrades/${MACHINE} \
#            machine##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/machine/${MACHINE} \
#               base##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/base/ \
#               libs##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/libs/ \
#            console##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/console \
#              devel##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/devel"

#RPM_FEED_URIS += " \
#           upgrades##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/upgrades/ \
#upgrades-${MACHINE}##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/upgrades/${MACHINE} \
#            machine##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/machine/${MACHINE} \
#               base##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/base/ \
#               libs##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/libs/ \
#            console##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/console \
#              devel##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/devel"

OEINCLUDELOGS = "yes"
KERNEL_CONSOLE = "ttyS0"
#DEBUG_OPTIMIZATION = "-O -g3"
#DEBUG_BUILD = "1"
#INHIBIT_PACKAGE_STRIP = "1"

# Default to TARGETOS values for EABI on arm
GLIBCTARGETOS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}"
UCLIBCTARGETOS = "linux${@['-uclibc','-uclibcgnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}"

POKYMODE ?= "default"
require conf/distro/include/poky-${POKYMODE}.inc

POKYLIBC ?= "eglibc"
require conf/distro/include/poky-${POKYLIBC}.inc

SDK_NAME = "${DISTRO}-${POKYLIBC}-${SDK_ARCH}-${TARGET_ARCH}"
SDKPATH = "/opt/${DISTRO}"

CACHE = "${TMPDIR}/cache/${POKYMODE}-${POKYLIBC}${@['', '/' + str(bb.data.getVar('MACHINE', d, 1))][bool(bb.data.getVar('MACHINE', d, 1))]}${@['', '/' + str(bb.data.getVar('SDKMACHINE', d, 1))][bool(bb.data.getVar('SDKMACHINE', d, 1))]}"

#
# Preferred providers:
#

# Virtuals:
PREFERRED_PROVIDER_virtual/db ?= "db"
PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa-xlib"
PREFERRED_PROVIDER_virtual/update-alternatives ?= "update-alternatives-cworth"
PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
PREFERRED_PROVIDER_xf86-video-intel ?= "xf86-video-intel"

VIRTUAL-RUNTIME_update-alternatives ?= "update-alternatives-cworth"

# Others:
PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers"
PREFERRED_PROVIDER_linux-libc-headers-nativesdk ?= "linux-libc-headers-nativesdk"
PREFERRED_PROVIDER_dbus-glib ?= "dbus-glib"
PREFERRED_PROVIDER_dbus-glib-native ?= "dbus-glib-native"
PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
PREFERRED_PROVIDER_matchbox-panel ?= "matchbox-panel-2"
PREFERRED_PROVIDER_opkg ?= "opkg"
PREFERRED_PROVIDER_opkg-native ?= "opkg-native"
PREFERRED_PROVIDER_opkg-nativesdk ?= "opkg-nativesdk"

require conf/distro/include/poky-fixed-revisions.inc
require conf/distro/include/preferred-xorg-versions.inc

PCMCIA_MANAGER ?= "pcmciautils"

IMAGE_LINGUAS ?= "en-gb"
LIMIT_BUILT_LOCALES ?= "en_GB"
ENABLE_BINARY_LOCALE_GENERATION ?= "1"
LOCALE_UTF8_ONLY = "1"

DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci"

POKY_EXTRA_RDEPENDS = "task-poky-boot"
POKY_EXTRA_RDEPENDS_qemuarm = "qemu-config"
POKY_EXTRA_RDEPENDS_qemuarmv6 = "qemu-config"
POKY_EXTRA_RDEPENDS_qemuarmv7 = "qemu-config"
POKY_EXTRA_RDEPENDS_qemux86 = "qemu-config"

DISTRO_EXTRA_RDEPENDS += "${POKY_EXTRA_RDEPENDS}"
DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"

IMAGE_FEATURES ?= ""

EXTRAOPKGCONFIG = "poky-feed-config-opkg"

# This is a list of packages that are used by poky to build the distribution, they are not
# directly part of the distribution. 
GPLv3_HOSTTOOLS_WHITELIST = ""
GPLv3_WHITELIST = "less gnome-common"
GPLv3_LGPLv2_WHITELIST = "libassuan gnutls libtasn1 libidn" 

# This is a list of packages that require a commercial license to ship
# product. If shipped as part of an image these packages may have 
# implications so they are disabled by default
COMMERCIAL_LICENSE ?= "lame gst-fluendo-mp3 libmad mpeg2dec ffmpeg qmmp"
COMMERCIAL_AUDIO_PLUGINS ?= ""
# COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad gst-plugins-ugly-mpegaudioparse"
COMMERCIAL_VIDEO_PLUGINS ?= ""
# COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
COMMERCIAL_QT ?= ""
# COMMERCIAL_QT ?= "qmmp"


require conf/distro/include/world-broken.inc
require conf/distro/include/distro_tracking_fields.inc

# Setup our hash policy
BB_SIGNATURE_HANDLER = "basic"
BB_HASHTASK_WHITELIST = "(.*-cross$|.*-native$|.*-cross-initial$|.*-cross-intermediate$)"
BB_HASHBASE_WHITELIST = "TMPDIR FILE PATH"