update packages.
authorkos <kos@dev3>
Fri, 4 Jan 2013 10:34:34 +0000 (19:34 +0900)
committerkos <kos@dev3>
Fri, 4 Jan 2013 10:34:34 +0000 (19:34 +0900)
14 files changed:
meta-bsp/common/conf/machine/include/vuplus-mips32el.inc
meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb
meta-bsp/vusolo2/conf/machine/vusolo2.conf
meta-openvuplus/conf/distro/vuplus.conf
meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb.bak [deleted file]
meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc [new file with mode: 0644]
meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch [new file with mode: 0644]
meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb [new file with mode: 0644]
meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb [new file with mode: 0644]
meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb
meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus.patch [deleted file]
meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_8394e1ba98c73d7c56d3235ef16cce253dc597cd.patch [new file with mode: 0644]
meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb
meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb

index 16f293a..64e4290 100644 (file)
@@ -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"
index 1a34a41..1dd475c 100644 (file)
@@ -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 \
index e436584..21a4949 100644 (file)
@@ -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"
 
index a4666be..da0866b 100644 (file)
@@ -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 (file)
index 0af0dc3..0000000
+++ /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 (file)
index 0000000..e58e877
--- /dev/null
@@ -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 (file)
index 0000000..5d531d6
--- /dev/null
@@ -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 <edwin.zhai@intel.com>
+
+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 (file)
index 0000000..90277ae
--- /dev/null
@@ -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 (file)
index 0000000..ea90f4a
--- /dev/null
@@ -0,0 +1,6 @@
+PRINC = "1"
+
+require linux-libc-headers.inc
+
+SRC_URI[md5sum] = "7ceb61f87c097fc17509844b71268935"
+SRC_URI[sha256sum] = "c881fc2b53cf0da7ca4538aa44623a7de043a41f76fd5d0f51a31f6ed699d463"
index 9a34d2d..d2a1e3f 100755 (executable)
@@ -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 (file)
index b9f4039..0000000
+++ /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: <Memmapping failed>\n");
--                      return;
-+                      if(!(memory = (unsigned char*)mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, 0x10100000)))
-+                      {
-+                              printf("Mainmemory: <Memmapping failed>\n");
-+                              return;
-+                      }
-+              }
-+              else
-+              {
-+                      if(!(memory = (unsigned char*)mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, 0x10600000)))
-+                      {
-+                              printf("Mainmemory: <Memmapping failed>\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: <Memmapping failed>\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 (file)
index 0000000..b7208c6
--- /dev/null
@@ -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 <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <ctype.h>
+ #include <linux/fb.h>
+@@ -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);
+               }
index c4c6f9e..65817f3 100644 (file)
@@ -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
 
index e7ae673..c30ef27 100644 (file)
@@ -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} = "/"