From 2a80e6367491192fc4923415700076997b8986a9 Mon Sep 17 00:00:00 2001 From: kos Date: Fri, 4 Jan 2013 19:34:34 +0900 Subject: [PATCH] update packages. --- .../conf/machine/include/vuplus-mips32el.inc | 3 +- .../common/recipes/linux/linux-vuplus_3.3.6.bb | 6 +- meta-bsp/vusolo2/conf/machine/vusolo2.conf | 3 +- meta-openvuplus/conf/distro/vuplus.conf | 6 +- .../wvstream/wvstreams_4.6.bb.bak | 51 ----- .../linux-libc-headers/linux-libc-headers.inc | 58 ++++++ .../connector-msg-size-fix.patch | 29 +++ .../linux-libc-headers/linux-libc-headers_3.1.bb | 6 + .../linux-libc-headers/linux-libc-headers_3.3.bb | 6 + .../recipes-vuplus/aio-grab/aio-grab.bb | 19 +- .../aio-grab/aio-grab/aio-grab_vuplus.patch | 189 ----------------- ..._8394e1ba98c73d7c56d3235ef16cce253dc597cd.patch | 229 +++++++++++++++++++++ .../enigma2-plugin-extensions-openwebif.bb | 4 +- .../enigma2-plugin-systemplugins-autoshutdown.bb | 11 +- 14 files changed, 353 insertions(+), 267 deletions(-) delete mode 100644 meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb.bak create mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc create mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch create mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb create mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb delete mode 100644 meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus.patch create mode 100644 meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_8394e1ba98c73d7c56d3235ef16cce253dc597cd.patch diff --git a/meta-bsp/common/conf/machine/include/vuplus-mips32el.inc b/meta-bsp/common/conf/machine/include/vuplus-mips32el.inc index 16f293a..64e4290 100644 --- a/meta-bsp/common/conf/machine/include/vuplus-mips32el.inc +++ b/meta-bsp/common/conf/machine/include/vuplus-mips32el.inc @@ -1,8 +1,7 @@ # vuplus-mips32el.inc VUPLUS_KERNEL_VERSION ?= "3.1.1" -LINUXLIBCVERSION ?= "2.6.31" -#OLDEST_KERNEL = "2.6.31" +LINUXLIBCVERSION ?= "3.1" TARGET_ARCH = "mipsel" DEFAULTTUNE = "mips32el" diff --git a/meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb b/meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb index 1a34a41..1dd475c 100644 --- a/meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb +++ b/meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb @@ -3,12 +3,12 @@ SECTION = "kernel" LICENSE = "GPL" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" -KV = "2.6.37" +KV = "3.3.6" -PR = "r3" +PR = "r4" SRCREV = "" -MODULE = "linux-2.6.37" +MODULE = "linux-3.3.6" SRC_URI += "http://archive.vuplus.com/download/kernel/stblinux-3.3.6-1.2.tar.bz2 \ file://brcm_3.3.patch;patch=1;pnum=1 \ diff --git a/meta-bsp/vusolo2/conf/machine/vusolo2.conf b/meta-bsp/vusolo2/conf/machine/vusolo2.conf index e436584..21a4949 100644 --- a/meta-bsp/vusolo2/conf/machine/vusolo2.conf +++ b/meta-bsp/vusolo2/conf/machine/vusolo2.conf @@ -22,5 +22,6 @@ require conf/machine/include/vuplus-ubi-splash-initrd.inc require conf/machine/include/vuplus-mips32el.inc VUPLUS_KERNEL_VERSION = "3.3.6" -LINUXLIBCVERSION = "2.6.31" +#LINUXLIBCVERSION = "2.6.31" +LINUXLIBCVERSION = "3.3" diff --git a/meta-openvuplus/conf/distro/vuplus.conf b/meta-openvuplus/conf/distro/vuplus.conf index a4666be..da0866b 100644 --- a/meta-openvuplus/conf/distro/vuplus.conf +++ b/meta-openvuplus/conf/distro/vuplus.conf @@ -34,8 +34,10 @@ PREFERRED_VERSION_pango ?= "1.28.4" PREFERRED_VERSION_wpa-supplicant ?= "0.7.3" -PREFERRED_VERSION_linux-libc-headers = "2.6.31" -PREFERRED_VERSION_linux-libc-headers-nativesdk = "2.6.31" +PREFERRED_VERSION_linux-libc-headers ?= "${LINUXLIBCVERSION}" +PREFERRED_VERSION_linux-libc-headers-nativesdk ?= "${LINUXLIBCVERSION}" +#PREFERRED_VERSION_linux-libc-headers = "3.1" +#PREFERRED_VERSION_linux-libc-headers-nativesdk = "3.1" #PREFERRED_VERSION_linux-libc-headers = "3.1.1" #PREFERRED_VERSION_linux-libc-headers-nativesdk = "3.1.1" diff --git a/meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb.bak b/meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb.bak deleted file mode 100644 index 0af0dc3..0000000 --- a/meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb.bak +++ /dev/null @@ -1,51 +0,0 @@ -HOMEPAGE = "http://alumnit.ca/wiki/index.php?page=WvStreams" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" - -DESCRIPTION = "WvStreams is a network programming library in C++" -DEPENDS = "zlib openssl (>= 0.9.8)" - -SRC_URI = "http://wvstreams.googlecode.com/files/${PN}-${PV}.tar.gz \ - file://vuplus-wvstreams-build-fix.patch;patch=1;pnum=1 \ - " - -inherit autotools pkgconfig - -LDFLAGS_append = " -Wl,-rpath-link,${CROSS_DIR}/${TARGET_SYS}/lib" -#CFLAGS_append += " -DMACOS " -#CXXFLAGS_append += " -DMACOS " - -EXTRA_OECONF = " --without-tcl --without-qt --without-pam " - -PACKAGES_prepend = "libuniconf libuniconf-dbg " -PACKAGES_prepend = "uniconfd uniconfd-dbg " -PACKAGES_prepend = "libwvstreams-base libwvstreams-base-dbg " -PACKAGES_prepend = "libwvstreams-extras libwvstreams-extras-dbg " - -FILES_libuniconf = "${libdir}/libuniconf.so.*" -FILES_libuniconf-dbg = "${libdir}/.debug/libuniconf.so.*" - -FILES_uniconfd = "${sbindir}/uniconfd ${sysconfdir}/uniconf.conf ${localstatedir}/uniconf" -FILES_uniconfd-dbg = "${sbindir}/.debug/uniconfd" - -FILES_libwvstreams-base = "${libdir}/libwvutils.so.*" -FILES_libwvstreams-base-dbg = "${libdir}/.debug/libwvutils.so.*" - -FILES_libwvstreams-extras = "${libdir}/libwvbase.so.* ${libdir}/libwvstreams.so.*" -FILES_libwvstreams-extras-dbg = "${libdir}/.debug/libwvbase.so.* ${libdir}/.debug/libwvstreams.so.*" - -PARALLEL_MAKE = "" - -do_configure() { - autoreconf - oe_runconf -} - -do_install() { - oe_runmake DESTDIR=${D} install -} - -SRC_URI[md5sum] = "4ee8ccfe6dfc29bf952d58fa23626c97" -SRC_URI[sha256sum] = "171df8e545b53edb3efbd65b9bc2b35549d05249bd0c92776701f9d8da77ed6f" - diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc new file mode 100644 index 0000000..e58e877 --- /dev/null +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc @@ -0,0 +1,58 @@ +DESCRIPTION = "Sanitized set of kernel headers for the C library's use." +SECTION = "devel" +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v3.0/linux-${PV}.tar.bz2" + +S = "${WORKDIR}/linux-${PV}" + +set_arch() { + case ${TARGET_ARCH} in + alpha*) ARCH=alpha ;; + arm*) ARCH=arm ;; + cris*) ARCH=cris ;; + hppa*) ARCH=parisc ;; + i*86*) ARCH=i386 ;; + ia64*) ARCH=ia64 ;; + mips*) ARCH=mips ;; + m68k*) ARCH=m68k ;; + powerpc*) ARCH=powerpc ;; + s390*) ARCH=s390 ;; + sh*) ARCH=sh ;; + sparc64*) ARCH=sparc64 ;; + sparc*) ARCH=sparc ;; + x86_64*) ARCH=x86_64 ;; + avr32*) ARCH=avr32 ;; + bfin*) ARCH=blackfin ;; + microblaze*) ARCH=microblaze ;; + esac +} + +do_configure() { + set_arch + oe_runmake allnoconfig ARCH=$ARCH +} + +do_compile () { +} + +do_install() { + set_arch + oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH + # Kernel should not be exporting this header + rm -f ${D}${exec_prefix}/include/scsi/scsi.h + + # The ..install.cmd conflicts between various configure runs + find ${D}${includedir} -name ..install.cmd | xargs rm -f +} + +BBCLASSEXTEND = "nativesdk" + +#DEPENDS = "cross-linkage" +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS += "unifdef-native" diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch new file mode 100644 index 0000000..5d531d6 --- /dev/null +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch @@ -0,0 +1,29 @@ +Upstream-Status: Inappropriate [embedded specific] + +Currently default header is linux-libc-header, which leads the dismatch +with wrs kernel. + +The different headers for same file cause trouble between kerenl module and +user level binary. E.g. segfault in v86d due to different +CONNECTOR_MAX_MSG_SIZE in connector.h from the one used by uvesafb. + +This fix is work around to sync with wrs kernel headers, and should be removed +after switching to linux-libc-headers-wrs. + +[BUGID #279] fixed by this. + +Signed-off-by: Zhai Edwin + +Index: linux-2.6.34/include/linux/connector.h +=================================================================== +--- linux-2.6.34.orig/include/linux/connector.h 2010-09-30 14:15:25.000000000 +0800 ++++ linux-2.6.34/include/linux/connector.h 2010-09-30 14:15:43.000000000 +0800 +@@ -48,7 +48,7 @@ + /* + * Maximum connector's message size. + */ +-#define CONNECTOR_MAX_MSG_SIZE 16384 ++#define CONNECTOR_MAX_MSG_SIZE 65536 + + /* + * idx and val are unique identifiers which diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb new file mode 100644 index 0000000..90277ae --- /dev/null +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb @@ -0,0 +1,6 @@ +PRINC = "1" + +require linux-libc-headers.inc + +SRC_URI[md5sum] = "4dc3ac322453abbfaade7020cddea205" +SRC_URI[sha256sum] = "1d18eb39677a23eace6b27ee25656c25f21b57be7e77a2adcdd15c76d1c3e875" diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb new file mode 100644 index 0000000..ea90f4a --- /dev/null +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb @@ -0,0 +1,6 @@ +PRINC = "1" + +require linux-libc-headers.inc + +SRC_URI[md5sum] = "7ceb61f87c097fc17509844b71268935" +SRC_URI[sha256sum] = "c881fc2b53cf0da7ca4538aa44623a7de043a41f76fd5d0f51a31f6ed699d463" diff --git a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb index 9a34d2d..d2a1e3f 100755 --- a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb +++ b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb @@ -1,15 +1,16 @@ -DESCRIPTION="AiO screen grabber" +SUMMARY = "Screen grabber for Set-Top-Boxes" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f" +SRCREV = "8394e1ba98c73d7c56d3235ef16cce253dc597cd" +PR = "r0" -PR = "r1" -PV = "0.8+cvs${SRCDATE}" -SRCDATE = "20101123" +SRC_URI = " \ + git://schwerkraft.elitedvb.net/aio-grab/aio-grab.git;protocol=git;tag=${SRCREV} \ + file://aio-grab_vuplus_8394e1ba98c73d7c56d3235ef16cce253dc597cd.patch;striplevel=1 \ +" -SRC_URI="cvs://anonymous@cvs.schwerkraft.elitedvb.net/cvsroot/aio-grab;module=aio-grab;method=pserver" -SRC_URI_append_vuplus = "\ - file://aio-grab_vuplus.patch;patch=1" +S = "${WORKDIR}/git" + +inherit autotools git-project -S = "${WORKDIR}/aio-grab" -inherit autotools pkgconfig diff --git a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus.patch b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus.patch deleted file mode 100644 index b9f4039..0000000 --- a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus.patch +++ /dev/null @@ -1,189 +0,0 @@ -diff --git a/main.c b/main.c -index ffff998..4bf7327 100644 ---- a/main.c -+++ b/main.c -@@ -86,8 +86,8 @@ void (*resize)(unsigned char *source, unsigned char *dest, int xsource, int ysou - void combine(unsigned char *output, unsigned char *video, unsigned char *osd, int xres, int yres); - char* upcase(char* mixedstr); - --enum {UNKNOWN,PALLAS,VULCAN,XILLEON,BRCM7401,BRCM7400,BRCM7405}; --char *stb_name[]={"unknown","Pallas","Vulcan","Xilleon","Brcm7401","Brcm7400","Brcm7405"}; -+enum {UNKNOWN,PALLAS,VULCAN,XILLEON,BRCM7401,BRCM7400,BRCM7405,BRCM7335,BRCM7325,BRCM7346,BRCM7425}; -+char *stb_name[]={"unknown","Pallas","Vulcan","Xilleon","Brcm7401","Brcm7400","Brcm7405","Brcm7335","Brcm7325","Brcm7346","Brcm7425"}; - int stb_type=UNKNOWN; - - // main program -@@ -139,6 +139,53 @@ int main(int argc, char **argv) { - stb_type=BRCM7405; - } - pclose(pipe); -+ -+ // CPU Detection. idea from pl -+ pipe=popen("cat /proc/stb/info/chipset","r"); -+ if(pipe) -+ { -+ while (fgets(buf,sizeof(buf),pipe)) -+ { -+ if (strstr(upcase(buf),"7335")) -+ { -+ stb_type=BRCM7335; -+ break; -+ } -+ else if (strstr(upcase(buf),"7325")) -+ { -+ stb_type=BRCM7325; -+ break; -+ } -+ else if (strstr(upcase(buf),"7405")) -+ { -+ stb_type=BRCM7405; -+ break; -+ } -+ else if (strstr(upcase(buf),"7356")) -+ { -+ stb_type=BRCM7346; -+ break; -+ } -+ else if (strstr(upcase(buf),"7346")) -+ { -+ stb_type=BRCM7346; -+ break; -+ } -+ -+ else if (strstr(upcase(buf),"7424")) -+ { -+ stb_type=BRCM7425; -+ break; -+ } -+ else if (strstr(upcase(buf),"7425")) -+ { -+ stb_type=BRCM7425; -+ break; -+ } -+ -+ } -+ } -+ pclose(pipe); - } - - if (stb_type == UNKNOWN) -@@ -491,15 +538,27 @@ void getvideo(unsigned char *video, int *xres, int *yres) - char buf[256]; - FILE *pipe; - -- if (stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405) -+ if (stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) - { - // grab brcm7401 pic from decoder memory - -- if(!(memory = (unsigned char*)mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, 0x10100000))) -+ if(stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325) - { -- printf("Mainmemory: \n"); -- return; -+ if(!(memory = (unsigned char*)mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, 0x10100000))) -+ { -+ printf("Mainmemory: \n"); -+ return; -+ } -+ } -+ else -+ { -+ if(!(memory = (unsigned char*)mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, 0x10600000))) -+ { -+ printf("Mainmemory: \n"); -+ return; -+ } - } -+ - - unsigned char data[100]; - -@@ -509,17 +568,31 @@ void getvideo(unsigned char *video, int *xres, int *yres) - memcpy(data,memory,100); - //vert_start=data[0x1B]<<8|data[0x1A]; - //vert_end=data[0x19]<<8|data[0x18]; -- stride=data[0x15]<<8|data[0x14]; -- ofs=(data[0x28]<<8|data[0x27])>>4; -- ofs2=(data[0x2c]<<8|data[0x2b])>>4; -- adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; -- adr2=(data[0x23]<<24|data[0x22]<<16|data[0x21]<<8|data[0x20])&0xFFFFFF00; -- offset=adr2-adr; -+ if(stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325) -+ { -+ stride=data[0x15]<<8|data[0x14]; -+ ofs=(data[0x28]<<8|data[0x27])>>4; -+ ofs2=(data[0x2c]<<8|data[0x2b])>>4; -+ adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; -+ adr2=(data[0x23]<<24|data[0x22]<<16|data[0x21]<<8|data[0x20])&0xFFFFFF00; -+ offset=adr2-adr; -+ } -+ else -+ { -+ stride=data[0x15]<<8|data[0x14]; -+ ofs=(data[0x3c]<<8|data[0x3b])>>4; -+ ofs2=(data[0x40]<<8|data[0x3f])>>4; -+ adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; -+ adr2=(data[0x37]<<24|data[0x36]<<16|data[0x35]<<8|data[0x34])&0xFFFFFF00; -+ offset=adr2-adr; -+ -+ } -+ - - munmap(memory, 100); - -- // printf("Stride: %d Res: %d\n",stride,res); -- // printf("Adr: %X Adr2: %X OFS: %d %d\n",adr,adr2,ofs,ofs2); -+ printf("Stride: %d Res: %d\n",stride,res); -+ printf("Adr: %X Adr2: %X OFS: %d %d\n",adr,adr2,ofs,ofs2); - - pipe=popen("cat /proc/stb/vmpeg/0/yres","r"); - while (fgets(buf,sizeof(buf),pipe)) -@@ -530,7 +603,7 @@ void getvideo(unsigned char *video, int *xres, int *yres) - chroma = (unsigned char *)malloc(stride*(ofs2+64)); - - // grabbing luma & chroma plane from the decoder memory -- if (stb_type == BRCM7401 || stb_type == BRCM7405) -+ if (stb_type == BRCM7401 || stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) - { - // on dm800/dm500hd we have direct access to the decoder memory - if(!(memory_tmp = (unsigned char*)mmap(0, offset + stride*(ofs2+64), PROT_READ, MAP_SHARED, mem_fd, adr))) -@@ -543,7 +616,7 @@ void getvideo(unsigned char *video, int *xres, int *yres) - // and hope we get a good timing. dont ask me why, but every DM800 i tested so far produced a good - // result with a 50ms delay - -- } else if (stb_type == BRCM7400) -+ } else if (stb_type == BRCM7400 || stb_type == BRCM7335) - { - // on dm8000 we have to use dma, so dont change anything here until you really know what you are doing ! - -@@ -553,7 +626,7 @@ void getvideo(unsigned char *video, int *xres, int *yres) - return; - } - volatile unsigned long *mem_dma; -- if(!(mem_dma = (volatile unsigned long*)mmap(0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, 0x10c02000))) -+ if(!(mem_dma = (volatile unsigned long*)mmap(0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, (stb_type==BRCM7400)? 0x10c02000:0x10c01000))) - { - printf("Mainmemory: \n"); - return; -@@ -595,7 +668,7 @@ void getvideo(unsigned char *video, int *xres, int *yres) - int chr_luma_stride = 0x40; - int sw=1; - -- if (stb_type == BRCM7405) -+ if (stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) - chr_luma_stride *= 2; - - xsub=chr_luma_stride; -@@ -630,9 +703,9 @@ void getvideo(unsigned char *video, int *xres, int *yres) - } - } - -- if (stb_type == BRCM7401 || stb_type == BRCM7405) -+ if (stb_type == BRCM7401 || stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) - munmap(memory_tmp, offset + stride*(ofs2+64)); -- else if (stb_type == BRCM7400) -+ else if (stb_type == BRCM7400 || stb_type == BRCM7335) - munmap(memory_tmp, DMA_BLOCKSIZE + 0x1000); - - for (t=0; t< stride*ofs;t+=4) diff --git a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_8394e1ba98c73d7c56d3235ef16cce253dc597cd.patch b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_8394e1ba98c73d7c56d3235ef16cce253dc597cd.patch new file mode 100644 index 0000000..b7208c6 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_8394e1ba98c73d7c56d3235ef16cce253dc597cd.patch @@ -0,0 +1,229 @@ +diff --git a/.gitignore b/.gitignore +index ccfb515..a6f8d11 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -16,3 +16,4 @@ install-sh + *.o + missing + stamp-h1 ++aio-grab_vuplus_* +diff --git a/main.c b/main.c +index 190ff5f..c611913 100644 +--- a/main.c ++++ b/main.c +@@ -38,6 +38,7 @@ Feel free to use the code for your own projects. See LICENSE file for details. + #include + #include + #include ++#include + + #include + +@@ -101,10 +102,24 @@ static void combine(unsigned char *output, + const unsigned char *video, const unsigned char *osd, + unsigned int xres, unsigned int yres); + ++#define IS_VUPLUS 1 ++#if IS_VUPLUS ++enum {UNKNOWN,PALLAS,VULCAN,XILLEON,BRCM7401,BRCM7400,BRCM7405,BRCM7335,BRCM7325,BRCM7346,BRCM7425}; ++char *stb_name[]={"unknown","Pallas","Vulcan","Xilleon","Brcm7401","Brcm7400","Brcm7405","Brcm7335","Brcm7325","Brcm7346","Brcm7425"}; ++#else + enum {UNKNOWN,PALLAS,VULCAN,XILLEON,BRCM7401,BRCM7400,BRCM7405}; + static const char *stb_name[]={"unknown","Pallas","Vulcan","Xilleon","Brcm7401","Brcm7400","Brcm7405"}; ++#endif + static int stb_type=UNKNOWN; + ++char* upcase(char* mixedstr) ++{ ++ size_t j; ++ for (j=0; j< strlen(mixedstr); ++j) ++ mixedstr[j]=toupper(mixedstr[j]); ++ return mixedstr; ++} ++ + static const char *file_getline(const char *filename) + { + static char *line = NULL; +@@ -184,7 +199,6 @@ static int file_scanf_lines(const char *filename, const char *fmt, ...) + } + + // main program +- + int main(int argc, char **argv) { + + printf("AiO Dreambox Screengrabber " PACKAGE_VERSION "\n\n"); +@@ -205,11 +219,29 @@ int main(int argc, char **argv) { + char filename[256] = { "/tmp/screenshot.bmp" }; + + // detect STB +- const char *line = file_getline("/proc/fb"); ++ char *line = (char*)file_getline("/proc/fb"); + if (line == NULL) + return 1; + + if (strstr(line, "bcmfb")) { ++#if IS_VUPLUS ++ if((line=(char*)file_getline("/proc/stb/info/chipset")) == NULL) ++ return 1; ++ if (strstr(upcase(line),"7335")) ++ stb_type=BRCM7335; ++ else if (strstr(upcase(line),"7325")) ++ stb_type=BRCM7325; ++ else if (strstr(upcase(line),"7405")) ++ stb_type=BRCM7405; ++ else if (strstr(upcase(line),"7356")) ++ stb_type=BRCM7346; ++ else if (strstr(upcase(line),"7346")) ++ stb_type=BRCM7346; ++ else if (strstr(upcase(line),"7424")) ++ stb_type=BRCM7425; ++ else if (strstr(upcase(line),"7425")) ++ stb_type=BRCM7425; ++#else + line = file_getline("/proc/stb/info/model"); + if (line == NULL) + return 1; +@@ -221,6 +253,7 @@ int main(int argc, char **argv) { + !strcmp(line, "dm800se") || + !strcmp(line, "dm7020hd")) + stb_type = BRCM7405; ++#endif + } else if (strstr(line, "xilleonfb")) { + stb_type = XILLEON; + } else if (strstr(line, "Pallas FB")) { +@@ -563,16 +596,34 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + perror("/dev/mem"); + return false; + } +- ++#if IS_VUPLUS ++ if (stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) ++#else + if (stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405) ++#endif + { + // grab brcm7401 pic from decoder memory ++#if IS_VUPLUS ++ off_t offset_addr = 0x10600000; ++ switch(stb_type) { ++ case BRCM7401: ++ case BRCM7400: ++ case BRCM7405: ++ case BRCM7335: ++ case BRCM7325: offset_addr = 0x10100000; break; ++ } ++ unsigned char *memory = mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, offset_addr); ++ if (memory == MAP_FAILED) { ++ perror("mmap"); ++ return false; ++ } ++#else + unsigned char *memory = mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, 0x10100000); + if (memory == MAP_FAILED) { + perror("mmap"); + return false; + } +- ++#endif + unsigned char data[100]; + + unsigned int adr,adr2,ofs,ofs2,offset/*,vert_start,vert_end*/; +@@ -582,12 +633,30 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + memcpy(data,memory,100); + //vert_start=data[0x1B]<<8|data[0x1A]; + //vert_end=data[0x19]<<8|data[0x18]; ++#if IS_VUPLUS ++ if(stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325) { ++ stride=data[0x15]<<8|data[0x14]; ++ ofs=(data[0x28]<<8|data[0x27])>>4; ++ ofs2=(data[0x2c]<<8|data[0x2b])>>4; ++ adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; ++ adr2=(data[0x23]<<24|data[0x22]<<16|data[0x21]<<8|data[0x20])&0xFFFFFF00; ++ offset=adr2-adr; ++ } else { ++ stride=data[0x15]<<8|data[0x14]; ++ ofs=(data[0x3c]<<8|data[0x3b])>>4; ++ ofs2=(data[0x40]<<8|data[0x3f])>>4; ++ adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; ++ adr2=(data[0x37]<<24|data[0x36]<<16|data[0x35]<<8|data[0x34])&0xFFFFFF00; ++ offset=adr2-adr; ++ } ++#else + stride=data[0x15]<<8|data[0x14]; + ofs=(data[0x28]<<8|data[0x27])>>4; + ofs2=(data[0x2c]<<8|data[0x2b])>>4; + adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; + adr2=(data[0x23]<<24|data[0x22]<<16|data[0x21]<<8|data[0x20])&0xFFFFFF00; + offset=adr2-adr; ++#endif + + munmap(memory, 100); + +@@ -609,7 +678,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + assert(chroma); + + // grabbing luma & chroma plane from the decoder memory ++#if IS_VUPLUS ++ if (stb_type == BRCM7401 || stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) { ++#else + if (stb_type == BRCM7401 || stb_type == BRCM7405) { ++#endif + // on dm800/dm500hd we have direct access to the decoder memory + memory = mmap(0, offset + stride*(ofs2+64), PROT_READ, MAP_SHARED, mem_fd, adr); + if (memory == MAP_FAILED) { +@@ -620,7 +693,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + usleep(50000); // we try to get a full picture, its not possible to get a sync from the decoder so we use a delay + // and hope we get a good timing. dont ask me why, but every DM800 i tested so far produced a good + // result with a 50ms delay ++#if IS_VUPLUS ++ } else if (stb_type == BRCM7400 || stb_type == BRCM7335) { ++#else + } else if (stb_type == BRCM7400) { ++#endif + // on dm8000 we have to use dma, so dont change anything here until you really know what you are doing ! + + unsigned int i = 0; +@@ -639,7 +716,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + } + + volatile unsigned long *mem_dma; ++#if IS_VUPLUS ++ mem_dma = mmap(0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, (stb_type==BRCM7400)?0x10c02000:0x10c01000); ++#else + mem_dma = mmap(0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, 0x10c02000); ++#endif + if (mem_dma == MAP_FAILED) { + perror("mmap"); + return false; +@@ -675,8 +756,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + unsigned int t = 0, t2 = 0, dat1 = 0; + unsigned int chr_luma_stride = 0x40; + unsigned int sw; +- ++#if IS_VUPLUS ++ if (stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) ++#else + if (stb_type == BRCM7405) ++#endif + chr_luma_stride *= 2; + + xsub=chr_luma_stride; +@@ -710,10 +794,17 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + dat1+=stride; + } + } +- ++#if IS_VUPLUS ++ if (stb_type == BRCM7401 || stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) { ++#else + if (stb_type == BRCM7401 || stb_type == BRCM7405) ++#endif + munmap(memory, offset + stride * (ofs2 + 64)); ++#if IS_VUPLUS ++ } else if (stb_type == BRCM7400 || stb_type == BRCM7335) { ++#else + else if (stb_type == BRCM7400) { ++#endif + memory -= 0x1000; + munmap(memory, DMA_BLOCKSIZE + 0x1000); + } diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb index c4c6f9e..65817f3 100644 --- a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb +++ b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb @@ -4,12 +4,12 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://README;firstline=10;lastline=12;md5=9c14f792d0aeb54e15490a28c89087f7" DEPENDS = "python-cheetah-native" -RDEPENDS_${PN} = "python-cheetah python-json python-unixadmin python-misc" +RDEPENDS_${PN} = "python-cheetah python-json python-unixadmin python-misc python-pyopenssl aio-grab" inherit gitpkgv PV = "0.1+git${SRCPV}" PKGV = "0.1+git${GITPKGV}" -PR = "r0.72" +PR = "r0.73" require openplugins.inc diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb index e7ae673..c30ef27 100644 --- a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb +++ b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb @@ -4,17 +4,12 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" inherit gitpkgv SRCREV = "" -PV = "0.3+git${SRCPV}" -PKGV = "0.3+git${GITPKGV}" -PR = "r2" +PV = "0.6+git${SRCPV}" +PKGV = "0.6+git${GITPKGV}" +PR = "r0" require openplugins.inc -SRC_REV = "406e54cb250fecb5040dba844098140982186668" -SRC_URI = "git://github.com/E2OpenPlugins/e2openplugin-${MODULE}.git;protocol=git;tag=${SRC_REV} \ - file://autoshutdown-default-time_20121207.patch;patch=1;pnum=1 \ - " - inherit autotools FILES_${PN} = "/" -- 2.7.4