Merge remote-tracking branch 'oe_21/master' into vuplus-3.0
authorhschang <chang@dev3>
Thu, 12 Feb 2015 11:58:57 +0000 (20:58 +0900)
committerhschang <chang@dev3>
Thu, 12 Feb 2015 11:58:57 +0000 (20:58 +0900)
Conflicts:
meta-bsp/common/recipes/linux/linux-vuplus_3.13.5.bb
meta-openvuplus/recipes-core/meta/distro-feed-configs.bbappend
meta-openvuplus/recipes-core/tasks/task-core-boot.bb
meta-openvuplus/recipes-devtools/python/python-native_2.7.2.bbappend
meta-openvuplus/recipes-devtools/swig/swig_2.0.4.bb
meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb
meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.1.bb
meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.2.bb
meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb
meta-openvuplus/recipes-vuplus/tasks/task-vuplus-base.inc

1  2 
meta-bsp/common/conf/machine/include/vuplus.inc
meta-bsp/common/recipes/linux/linux-vuplus_3.13.5.bb
meta-openvuplus/recipes-core/meta/distro-feed-configs.bbappend
meta-openvuplus/recipes-core/packagegroup/packagegroup-core-boot.bbappend
meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb
meta-openvuplus/recipes-vuplus/images/vuplus-image.inc
meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.1.bb
meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.2.bb
meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-base.bb
meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb

@@@ -4,11 -4,9 +4,11 @@@ GLIBC_EXTRA_OECONF = "--with-tls --with
  
  MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-image"
  MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "vuplus-bootlogo"
- MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "vuplus-dvb-modules"
+ MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${@base_contains("VUPLUS_FEATURES", "dvbproxy", "vuplus-dvb-proxy", "vuplus-dvb-modules", d)}"
  MACHINE_FEATURES += "kernel26 alsa pci wifi"
  
 +MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
 +
  PREFERRED_PROVIDER_virtual/kernel = "linux-vuplus"
  
  PREFERRED_VERSION_linux-vuplus = "${VUPLUS_KERNEL_VERSION}"
@@@ -5,21 -5,25 +5,25 @@@ LIC_FILES_CHKSUM = "file://COPYING;md5=
  
  KV = "3.13.5"
  
- PR = "r5"
+ PR = "r6"
  SRCREV = ""
  
  MODULE = "linux-3.13.5"
  
+ KERNEL_CONFIG = "${@base_contains("VUPLUS_FEATURES", "dvbproxy", "${MACHINE}_defconfig_proxy", "${MACHINE}_defconfig", d)}"
  SRC_URI += "http://archive.vuplus.com/download/kernel/stblinux-${KV}.tar.bz2 \
          file://rt2800usb_fix_warn_tx_status_timeout_to_dbg.patch \
          file://linux-tcp_output.patch \
-         file://${MACHINE}_defconfig \
 -      file://${KERNEL_CONFIG} \
++        file://${KERNEL_CONFIG} \
        "
  
 -S = "${WORKDIR}/linux"
 -
+ SRC_URI += "${@base_contains("VUPLUS_FEATURES", "dvbproxy", "file://linux_dvb_adapter.patch;patch=1;pnum=1", "", d)}"
  inherit kernel
  
 +S = "${WORKDIR}/linux"
 +
  export OS = "Linux"
  KERNEL_IMAGETYPE = "vmlinux"
  KERNEL_OUTPUT = "vmlinux"
