+++ /dev/null
---- a/plugin_netinfo.c
-+++ b/plugin_netinfo.c
-@@ -264,7 +264,7 @@ static void my_netmask_short(RESULT * re
-     sin = get_netmask(arg1);
-     if (NULL != sin) {
-       logval = (long double) (get_netmask(arg1)->sin_addr.s_addr);
--      netlen = (int) rint(log2l(logval) / log2l(2.0));
-+      netlen = (int) rint(log2f(logval) / log2f(2.0));
-       qprintf(value, sizeof(value), "/%d", netlen);
-     } else {
-       qprintf(value, sizeof(value), "/?");
 
+++ /dev/null
-diff -rupN --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 lcd4linux.orig/configure.in lcd4linux/configure.in
---- lcd4linux.orig/configure.in        2011-12-04 15:57:35.997025040 +0000
-+++ lcd4linux/configure.in     2011-12-04 15:59:23.887081508 +0000
-@@ -84,6 +84,9 @@ AC_CHECK_HEADERS(serdisplib/serdisp.h, [
- # check for st2205 libs
- AC_CHECK_HEADERS(st2205.h, [has_st2205="true"], [has_st2205="false"])
- 
-+# check for dpf libs
-+AC_CHECK_HEADERS(dpf.h, [has_dpf="true"], [has_dpf="false"])
-+
- # check for vncserver libs
- AC_CHECK_HEADERS(rfb/rfb.h, [has_vncserverlib="true"], [has_vncserverlib="false"])
- 
-diff -rupN --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 lcd4linux.orig/drivers.m4 lcd4linux/drivers.m4
---- lcd4linux.orig/drivers.m4  2011-12-04 15:57:35.947025812 +0000
-+++ lcd4linux/drivers.m4       2011-12-04 15:59:23.897079477 +0000
-@@ -32,7 +32,7 @@ AC_ARG_WITH(
-   [                        drivers may be excluded with 'all,!<driver>',]
-   [                        (try 'all,\!<driver>' if your shell complains...)]
-   [                        possible drivers are:]
--  [                        ASTUSB, BeckmannEgle, BWCT, CrystalFontz, Curses, Cwlinux, D4D,]
-+  [                        ASTUSB, BeckmannEgle, BWCT, CrystalFontz, Curses, Cwlinux, D4D, DPF]
-   [                        EA232Graphic, EFN, FW8888, G15, GLCD2USB, HD44780, HD44780-I2C,]
-   [                        IRLCD, LCD2USB, LCDLinux, LEDMatrix, LCDTerm, LPH7508, LUIse,]
-   [                        LW_ABP, M50530, MatrixOrbital, MatrixOrbitalGX, MilfordInstruments, MDM166A,]
-@@ -67,6 +67,7 @@ for driver in $drivers; do
-          CURSES="yes"
-          CWLINUX="yes"
-          D4D="yes"
-+         DPF="yes"
-          EA232graphic="yes"
-          EFN="yes"
-          FW8888="yes"
-@@ -133,6 +134,9 @@ for driver in $drivers; do
-       D4D)
-          D4D=$val
-          ;;
-+      DPF)
-+         DPF=$val
-+         ;;
-       EA232graphic)
-          EA232graphic=$val
-          ;;
-@@ -361,6 +365,17 @@ if test "$D4D" = "yes"; then
-    AC_DEFINE(WITH_D4D,1,[D4D driver])
- fi
- 
-+if test "$DPF" = "yes"; then
-+   if test "$has_dpf" = "true"; then
-+      GRAPHIC="yes"
-+      DRIVERS="$DRIVERS drv_dpf.o"
-+      DRVLIBS="$DRVLIBS -L/usr/local/lib -ldpf -lusb"
-+      AC_DEFINE(WITH_DPF,1,[DPF driver])
-+   else
-+      AC_MSG_WARN(dpf.h not found: DPF driver disabled)
-+   fi
-+fi
-+
- if test "$EA232graphic" = "yes"; then
-    GRAPHIC="yes"
-    SERIAL="yes"
-@@ -728,6 +743,7 @@ if test "$ST2205" = "yes"; then
-    fi
- fi
- 
-+
- if test "$T6963" = "yes"; then
-    if test "$has_parport" = "true"; then
-       GRAPHIC="yes"
-diff -rupN --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 lcd4linux.orig/drv.c lcd4linux/drv.c
---- lcd4linux.orig/drv.c       2011-12-04 15:57:39.747027340 +0000
-+++ lcd4linux/drv.c    2011-12-04 15:59:23.967078308 +0000
-@@ -54,6 +54,7 @@ extern DRIVER drv_Crystalfontz;
- extern DRIVER drv_Curses;
- extern DRIVER drv_Cwlinux;
- extern DRIVER drv_D4D;
-+extern DRIVER drv_DPF;
- extern DRIVER drv_EA232graphic;
- extern DRIVER drv_EFN;
- extern DRIVER drv_FW8888;
-@@ -127,6 +128,9 @@ DRIVER *Driver[] = {
- #ifdef WITH_D4D
-     &drv_D4D,
- #endif
-+#ifdef WITH_DPF
-+    &drv_DPF,
-+#endif
- #ifdef WITH_EA232graphic
-     &drv_EA232graphic,
- #endif
-diff -rupN --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 lcd4linux.orig/drv_dpf.c lcd4linux/drv_dpf.c
---- lcd4linux.orig/drv_dpf.c   1970-01-01 00:00:00.000000000 +0000
-+++ lcd4linux/drv_dpf.c        2011-12-04 15:59:23.987079550 +0000
-@@ -0,0 +1,284 @@
-+/* $Id: drv_dpf.c 980 2009-01-28 21:18:52Z michux $
-+ * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/drv_dpf.c $
-+ *
-+ * Very basic hacked picture frame driver. Uses external libdpf.
-+ * This is a first working approach for AX206 based DPFs. In future,
-+ * more DPFs might be covered by that library. Work in progress.
-+ *
-+ * See http://tech.section5.ch/news/?p=68 for more info.
-+ * 
-+ * Copyright (C) 2008 Jeroen Domburg <picframe@spritesmods.com>
-+ * Modified from sample code by:
-+ * Copyright (C) 2005 Michael Reinelt <michael@reinelt.co.at>
-+ * Copyright (C) 2005, 2006, 2007 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
-+ * Mods by <hackfin@section5.ch>
-+ *
-+ * This file is part of LCD4Linux.
-+ *
-+ * LCD4Linux is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2, or (at your option)
-+ * any later version.
-+ *
-+ * LCD4Linux is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+/* 
-+ *
-+ * exported fuctions:
-+ *
-+ * struct DRIVER drv_DPF
-+ *
-+ */
-+
-+#include "config.h"
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <string.h>
-+#include <errno.h>
-+
-+#include "dpf.h"
-+
-+#include "debug.h"
-+#include "cfg.h"
-+#include "qprintf.h"
-+#include "udelay.h"
-+#include "plugin.h"
-+#include "widget.h"
-+#include "widget_text.h"
-+#include "widget_icon.h"
-+#include "widget_bar.h"
-+#include "drv.h"
-+
-+#include "drv_generic_graphic.h"
-+
-+static char Name[] = "DPF";
-+
-+static DPFContext *g_h;
-+
-+/* Display data */
-+static unsigned char *g_fb;
-+
-+static int drv_dpf_open(const char *section)
-+{
-+      int error;
-+      char *dev;
-+      int i;
-+      DPFValue val;
-+
-+      // Currently, the Port specification is unused.
-+
-+      dev = cfg_get(section, "Port", NULL);
-+      if (dev == NULL || *dev == '\0') {
-+              error("dpf: no '%s.Port' entry from %s", section, cfg_source());
-+              return -1;
-+      }
-+
-+      error = dpf_open(dev, &g_h);
-+      if (error < 0) {
-+              error("dpf: cannot open dpf device %s", dev);
-+              return -1;
-+      }
-+
-+      val.type = TYPE_INTEGER;
-+
-+    if (cfg_number(section, "Orientation", 0, 0, 3, &i) > 0) {
-+              val.value.integer = i;
-+              dpf_setproperty(g_h, PROPERTY_ORIENTATION, &val);
-+      }
-+
-+    if (cfg_number(section, "Backlight", 0, 0, 7, &i) > 0) {
-+              val.value.integer = i;
-+              dpf_setproperty(g_h, PROPERTY_BRIGHTNESS, &val);
-+    }
-+
-+      return 0;
-+}
-+
-+
-+static int drv_dpf_close(void)
-+{
-+      dpf_close(g_h);
-+
-+      return 0;
-+}
-+
-+#define _RGB565_0(p) \
-+      (( ((p.R) & 0xf8)          ) | (((p.G) & 0xe0) >> 5))
-+#define _RGB565_1(p) \
-+      (( ((p.G) & 0x1c) << 3 ) | (((p.B) & 0xf8) >> 3))
-+
-+static void drv_dpf_blit(const int row, const int col, const int height,
-+      const int width)
-+{
-+      int r, c;
-+      short rect[4];
-+      unsigned long i;
-+      RGBA p;
-+      unsigned char *pix;
-+
-+      pix = g_fb;
-+      for (r = row; r < row + height; r++) {
-+              for (c = col; c < col + width; c++) {
-+                      p = drv_generic_graphic_rgb(r, c);
-+                      *pix++ = _RGB565_0(p);
-+                      *pix++ = _RGB565_1(p);
-+              }
-+      }
-+      rect[0] = col; rect[1] = row;
-+      rect[2] = col + width; rect[3] = row + height;
-+      dpf_screen_blit(g_h, g_fb, rect);
-+}
-+
-+
-+/* start graphic display */
-+static int drv_dpf_start2(const char *section)
-+{
-+      char *s;
-+
-+      s = cfg_get(section, "Font", "6x8");
-+      if (s == NULL || *s == '\0') {
-+              error("%s: no '%s.Font' entry from %s", Name, section, cfg_source());
-+              return -1;
-+      }
-+
-+      XRES = -1;
-+      YRES = -1;
-+      if (sscanf(s, "%dx%d", &XRES, &YRES) != 2 || XRES < 1 || YRES < 1) {
-+              error("%s: bad Font '%s' from %s", Name, s, cfg_source());
-+              return -1;
-+      }
-+
-+      /* Fixme: provider other fonts someday... */
-+      if (XRES != 6 && YRES != 8) {
-+              error("%s: bad Font '%s' from %s (only 6x8 at the moment)",
-+                      Name, s, cfg_source());
-+              return -1;
-+      }
-+
-+
-+      /* open communication with the display */
-+      if (drv_dpf_open(section) < 0) {
-+              return -1;
-+      }
-+
-+      /* you surely want to allocate a framebuffer or something... */
-+      g_fb = malloc(g_h->height * g_h->width * g_h->bpp);
-+
-+      /* set width/height from dpf firmware specs */
-+      DROWS = g_h->height;
-+      DCOLS = g_h->width;
-+
-+      return 0;
-+}
-+
-+/****************************************/
-+/***                  plugins                           ***/
-+/****************************************/
-+
-+static void plugin_backlight(RESULT * result, RESULT * arg1)
-+{
-+      DPFValue val;
-+
-+      val.type = TYPE_INTEGER;
-+      val.value.integer = R2N(arg1);
-+      printf("Setting brightness...\n");
-+      dpf_setproperty(g_h, PROPERTY_BRIGHTNESS, &val);
-+      SetResult(&result, R_NUMBER, &val.value.integer);
-+}
-+
-+
-+/****************************************/
-+/***          widget callbacks                  ***/
-+/****************************************/
-+
-+
-+/* using drv_generic_text_draw(W) */
-+/* using drv_generic_text_icon_draw(W) */
-+/* using drv_generic_text_bar_draw(W) */
-+/* using drv_generic_gpio_draw(W) */
-+
-+
-+/****************************************/
-+/***          exported functions                ***/
-+/****************************************/
-+
-+
-+/* list models */
-+int drv_dpf_list(void)
-+{
-+      printf("generic hacked photo frame");
-+      return 0;
-+}
-+
-+
-+/* initialize driver & display */
-+int drv_dpf_init2(const char *section, const int quiet)
-+{
-+      int ret;
-+
-+      /* real worker functions */
-+      drv_generic_graphic_real_blit = drv_dpf_blit;
-+
-+      /* start display */
-+      if ((ret = drv_dpf_start2(section)) != 0)
-+              return ret;
-+
-+      /* initialize generic graphic driver */
-+      if ((ret = drv_generic_graphic_init(section, Name)) != 0)
-+              return ret;
-+
-+      if (!quiet) {
-+              char buffer[40];
-+              qprintf(buffer, sizeof(buffer), "%s %dx%d", Name, DCOLS, DROWS);
-+              if (drv_generic_graphic_greet(buffer, NULL)) {
-+                      sleep(3);
-+                      drv_generic_graphic_clear();
-+              }
-+      }
-+
-+      /* register plugins */
-+      AddFunction("LCD::backlight", 1, plugin_backlight);
-+
-+      return 0;
-+}
-+
-+
-+/* close driver & display */
-+int drv_dpf_quit2(const int quiet)
-+{
-+      info("%s: shutting down.", Name);
-+
-+      /* clear display */
-+      drv_generic_graphic_clear();
-+
-+      /* say goodbye... */
-+      if (!quiet) {
-+              drv_generic_graphic_greet("goodbye!", NULL);
-+      }
-+
-+      drv_generic_graphic_quit();
-+
-+      debug("closing connection");
-+      drv_dpf_close();
-+
-+      return (0);
-+}
-+
-+
-+DRIVER drv_DPF = {
-+      .name = Name,
-+      .list = drv_dpf_list,
-+      .init = drv_dpf_init2,
-+      .quit = drv_dpf_quit2,
-+};
-diff -rupN --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 lcd4linux.orig/m4/lt~obsolete.m4 lcd4linux/m4/lt~obsolete.m4
---- lcd4linux.orig/m4/lt~obsolete.m4   1970-01-01 00:00:00.000000000 +0000
-+++ lcd4linux/m4/lt~obsolete.m4        2011-12-04 15:59:23.997082130 +0000
-@@ -0,0 +1,92 @@
-+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-+#
-+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
-+#   Written by Scott James Remnant, 2004.
-+#
-+# This file is free software; the Free Software Foundation gives
-+# unlimited permission to copy and/or distribute it, with or without
-+# modifications, as long as this notice is preserved.
-+
-+# serial 4 lt~obsolete.m4
-+
-+# These exist entirely to fool aclocal when bootstrapping libtool.
-+#
-+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-+# which have later been changed to m4_define as they aren't part of the
-+# exported API, or moved to Autoconf or Automake where they belong.
-+#
-+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-+# using a macro with the same name in our local m4/libtool.m4 it'll
-+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-+# and doesn't know about Autoconf macros at all.)
-+#
-+# So we provide this file, which has a silly filename so it's always
-+# included after everything else.  This provides aclocal with the
-+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-+# because those macros already exist, or will be overwritten later.
-+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
-+#
-+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-+# Yes, that means every name once taken will need to remain here until
-+# we give up compatibility with versions before 1.7, at which point
-+# we need to keep only those names which we still refer to.
-+
-+# This is to help aclocal find these macros, as it can't see m4_define.
-+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-+
-+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-+m4_ifndef([AC_PROG_EGREP],            [AC_DEFUN([AC_PROG_EGREP])])
-+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],       [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-+m4_ifndef([_LT_AC_SHELL_INIT],                [AC_DEFUN([_LT_AC_SHELL_INIT])])
-+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],   [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-+m4_ifndef([_LT_PROG_LTMAIN],          [AC_DEFUN([_LT_PROG_LTMAIN])])
-+m4_ifndef([_LT_AC_TAGVAR],            [AC_DEFUN([_LT_AC_TAGVAR])])
-+m4_ifndef([AC_LTDL_ENABLE_INSTALL],   [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-+m4_ifndef([AC_LTDL_PREOPEN],          [AC_DEFUN([AC_LTDL_PREOPEN])])
-+m4_ifndef([_LT_AC_SYS_COMPILER],      [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-+m4_ifndef([_LT_AC_LOCK],              [AC_DEFUN([_LT_AC_LOCK])])
-+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],       [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],   [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],   [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-+m4_ifndef([AC_LIBTOOL_OBJDIR],                [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-+m4_ifndef([AC_LTDL_OBJDIR],           [AC_DEFUN([AC_LTDL_OBJDIR])])
-+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-+m4_ifndef([AC_PATH_MAGIC],            [AC_DEFUN([AC_PATH_MAGIC])])
-+m4_ifndef([AC_PROG_LD_GNU],           [AC_DEFUN([AC_PROG_LD_GNU])])
-+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],   [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],  [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],        [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],        [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-+m4_ifndef([LT_AC_PROG_EGREP],         [AC_DEFUN([LT_AC_PROG_EGREP])])
-+m4_ifndef([LT_AC_PROG_SED],           [AC_DEFUN([LT_AC_PROG_SED])])
-+m4_ifndef([_LT_CC_BASENAME],          [AC_DEFUN([_LT_CC_BASENAME])])
-+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-+m4_ifndef([_LT_LINKER_BOILERPLATE],   [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-+m4_ifndef([_AC_PROG_LIBTOOL],         [AC_DEFUN([_AC_PROG_LIBTOOL])])
-+m4_ifndef([AC_LIBTOOL_SETUP],         [AC_DEFUN([AC_LIBTOOL_SETUP])])
-+m4_ifndef([_LT_AC_CHECK_DLFCN],               [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],    [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-+m4_ifndef([_LT_AC_TAGCONFIG],         [AC_DEFUN([_LT_AC_TAGCONFIG])])
-+m4_ifndef([AC_DISABLE_FAST_INSTALL],  [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-+m4_ifndef([_LT_AC_LANG_CXX],          [AC_DEFUN([_LT_AC_LANG_CXX])])
-+m4_ifndef([_LT_AC_LANG_F77],          [AC_DEFUN([_LT_AC_LANG_F77])])
-+m4_ifndef([_LT_AC_LANG_GCJ],          [AC_DEFUN([_LT_AC_LANG_GCJ])])
-+m4_ifndef([AC_LIBTOOL_RC],            [AC_DEFUN([AC_LIBTOOL_RC])])
-+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_C_CONFIG],     [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],       [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],   [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],       [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_F77_CONFIG],   [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],       [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],   [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-+m4_ifndef([_LT_AC_LANG_RC_CONFIG],    [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-+m4_ifndef([AC_LIBTOOL_CONFIG],                [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-+m4_ifndef([_LT_AC_FILE_LTDLL_C],      [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-diff -rupN --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 lcd4linux.orig/m4/ltversion.m4 lcd4linux/m4/ltversion.m4
---- lcd4linux.orig/m4/ltversion.m4     1970-01-01 00:00:00.000000000 +0000
-+++ lcd4linux/m4/ltversion.m4  2011-12-04 15:59:24.007079943 +0000
-@@ -0,0 +1,23 @@
-+# ltversion.m4 -- version numbers                     -*- Autoconf -*-
-+#
-+#   Copyright (C) 2004 Free Software Foundation, Inc.
-+#   Written by Scott James Remnant, 2004
-+#
-+# This file is free software; the Free Software Foundation gives
-+# unlimited permission to copy and/or distribute it, with or without
-+# modifications, as long as this notice is preserved.
-+
-+# Generated from ltversion.in.
-+
-+# serial 3012 ltversion.m4
-+# This file is part of GNU Libtool
-+
-+m4_define([LT_PACKAGE_VERSION], [2.2.6])
-+m4_define([LT_PACKAGE_REVISION], [1.3012])
-+
-+AC_DEFUN([LTVERSION_VERSION],
-+[macro_version='2.2.6'
-+macro_revision='1.3012'
-+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-+_LT_DECL(, macro_revision, 0)
-+])
-diff -rupN --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 lcd4linux.orig/Makefile.am lcd4linux/Makefile.am
---- lcd4linux.orig/Makefile.am 2011-12-04 15:57:38.117026720 +0000
-+++ lcd4linux/Makefile.am      2011-12-04 15:59:24.057077772 +0000
-@@ -78,6 +78,7 @@ drv_Crystalfontz.c            \
- drv_Curses.c                  \
- drv_Cwlinux.c                 \
- drv_D4D.c                     \
-+drv_dpf.c                     \
- drv_EA232graphic.c            \
- drv_EFN.c                     \
- drv_FW8888.c                  \
 
+++ /dev/null
-diff -rupN --exclude=.deps --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 --exclude=ltversion.m4 --exclude='lt~obsolete.m4' --exclude=configure --exclude=Makefile --exclude=config.h --exclude=config.log --exclude=config.status --exclude=libdpf --exclude=stamp-h1 --exclude=svn_version.h --exclude=.cvsignore lcd4linux-svn1168/drivers.m4 lcd4linux/drivers.m4
---- lcd4linux-svn1168/drivers.m4       2012-01-14 20:03:27.316541947 +0000
-+++ lcd4linux/drivers.m4       2012-01-15 00:43:06.607565000 +0000
-@@ -369,7 +369,7 @@ if test "$DPF" = "yes"; then
-    if test "$has_libdpf" = "true"; then
-       GRAPHIC="yes"
-       DRIVERS="$DRIVERS drv_dpf.o"
--      DRVLIBS="$DRVLIBS -Llibdpf -ldpf -lusb"
-+      DRVLIBS="$DRVLIBS -Llibdpf $DPF_LDFLAGS -ldpf -lusb"
-       AC_DEFINE(WITH_DPF,1,[DPF driver])
-    else
-       AC_MSG_WARN(libdpf.h not found: DPF driver disabled)
-diff -rupN --exclude=.deps --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 --exclude=ltversion.m4 --exclude='lt~obsolete.m4' --exclude=configure --exclude=Makefile --exclude=config.h --exclude=config.log --exclude=config.status --exclude=libdpf --exclude=stamp-h1 --exclude=svn_version.h --exclude=.cvsignore lcd4linux-svn1168/drv_dpf.c lcd4linux/drv_dpf.c
---- lcd4linux-svn1168/drv_dpf.c        2012-01-14 20:03:29.155625357 +0000
-+++ lcd4linux/drv_dpf.c        2012-01-14 22:15:06.017475000 +0000
-@@ -72,6 +72,8 @@ static int drv_dpf_open(const char *sect
- {
-     int error;
-     char *dev;
-+    int i;
-+    DPFValue val;
- 
-     // Currently, the Port specification is unused.
- 
-@@ -81,12 +83,24 @@ static int drv_dpf_open(const char *sect
-       return -1;
-     }
- 
--    error = dpf_open(NULL, &g_h);
-+    error = dpf_open(dev, &g_h);
-     if (error < 0) {
-       error("dpf: cannot open dpf device %s", dev);
-       return -1;
-     }
- 
-+    val.type = TYPE_INTEGER;
-+
-+    if (cfg_number(section, "Orientation", 0, 0, 3, &i) > 0) {
-+               val.value.integer = i;
-+               dpf_setproperty(g_h, PROPERTY_ORIENTATION, &val);
-+       }
-+
-+    if (cfg_number(section, "Backlight", 0, 0, 7, &i) > 0) {
-+               val.value.integer = i;
-+               dpf_setproperty(g_h, PROPERTY_BRIGHTNESS, &val);
-+    }
-+
-     return 0;
- }
- 
-@@ -171,6 +185,16 @@ static int drv_dpf_start2(const char *se
- /***            plugins               ***/
- /****************************************/
- 
-+void dpf_backlight(DPFContext *g_h, int bl_on)
-+{
-+       DPFValue val;
-+
-+       val.type = TYPE_INTEGER;
-+       val.value.integer = bl_on;
-+       printf("Setting brightness...\n");
-+       dpf_setproperty(g_h, PROPERTY_BRIGHTNESS, &val);
-+}
-+
- static void plugin_backlight(RESULT * result, RESULT * arg1)
- {
-     int bl_on;
-diff -rupN --exclude=.deps --exclude=.svn --exclude='*.conf' --exclude='*.png' --exclude=Makefile.in --exclude=config.h.in --exclude=aclocal.m4 --exclude=autom4te.cache --exclude=ltmain.sh --exclude=libtool.m4 --exclude=ltoptions.m4 --exclude=ltsugar.m4 --exclude=ltversion.m4 --exclude='lt~obsolete.m4' --exclude=configure --exclude=Makefile --exclude=config.h --exclude=config.log --exclude=config.status --exclude=libdpf --exclude=stamp-h1 --exclude=svn_version.h --exclude=.cvsignore lcd4linux-svn1168/plugins.m4 lcd4linux/plugins.m4
---- lcd4linux-svn1168/plugins.m4       2012-01-14 20:03:29.075661548 +0000
-+++ lcd4linux/plugins.m4       2012-01-14 21:37:55.249333000 +0000
-@@ -539,7 +539,7 @@ if test "$PLUGIN_PYTHON" = "yes"; then
-    if test "$with_python" != "yes"; then
-       AC_MSG_WARN(python support not enabled: python plugin disabled (use --with-python to enable))
-    else
--      if test -z "$python_path"; then
-+      if test -z "$PYTHON_CPPFLAGS"; then
-          AC_MSG_WARN(python headers not found: python plugin disabled)
-       else
-          PLUGINS="$PLUGINS plugin_python.o"
 
+++ /dev/null
-diff -ruN '--exclude=.svn' lcd4linux-svn1179/drv_SamsungSPF.c lcd4linux/drv_SamsungSPF.c
---- lcd4linux-svn1179/drv_SamsungSPF.c 2012-02-26 22:17:04.000000000 +0100
-+++ lcd4linux/drv_SamsungSPF.c 2012-02-26 23:31:06.000000000 +0100
-@@ -52,6 +52,7 @@
- 
- /* graphic display? */
- #include "drv_generic_graphic.h"
-+#include "jpeg_mem_dest.h"
- 
- // Drivername for verbose output
- static char Name[] = "SamsungSPF";
-diff -ruN '--exclude=.svn' lcd4linux-svn1179/jpeg_mem_dest.h lcd4linux/jpeg_mem_dest.h
---- lcd4linux-svn1179/jpeg_mem_dest.h  1970-01-01 01:00:00.000000000 +0100
-+++ lcd4linux/jpeg_mem_dest.h  2012-02-26 23:30:06.000000000 +0100
-@@ -0,0 +1,112 @@
-+#define ERREXIT(cinfo,code)  \
-+  ((cinfo)->err->msg_code = (code), \
-+   (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
-+#define ERREXIT1(cinfo,code,p1)  \
-+  ((cinfo)->err->msg_code = (code), \
-+   (cinfo)->err->msg_parm.i[0] = (p1), \
-+   (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo)))
-+
-+#define JERR_OUT_OF_MEMORY "Insufficient memory (case %d)"
-+#define JERR_BUFFER_SIZE "Buffer passed to JPEG library is too small"
-+
-+#define OUTPUT_BUF_SIZE  4096 /* choose an efficiently fwrite'able size */
-+
-+
-+/* Expanded data destination object for memory output */
-+
-+typedef struct {
-+  struct jpeg_destination_mgr pub; /* public fields */
-+
-+  unsigned char ** outbuffer; /* target buffer */
-+  unsigned long * outsize;
-+  unsigned char * newbuffer;  /* newly allocated buffer */
-+  JOCTET * buffer;            /* start of buffer */
-+  size_t bufsize;
-+} my_mem_destination_mgr;
-+
-+typedef my_mem_destination_mgr * my_mem_dest_ptr;
-+
-+
-+METHODDEF(void)
-+init_mem_destination (j_compress_ptr cinfo)
-+{
-+  /* no work necessary here */
-+}
-+
-+METHODDEF(boolean)
-+empty_mem_output_buffer (j_compress_ptr cinfo)
-+{
-+  size_t nextsize;
-+  JOCTET * nextbuffer;
-+  my_mem_dest_ptr dest = (my_mem_dest_ptr) cinfo->dest;
-+
-+  /* Try to allocate new buffer with double size */
-+  nextsize = dest->bufsize * 2;
-+  nextbuffer = (JOCTET *) malloc(nextsize);
-+
-+  if (nextbuffer == NULL)
-+    ERREXIT1(cinfo, JERR_OUT_OF_MEMORY, 10);
-+
-+  memcpy(nextbuffer, dest->buffer, dest->bufsize);
-+
-+  if (dest->newbuffer != NULL)
-+    free(dest->newbuffer);
-+
-+  dest->newbuffer = nextbuffer;
-+
-+  dest->pub.next_output_byte = nextbuffer + dest->bufsize;
-+  dest->pub.free_in_buffer = dest->bufsize;
-+
-+  dest->buffer = nextbuffer;
-+  dest->bufsize = nextsize;
-+
-+  return TRUE;
-+}
-+
-+METHODDEF(void)
-+term_mem_destination (j_compress_ptr cinfo)
-+{
-+  my_mem_dest_ptr dest = (my_mem_dest_ptr) cinfo->dest;
-+
-+  *dest->outbuffer = dest->buffer;
-+  *dest->outsize = dest->bufsize - dest->pub.free_in_buffer;
-+}
-+
-+GLOBAL(void)
-+jpeg_mem_dest (j_compress_ptr cinfo,
-+             unsigned char ** outbuffer, unsigned long * outsize)
-+{
-+  my_mem_dest_ptr dest;
-+
-+  if (outbuffer == NULL || outsize == NULL)   /* sanity check */
-+    ERREXIT(cinfo, JERR_BUFFER_SIZE);
-+
-+  /* The destination object is made permanent so that multiple JPEG images
-+   * can be written to the same buffer without re-executing jpeg_mem_dest.
-+   */
-+  if (cinfo->dest == NULL) {  /* first time for this JPEG object? */
-+    cinfo->dest = (struct jpeg_destination_mgr *)
-+      (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT,
-+                                sizeof(my_mem_destination_mgr));
-+  }
-+
-+  dest = (my_mem_dest_ptr) cinfo->dest;
-+  dest->pub.init_destination = init_mem_destination;
-+  dest->pub.empty_output_buffer = empty_mem_output_buffer;
-+  dest->pub.term_destination = term_mem_destination;
-+  dest->outbuffer = outbuffer;
-+  dest->outsize = outsize;
-+  dest->newbuffer = NULL;
-+
-+  if (*outbuffer == NULL || *outsize == 0) {
-+    /* Allocate initial buffer */
-+    dest->newbuffer = *outbuffer = (unsigned char *) malloc(OUTPUT_BUF_SIZE);
-+    if (dest->newbuffer == NULL)
-+      ERREXIT1(cinfo, JERR_OUT_OF_MEMORY, 10);
-+    *outsize = OUTPUT_BUF_SIZE;
-+  }
-+
-+  dest->pub.next_output_byte = dest->buffer = *outbuffer;
-+  dest->pub.free_in_buffer = dest->bufsize = *outsize;
-+}
-+
 
+++ /dev/null
---- lcd4linux/drv_SamsungSPF.c 2016-04-21 22:58:57.753031858 +0200
-+++ lcd4linux/drv_SamsungSPF_work.c    2016-04-21 23:14:02.685002452 +0200
-@@ -90,6 +90,20 @@
-      .xRes = 1024,
-      .yRes = 600,
-      },
-+    {
-+     .type = "SPF-87H",
-+     .vendorID = 0x04e8,
-+     .productID = {0x2033, 0x2034},
-+     .xRes = 800,
-+     .yRes = 480,
-+     },
-+    {
-+     .type = "SPF-87H(old)",
-+     .vendorID = 0x04e8,
-+     .productID = {0x2025, 0x2026},
-+     .xRes = 800,
-+     .yRes = 480,
-+     }
- };
- 
- static int numFrames = sizeof(spfDevices) / sizeof(spfDevices[0]);
-@@ -280,6 +294,15 @@
-       return -1;
-     }
- 
-+    //Keep SPF87h and friends in MiniMonitorMode
-+    char bytes[]={0x09, 0x04};
-+    
-+    if ((ret = usb_control_msg(myDevHandle, 0xc0, 0x01, 0x0000, 0x0000, bytes, 0x02, 1000)) < 0)
-+    {
-+      error("%s: Error occurred while sending control_msg to device.", Name);
-+      error("%s: usb_control_msg returned: %d", Name, ret);
-+    };
-+
-     return 0;
- }
- 
 
+++ /dev/null
-diff -Naur lcd4linux/cfg.c lcd4linux/cfg.c
---- lcd4linux/cfg.c    2012-12-30 15:52:25.000000000 +0100
-+++ lcd4linux/cfg.c    2012-12-30 16:10:56.000000000 +0100
-@@ -481,7 +481,7 @@
-       error("security error: '%s' is not a regular file", file);
-       error = -1;
-     }
--    if (stbuf.st_uid != uid || stbuf.st_gid != gid) {
-+/*    if (stbuf.st_uid != uid || stbuf.st_gid != gid) {
-       error("security error: owner and/or group of '%s' don't match", file);
-       error = -1;
-     }
-@@ -491,7 +491,7 @@
-       error = -1;
-     }
- #endif
--    return error;
-+*/    return error;
- }
- 
- 
 
+++ /dev/null
-...info:
-================================================================================================
-
-dies ist das neue "wittinobi-buildsystem-cs".
-es wurde gemacht, um weitestgehend eine "original-coolstream-firmware" zu erhalten.
-als erstes sollte man in der datei ".config" die einstellungen Ã¼berprüfen, dann kanns auch schon losgehen.
-die benutzung ist auf eigene gefahr.
-
-
-
-
-
-...building crosstool-ng:
-================================================================================================
-
-:$ cd $HOME
-:$ mkdir coolstream
-:$ cd coolstream
-:$ git clone http://git.wittinobi.de/bs-cst-neutrino-hd.git bs-cst-neutrino-hd
-:$ cd bs-cst-neutrino-hd
-
-( >> download ordner erstellen: )
-( :$ mkdir $HOME/coolstream/bs-cst-neutrino-hd/download )
-( >> ...oder alternativ link auf download-archiv erzeugen z.b.: )
-( :$ ln -s /archiv/download download )
-
-:$ make crosstool
-
-( >> hilfreiche seiten: )
-( >> http://www.dbox2world.net/board293-coolstream-hd1/board314-coolstream-development/8064-arm-cross-compiler-toolchain/ )
-( >> http://www.dbox2world.net/board293-coolstream-hd1/board306-coolstream-hd1-support/board312-coolstream-hd1-howto-tutorial-anleitungen/8824-coolstream-svn-howto/ )
-( >> http://www.dbox2world.net/board293-coolstream-hd1/board314-coolstream-development/8802-coolstream-neutrino-buildsystem/index5.html )
-
-
-
-
-
-...building a wittinobi bootloader, kernel, tarball and flash-image:
-================================================================================================
-
-:$ cd $HOME
-:$ mkdir coolstream
-:$ cd coolstream
-:$ git clone http://git.wittinobi.de/bs-cst-neutrino-hd.git bs-cst-neutrino-hd
-:$ cd bs-cst-neutrino-hd
-
-( >> download ordner erstellen: )
-( :$ mkdir $HOME/coolstream/bs-cst-neutrino-hd/download )
-( >> ...oder alternativ link auf download-archiv erzeugen z.b.: )
-( :$ ln -s /archiv/download download )
-
-:$ make printenv
-:$ make wittinobi-init
-
-( >> diffs einspielen wenn vorhanden, z.b. neutrino-hd: )
-( :$ cd source )
-( :$ patch -p0 < neutrino-hd.diff )
-( :$ cd .. )
-
-:$ make wittinobi-all
-
-
-
-
-
-...building a wittinobi tarball and flash-image:
-================================================================================================
-
-:$ cd $HOME
-:$ mkdir coolstream
-:$ cd coolstream
-:$ git clone http://git.wittinobi.de/bs-cst-neutrino-hd.git bs-cst-neutrino-hd
-:$ cd bs-cst-neutrino-hd
-
-( >> download ordner erstellen: )
-( :$ mkdir $HOME/coolstream/bs-cst-neutrino-hd/download )
-( >> ...oder alternativ link auf download-archiv erzeugen z.b.: )
-( :$ ln -s /archiv/download download )
-
-:$ make printenv
-:$ make wittinobi-init
-
-( >> diffs einspielen wenn vorhanden, z.b. neutrino-hd: )
-( :$ cd source )
-( :$ patch -p0 < neutrino-hd.diff )
-( :$ cd .. )
-
-:$ make wittinobi-neutrino-flash
-
-
-
-
-
-...building a wittinobi tarball and flash-image step by step:
-================================================================================================
-
-:$ cd $HOME
-:$ mkdir coolstream
-:$ cd coolstream
-:$ git clone http://git.wittinobi.de/bs-cst-neutrino-hd.git bs-cst-neutrino-hd
-:$ cd bs-cst-neutrino-hd
-
-( >> download ordner erstellen: )
-( :$ mkdir $HOME/coolstream/bs-cst-neutrino-hd/download )
-( >> ...oder alternativ link auf download-archiv erzeugen z.b.: )
-( :$ ln -s /archiv/download download )
-
-:$ make printenv
-:$ make prerequisites
-:$ make bootstrap
-
-( >> diffs einspielen wenn vorhanden, z.b. neutrino-hd: )
-( :$ cd source )
-( :$ patch -p0 < neutrino-hd.diff )
-( :$ cd .. )
-
-:$ make neutrino
-:$ make links
-:$ make procps
-:$ make busybox
-:$ make e2fsprogs
-:$ make hotplug
-:$ make fbshot
-:$ make vsftpd
-:$ make tuxcom
-:$ make tuxcal
-:$ make getrc
-:$ make msgbox
-:$ make input
-:$ make shellexec
-:$ make cooliTSclimax
-:$ make rcsim
-:$ make skeleton
-:$ make rootfs
-:$ make flash
-
-
-
-
-
-...building a wittinobi filesystem:
-================================================================================================
-
-:$ cd $HOME
-:$ mkdir coolstream
-:$ cd coolstream
-:$ git clone http://git.wittinobi.de/bs-cst-neutrino-hd.git bs-cst-neutrino-hd
-:$ cd bs-cst-neutrino-hd
-
-( >> download ordner erstellen: )
-( :$ mkdir $HOME/coolstream/bs-cst-neutrino-hd/download )
-( >> ...oder alternativ link auf download-archiv erzeugen z.b.: )
-( :$ ln -s /archiv/download download )
-
-:$ make printenv
-:$ make wittinobi-init
-
-( >> diffs einspielen wenn vorhanden, z.b. neutrino-hd: )
-( :$ cd source )
-( :$ patch -p0 < neutrino-hd.diff )
-( :$ cd .. )
-
-:$ make wittinobi-neutrino
-
-
-
-
-
-...building a coolstream kernel:
-================================================================================================
-
-:$ cd $HOME
-:$ mkdir coolstream
-:$ cd coolstream
-:$ git clone http://git.wittinobi.de/bs-cst-neutrino-hd.git bs-cst-neutrino-hd
-:$ cd bs-cst-neutrino-hd
-
-( >> download ordner erstellen: )
-( :$ mkdir $HOME/coolstream/bs-cst-neutrino-hd/download )
-( >> ...oder alternativ link auf download-archiv erzeugen z.b.: )
-( :$ ln -s /archiv/download download )
-
-:$ make printenv
-:$ make wittinobi-init
-:$ make kernel
-
-
-
-
-
-...building a coolstream bootloader:
-================================================================================================
-
-:$ cd $HOME
-:$ mkdir coolstream
-:$ cd coolstream
-:$ git clone http://git.wittinobi.de/bs-cst-neutrino-hd.git bs-cst-neutrino-hd
-:$ cd bs-cst-neutrino-hd
-
-( >> download ordner erstellen: )
-( :$ mkdir $HOME/coolstream/bs-cst-neutrino-hd/download )
-( >> ...oder alternativ link auf download-archiv erzeugen z.b.: )
-( :$ ln -s /archiv/download download )
-
-:$ make printenv
-:$ make wittinobi-init
-:$ make bootloader
 
+++ /dev/null
-...packages that need to be installed for building:
-================================================================================================
-
-this was tested on a minimal installation of Debian 6.0.8 amd64, other
-distributions will have similar package names.
-a few more packages are pulled in by dependencies, you'll need them as well.
-
-
-
-
-
-...check tools:
-================================================================================================
-
-:$ cd $HOME
-:$ mkdir coolstream
-:$ cd coolstream
-:$ git clone http://git.wittinobi.de/bs-cst-neutrino-hd.git bs-cst-neutrino-hd
-:$ cd bs-cst-neutrino-hd
-:$ make checktool
-
-
-
-
-
-...install tools:
-================================================================================================
-
-:$ apt-get install git make subversion patch gcc bison flex texinfo automake libtool libncurses5-dev build-essential ncurses-dev gettext pkg-config libgmp3-dev expat python-dev libvorbis-dev texlive help2man
 
+++ /dev/null
-###########################################################################################
-### PART 1 # SYSTEM #######################################################################
-###########################################################################################
-
-# set BOXMODEL to specify the STB type you want to build for
-# possible values are tank, trinity, link, zee2, zee and neo
-# please select also link for trinity duo
-# and neo for neo-twin, neo2, hd1 and bse as well
-# For Armboxes you can set hd51 and bre2ze4k
-# if you don't specify a value or something is misspelled
-# the default value neo will be used
-#
-BOXMODEL = neo
-
-#DEBUG = yes
-
-# if you want to use your precompiled toolchain, define CROSS_DIR:
-# this will skip the building of our own compiler/glibc combination!
-# if CROSS_DIR is not defined, you must first build your toolchain with "make crosstool"!
-# CROSS_DIR=/opt/cross
-
-
-# if /usr/share/libtool/config/config.guess does not supply a valid
-# build type, specify it here. THIS IS A WORKAROUND. Use with caution.
-# BUILD=x86_64-unknown-linux-gnu
-
-# choose one of the following neutrino-hd-port versions:
-# NEUTRINO_HD_PORT=neutrino-hd-master (coolstream master port)
-# NEUTRINO_HD_PORT=neutrino-hd-pumoviebouquets (coolstream pu/moviebouquets port)
-NEUTRINO_HD_PORT=neutrino-hd-master
-
-# choose one of the following coolstream kernel versions:
-# Nevis
-CST_KERNEL_VERSION=2.6.34.13
-# Apollo / Kronos
-# CST_KERNEL_VERSION=3.10.70
-# CST_KERNEL_VERSION=3.10.93
-
-
-# !ADVANCED!
-# if you know what you're doing you can set a specific driver directoy,
-# kernel version and branch (but you have to make sure that all entries matches)
-#
-# DRIVER_DIR=apollo-3.x
-# KBRANCH=cst_3.10
-# KBRANCH=cst_3.10.93
-
-# choose one of the following coolstream driver versions:
-# CST_DRIVER_VERSION=master
-# CST_DRIVER_VERSION=test
-CST_DRIVER_VERSION=master
-
-# choose one of the following coolstream ffmpeg versions:
-# CST_FFMPEG_VERSION=ffmpeg-head
-# CST_FFMPEG_VERSION=ffmpeg-3.3
-CST_FFMPEG_VERSION=ffmpeg-3.3
-
-# chosse one of the following library-stb-hal; default: libstb_hal_tuxbox
-# LIB_HAL_SOURCE=libstb_hal_tuxbox
-# LIB_HAL_SOURCE=libstb_hal_ddt
-
-###########################################################################################
-### SYSTEMTOOLS
-###########################################################################################
-
-# if you want to build hd-idle (optional), define HD_IDLE=yes:
-HD_IDLE=no
-
-
-###########################################################################################
-### PART 2 # APPLICATIONS # OPTIONAL ######################################################
-###########################################################################################
-
-# if you want to build lcd4linux (optional), define LCD4LINUX=yes:
-# LCD4LINUX=yes
-# LCD4LINUX=no
-LCD4LINUX=no
-
-# if you want to build inadyn (optional), define INADYN=yes:
-# INADYN=yes
-# INADYN=no
-INADYN=no
-
-# if you want to build djmount (optional), define DJMOUNT=yes:
-# DJMOUNT=yes
-# DJMOUNT=no
-DJMOUNT=no
-
-# if you want to build ushare (optional), define USHARE=yes:
-# USHARE=yes
-# USHARE=no
-USHARE=no
-
-# if you want to build xupnpd (optional), define XUPNPD=yes:
-# XUPNPD=yes
-# XUPNPD=no
-XUPNPD=no
-
-# if you want to build autofs (optional), define AUTOMOUNT=yes:
-# AUTOMOUNT=yes
-# AUTOMOUNT=no
-AUTOMOUNT=no
-
-# if you want to build unfsd (optional), define UNFSD=yes:
-# UNFSD=yes
-# UNFSD=no
-UNFSD=no
-
-###########################################################################################
-###########################################################################################
-
-
-
-
-
-###########################################################################################
-### PART 3 # MULTIMEDIA # OPTIONAL ########################################################
-###########################################################################################
-
-# if you want to build multimedia (optional), define MULTIMEDIA=yes:
-# MULTIMEDIA=yes
-# MULTIMEDIA=no
-MULTIMEDIA=no
-
-###########################################################################################
-### Customize
-###########################################################################################
-
-# Choose your own SKEL_ROOT_DIR (optional), define SKEL_ROOT_DIR=path_to_my_skel-root-dir
-# SKEL_ROOT_DIR=
-
-# Choose your own PLUGIN_DIR (optional)
-# PLUGIN_PATH=
-
-# Choose your own PLUGIN_ARCHIVE_DIR (optional)
-# PLUGIN_ARCHIVE_DIR=
-
-# choose if you want to use WIFI (optional, define WIFI=yes/no
-WIFI=no
-
-
-###########################################################################################
-### PART 4 # PLUGINS # OPTIONAL ###########################################################
-###########################################################################################
-
-# if you want to build BASICS1 (optional), define BASICS1=yes/no
-# getrc, msgbox, input, shellexec
-BASICS1=no
-
-# if you want to build BASICS2 (optional), define BASICS2=yes/no
-# tuxcom, tuxcal, tuxmail, blockads, logomask, logoview
-BASICS2=no
-
-# if you want to build BASICS3 (optional), define BASICS3=yes/no
-# rcsim, sdparm, libfx2
-BASICS3=no
-
-# if you want to build TUXWETTER (optional), define TUXWETTER=yes/no
-TUXWETTER=no
-
-# if you want to build LINKS (optional), define LINKS=yes/no
-LINKS=no
-
-# if you want to build cooliTSclimax (optional), define COOLITSCLIMAX=yes/no
-COOLITSCLIMAX=no
-
-# if you want to build charts (optional), define CHARTS=yes/no
-# liga_nat, boerse, rssnews, tanken, wetter, formel1
-CHARTS=no
-
-# if you want to build games (optional), define GAMES=yes/no
-GAMES=no
-
-###########################################################################################
-###########################################################################################
 
                $(MAKE) && \
        $(TOUCH)
 
-$(D)/lcd4linux: $(D)/libusb_compat $(D)/libgd2 | $(TARGETPREFIX)
+$(D)/lcd4linux: $(D)/libusb_compat $(D)/libgd2 $(ARCHIVE)/lcd4linux-git-$(LCD4LINUX_VER).tar.bz2 | $(TARGETPREFIX)
        $(START_BUILD)
        tar -C $(BUILD_TMP) -xf $(BASE_DIR)/archive-sources/lcd4linux/dpflib.tar.gz
        cd $(BUILD_TMP)/dpflib/dpflib && \
                cp -f $(BUILD_TMP)/dpflib/dpflib/sglib.h $(TARGETPREFIX)/include
                cp -f $(BUILD_TMP)/dpflib/include/* $(TARGETPREFIX)/include
                cp -f $(BUILD_TMP)/dpflib/dpflib/libdpf.a $(TARGETPREFIX)/lib
-       cd $(BUILD_TMP) && \
-       git clone git://git.webhop.me/pub/lcd4linux.git lcd4linux && \
-       cd $(BUILD_TMP)/lcd4linux && \
-               ./vcs_version.sh && \
+       set -e; cd $(BUILD_TMP)
+       $(REMOVE)/lcd4linux-git-$(LCD4LINUX_VER)
+       $(UNTAR)/lcd4linux-git-$(LCD4LINUX_VER).tar.bz2;
+       set -e; cd $(BUILD_TMP)/lcd4linux-git-$(LCD4LINUX_VER) && \
+               echo "#define VCS_VERSION \"svn1203-git-$(LCD4LINUX_VER)\"" > vcs_version.h && \
                mkdir -p libdpf && \
                cp -f $(BUILD_TMP)/dpflib/dpflib/libdpf.a libdpf/ && \
                mkdir -p m4 && \
                autoreconf -fi && \
                $(BUILDENV) ./configure \
-               --build=$(BUILD) \
-               --host=$(TARGET) \
-               --libdir=$(TARGETPREFIX)/lib \
-               --includedir=$(TARGETPREFIX)/include \
-               --oldincludedir=$(TARGETPREFIX)/include \
-               --bindir=$(TARGETPREFIX)/var/bin \
-               --prefix= \
-               --mandir=/.remove \
-               --docdir=/.remove \
-               --infodir=/.remove \
-               --with-drivers='DPF,SamsungSPF' \
-               --with-plugins='all,!dbus,!mpris_dbus,!asterisk,!isdn,!pop3,!ppp,!seti,!huawei,!imon,!kvv,!sample,!w1retap,!wireless,!xmms,!gps,!mpd,!mysql,!qnaplog' \
-               --without-ncurses && \
-       $(MAKE) all && \
-       $(TARGET)-strip lcd4linux && \
-       $(MAKE) install
+                       --build=$(BUILD) \
+                       --host=$(TARGET) \
+                       --bindir=/var/bin \
+                       --prefix= \
+                       --mandir=/.remove \
+                       --docdir=/.remove \
+                       --infodir=/.remove \
+                       --with-drivers='DPF,SamsungSPF,PNG' \
+                       --with-plugins='all,!apm,!asterisk,!dbus,!dvb,!gps,!hddtemp,!huawei,!imon,!isdn,!kvv,!mpd,!mpris_dbus,!mysql,!pop3,!ppp,!python,!qnaplog,!raspi,!sample,!seti,!w1retap,!wireless,!xmms' \
+                       --without-ncurses \
+               ; \
+       $(MAKE) all; \
+       $(MAKE) install DESTDIR=$(TARGETPREFIX)
+       $(TARGET)-strip $(TARGETPREFIX)/var/bin/lcd4linux
        $(REMOVE)/dpflib
-       $(REMOVE)/lcd4linux
+       $(REMOVE)/lcd4linux-git-$(LCD4LINUX_VER)
        $(TOUCH)
 
 $(D)/mjpg-streamer: $(ARCHIVE)/mjpg-streamer-r63.tar.gz | $(TARGETPREFIX)
 
 $(ARCHIVE)/libdvdcss-$(LIBDVDCSS_VER).tar.bz2:
        $(WGET) https://download.videolan.org/pub/libdvdcss/$(LIBDVDCSS_VER)/libdvdcss-$(LIBDVDCSS_VER).tar.bz2
 
-$(ARCHIVE)/gd-$(GD_VER).tar.gz:
-       $(WGET) ftp://ftp.uni-duisburg.de/Graphics/gd-$(GD_VER).tar.gz
+$(ARCHIVE)/libgd-$(GD_VER).tar.gz:
+       $(WGET) https://github.com/libgd/libgd/releases/download/gd-$(GD_VER)/libgd-$(GD_VER).tar.gz
 
 $(ARCHIVE)/gettext-$(GETTEXT_VER).tar.xz:
        $(WGET) http://ftp.gnu.org/pub/gnu/gettext/gettext-$(GETTEXT_VER).tar.xz
 $(ARCHIVE)/libdvbsi++-$(LIBDVBSI_GIT).tar.bz2: | $(HOSTPREFIX)/bin/get-git-archive.sh
        get-git-archive.sh git://git.opendreambox.org/git/obi/libdvbsi++.git $(LIBDVBSI_GIT) $(notdir $@) $(ARCHIVE)
 
+$(ARCHIVE)/lcd4linux-git-$(LCD4LINUX_VER).tar.bz2: | $(HOSTPREFIX)/bin/get-git-archive.sh
+       get-git-archive.sh https://github.com/TangoCash/lcd4linux.git $(LCD4LINUX_VER) $(notdir $@) $(ARCHIVE)
+
 $(ARCHIVE)/dvdreadfs.tar.bz2: | $(HOSTPREFIX)/bin/get-git-archive.sh
        get-git-archive.sh git@github.com:markschultz/dvdreadfs.git master $(notdir $@) $(ARCHIVE)
 
 $(ARCHIVE)/libusb-$(LIBUSB_VER).tar.bz2:
        $(WGET) http://downloads.sourceforge.net/project/libusb/libusb-1.0/libusb-$(LIBUSB_VER)/libusb-$(LIBUSB_VER).tar.bz2
 
-$(ARCHIVE)/libusb-compat-$(LIBUSB_COMP_VER).tar.bz2:
-       $(WGET) http://downloads.sourceforge.net/project/libusb/libusb-compat-0.1/libusb-compat-$(LIBUSB_COMP_VER)/libusb-compat-$(LIBUSB_COMP_VER).tar.bz2
+$(ARCHIVE)/libusb-compat-$(LIBUSB_COMPAT_VER).tar.bz2:
+       $(WGET) http://downloads.sourceforge.net/project/libusb/libusb-compat-0.1/libusb-compat-$(LIBUSB_COMPAT_VER)/libusb-compat-$(LIBUSB_COMPAT_VER).tar.bz2
 
 $(ARCHIVE)/libexif-$(LIBEXIF_VER).tar.gz:
        $(WGET) https://sourceforge.net/projects/libexif/files/libexif/$(LIBEXIF_VER)/libexif-$(LIBEXIF_VER).tar.gz
 
        $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libusb-1.0.pc
        $(TOUCH)
 
-$(D)/libusb_compat: $(ARCHIVE)/libusb-compat-$(LIBUSB_COMP_VER).tar.bz2 $(D)/libusb | $(TARGETPREFIX)
+$(D)/libusb_compat: $(ARCHIVE)/libusb-compat-$(LIBUSB_COMPAT_VER).tar.bz2 $(D)/libusb | $(TARGETPREFIX)
        $(START_BUILD)
-       $(UNTAR)/libusb-compat-$(LIBUSB_COMP_VER).tar.bz2
-       pushd $(BUILD_TMP)/libusb-compat-$(LIBUSB_COMP_VER) && \
-               $(CONFIGURE) --prefix= --build=$(BUILD) --host=$(TARGET) && \
-               $(MAKE) && \
-               $(MAKE) install DESTDIR=$(TARGETPREFIX) && \
-       $(REMOVE)/libusb-compat-$(LIBUSB_COMP_VER)
-       rm -rf $(TARGETPREFIX)/bin/libusb-config
+       $(REMOVE)/libusb-compat-$(LIBUSB_COMPAT_VER)
+       $(UNTAR)/libusb-compat-$(LIBUSB_COMPAT_VER).tar.bz2
+       set -e; cd $(BUILD_TMP)/libusb-compat-$(LIBUSB_COMPAT_VER); \
+               $(CONFIGURE) \
+                       --prefix= \
+                       --disable-log \
+                       --disable-debug-log \
+                       --disable-examples-build \
+               ; \
+               $(MAKE) ; \
+               $(MAKE) install DESTDIR=$(TARGETPREFIX)
+       rm -f $(TARGETPREFIX)/bin/libusb-config
        $(REWRITE_LIBTOOL)/libusb.la
        $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libusb.pc
+       $(REMOVE)/libusb-compat-$(LIBUSB_COMPAT_VER)
        $(TOUCH)
 
-ifeq ($(PLATFORM), $(filter $(PLATFORM), apollo kronos))
-  LIBICONV = $(D)/libiconv
-  WITH_ICONV = --with-libiconv-prefix=$(TARGETPREFIX)
-endif
-$(D)/libgd2: $(D)/zlib $(D)/libpng $(D)/libjpeg $(D)/freetype $(LIBICONV) $(ARCHIVE)/gd-$(GD_VER).tar.gz | $(TARGETPREFIX)
+$(D)/libgd2: $(D)/zlib $(D)/libpng $(D)/libjpeg $(D)/freetype $(ARCHIVE)/libgd-$(GD_VER).tar.gz | $(TARGETPREFIX)
        $(START_BUILD)
-       $(UNTAR)/gd-$(GD_VER).tar.gz
-       pushd $(BUILD_TMP)/gd-$(GD_VER) && \
-               sed -i 's@if (!png_check_sig (sig, 8)) { /* bad signature */@if (png_sig_cmp(sig, 0, 8) != 0) { /* bad signature */@' gd_png.c && \
-               sed -i 's@libpng12@libpng15@' configure && \
-               sed -i 's@LIBPNG12@LIBPNG15@' configure && \
-               sed -i 's@libpng12@libpng15@' configure.ac && \
-               sed -i 's@png12@png15@' configure.ac && \
-               sed -i 's@LIBPNG12@LIBPNG15@' configure.ac && \
-               sed -i 's@LIBPNG12@LIBPNG15@' Makefile.in && \
-               sed -i 's@LIBPNG12@LIBPNG15@' config/Makefile.in && \
-               sed -i 's@LIBPNG12@LIBPNG15@' test/Makefile.in && \
-               chmod +w configure && \
-               chmod +w aclocal.m4 && \
-               $(BUILDENV) \
-               ./configure \
+       $(REMOVE)/libgd-$(GD_VER)
+       $(UNTAR)/libgd-$(GD_VER).tar.gz
+       set -e; cd $(BUILD_TMP)/libgd-$(GD_VER); \
+               $(CONFIGURE) \
                        --prefix= \
-                       --build=$(BUILD) \
-                       --host=$(TARGET) \
                        --bindir=/.remove \
-                       --with-png=$(TARGETPREFIX)/include/libpng15 \
-                       --with-jpeg=$(TARGETPREFIX)/include \
-                       --with-freetype=$(TARGETPREFIX)/include/freetype2 \
+                       --without-fontconfig \
+                       --without-xpm \
                        --without-x \
-                       $(WITH_ICONV) && \
-               autoreconf -fi && \
-               $(MAKE) && \
+               ; \
+               $(MAKE); \
                $(MAKE) install DESTDIR=$(TARGETPREFIX)
-       $(REMOVE)/gd-$(GD_VER)
        $(REWRITE_LIBTOOL)/libgd.la
+       $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/gdlib.pc
+       $(REMOVE)/libgd-$(GD_VER)
        $(TOUCH)
 
 $(D)/libpcap: $(ARCHIVE)/libpcap-1.1.1.tar.gz | $(TARGETPREFIX)
 
 DROPBEAR_VER=2018.76
 
 # libgd2; an open source code library for the dynamic creation of images
-GD_VER = 2.0.35
+GD_VER = 2.2.5
 
 # GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes
 GDB_VER=8.0.1
 # libjpeg-turbo; a derivative of libjpeg for x86 and x86-64 processors which uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression and decompression
 JPEG_TURBO_VER = 1.5.3
 
+# lcd4linux mod TangoCash
+LCD4LINUX_VER = 1d27830
+
 # libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. 
 LIBASS_VER=0.14.0
 
 LIBUSB_VER = 1.0.21
 
 #libusb-compat; a replacement/wrapper for libusb-0.1
-LIBUSB_COMP_VER = 0.1.4
+LIBUSB_COMPAT_VER = 0.1.5
 
 # rtmpdump is a toolkit for RTMP streams. All forms of RTMP are supported,
 # including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.