From 216a774343e1d054542d0e85031e0e2ccbce5d75 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Wed, 22 Mar 2017 12:11:26 +0100 Subject: [PATCH 1/5] acinclude: remove old unused cruft remove: - unused boxtypes, these only give a false sense of support - unused configure options and associated #defines in config.h - unused confiugre check macros --- acinclude.m4 | 240 +++------------------------------------------------ configure.ac | 1 - 2 files changed, 14 insertions(+), 227 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 67b67f0bf..fd0eda394 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -204,79 +204,6 @@ AC_SUBST(PUBLIC_HTTPDDIR) AC_SUBST(HOSTED_HTTPDDIR) dnl end workaround -AC_DEFUN([TUXBOX_APPS_ENDIAN],[ -AC_CHECK_HEADERS(endian.h) -AC_C_BIGENDIAN -]) - -AC_DEFUN([TUXBOX_APPS_DRIVER],[ -AC_ARG_WITH(driver, - [ --with-driver=PATH path for driver sources [[NONE]]], - [DRIVER="$withval"],[DRIVER=""]) - -if test -d "$DRIVER/include"; then - AC_DEFINE(HAVE_DBOX2_DRIVER,1,[Define to 1 if you have the dbox2 driver sources]) -else - AC_MSG_ERROR([can't find driver sources]) -fi - -AC_SUBST(DRIVER) - -CPPFLAGS="$CPPFLAGS -I$DRIVER/include" -]) - -AC_DEFUN([TUXBOX_APPS_DVB],[ -AC_ARG_WITH(dvbincludes, - [ --with-dvbincludes=PATH path for dvb includes [[NONE]]], - [DVBINCLUDES="$withval"],[DVBINCLUDES=""]) - -if test "$DVBINCLUDES"; then - CPPFLAGS="-I$DVBINCLUDES $CPPFLAGS" - CFLAGS="-I$DVBINCLUDES $CFLAGS" - CXXFLAGS="-I$DVBINCLUDES $CXXFLAGS" -fi - -AC_CHECK_HEADERS(linux/dvb/version.h,[ - AC_LANG_PREPROC_REQUIRE() - AC_REQUIRE([AC_PROG_EGREP]) - AC_LANG_CONFTEST([AC_LANG_SOURCE([[ -#include -version DVB_API_VERSION - ]])]) - DVB_API_VERSION=`(eval "$ac_cpp -traditional-cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"` - - AC_LANG_CONFTEST([AC_LANG_SOURCE([[ -#include -version DVB_API_VERSION_MINOR - ]])]) - DVB_API_VERSION_MINOR=`(eval "$ac_cpp -traditional-cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"` - rm -f conftest* - - AC_MSG_NOTICE([found dvb version $DVB_API_VERSION.$DVB_API_VERSION_MINOR]) -]) - -if test "$DVB_API_VERSION"; then - AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes]) - AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api]) -else - AC_MSG_ERROR([can't find dvb headers]) -fi - -if test "$DVB_API_VERSION_MINOR"; then - AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION_MINOR,$DVB_API_VERSION_MINOR,[Define to the minor version of the dvb api]) -else - AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION_MINOR,0,[Define to the minor version of the dvb api]) -fi -]) - -AC_DEFUN([TUXBOX_APPS_CAPTURE],[ -AC_CHECK_HEADER(linux/dvb/avia/avia_gt_capture.h,[ - AC_DEFINE(HAVE_OLD_CAPTURE_API,1,[Define this if you want to use the old dbox2 capture API]) - AC_MSG_NOTICE([using old demux capture API])],[ - AC_MSG_NOTICE([using v4l2 capture API]) - ]) -]) - AC_DEFUN([_TUXBOX_APPS_LIB_CONFIG],[ AC_PATH_PROG($1_CONFIG,$2,no) if test "$$1_CONFIG" != "no"; then @@ -347,128 +274,20 @@ AC_DEFUN([TUXBOX_APPS_LIB_PKGCONFIG_CHECK],[ _TUXBOX_APPS_LIB_PKGCONFIG($1,$2) ]) -AC_DEFUN([_TUXBOX_APPS_LIB_SYMBOL],[ -AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no") -if test "$HAVE_$1" = "yes"; then - $1_LIBS=-l$2 -fi - -AC_SUBST($1_LIBS) -]) - -AC_DEFUN([TUXBOX_APPS_LIB_SYMBOL],[ -_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR) -if test "$HAVE_$1" = "no"; then - AC_MSG_ERROR([could not find $2]); -fi -]) - -AC_DEFUN([TUXBOX_APPS_LIB_CONFIG_SYMBOL],[ -_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN) -]) - -AC_DEFUN([TUXBOX_APPS_GETTEXT],[ -AC_PATH_PROG(MSGFMT, msgfmt, no) -AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) -AC_PATH_PROG(XGETTEXT, xgettext, no) -AC_PATH_PROG(MSGMERGE, msgmerge, no) - -AC_MSG_CHECKING([whether NLS is requested]) -AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) -AC_MSG_RESULT($USE_NLS) -AC_SUBST(USE_NLS) - -if test "$USE_NLS" = "yes"; then - AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[ - AC_TRY_LINK([ - #include - #ifndef __GNU_GETTEXT_SUPPORTED_REVISION - #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) - #endif - extern int _nl_msg_cat_cntr; - extern int *_nl_domain_bindings; - ],[ - bindtextdomain ("", ""); - return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings; - ], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no - )] - ) - - if test "$gt_cv_func_gnugettext_libc" = "yes"; then - AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) - gt_use_preinstalled_gnugettext=yes - else - USE_NLS=no - fi -fi - -if test -f "$srcdir/po/LINGUAS"; then - ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS") -fi - -POFILES= -GMOFILES= -UPDATEPOFILES= -DUMMYPOFILES= -for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" -done -INST_LINGUAS= -if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test -n "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done -fi -CATALOGS= -if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done -fi -AC_SUBST(POFILES) -AC_SUBST(GMOFILES) -AC_SUBST(UPDATEPOFILES) -AC_SUBST(DUMMYPOFILES) -AC_SUBST(CATALOGS) -]) - AC_DEFUN([TUXBOX_BOXTYPE],[ AC_ARG_WITH(boxtype, - [ --with-boxtype valid values: dbox2,tripledragon,dreambox,ipbox,coolstream,generic], + [ --with-boxtype valid values: tripledragon,coolstream,spark,azbox,generic], [case "${withval}" in - dbox2|dreambox|ipbox|tripledragon|coolstream|generic) + tripledragon|coolstream|spark|azbox|generic) BOXTYPE="$withval" ;; - dm*) - BOXTYPE="dreambox" - BOXMODEL="$withval" - ;; *) AC_MSG_ERROR([bad value $withval for --with-boxtype]) ;; esac], [BOXTYPE="coolstream"]) AC_ARG_WITH(boxmodel, [ --with-boxmodel valid for coolstream: hd1, hd2 - valid for dreambox: dm500, dm500plus, dm600pvr, dm56x0, dm7000, dm7020, dm7025 - valid for ipbox: ip200, ip250, ip350, ip400], + valid for generic: raspi], [case "${withval}" in hd1|hd2) if test "$BOXTYPE" = "coolstream"; then @@ -489,20 +308,9 @@ AC_ARG_WITH(boxmodel, AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) fi ;; - dm500|dm500plus|dm600pvr|dm56x0|dm7000|dm7020|dm7025) - if test "$BOXTYPE" = "dreambox"; then + raspi) + if test "$BOXTYPE" = "generic"; then BOXMODEL="$withval" - else - AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) - fi - ;; - ip200|ip250|ip350|ip400) - if test "$BOXTYPE" = "ipbox"; then - BOXMODEL="$withval" - else - AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) - fi - ;; *) AC_MSG_ERROR([unsupported value $withval for --with-boxmodel]) ;; @@ -514,37 +322,25 @@ AC_ARG_WITH(boxmodel, AC_SUBST(BOXTYPE) AC_SUBST(BOXMODEL) -AM_CONDITIONAL(BOXTYPE_DBOX2, test "$BOXTYPE" = "dbox2") +AM_CONDITIONAL(BOXTYPE_AZBOX, test "$BOXTYPE" = "azbox") AM_CONDITIONAL(BOXTYPE_TRIPLE, test "$BOXTYPE" = "tripledragon") -AM_CONDITIONAL(BOXTYPE_DREAMBOX, test "$BOXTYPE" = "dreambox") -AM_CONDITIONAL(BOXTYPE_IPBOX, test "$BOXTYPE" = "ipbox") AM_CONDITIONAL(BOXTYPE_COOL, test "$BOXTYPE" = "coolstream") +AM_CONDITIONAL(BOXTYPE_SPARK, test "$BOXTYPE" = "spark") AM_CONDITIONAL(BOXTYPE_GENERIC, test "$BOXTYPE" = "generic") AM_CONDITIONAL(BOXMODEL_CS_HD1,test "$BOXMODEL" = "hd1") AM_CONDITIONAL(BOXMODEL_CS_HD2,test "$BOXMODEL" = "hd2") -AM_CONDITIONAL(BOXMODEL_DM500,test "$BOXMODEL" = "dm500") -AM_CONDITIONAL(BOXMODEL_DM500PLUS,test "$BOXMODEL" = "dm500plus") -AM_CONDITIONAL(BOXMODEL_DM600PVR,test "$BOXMODEL" = "dm600pvr") -AM_CONDITIONAL(BOXMODEL_DM56x0,test "$BOXMODEL" = "dm56x0") -AM_CONDITIONAL(BOXMODEL_DM7000,test "$BOXMODEL" = "dm7000" -o "$BOXMODEL" = "dm7020" -o "$BOXMODEL" = "dm7025") +AM_CONDITIONAL(BOXMODEL_RASPI,test "$BOXMODEL" = "raspi") -AM_CONDITIONAL(BOXMODEL_IP200,test "$BOXMODEL" = "ip200") -AM_CONDITIONAL(BOXMODEL_IP250,test "$BOXMODEL" = "ip250") -AM_CONDITIONAL(BOXMODEL_IP350,test "$BOXMODEL" = "ip350") -AM_CONDITIONAL(BOXMODEL_IP400,test "$BOXMODEL" = "ip400") - -if test "$BOXTYPE" = "dbox2"; then - AC_DEFINE(HAVE_DBOX_HARDWARE, 1, [building for a dbox2]) +if test "$BOXTYPE" = "azbox"; then + AC_DEFINE(HAVE_AZBOX_HARDWARE, 1, [building for an azbox]) elif test "$BOXTYPE" = "tripledragon"; then AC_DEFINE(HAVE_TRIPLEDRAGON, 1, [building for a tripledragon]) -elif test "$BOXTYPE" = "dreambox"; then - AC_DEFINE(HAVE_DREAMBOX_HARDWARE, 1, [building for a dreambox]) -elif test "$BOXTYPE" = "ipbox"; then - AC_DEFINE(HAVE_IPBOX_HARDWARE, 1, [building for an ipbox]) elif test "$BOXTYPE" = "coolstream"; then AC_DEFINE(HAVE_COOL_HARDWARE, 1, [building for a coolstream]) +elif test "$BOXTYPE" = "spark"; then + AC_DEFINE(HAVE_SPARK_HARDWARE, 1, [building for a goldenmedia 990 or edision pingulux]) elif test "$BOXTYPE" = "generic"; then AC_DEFINE(HAVE_GENERIC_HARDWARE, 1, [building for a generic device like a standard PC]) fi @@ -554,16 +350,8 @@ if test "$BOXMODEL" = "hd1"; then AC_DEFINE(BOXMODEL_CS_HD1, 1, [coolstream hd1/neo/neo2/zee]) elif test "$BOXMODEL" = "hd2"; then AC_DEFINE(BOXMODEL_CS_HD2, 1, [coolstream tank/trinity/trinity v2/trinity duo/zeeČ/link]) -elif test "$BOXMODEL" = "dm500"; then - AC_DEFINE(BOXMODEL_DM500, 1, [dreambox 500]) -elif test "$BOXMODEL" = "ip200"; then - AC_DEFINE(BOXMODEL_IP200, 1, [ipbox 200]) -elif test "$BOXMODEL" = "ip250"; then - AC_DEFINE(BOXMODEL_IP250, 1, [ipbox 250]) -elif test "$BOXMODEL" = "ip350"; then - AC_DEFINE(BOXMODEL_IP350, 1, [ipbox 350]) -elif test "$BOXMODEL" = "ip400"; then - AC_DEFINE(BOXMODEL_IP400, 1, [ipbox 400]) +elif test "$BOXMODEL" = "raspi"; then + AC_DEFINE(BOXMODEL_RASPI, 1, [Raspberry pi]) fi ]) diff --git a/configure.ac b/configure.ac index 2dc77868d..2e7c6d353 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,6 @@ AM_INIT_AUTOMAKE([1.0.1 nostdinc]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) TUXBOX_APPS -TUXBOX_APPS_DVB TUXBOX_APPS_DIRECTORY TUXBOX_APPS_PKGCONFIG TUXBOX_BOXTYPE From 54ff55dd476b198f156c34f6138a8d06223cef94 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Wed, 22 Mar 2017 12:11:26 +0100 Subject: [PATCH 2/5] - acinclude.m4: align to neutrino-mp --- acinclude.m4 | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index fd0eda394..4f8961c2e 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -10,7 +10,7 @@ AC_ARG_WITH(target, AC_ARG_WITH(targetprefix, [ --with-targetprefix=PATH prefix relative to target root (only applicable in cdk mode)], - [TARGET_PREFIX="$withval"],[TARGET_PREFIX="NONE"]) + [TARGET_PREFIX="$withval"],[TARGET_PREFIX=""]) AC_ARG_WITH(debug, [ --without-debug disable debugging code], @@ -127,6 +127,8 @@ if test "$TARGET" = "cdk"; then targetlocalstatedir="\${TARGET_PREFIX}/var" targetlibdir="\${TARGET_PREFIX}/lib" targetmntdir="\${TARGET_PREFIX}/mnt" +else + mntdir="/mnt" # hack fi TUXBOX_APPS_DIRECTORY_ONE(configdir,CONFIGDIR,localstatedir,/var,/tuxbox/config, @@ -241,8 +243,13 @@ _TUXBOX_APPS_LIB_CONFIG($1,$2,WARN) ]) AC_DEFUN([TUXBOX_APPS_PKGCONFIG],[ -AC_PATH_PROG(PKG_CONFIG, pkg-config,no) -if test "$PKG_CONFIG" = "no" ; then +m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test x"$PKG_CONFIG" = x"" ; then AC_MSG_ERROR([could not find pkg-config]); fi ]) @@ -311,6 +318,10 @@ AC_ARG_WITH(boxmodel, raspi) if test "$BOXTYPE" = "generic"; then BOXMODEL="$withval" + else + AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) + fi + ;; *) AC_MSG_ERROR([unsupported value $withval for --with-boxmodel]) ;; From e3920273bf3b94fb864652fa2db900486ed92bb6 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Wed, 22 Mar 2017 12:11:26 +0100 Subject: [PATCH 3/5] - acinclude.m4: remove more old unused cruft I don't know if CC/CXX-handling is right, but powerpc-tuxbox-linux-gnu was definitely wrong. --- acinclude.m4 | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 4f8961c2e..6212c1f25 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -42,11 +42,10 @@ elif test "$TARGET" = "cdk"; then AC_MSG_RESULT(cdk) if test "$CC" = "" -a "$CXX" = ""; then - CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++ + AC_MSG_ERROR([you need to specify variables CC or CXX in cdk]) fi - if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then - CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS" - CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS" + if test "$CFLAGS" = "" -o "$CXXFLAGS" = ""; then + AC_MSG_ERROR([you need to specify variables CFLAGS and CXXFLAGS in cdk]) fi if test "$prefix" = "NONE"; then AC_MSG_ERROR([invalid prefix, you need to specify one in cdk mode]) @@ -58,10 +57,6 @@ elif test "$TARGET" = "cdk"; then AC_MSG_ERROR([invalid targetprefix, you need to specify one in cdk mode]) TARGET_PREFIX="" fi - if test "$host_alias" = ""; then - cross_compiling=yes - host_alias=powerpc-tuxbox-linux-gnu - fi else AC_MSG_RESULT(none) AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]); @@ -326,9 +321,7 @@ AC_ARG_WITH(boxmodel, AC_MSG_ERROR([unsupported value $withval for --with-boxmodel]) ;; esac], [test "$BOXTYPE" = "coolstream" && BOXMODEL="hd1" || true] - [if test "$BOXTYPE" = "dreambox" -o "$BOXTYPE" = "ipbox" && test -z "$BOXMODEL"; then - AC_MSG_ERROR([Dreambox/IPBox needs --with-boxmodel]) - fi]) + ) AC_SUBST(BOXTYPE) AC_SUBST(BOXMODEL) @@ -360,7 +353,7 @@ fi if test "$BOXMODEL" = "hd1"; then AC_DEFINE(BOXMODEL_CS_HD1, 1, [coolstream hd1/neo/neo2/zee]) elif test "$BOXMODEL" = "hd2"; then - AC_DEFINE(BOXMODEL_CS_HD2, 1, [coolstream tank/trinity/trinity v2/trinity duo/zeeČ/link]) + AC_DEFINE(BOXMODEL_CS_HD2, 1, [coolstream tank/trinity/trinity v2/trinity duo/zee2/link]) elif test "$BOXMODEL" = "raspi"; then AC_DEFINE(BOXMODEL_RASPI, 1, [Raspberry pi]) fi @@ -387,4 +380,3 @@ AC_DEFUN([AC_PROG_EGREP], EGREP=$ac_cv_prog_egrep AC_SUBST([EGREP]) ]) - From 608c0926856c7555eb16163d52cde054f49ece39 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Thu, 23 Mar 2017 12:23:56 +0100 Subject: [PATCH 4/5] - cables.xml: update WTC SN; thanks to Gorcon --- data/cables.xml | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/data/cables.xml b/data/cables.xml index 4970d600c..e05516a44 100644 --- a/data/cables.xml +++ b/data/cables.xml @@ -442,10 +442,10 @@ - - + + @@ -456,15 +456,21 @@ + + - - - - - + + + + + + + + + @@ -473,6 +479,11 @@ + + + + + From 833a65c9e46a7ca45a09076225399a74fc623ae5 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Thu, 23 Mar 2017 12:43:27 +0100 Subject: [PATCH 5/5] fix needed mem check --- src/driver/pictureviewer/pictureviewer.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/driver/pictureviewer/pictureviewer.cpp b/src/driver/pictureviewer/pictureviewer.cpp index 84f2fc7a6..8b22b68aa 100644 --- a/src/driver/pictureviewer/pictureviewer.cpp +++ b/src/driver/pictureviewer/pictureviewer.cpp @@ -170,7 +170,8 @@ bool CPictureViewer::DecodeImage (const std::string & _name, bool showBusySign, m_NextPic_Buffer = NULL; } size_t bufsize = x * y * 3; - if (!checkfreemem(bufsize)){ + size_t resizeBuf = (m_endx - m_startx) * (m_endy - m_starty)*3; + if (!checkfreemem(bufsize + resizeBuf)){ return false; } m_NextPic_Buffer = (unsigned char *) malloc (bufsize); @@ -856,8 +857,8 @@ bool CPictureViewer::checkfreemem(size_t bufsize) { struct sysinfo info; sysinfo( &info ); - if(bufsize*2 + 4096 > (size_t)info.freeram + (size_t)info.freeswap){ - dprintf(DEBUG_NORMAL, "[CPictureViewer] [%s - %d] Error: Out of memory\n", __func__, __LINE__); + if(bufsize + 4096 > (size_t)info.freeram + (size_t)info.freeswap){ + dprintf(DEBUG_NORMAL, "[CPictureViewer] [%s - %d] Error: Out of memory: need %zu > free %zu\n", __func__, __LINE__,bufsize,(size_t)info.freeram + (size_t)info.freeswap); return false; } return true;