@@@ -29,7 -33,8 +33,7 @@@ KERNEL_IMAGEDEST = "tmp
  FILES_kernel-image = "/${KERNEL_IMAGEDEST}/vmlinux.gz /${KERNEL_IMAGEDEST}/autoexec.bat"
  
  do_configure_prepend() {
-         oe_machinstall -m 0644 ${WORKDIR}/${MACHINE}_defconfig ${WORKDIR}/defconfig
 -        oe_machinstall -m 0644 ${WORKDIR}/${KERNEL_CONFIG} ${S}/.config
 -        oe_runmake oldconfig
++        oe_machinstall -m 0644 ${WORKDIR}/${KERNEL_CONFIG} ${WORKDIR}/defconfig
  }
  
  kernel_do_install_append() {
  DESCRIPTION = "Enigma2 is an experimental, but useful framebuffer-based frontend for DVB functions"
 -MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
 +MAINTAINER = "vuplus team"
  LICENSE = "GPLv2"
  LIC_FILES_CHKSUM = "file://LICENSE;md5=c9e255efa454e0155c1fd758df7dcaf3"
 -DEPENDS = "jpeg libungif libmad libpng libsigc++-1.2 gettext-native \
 -      dreambox-dvbincludes freetype libdvbsi++ python swig-native \
 -      libfribidi libxmlccwrap libdreamdvd gstreamer gst-plugin-dvbmediasink \
 -      gst-plugins-bad gst-plugins-good gst-plugins-ugly python-wifi \
 -      hostap-daemon bridge-utils ntfs-3g dosfstools util-linux \
 -"
  
 -RDEPENDS_GST= "gst-plugins-base-decodebin gst-plugins-base-decodebin2 gst-plugins-base-app gst-plugins-bad-fragmented \
 -              gst-plugins-good-id3demux gst-plugins-ugly-mad gst-plugins-base-ogg gst-plugins-base-playbin \
 -              gst-plugins-base-typefindfunctions gst-plugins-base-audioconvert gst-plugins-base-audioresample \
 -              gst-plugins-good-wavparse gst-plugins-ugly-mpegstream \
 -              gst-plugins-good-flac gst-plugin-dvbmediasink gst-plugins-bad-mpegdemux gst-plugins-ugly-dvdsub \
 -              gst-plugins-good-souphttpsrc gst-plugins-ugly-mpegaudioparse gst-plugins-base-subparse \
 -              gst-plugins-good-apetag gst-plugins-good-icydemux gst-plugins-good-autodetect gst-plugins-good-flv \
 -              gst-plugins-bad-mms gst-plugins-ugly-asf gst-plugins-bad-faad \
 -"
 +DEPENDS = " \
 +        jpeg \
 +        giflib \
 +        libmad \
 +        libpng \
 +        libsigc++-1.2 \
 +        gettext-native \
 +        dreambox-dvbincludes \
 +        freetype \
 +        libdvbsi++ \
 +        python \
 +        swig-native \
 +        libfribidi \
 +        libxml2 \
 +        libxmlccwrap \
 +        libdreamdvd \
 +        ${@base_contains("GST_VERSION", "1.0", "gstreamer1.0-plugins-base gstreamer1.0", "gst-plugins-base gstreamer", d)} \
 +        python-wifi \
 +        hostapd \
 +        bridge-utils \
 +        ntfs-3g \
 +        dosfstools \
 +        util-linux \
 +      "
  
 -RDEPENDS_${PN} = "python-codecs python-core python-lang python-re python-threading \
 -              python-xml python-fcntl python-stringold python-pickle python-netclient \
 -              glibc-gconv-iso8859-15 ethtool parted \
 -              ${RDEPENDS_GST} \
 -"
 +RDEPENDS_${PN} = " \
 +      alsa-conf \
 +        ethtool \
 +      glibc-gconv-iso8859-15 \
 +        parted \
 +      ${PYTHON_RDEPS} \
 +      ${GST_RDEPENDS} \
 +      "
  
 -GST_RTSP_RDEPENDS = "gst-plugins-good-udp gst-plugins-good-rtsp gst-plugins-good-rtp gst-plugins-good-rtpmanager"
 -GST_ALSA_RDEPENDS = "gst-plugins-base-alsa alsa-conf"
 -GST_MISC_RDEPENDS = "gst-plugins-good-matroska gst-plugins-good-isomp4 gst-plugins-base-vorbis gst-plugins-good-audioparsers"
 -GST_DVD_RDEPENDS = "gst-plugins-bad-cdxaparse gst-plugins-ugly-cdio gst-plugins-bad-vcdsrc"
 -GST_BASE_RDEPENDS = "${GST_ALSA_RDEPENDS} ${GST_MISC_RDEPENDS} ${GST_RTSP_RDEPENDS}"
 +PYTHON_RDEPS = " \
 +        python-codecs \
 +        python-core \
 +        python-lang \
 +        python-re \
 +        python-threading \
 +        python-xml \
 +        python-fcntl \
 +        python-stringold \
 +        python-pickle \
 +        python-netclient \
 +      "
  
 -RDEPENDS_append_vuplus = " ${GST_BASE_RDEPENDS} ${GST_DVD_RDEPENDS} gst-plugins-good-avi"
 +GST_RDEPENDS = "${@base_contains('GST_VERSION', '1.0', ' \
 +      gstreamer1.0-plugin-dvbmediasink \
 +      gstreamer1.0-plugin-subsink \
 +      gstreamer1.0-plugins-base-alsa \
 +      gstreamer1.0-plugins-base-app \
 +      gstreamer1.0-plugins-base-audioconvert \
 +      gstreamer1.0-plugins-base-audioresample \
 +      gstreamer1.0-plugins-base-ogg \
 +      gstreamer1.0-plugins-base-playback \
 +      gstreamer1.0-plugins-base-subparse \
 +      gstreamer1.0-plugins-base-typefindfunctions \
 +      gstreamer1.0-plugins-base-vorbis \
 +      gstreamer1.0-plugins-good-apetag \
 +      gstreamer1.0-plugins-good-audioparsers \
 +      gstreamer1.0-plugins-good-autodetect \
 +      gstreamer1.0-plugins-good-avi \
 +      gstreamer1.0-plugins-good-flac \
 +      gstreamer1.0-plugins-good-flv \
 +      gstreamer1.0-plugins-good-icydemux \
 +      gstreamer1.0-plugins-good-id3demux \
 +      gstreamer1.0-plugins-good-isomp4 \
 +      gstreamer1.0-plugins-good-matroska \
 +      gstreamer1.0-plugins-good-rtp \
 +      gstreamer1.0-plugins-good-rtpmanager \
 +      gstreamer1.0-plugins-good-rtsp \
 +      gstreamer1.0-plugins-good-souphttpsrc \
 +      gstreamer1.0-plugins-good-udp \
 +      gstreamer1.0-plugins-good-wavparse \
 +      gstreamer1.0-plugins-bad-faad \
 +      gstreamer1.0-plugins-bad-fragmented \
 +      gstreamer1.0-plugins-bad-videoparsersbad \
 +      gstreamer1.0-plugins-bad-mms \
 +      gstreamer1.0-plugins-bad-mpegpsdemux \
 +      gstreamer1.0-plugins-bad-mpegtsdemux \
 +      gstreamer1.0-plugins-ugly-asf \
 +      gstreamer1.0-plugins-ugly-cdio \
 +      gstreamer1.0-plugins-ugly-dvdsub \
 +      gstreamer1.0-plugins-ugly-mad \
 +      gstreamer1.0-plugins-ugly-amrnb \
 +      gstreamer1.0-plugins-ugly-amrwbdec \
 +      ', ' \
 +      gst-plugin-dvbmediasink \
 +      gst-plugin-subsink \
 +      gst-plugins-base-alsa \
 +      gst-plugins-base-app \
 +      gst-plugins-base-audioconvert \
 +      gst-plugins-base-audioresample \
 +      gst-plugins-base-decodebin \
 +      gst-plugins-base-decodebin2 \
 +      gst-plugins-base-ogg \
 +      gst-plugins-base-playbin \
 +      gst-plugins-base-subparse \
 +      gst-plugins-base-typefindfunctions \
 +      gst-plugins-base-vorbis \
 +      gst-plugins-good-apetag \
 +      gst-plugins-good-audioparsers \
 +      gst-plugins-good-autodetect \
 +      gst-plugins-good-avi \
 +      gst-plugins-good-flac \
 +      gst-plugins-good-flv \
 +      gst-plugins-good-icydemux \
 +      gst-plugins-good-id3demux \
 +      gst-plugins-good-isomp4 \
 +      gst-plugins-good-matroska \
 +      gst-plugins-good-rtp \
 +      gst-plugins-good-rtpmanager \
 +      gst-plugins-good-rtsp \
 +      gst-plugins-good-souphttpsrc \
 +      gst-plugins-good-udp \
 +      gst-plugins-good-wavparse \
 +      gst-plugins-bad-cdxaparse \
 +      gst-plugins-bad-faad \
 +      gst-plugins-bad-mms \
 +      gst-plugins-bad-mpegdemux \
 +      gst-plugins-bad-vcdsrc \
 +      gst-plugins-bad-fragmented \
 +      gst-plugins-ugly-asf \
 +      gst-plugins-ugly-cdio \
 +      gst-plugins-ugly-dvdsub \
 +      gst-plugins-ugly-mad \
 +      gst-plugins-ugly-mpegstream \
 +      gst-plugins-ugly-mpegaudioparse \
 +      gst-plugins-ugly-amrnb \
 +      gst-plugins-ugly-amrwbdec \
 +      ', d)}"
  
  # 'forward depends' - no two providers can have the same PACKAGES_DYNAMIC, however both
  # enigma2 and enigma2-plugins produce enigma2-plugin-*.
@@@ -169,12 -66,9 +169,12 @@@ SUMMARY_enigma2-plugin-systemplugins-ne
  RDEPENDS_enigma2-plugin-extensions-webbrowser = "python-gdata libqtwebkite4 vuplus-webbrowser-utils qt4-embedded-fonts qt4-embedded-plugin-imageformat-gif qt4-embedded-plugin-imageformat-ico qt4-embedded-plugin-imageformat-jpeg qt4-embedded-plugin-imageformat-mng qt4-embedded-plugin-imageformat-svg qt4-embedded-plugin-imageformat-tiff qt4-embedded-plugin-iconengine-svgicon "
  SUMMARY_enigma2-plugin-systemplugins-crashreport = "automatically send crashlogs to Vu+"
  RDEPENDS_enigma2-plugin-systemplugins-crashreport = "python-twisted-mail python-twisted-names python-compression python-mime python-email"
 -RDEPENDS_enigma2-plugin-systemplugins-wirelessaccesspoint = "hostap-daemon bridge-utils"
 +RDEPENDS_enigma2-plugin-systemplugins-wirelessaccesspoint = "hostapd bridge-utils"
  
 -RDEPENDS_enigma2-plugin-extensions-streamtv = "librtmp0 gst-plugins-bad-rtmp "
 +RDEPENDS_enigma2-plugin-extensions-streamtv = " \
 +      librtmp1 \
 +      ${@base_contains("GST_VERSION", "1.0", "gstreamer1.0-plugins-bad-rtmp", "gst-plugins-bad-rtmp", d)} \
 +"
  
  DEPENDS += "djmount minidlna"
  RDEPENDS_enigma2-plugin-extensions-dlnaserver = "minidlna "
@@@ -194,74 -88,71 +194,77 @@@ RDEPENDS_enigma2-plugin-systemplugins-n
  RDEPENDS_enigma2-plugin-systemplugins-backupsuitehdd = "mtd-utils-mkfs.ubifs mtd-utils-nanddump mtd-utils-ubinize"
  RDEPENDS_enigma2-plugin-systemplugins-backupsuiteusb = "enigma2-plugin-extensions-backupsuitehdd"
  
 -RDEPENDS_append_vuplus += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libgles libvugles2" , "", d)}"
+ DEPENDS += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libgles libvugles2" , "", d)}"
++RDEPENDS_${PN}_append_vuplus += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libgles libvugles2" , "", d)}"
  PN = "enigma2"
- PR = "r98"
 -PR = "r95"
++PR = "r99"
  
 -SRCDATE = "20121128"
 -#SRCDATE is NOT used by git to checkout a specific revision
 -#but we need it to build a ipk package version
 -#when you like to checkout a specific revision of e2 you need
 -#have to specify a commit id or a tag name in SRCREV
 +inherit gitpkgv pythonnative
  
  ####################################################
 -BRANCH = "vuplus_experimental"
 -PV = "experimental-git${SRCDATE}"
 -SRCREV = ""
 +PV = "experimental-git${SRCPV}"
 +PKGV = "experimental-git${GITPKGV}"
- BRANCH = "gst10"
++BRANCH = "vuplus_experimental_oe30"
 +SRCREV = "${AUTOREV}"
  ####################################################
  
  # enigma2_vuplus_mediaplayer.patch is for trick-play in media player
  
 -SRC_URI = "git://code.vuplus.com/git/dvbapp.git;protocol=http;branch=${BRANCH};tag=${SRCREV} \
 -           file://enigma2_vuplus_skin.patch;patch=1;pnum=1 \
 -           file://enigma2_vuplus_mediaplayer.patch;patch=1;pnum=1 \
 -         file://enigma2_vuplus_mediaplayer_subtitle.patch;patch=1;pnum=1 \
 -           file://enigma2_vuplus_remove_dreambox_enigma.patch;patch=1;pnum=1 \
 -           file://enigma2_vuplus_vfd_mode.patch;patch=1;pnum=1 \
 -           file://enigma2_vuplus_addlibpythondeps.patch;patch=1;pnum=1 \
 -         file://enigma2_vuplus_pluginbrowser.patch;striplevel=1 \
 -           file://enigma2_vuplus_proc_oom_score_adj.patch;striplevel=1 \
 -           file://enigma2_vuplus_fix_standby_name.patch \
 -           file://enigma2_vuplus_fix_standby_name_skin.patch \
 -           file://MyriadPro-Regular.otf \
 -           file://MyriadPro-Semibold.otf \
 -           file://MyriadPro-SemiboldIt.otf \
 -           file://750S \
 -           file://Vu_HD \
 -           file://number_key \
 -           "
 -
 -SRC_URI_append = " ${@base_contains("VUPLUS_FEATURES", "vuwlan", "file://enigma2_vuplus_networksetup.patch;patch=1;pnum=1", "", d)}"
 +#SRC_URI = "git://code.vuplus.com/git/dvbapp.git;protocol=http;branch=${BRANCH} 
 +SRC_URI = "git:///home/joseph/work2/work/enigma2;protocol=file;branch=${BRANCH} \
 +      file://enigma2_vuplus_skin.patch \
 +      file://enigma2_vuplus_mediaplayer.patch \
 +      file://enigma2_vuplus_remove_dreambox_enigma.patch \
 +      file://enigma2_vuplus_vfd_mode.patch \
 +      file://enigma2_vuplus_pluginbrowser.patch \
 +      file://enigma2_vuplus_proc_oom_score_adj.patch \
 +        file://enigma2_vuplus_fix_standby_name.patch \
 +        file://enigma2_vuplus_fix_standby_name_skin.patch \
 +      file://enigma2_vuplus_epng.patch \
 +      file://enigma2_vuplus_eptrlist_insert.patch \
 +      file://enigma2_vuplus_conversion_error.patch \
 +      file://enigma2_vuplus_default_arg_error.patch \
 +      file://enigma2_vuplus_wrong_boolean_type.patch \
 +      file://enigma2_vuplus_disable_subtitle_sync_mode_bug.patch \
 +      file://MyriadPro-Regular.otf \
 +      file://MyriadPro-Semibold.otf \
 +      file://MyriadPro-SemiboldIt.otf \
 +      file://750S \
 +      file://Vu_HD \
 +      file://number_key \
 +"
 +
 +SRC_URI_append = " ${@base_contains('GST_VERSION', '1.0', '', 'file://enbalesubtitleshack.patch', d)}"
 +
 +SRC_URI_append = " ${@base_contains("VUPLUS_FEATURES", "vuwlan", "file://enigma2_vuplus_networksetup.patch", "", d)}"
 +
 +LDFLAGS_prepend = "${@base_contains('GST_VERSION', '1.0', ' -lxml2 ', '', d)}"
  
  def change_po():
 -        import os
 -        try:
 -                os.system("find ./ -name \"*.po\" > ./po_list")
 -                os.system("find ./ -name \"*.pot\" >> ./po_list")
 -                po_list = []
 -                po_list = open('po_list','r+').readlines()
 -                for x in po_list:
 -                        changeword(x)
 -                os.system('rm po_list')
 -        except:
 -                print 'word patch error '
 -                return
 +    import os
 +    try:
 +        os.system("find ./ -name \"*.po\" > ./po_list")
 +        os.system("find ./ -name \"*.pot\" >> ./po_list")
 +        po_list = []
 +        po_list = open('po_list','r+').readlines()
 +        for x in po_list:
 +            changeword(x)
 +        os.system('rm po_list')
 +    except:
 +        print 'word patch error '
 +        return
  
  def changeword(file):
 -        fn = file[:-1]
 -        fnn = file[:-1]+'_n'
 -        cmd = "sed s/Dreambox/STB/g "+fn+" > "+fnn
 -        os.system(cmd)
 -        cmd1 = "mv "+fnn+" "+fn
 -        os.system(cmd1)
 +    fn = file[:-1]
 +    fnn = file[:-1]+'_n'
 +    cmd = "sed s/Dreambox/STB/g "+fn+" > "+fnn
 +    os.system(cmd)
 +    cmd1 = "mv "+fnn+" "+fn
 +    os.system(cmd1)
  
  do_unpack_append(){
 -        change_po()
 +    change_po()
  }
  
  S = "${WORKDIR}/git"
@@@ -271,48 -162,50 +274,49 @@@ FILES_${PN}-meta = "${datadir}/meta
  PACKAGES += "${PN}-meta"
  PACKAGE_ARCH = "${MACHINE_ARCH}"
  
 -inherit autotools pkgconfig
 +inherit autotools-brokensep pkgconfig pythonnative
  
  do_configure_prepend() {
        git checkout ${BRANCH}
  }
  
  do_compile_prepend_vuplus() {
 -        install -m 0755 ${WORKDIR}/MyriadPro-Regular.otf ${S}/data/fonts/
 -        install -m 0755 ${WORKDIR}/MyriadPro-Semibold.otf ${S}/data/fonts/
 -        install -m 0755 ${WORKDIR}/MyriadPro-SemiboldIt.otf ${S}/data/fonts/
 -        install -m 0755 ${WORKDIR}/750S/*.png ${S}/data/750S/
 -        install -m 0755 ${WORKDIR}/750S/buttons/*.png ${S}/data/750S/buttons/
 -        install -m 0755 ${WORKDIR}/750S/countries/*.png ${S}/data/750S/countries/
 -        install -m 0755 ${WORKDIR}/750S/icons/*.png ${S}/data/750S/icons/
 -        install -m 0755 ${WORKDIR}/750S/menu/*.png ${S}/data/750S/menu/
 -        install -m 0755 ${WORKDIR}/750S/spinner/*.png ${S}/data/skin_default/spinner/
 -        install -m 0755 ${WORKDIR}/Vu_HD/*.png ${S}/data/Vu_HD/
 -        install -m 0755 ${WORKDIR}/Vu_HD/buttons/*.png ${S}/data/Vu_HD/buttons/
 -        install -m 0755 ${WORKDIR}/Vu_HD/countries/*.png ${S}/data/Vu_HD/countries/
 -        install -m 0755 ${WORKDIR}/Vu_HD/icons/*.png ${S}/data/Vu_HD/icons/
 -        install -m 0755 ${WORKDIR}/Vu_HD/menu/*.png ${S}/data/Vu_HD/menu/
 -        install -m 0755 ${WORKDIR}/number_key/*.png ${S}/data/skin_default/buttons/
 +      install -m 0755 ${WORKDIR}/MyriadPro-Regular.otf ${S}/data/fonts/
 +      install -m 0755 ${WORKDIR}/MyriadPro-Semibold.otf ${S}/data/fonts/
 +      install -m 0755 ${WORKDIR}/MyriadPro-SemiboldIt.otf ${S}/data/fonts/
 +      install -m 0755 ${WORKDIR}/750S/*.png ${S}/data/750S/
 +      install -m 0755 ${WORKDIR}/750S/buttons/*.png ${S}/data/750S/buttons/
 +      install -m 0755 ${WORKDIR}/750S/countries/*.png ${S}/data/750S/countries/
 +      install -m 0755 ${WORKDIR}/750S/icons/*.png ${S}/data/750S/icons/
 +      install -m 0755 ${WORKDIR}/750S/menu/*.png ${S}/data/750S/menu/
 +      install -m 0755 ${WORKDIR}/750S/spinner/*.png ${S}/data/skin_default/spinner/
 +      install -m 0755 ${WORKDIR}/Vu_HD/*.png ${S}/data/Vu_HD/
 +      install -m 0755 ${WORKDIR}/Vu_HD/buttons/*.png ${S}/data/Vu_HD/buttons/
 +      install -m 0755 ${WORKDIR}/Vu_HD/countries/*.png ${S}/data/Vu_HD/countries/
 +      install -m 0755 ${WORKDIR}/Vu_HD/icons/*.png ${S}/data/Vu_HD/icons/
 +      install -m 0755 ${WORKDIR}/Vu_HD/menu/*.png ${S}/data/Vu_HD/menu/
 +      install -m 0755 ${WORKDIR}/number_key/*.png ${S}/data/skin_default/buttons/
  }
  
  EXTRA_OECONF = " \
 +        --enable-dependency-tracking \
 +      ${@base_contains("GST_VERSION", "1.0", "--with-gstversion=1.0", "", d)} \
        ${@base_contains("VUPLUS_FEATURES", "display-text-vfd", "--with-display-text-vfd" , "", d)} \
        ${@base_contains("VUPLUS_FEATURES", "display-graphic-vfd", "--with-display-graphic-vfd" , "", d)} \
        ${@base_contains("VUPLUS_FEATURES", "right-half-vfd-skin", "--with-set-right-half-vfd-skin" , "", d)} \
        ${@base_contains("VUPLUS_FEATURES", "enable-rc-kbd", "--with-remote-keyboard" , "", d)} \
 -        BUILD_SYS=${BUILD_SYS} \
 -        HOST_SYS=${HOST_SYS} \
 -        STAGING_INCDIR=${STAGING_INCDIR} \
 -        STAGING_LIBDIR=${STAGING_LIBDIR} \
+       ${@base_contains("VUPLUS_FEATURES", "uianimation", "--with-libvugles2" , "", d)} \
 +      BUILD_SYS=${BUILD_SYS} \
 +      HOST_SYS=${HOST_SYS} \
 +      STAGING_INCDIR=${STAGING_INCDIR} \
 +      STAGING_LIBDIR=${STAGING_LIBDIR} \
  "
  
  python populate_packages_prepend() {
 -        enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
 -        do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/[a-zA-Z0-9_]+.*$', 'enigma2-plugin-%s', '%s', recursive=True, match_path=True, prepend=True)
 -        do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/.*\.la$', 'enigma2-plugin-%s-dev', '%s (development)', recursive=True, match_path=True, prepend=True)
 -        do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/.*\.a$', 'enigma2-plugin-%s-staticdev', '%s (static development)', recursive=True, match_path=True, prepend=True)
 -        do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/(.*/)?\.debug/.*$', 'enigma2-plugin-%s-dbg', '%s (debug)', recursive=True, match_path=True, prepend=True)
 +    enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
 +    do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/[a-zA-Z0-9_]+.*$', 'enigma2-plugin-%s', '%s', recursive=True, match_path=True, prepend=True)
 +    do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/.*\.la$', 'enigma2-plugin-%s-dev', '%s (development)', recursive=True, match_path=True, prepend=True)
 +    do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/.*\.a$', 'enigma2-plugin-%s-staticdev', '%s (static development)', recursive=True, match_path=True, prepend=True)
 +    do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/(.*/)?\.debug/.*$', 'enigma2-plugin-%s-dbg', '%s (debug)', recursive=True, match_path=True, prepend=True)
  }
  
 -RCONFLICTS_${PN} = "dreambox-keymaps"
 -RREPLACES_${PN} = "dreambox-keymaps tuxbox-tuxtxt-32bpp (<= 0.0+cvs20090130-r1)"
 -
@@@ -18,20 -18,25 +18,23 @@@ DEPENDS += " 
  DEPENDS += " \
        ${@base_contains("VUPLUS_FEATURES", "webmanual", "vuplus-manual", "", d)} \
  "
+ DEPENDS += " \
+       ${@base_contains("VUPLUS_FEATURES", "xbmc", "enigma2-plugin-extensions-xbmc", "", d)} \
+ "
  
  #BAD_RECOMMENDATIONS += "libnss-mdns wpa-supplicant-passphrase"
  BAD_RECOMMENDATIONS += "libnss-mdns"
  
 -TASK_CORE_BOOT ?= "task-core-boot"
 -TASK_VUPLUS_BASE ?= "task-vuplus-base"
 -TASK_VUPLUS_ENIGMA ?= "task-vuplus-enigma2"
 -TASK_ESSENCIAL ?= "task-vuplus-essential"
 -TASK_VUPLUS_DVBAPI ?= "task-vuplus-dvbapi"
 +PACKAGEGROUP_CORE_BOOT ?= "packagegroup-core-boot"
 +PACKAGEGROUP_VUPLUS_BASE ?= "packagegroup-vuplus-base"
 +PACKAGEGROUP_VUPLUS_ENIGMA ?= "packagegroup-vuplus-enigma2"
 +PACKAGEGROUP_ESSENCIAL ?= "packagegroup-vuplus-essential"
  
  IMAGE_INSTALL = " \
 -      ${TASK_CORE_BOOT} ${ROOTFS_PKGMANAGE} \
 -      ${TASK_VUPLUS_BASE} \
 -      ${TASK_VUPLUS_DVBAPI} \
 -      ${TASK_VUPLUS_ENIGMA} \
 -      ${TASK_ESSENCIAL} \
 +      ${PACKAGEGROUP_CORE_BOOT} ${ROOTFS_PKGMANAGE} \
 +      ${PACKAGEGROUP_VUPLUS_BASE} \
 +      ${PACKAGEGROUP_VUPLUS_ENIGMA} \
 +      ${PACKAGEGROUP_ESSENCIAL} \
  "
  
  # enable online package management
@@@ -3,7 -3,7 +3,7 @@@ PRIORITY = "required
  LICENSE = "CLOSED"
  
  DEPENDS = "tslib mpfr gmp"
- RDEPENS_${PN} = "tslib-conf libts-1.0-0 libsysfs2 libgmp3 libmpfr1 vuplus-dvb-modules"
 -RDEPENS = "tslib-conf libts-1.0-0 libsysfs2 libgmp3 libmpfr1"
++RDEPENS_${PN} = "tslib-conf libts-1.0-0 libsysfs2 libgmp3 libmpfr1"
  
  SRC_DATE = "20140711_0"
  
@@@ -3,11 -3,11 +3,11 @@@ PRIORITY = "required
  LICENSE = "CLOSED"
  
  DEPENDS = "mpfr gmp"
- RDEPENDS_${PN} = "sysfsutils vuplus-dvb-modules"
 -RDEPENDS = "sysfsutils"
++RDEPENDS_${PN} = "sysfsutils"
  
  SRC_DATE = "20150106_0"
  
- PR = "r1_${SRC_DATE}"
+ PR = "r2_${SRC_DATE}"
  SRC_URI = ""
  
  INHIBIT_PACKAGE_STRIP = "1"
@@@ -58,10 -58,10 +58,10 @@@ do_install() 
  }
  
  package_do_shlibs_append() {
 -      deps = "${PKGDEST}/${PN}.shlibdeps"
 -      tmp = "/tmp/.${PN}.shlibdeps"
 -      os.system("sed -e '/vbrowser/d' %s > %s" % (deps, tmp))
 -      os.system("cp %s %s" % (tmp, deps))
 +    deps = "${PKGDEST}/${PN}.shlibdeps"
 +    tmp = "/tmp/.${PN}.shlibdeps"
 +    os.system("sed -e '/vbrowser/d' %s > %s" % (deps, tmp))
 +    os.system("cp %s %s" % (tmp, deps))
  }
  
  do_package_qa() {
index 5b706e3,0000000..1cb9999
mode 100644,000000..100644
--- /dev/null
@@@ -1,85 -1,0 +1,86 @@@
- PR = "r0"
 +SUMMARY = "Vuplus: Base set of packages for Vuplus."
 +SECTION = "vuplus/base"
 +LICENSE = "GPLv2"
 +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
++PR = "r1"
 +
 +inherit packagegroup
 +
 +VUPLUS_BASE_ESSENTIAL = "\
 +    autofs \
 +    vuplus-compat \
 +    e2fsprogs-e2fsck \
 +    e2fsprogs-mke2fs \
 +    fakelocale \
 +    opkg \
 +    tzdata \
 +    tuxbox-common \
 +    util-linux-sfdisk \
 +    vsftpd \
 +    mtd-utils-mkfs.ubifs \
 +    mtd-utils-mkfs.jffs2 \
 +    mtd-utils-nandwrite \
 +    mtd-utils-nanddump \
 +    mtd-utils-flash-eraseall \
 +    mtd-utils-flash-erase \
 +    mtd-utils-ubinize \
 +    mtd-utils-ubiformat \
 +    mtd-utils-ubiattach \
 +    mtd-utils-ubidetach \
 +    mtd-utils-ubimkvol \
 +    hdparm \
 +    usbtunerhelper \
 +    killall \
 +    openresolv \
++    ${@base_contains("VUPLUS_FEATURES", "dvbproxy", "libgles vuplus-platform-util", "", d)} \
 +"
 +
 +VUPLUS_FIRMWARE_DVB = " \
 +    firmware-dvb-af9005 \
 +    firmware-dvb-fe-af9013 \
 +    firmware-dvb-usb-af9015 \
 +    firmware-dvb-usb-af9035 \
 +    firmware-dvb-usb-avertv-a800 \
 +    firmware-dvb-usb-dib0700 \
 +    firmware-dvb-usb-dibusb \
 +    firmware-dvb-usb-digitv \
 +    firmware-dvb-usb-nova-t-usb2 \
 +    firmware-dvb-usb-sms1xxx-nova-dvbt \
 +    firmware-dvb-usb-sms1xxx-hcw-dvbt \
 +    firmware-dvb-usb-ttusb-budget \
 +    firmware-dvb-usb-umt-010 \
 +    firmware-dvb-usb-xc5000 \
 +    firmware-dvb-usb-wt220u-zl0353 \
 +    firmware-drxd-a2 \
 +"
 +
 +VUPLUS_BASE_RECOMMENDS = "\
 +    dropbear \
 +    vuplus-vucamd \
 +    sambaserver \
 +    openvpn \
 +    zeroconf \
 +    ${@base_contains("VUPLUS_FEATURES", "vuplus-fpga-update", "vuplus-fpga-update", "", d)} \
 +    ${@base_contains("VUPLUS_FEATURES", "wol", "vuplus-coldboot", "", d)} \
 +"
 +
 +VUPLUS_BASE_OPTIONAL_RECOMMENDS = "\
 +    hddtemp \
 +    joe \
 +    mc \
 +    ncdu \
 +    ppp \
 +    smartmontools \
 +    avahi-daemon \
 +    curlftpfs \
 +"
 +
 +RDEPENDS_${PN} += "\
 +    ${VUPLUS_BASE_ESSENTIAL} \
 +    ${VUPLUS_FIRMWARE_DVB} \
 +"
 +
 +RRECOMMENDS_${PN} += "\
 +    ${VUPLUS_BASE_RECOMMENDS} \
 +    ${VUPLUS_BASE_OPTIONAL_RECOMMENDS} \
 +"
index eac1aae,0000000..3a6edf0
mode 100644,000000..100644
--- /dev/null
@@@ -1,73 -1,0 +1,75 @@@
- PR = "r2"
 +SUMMARY = "Enigma2 set of packages for Vuplus"
 +SECTION = "vuplus/base"
 +LICENSE = "GPLv2"
 +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
++PR = "r3"
 +
 +PACKAGE_ARCH = "${MACHINE_ARCH}"
 +
 +inherit packagegroup
 +
 +RDEPENDS_${PN} += " \
 +  enigma2 \
 +  enigma2-defaultservices \
 +  enigma2-streamproxy \
 +  tuxbox-tuxtxt-32bpp \
 +  showiframe \
 +  enigma2-meta \
 +  enigma2-plugins-meta \
 +  enigma2-skins-meta \
 +  enigma2-plugin-extensions-mediascanner \
 +  enigma2-plugin-systemplugins-crashreport \
 +  enigma2-plugin-extensions-remotestreamconvert \
 +  enigma2-plugin-systemplugins-zappingmodeselection \
 +  enigma2-plugin-extensions-addstreamurl \
 +  enigma2-plugin-systemplugins-devicemanager \
 +  enigma2-plugin-systemplugins-videomode \
 +  enigma2-plugin-systemplugins-netdrive \
 +"
 +
 +RRECOMMENDS_${PN} += " \
 +  glib-networking \
 +  dvbsnoop \
 +"
 +
 +RDEPENDS_${PN} += " \
 +  aio-grab \
 +  python-misc python-shell python-ctypes \
 +  python-crypt \
 +  python-netserver \
 +  python-twisted-core \
 +  python-twisted-protocols \
 +  python-twisted-web \
 +  ${@base_contains("MACHINE_FEATURES", "wifi", "packagegroup-vuplus-wlan", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "webmanual", "vuplus-manual", "", d)} \
 +  enigma2-plugin-extensions-mediaplayer \
 +  enigma2-plugin-extensions-pictureplayer \
 +  enigma2-plugin-systemplugins-skinselector \
 +  enigma2-plugin-systemplugins-ui3dsetup \
 +  enigma2-plugin-systemplugins-uipositionsetup \
 +  enigma2-plugin-systemplugins-hdmicec \
 +  enigma2-plugin-extensions-openwebif \
 +  ${@base_contains("MACHINE_FEATURES", "wifi", "enigma2-plugin-systemplugins-wirelessaccesspoint", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "fan_simple", "enigma2-plugin-systemplugins-fancontrol","", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "fan_manual", "enigma2-plugin-systemplugins-manualfancontrol", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "rc_code", "enigma2-plugin-systemplugins-remotecontrolcode", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "led", "enigma2-plugin-systemplugins-ledbrightnesssetup", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "blindscan", "enigma2-plugin-systemplugins-blindscan  vuplus-blindscan-utils", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "fpgaupgrade", "enigma2-plugin-systemplugins-fpgaupgrade", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "firmwareupgrade", "enigma2-plugin-systemplugins-firmwareupgrade", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "hbbtv", "enigma2-plugin-extensions-hbbtv", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "streamtv", "enigma2-plugin-extensions-streamtv", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "dlna", "enigma2-plugin-extensions-dlnaserver enigma2-plugin-extensions-dlnabrowser", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "3gmodem", "enigma2-plugin-systemplugins-3gmodemmanager", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "autoshutdown", "enigma2-plugin-systemplugins-autoshutdown", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "transcoding", "enigma2-plugin-systemplugins-transcodingsetup enigma2-transtreamproxy", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "wol", "enigma2-plugin-systemplugins-wolsetup", "", d)} \
 +  ${@base_conditional("MACHINE", "vuduo2", "duo2lcd4linux lcd4linuxsupport", "", d)} \
 +  ${@base_conditional("MACHINE", "vuduo2", "vuplus-checkvfd", "", d)} \
 +  ${@base_contains("VUPLUS_FEATURES", "audioeffect", "enigma2-plugin-systemplugins-audioeffect", "", d)} \
++  ${@base_contains("VUPLUS_FEATURES", "uianimation", "enigma2-plugin-systemplugins-animationsetup", "", d)} \
++  ${@base_contains("VUPLUS_FEATURES", "xbmc", "enigma2-plugin-extensions-xbmc", "", d)} \
 +"
 +
 +PACKAGE_ARCH = "${MACHINE_ARCH}"
 +