From d778a39e03f457b5ce5fb5aab652ddedae16ddb7 Mon Sep 17 00:00:00 2001 From: wittinobi Date: Mon, 24 Sep 2012 16:27:47 +0200 Subject: [PATCH] update links, busybox and vsftpd --- .../busybox-1.20.2-coolstream.diff | 277 +++ archive-patches/busybox-1.20.2-hd1.config | 1018 +++++++++++ archive-patches/links-2.7.diff | 1551 +++++++++++++++++ make/applications.mk | 34 +- make/archives.mk | 12 +- 5 files changed, 2869 insertions(+), 23 deletions(-) create mode 100644 archive-patches/busybox-1.20.2-coolstream.diff create mode 100644 archive-patches/busybox-1.20.2-hd1.config create mode 100644 archive-patches/links-2.7.diff diff --git a/archive-patches/busybox-1.20.2-coolstream.diff b/archive-patches/busybox-1.20.2-coolstream.diff new file mode 100644 index 0000000..c9735a9 --- /dev/null +++ b/archive-patches/busybox-1.20.2-coolstream.diff @@ -0,0 +1,277 @@ +diff -Naur busybox-1.20.2/init/init.c busybox-1.20.2/init/init.c +--- busybox-1.20.2/init/init.c 2011-09-06 04:35:17.000000000 +0200 ++++ busybox-1.20.2/init/init.c 2011-11-14 14:39:06.000000000 +0100 +@@ -262,6 +262,11 @@ + } + } + ++#ifdef VT_OPENQRY ++/* don't want that "vt102" stuff... */ ++#undef VT_OPENQRY ++#endif ++ + static void console_init(void) + { + #ifdef VT_OPENQRY +@@ -269,16 +274,23 @@ + #endif + char *s; + ++# if 0 + s = getenv("CONSOLE"); + if (!s) + s = getenv("console"); ++#endif ++ s = "/dev/console"; ++ mknod(s, (S_IFCHR | 0600), 0x0501); ++ + if (s) { ++ close(STDIN_FILENO); ++ /* we'll get STDIN_FILENO from open... */ + int fd = open(s, O_RDWR | O_NONBLOCK | O_NOCTTY); + if (fd >= 0) { +- dup2(fd, STDIN_FILENO); + dup2(fd, STDOUT_FILENO); +- xmove_fd(fd, STDERR_FILENO); ++ dup2(fd, STDERR_FILENO); + } ++ ndelay_off(STDIN_FILENO); + dbg_message(L_LOG, "console='%s'", s); + } else { + /* Make sure fd 0,1,2 are not closed +@@ -295,8 +307,8 @@ + /* Not a linux terminal, probably serial console. + * Force the TERM setting to vt102 + * if TERM is set to linux (the default) */ +- if (!s || strcmp(s, "linux") == 0) +- putenv((char*)"TERM=vt102"); ++/* if (!s || strcmp(s, "linux") == 0) ++ putenv((char*)"TERM=vt102"); */ + if (!ENABLE_FEATURE_INIT_SYSLOG) + log_console = NULL; + } else +diff -Naur busybox-1.20.2/modutils/Config.src busybox-1.20.2/modutils/Config.src +--- busybox-1.20.2/modutils/Config.src 2011-09-06 04:35:17.000000000 +0200 ++++ busybox-1.20.2/modutils/Config.src 2011-11-14 14:39:06.000000000 +0100 +@@ -247,7 +247,7 @@ + config DEFAULT_MODULES_DIR + string "Default directory containing modules" + default "/lib/modules" +- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO ++ depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO || INSMOD + help + Directory that contains kernel modules. + Defaults to "/lib/modules" +diff -Naur busybox-1.20.2/modutils/insmod.c busybox-1.20.2/modutils/insmod.c +--- busybox-1.20.2/modutils/insmod.c 2011-09-06 04:35:17.000000000 +0200 ++++ busybox-1.20.2/modutils/insmod.c 2011-11-14 14:50:30.000000000 +0100 +@@ -35,11 +35,42 @@ + //usage: ) + //usage:#endif + ++#include ++static char *m_filename; ++static char *m_fullName; ++ ++static int FAST_FUNC check_module_name_match(const char *filename, ++ struct stat *statbuf UNUSED_PARAM, ++ void *userdata, int depth UNUSED_PARAM) ++{ ++ char *fullname = (char *) userdata; ++ char *tmp; ++ ++ if (fullname[0] == '\0') ++ return FALSE; ++ ++ tmp = bb_get_last_path_component_nostrip(filename); ++ if (strcmp(tmp, fullname) == 0) { ++ /* Stop searching if we find a match */ ++ m_filename = xstrdup(filename); ++ return FALSE; ++ } ++ return TRUE; ++} ++ + int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + int insmod_main(int argc UNUSED_PARAM, char **argv) + { + char *filename; + int rc; ++int len; ++char *tmp; ++char *tmp2; ++int k_version = 0; ++struct stat st; ++struct utsname uts; ++char *m_name; ++FILE *fp; + + /* Compat note: + * 2.6 style insmod has no options and required filename +@@ -58,9 +89,99 @@ + if (!filename) + bb_show_usage(); + +- rc = bb_init_module(filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0)); ++ /* Grab the module name */ ++ tmp = xstrdup(filename); ++ len = strlen(filename); ++ ++ if (uname(&uts) == 0) { ++ if (uts.release[0] == '2') { ++ k_version = uts.release[2] - '0'; ++ } ++ } ++ ++ if (k_version > 4 && len > 3 && tmp[len - 3] == '.' ++ && tmp[len - 2] == 'k' && tmp[len - 1] == 'o' ++ ) { ++ len -= 3; ++ tmp[len] = '\0'; ++ } else ++ if (len > 2 && tmp[len - 2] == '.' && tmp[len - 1] == 'o') { ++ len -= 2; ++ tmp[len] = '\0'; ++ } ++ ++ if (k_version > 4) ++ m_fullName = xasprintf("%s.ko", tmp); ++ else ++ m_fullName = xasprintf("%s.o", tmp); ++ ++ if (!m_name) { ++ m_name = tmp; ++ } ++ free(tmp); ++ ++ /* first look in /var/lib/modules */ ++ tmp2 = alloca(strlen(m_fullName) + sizeof("/var/lib/modules/")); ++ strcpy(tmp2, "/var/lib/modules/"); ++ strcat(tmp2, m_fullName); ++ if (stat(tmp2, &st) >= 0 && S_ISREG(st.st_mode) && (fp = fopen(tmp2, "r")) != NULL) { ++ m_filename = xstrdup(tmp2); ++ printf("insmod: preferring module %s\n", m_filename); ++ } else ++ /* Get a filedesc for the module. Check that we have a complete path */ ++ if (stat(filename, &st) < 0 || !S_ISREG(st.st_mode) ++ || (fp = fopen_for_read(filename)) == NULL ++ ) { ++ /* Hmm. Could not open it. First search under /lib/modules/`uname -r`, ++ * but do not error out yet if we fail to find it... */ ++ if (k_version) { /* uname succeedd */ ++ char *module_dir; ++ char *tmdn; ++ ++ tmdn = concat_path_file(CONFIG_DEFAULT_MODULES_DIR, uts.release); ++ /* Jump through hoops in case /lib/modules/`uname -r` ++ * is a symlink. We do not want recursive_action to ++ * follow symlinks, but we do want to follow the ++ * /lib/modules/`uname -r` dir, So resolve it ourselves ++ * if it is a link... */ ++ module_dir = xmalloc_readlink(tmdn); ++ if (!module_dir) ++ module_dir = xstrdup(tmdn); ++ recursive_action(module_dir, ACTION_RECURSE, ++ check_module_name_match, NULL, m_fullName, 0); ++ free(module_dir); ++ free(tmdn); ++ } ++ ++ /* Check if we have found anything yet */ ++ if (!m_filename || ((fp = fopen_for_read(m_filename)) == NULL)) { ++ int r; ++ char *module_dir; ++ ++ free(m_filename); ++ m_filename = NULL; ++ module_dir = xmalloc_readlink(CONFIG_DEFAULT_MODULES_DIR); ++ if (!module_dir) ++ module_dir = xstrdup(CONFIG_DEFAULT_MODULES_DIR); ++ /* No module found under /lib/modules/`uname -r`, this ++ * time cast the net a bit wider. Search /lib/modules/ */ ++ r = recursive_action(module_dir, ACTION_RECURSE, ++ check_module_name_match, NULL, m_fullName, 0); ++ if (r) ++ bb_error_msg_and_die("%s: module not found", m_fullName); ++ free(module_dir); ++ if (m_filename == NULL ++ || ((fp = fopen_for_read(m_filename)) == NULL) ++ ) { ++ bb_error_msg_and_die("%s: module not found", m_fullName); ++ } ++ } ++ } else ++ m_filename = xstrdup(filename); ++ ++ rc = bb_init_module(m_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0)); + if (rc) +- bb_error_msg("can't insert '%s': %s", filename, moderror(rc)); ++ bb_error_msg("can't insert '%s': %s", m_filename, moderror(rc)); + + return rc; + } +diff -Naur busybox-1.20.2/networking/Config.src busybox-1.20.2/networking/Config.src +--- busybox-1.20.2/networking/Config.src 2011-09-06 04:35:17.000000000 +0200 ++++ busybox-1.20.2/networking/Config.src 2011-11-14 14:39:06.000000000 +0100 +@@ -446,6 +446,20 @@ + Otherwise, if udhcpc applet is enabled, it is used. + Otherwise, ifup/ifdown will have no support for DHCP. + ++config FEATURE_IFUPDOWN_CNXT_NORUNPARTS ++ bool "Cnxt dissable run-parts" ++ default n ++ depends on IFUPDOWN ++ help ++ CNXT: This stops ifup/down executing runparts ++ ++config FEATURE_IFUPDOWN_CNXT_UDHCPCLOC ++ bool "Cnxt location for udhcpc" ++ default n ++ depends on IFUPDOWN ++ help ++ This searched for udhcpc script in /etc/network ++ + config INETD + bool "inetd" + default y +diff -Naur busybox-1.20.2/networking/ifupdown.c busybox-1.20.2/networking/ifupdown.c +--- busybox-1.20.2/networking/ifupdown.c 2011-09-06 04:35:17.000000000 +0200 ++++ busybox-1.20.2/networking/ifupdown.c 2011-11-14 14:39:06.000000000 +0100 +@@ -534,8 +534,13 @@ + "pump -i %iface% -k", + }, + { "udhcpc", ++#ifdef CONFIG_FEATURE_IFUPDOWN_CNXT_UDHCPCLOC ++ "udhcpc -n -p /var/run/udhcpc.%iface%.pid -t 5 -s /etc/network/udhcpc.sh " ++ "-i %iface% [[-H %hostname%]] [[-c %clientid%]]", ++#else + "udhcpc " UDHCPC_CMD_OPTIONS " -p /var/run/udhcpc.%iface%.pid -i %iface%[[ -H %hostname%]][[ -c %client%]]" + "[[ -s %script%]][[ %udhcpc_opts%]]", ++#endif + "kill `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", + }, + }; +@@ -1030,7 +1035,9 @@ + static int execute_all(struct interface_defn_t *ifd, const char *opt) + { + int i; ++#ifndef CONFIG_FEATURE_IFUPDOWN_CNXT_NORUNPARTS + char *buf; ++#endif + for (i = 0; i < ifd->n_options; i++) { + if (strcmp(ifd->option[i].name, opt) == 0) { + if (!doit(ifd->option[i].value)) { +@@ -1039,9 +1046,13 @@ + } + } + ++#ifndef CONFIG_FEATURE_IFUPDOWN_CNXT_NORUNPARTS + buf = xasprintf("run-parts /etc/network/if-%s.d", opt); + /* heh, we don't bother free'ing it */ + return doit(buf); ++#else ++ return 1; ++#endif + } + + static int check(char *str) diff --git a/archive-patches/busybox-1.20.2-hd1.config b/archive-patches/busybox-1.20.2-hd1.config new file mode 100644 index 0000000..0ffaace --- /dev/null +++ b/archive-patches/busybox-1.20.2-hd1.config @@ -0,0 +1,1018 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.20.2 +# Mon Sep 24 16:16:01 2012 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Busybox Settings +# + +# +# General Configuration +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +CONFIG_INCLUDE_SUSv2=y +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_PLATFORM_LINUX=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +CONFIG_FEATURE_COMPRESS_USAGE=y +CONFIG_FEATURE_INSTALLER=y +CONFIG_INSTALL_NO_USR=y +# CONFIG_LOCALE_SUPPORT is not set +# CONFIG_UNICODE_SUPPORT is not set +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_LONG_OPTS=y +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_CLEAN_UP is not set +# CONFIG_FEATURE_UTMP is not set +# CONFIG_FEATURE_WTMP is not set +CONFIG_FEATURE_PIDFILE=y +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +CONFIG_FEATURE_SYSLOG=y +CONFIG_FEATURE_HAVE_RPC=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_LFS=y +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="/home/wittinobi/coolstream/bs-cst-neutrino-hd-wc/root" + +# +# Busybox Library Tuning +# +CONFIG_FEATURE_SYSTEMD=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_PASSWORD_MINLEN=5 +CONFIG_MD5_SMALL=1 +# CONFIG_FEATURE_FAST_TOP is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +CONFIG_FEATURE_USE_TERMIOS=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=15 +# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +# CONFIG_FEATURE_REVERSE_SEARCH is not set +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_ASK_TERMINAL=y +CONFIG_FEATURE_NON_POSIX_CP=y +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +# CONFIG_FEATURE_SEAMLESS_XZ is not set +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +# CONFIG_FEATURE_SEAMLESS_BZ2 is not set +CONFIG_FEATURE_SEAMLESS_GZ=y +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_BUNZIP2 is not set +# CONFIG_BZIP2 is not set +# CONFIG_CPIO is not set +# CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set +CONFIG_GUNZIP=y +CONFIG_GZIP=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_GZIP_FAST=0 +# CONFIG_LZOP is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM2CPIO is not set +# CONFIG_RPM is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set +# CONFIG_UNCOMPRESS is not set +# CONFIG_UNLZMA is not set +# CONFIG_FEATURE_LZMA_FAST is not set +# CONFIG_LZMA is not set +# CONFIG_UNXZ is not set +# CONFIG_XZ is not set +CONFIG_UNZIP=y + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +# CONFIG_HOSTID is not set +# CONFIG_ID is not set +CONFIG_GROUPS=y +CONFIG_TEST=y +# CONFIG_FEATURE_TEST_64 is not set +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +# CONFIG_FEATURE_TR_CLASSES is not set +# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_BASE64=y +# CONFIG_WHO is not set +# CONFIG_USERS is not set +# CONFIG_CAL is not set +# CONFIG_CATV is not set +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +# CONFIG_COMM is not set +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_CUT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_DF=y +# CONFIG_FEATURE_DF_FANCY is not set +CONFIG_DIRNAME=y +CONFIG_DOS2UNIX=y +CONFIG_UNIX2DOS=y +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +CONFIG_FEATURE_ENV_LONG_OPTIONS=y +# CONFIG_EXPAND is not set +# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set +CONFIG_EXPR=y +# CONFIG_EXPR_MATH_SUPPORT_64 is not set +CONFIG_FALSE=y +# CONFIG_FOLD is not set +# CONFIG_FSYNC is not set +CONFIG_HEAD=y +# CONFIG_FEATURE_FANCY_HEAD is not set +# CONFIG_INSTALL is not set +# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set +CONFIG_LN=y +# CONFIG_LOGNAME is not set +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_MD5SUM=y +CONFIG_MKDIR=y +CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MV=y +CONFIG_FEATURE_MV_LONG_OPTIONS=y +CONFIG_NICE=y +CONFIG_NOHUP=y +# CONFIG_OD is not set +# CONFIG_PRINTENV is not set +# CONFIG_PRINTF is not set +CONFIG_PWD=y +# CONFIG_READLINK is not set +# CONFIG_FEATURE_READLINK_FOLLOW is not set +# CONFIG_REALPATH is not set +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y +CONFIG_SEQ=y +# CONFIG_SHA1SUM is not set +# CONFIG_SHA256SUM is not set +# CONFIG_SHA512SUM is not set +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +# CONFIG_FEATURE_FLOAT_SLEEP is not set +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +# CONFIG_STAT is not set +# CONFIG_FEATURE_STAT_FORMAT is not set +CONFIG_STTY=y +# CONFIG_SUM is not set +CONFIG_SYNC=y +# CONFIG_TAC is not set +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +# CONFIG_TEE is not set +# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set +CONFIG_TRUE=y +CONFIG_TTY=y +# CONFIG_UNAME is not set +# CONFIG_UNEXPAND is not set +# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set +CONFIG_UNIQ=y +CONFIG_USLEEP=y +# CONFIG_UUDECODE is not set +# CONFIG_UUENCODE is not set +CONFIG_WC=y +# CONFIG_FEATURE_WC_LARGE is not set +# CONFIG_WHOAMI is not set +CONFIG_YES=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for ls, more and telnet +# +CONFIG_FEATURE_AUTOWIDTH=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum +# +# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set + +# +# Console Utilities +# +# CONFIG_CHVT is not set +# CONFIG_FGCONSOLE is not set +CONFIG_CLEAR=y +# CONFIG_DEALLOCVT is not set +# CONFIG_DUMPKMAP is not set +# CONFIG_KBD_MODE is not set +# CONFIG_LOADFONT is not set +# CONFIG_LOADKMAP is not set +# CONFIG_OPENVT is not set +CONFIG_RESET=y +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +CONFIG_SETCONSOLE=y +CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y +# CONFIG_SETFONT is not set +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +# CONFIG_FEATURE_LOADFONT_RAW is not set + +# +# Debian Utilities +# +CONFIG_MKTEMP=y +# CONFIG_PIPE_PROGRESS is not set +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +CONFIG_WHICH=y + +# +# Editors +# +# CONFIG_PATCH is not set +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +# CONFIG_FEATURE_VI_ASK_TERMINAL is not set +CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_CMP=y +CONFIG_DIFF=y +CONFIG_FEATURE_DIFF_LONG_OPTIONS=y +CONFIG_FEATURE_DIFF_DIR=y +# CONFIG_ED is not set +CONFIG_SED=y +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +# CONFIG_FEATURE_FIND_DELETE is not set +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +CONFIG_FEATURE_FIND_LINKS=y +CONFIG_GREP=y +CONFIG_FEATURE_GREP_EGREP_ALIAS=y +CONFIG_FEATURE_GREP_FGREP_ALIAS=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set +# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set +# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +CONFIG_FEATURE_USE_INITTAB=y +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +CONFIG_FEATURE_INIT_SCTTY=y +CONFIG_FEATURE_INIT_SYSLOG=y +# CONFIG_FEATURE_EXTRA_QUIET is not set +# CONFIG_FEATURE_INIT_COREDUMPS is not set +# CONFIG_FEATURE_INITRD is not set +CONFIG_INIT_TERMINAL_TYPE="linux" +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y + +# +# Login/Password Management Utilities +# +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +# CONFIG_FEATURE_SHADOWPASSWDS is not set +CONFIG_USE_BB_PWD_GRP=y +# CONFIG_USE_BB_SHADOW is not set +CONFIG_USE_BB_CRYPT=y +# CONFIG_USE_BB_CRYPT_SHA is not set +CONFIG_ADDUSER=y +# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_FIRST_SYSTEM_ID=0 +CONFIG_LAST_SYSTEM_ID=0 +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +CONFIG_DELUSER=y +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +# CONFIG_GETTY is not set +CONFIG_LOGIN=y +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_PAM is not set +# CONFIG_LOGIN_SCRIPTS is not set +CONFIG_FEATURE_NOLOGIN=y +CONFIG_FEATURE_SECURETTY=y +CONFIG_PASSWD=y +CONFIG_FEATURE_PASSWD_WEAK_CHECK=y +# CONFIG_CRYPTPW is not set +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_SULOGIN is not set +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +# CONFIG_CHATTR is not set +CONFIG_FSCK=y +CONFIG_LSATTR=y +CONFIG_TUNE2FS=y + +# +# Linux Module Utilities +# +# CONFIG_MODINFO is not set +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +CONFIG_INSMOD=y +CONFIG_RMMOD=y +CONFIG_LSMOD=y +CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y +CONFIG_MODPROBE=y +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +# CONFIG_DEPMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_2_4_MODULES is not set +CONFIG_FEATURE_INSMOD_TRY_MMAP=y +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +CONFIG_FEATURE_MODUTILS_ALIAS=y +CONFIG_FEATURE_MODUTILS_SYMBOLS=y +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +CONFIG_BLOCKDEV=y +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_REV is not set +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +# CONFIG_BLKID is not set +# CONFIG_FEATURE_BLKID_TYPE is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_FBSET is not set +# CONFIG_FEATURE_FBSET_FANCY is not set +# CONFIG_FEATURE_FBSET_READMODE is not set +# CONFIG_FDFLUSH is not set +# CONFIG_FDFORMAT is not set +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +# CONFIG_FEATURE_GPT_LABEL is not set +CONFIG_FEATURE_FDISK_ADVANCED=y +CONFIG_FINDFS=y +# CONFIG_FLOCK is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKFS_VFAT is not set +# CONFIG_GETOPT is not set +# CONFIG_FEATURE_GETOPT_LONG is not set +# CONFIG_HEXDUMP is not set +# CONFIG_FEATURE_HEXDUMP_REVERSE is not set +# CONFIG_HD is not set +# CONFIG_HWCLOCK is not set +# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +CONFIG_IPCRM=y +CONFIG_IPCS=y +CONFIG_LOSETUP=y +# CONFIG_LSPCI is not set +CONFIG_LSUSB=y +CONFIG_MKSWAP=y +CONFIG_FEATURE_MKSWAP_UUID=y +CONFIG_MORE=y +CONFIG_MOUNT=y +CONFIG_FEATURE_MOUNT_FAKE=y +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +CONFIG_FEATURE_MOUNT_HELPERS=y +CONFIG_FEATURE_MOUNT_LABEL=y +CONFIG_FEATURE_MOUNT_NFS=y +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_PIVOT_ROOT=y +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +CONFIG_READPROFILE=y +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SETARCH is not set +CONFIG_SWAPONOFF=y +# CONFIG_FEATURE_SWAPON_PRI is not set +# CONFIG_SWITCH_ROOT is not set +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set +# CONFIG_FEATURE_MTAB_SUPPORT is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +# CONFIG_FEATURE_VOLUMEID_EXT is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_FAT is not set +# CONFIG_FEATURE_VOLUMEID_HFS is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set + +# +# Miscellaneous Utilities +# +# CONFIG_CONSPY is not set +# CONFIG_LESS is not set +CONFIG_FEATURE_LESS_MAXLINES=0 +# CONFIG_FEATURE_LESS_BRACKETS is not set +# CONFIG_FEATURE_LESS_FLAGS is not set +# CONFIG_FEATURE_LESS_MARKS is not set +# CONFIG_FEATURE_LESS_REGEXP is not set +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +CONFIG_SETSERIAL=y +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +CONFIG_UBIMKVOL=y +CONFIG_UBIRMVOL=y +CONFIG_UBIRSVOL=y +CONFIG_UBIUPDATEVOL=y +# CONFIG_ADJTIMEX is not set +CONFIG_BBCONFIG=y +CONFIG_FEATURE_COMPRESS_BBCONFIG=y +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CHRT is not set +# CONFIG_CROND is not set +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="" +# CONFIG_CRONTAB is not set +# CONFIG_DC is not set +# CONFIG_FEATURE_DC_LIBM is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +# CONFIG_DEVMEM is not set +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +# CONFIG_FBSPLASH is not set +# CONFIG_FLASHCP is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_IONICE is not set +# CONFIG_INOTIFYD is not set +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_SMALL is not set +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_HDPARM=y +CONFIG_FEATURE_HDPARM_GET_IDENTITY=y +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_MAKEDEVS=y +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +CONFIG_FEATURE_MAKEDEVS_TABLE=y +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +# CONFIG_MOUNTPOINT is not set +# CONFIG_MT is not set +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +CONFIG_SETSID=y +CONFIG_STRINGS=y +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +CONFIG_TIME=y +# CONFIG_TIMEOUT is not set +# CONFIG_TTYSIZE is not set +# CONFIG_VOLNAME is not set +# CONFIG_WALL is not set +CONFIG_WATCHDOG=y + +# +# Networking Utilities +# +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +CONFIG_NBDCLIENT=y +# CONFIG_NC is not set +# CONFIG_NC_SERVER is not set +# CONFIG_NC_EXTRA is not set +# CONFIG_NC_110_COMPAT is not set +CONFIG_PING=y +# CONFIG_PING6 is not set +CONFIG_FEATURE_FANCY_PING=y +CONFIG_WHOIS=y +# CONFIG_FEATURE_IPV6 is not set +# CONFIG_FEATURE_UNIX_LOCAL is not set +# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_ARP is not set +# CONFIG_ARPING is not set +# CONFIG_BRCTL is not set +# CONFIG_FEATURE_BRCTL_FANCY is not set +# CONFIG_FEATURE_BRCTL_SHOW is not set +# CONFIG_DNSD is not set +CONFIG_ETHER_WAKE=y +# CONFIG_FAKEIDENTD is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTP_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +# CONFIG_FEATURE_IFCONFIG_SLIP is not set +# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set +CONFIG_FEATURE_IFCONFIG_HW=y +# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +CONFIG_IFUPDOWN=y +CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" +CONFIG_FEATURE_IFUPDOWN_IP=y +CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y +# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set +CONFIG_FEATURE_IFUPDOWN_IPV4=y +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +CONFIG_FEATURE_IFUPDOWN_CNXT_NORUNPARTS=y +CONFIG_FEATURE_IFUPDOWN_CNXT_UDHCPCLOC=y +CONFIG_INETD=y +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +# CONFIG_FEATURE_IP_TUNNEL is not set +# CONFIG_FEATURE_IP_RULE is not set +# CONFIG_FEATURE_IP_SHORT_FORMS is not set +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_IPTUNNEL is not set +# CONFIG_IPRULE is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +CONFIG_NETSTAT=y +# CONFIG_FEATURE_NETSTAT_WIDE is not set +# CONFIG_FEATURE_NETSTAT_PRG is not set +CONFIG_NSLOOKUP=y +CONFIG_NTPD=y +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_TCPSVD is not set +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_TELNETD=y +CONFIG_FEATURE_TELNETD_STANDALONE=y +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +# CONFIG_TFTP is not set +# CONFIG_TFTPD is not set +# CONFIG_FEATURE_TFTP_GET is not set +# CONFIG_FEATURE_TFTP_PUT is not set +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_TFTP_DEBUG is not set +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +# CONFIG_TUNCTL is not set +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_UDHCPC6 is not set +# CONFIG_UDHCPD is not set +# CONFIG_DHCPRELAY is not set +# CONFIG_DUMPLEASES is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +CONFIG_DHCPD_LEASES_FILE="" +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/etc/network/udhcpc.sh" +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" +# CONFIG_UDPSVD is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +# CONFIG_FEATURE_WGET_STATUSBAR is not set +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_TIMEOUT=y +# CONFIG_ZCIP is not set + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +CONFIG_FEATURE_MIME_CHARSET="" +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set + +# +# Process Utilities +# +CONFIG_IOSTAT=y +CONFIG_LSOF=y +CONFIG_MPSTAT=y +# CONFIG_NMETER is not set +CONFIG_PMAP=y +CONFIG_POWERTOP=y +CONFIG_PSTREE=y +CONFIG_PWDX=y +# CONFIG_SMEMCAP is not set +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +CONFIG_FREE=y +CONFIG_FUSER=y +CONFIG_KILL=y +CONFIG_KILLALL=y +# CONFIG_KILLALL5 is not set +# CONFIG_PGREP is not set +CONFIG_PIDOF=y +# CONFIG_FEATURE_PIDOF_SINGLE is not set +# CONFIG_FEATURE_PIDOF_OMIT is not set +# CONFIG_PKILL is not set +CONFIG_PS=y +CONFIG_FEATURE_PS_WIDE=y +CONFIG_FEATURE_PS_LONG=y +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +CONFIG_RENICE=y +# CONFIG_BB_SYSCTL is not set +CONFIG_TOP=y +CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +# CONFIG_FEATURE_SHOW_THREADS is not set +CONFIG_WATCH=y + +# +# Runit Utilities +# +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVLOGD is not set +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_CHCON is not set +# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RESTORECON is not set +# CONFIG_RUNCON is not set +# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_SETSEBOOL is not set +# CONFIG_SESTATUS is not set + +# +# Shells +# +CONFIG_ASH=y +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +# CONFIG_ASH_GETOPTS is not set +CONFIG_ASH_BUILTIN_ECHO=y +CONFIG_ASH_BUILTIN_PRINTF=y +CONFIG_ASH_BUILTIN_TEST=y +# CONFIG_ASH_CMDCMD is not set +CONFIG_ASH_MAIL=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +# CONFIG_ASH_RANDOM_SUPPORT is not set +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_MSH is not set +CONFIG_FEATURE_SH_IS_ASH=y +# CONFIG_FEATURE_SH_IS_HUSH is not set +# CONFIG_FEATURE_SH_IS_NONE is not set +# CONFIG_FEATURE_BASH_IS_ASH is not set +# CONFIG_FEATURE_BASH_IS_HUSH is not set +CONFIG_FEATURE_BASH_IS_NONE=y +CONFIG_SH_MATH_SUPPORT=y +# CONFIG_SH_MATH_SUPPORT_64 is not set +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_HISTFILESIZE=y + +# +# System Logging Utilities +# +CONFIG_SYSLOGD=y +# CONFIG_FEATURE_ROTATE_LOGFILE is not set +# CONFIG_FEATURE_REMOTE_LOG is not set +# CONFIG_FEATURE_SYSLOGD_DUP is not set +CONFIG_FEATURE_SYSLOGD_CFG=y +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +CONFIG_FEATURE_IPC_SYSLOG=y +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 +CONFIG_LOGREAD=y +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +CONFIG_KLOGD=y +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y diff --git a/archive-patches/links-2.7.diff b/archive-patches/links-2.7.diff new file mode 100644 index 0000000..fed547c --- /dev/null +++ b/archive-patches/links-2.7.diff @@ -0,0 +1,1551 @@ +diff -Naur links-2.7/Makefile.am links-2.7/Makefile.am +--- links-2.7/Makefile.am 2012-06-06 21:49:35.000000000 +0200 ++++ links-2.7/Makefile.am 2012-08-08 10:44:05.394251684 +0200 +@@ -13,7 +13,7 @@ + else + endif + +-links_SOURCES=af_unix.c auth.c beos.c bfu.c block.c bookmarks.c cache.c charsets.c compress.c connect.c cookies.c default.c dip.c directfb.c directfb_cursors.h dither.c dns.c drivers.c error.c file.c finger.c fn_impl.c font_include.c framebuffer.c ftp.c gif.c html.c html_gr.c html_r.c html_tbl.c http.c https.c img.c imgcache.c jpeg.c jsint.c kbd.c language.c links_icon.c listedit.c lru.c mailto.c main.c memory.c menu.c objreq.c os_dep.c pmshell.c png.c sched.c select.c session.c smb.c svgalib.c terminal.c tiff.c types.c url.c view.c view_gr.c x.c xbm.c beos.h bits.h cfg.h codepage.h language.h links.h os_dep.h os_depx.h setup.h arrow.inc codepage.inc entity.inc fbcommon.inc language.inc uni_7b.inc upcase.inc ++links_SOURCES=af_unix.c auth.c beos.c bfu.c block.c bookmarks.c cache.c charsets.c compress.c connect.c cookies.c default.c dip.c directfb.c directfb_cursors.h dither.c dns.c drivers.c error.c file.c finger.c fn_impl.c font_include.c framebuffer.c ftp.c gif.c html.c html_gr.c html_r.c html_tbl.c http.c https.c img.c imgcache.c jpeg.c jsint.c kbd.c language.c links_icon.c listedit.c lru.c mailto.c main.c memory.c menu.c objreq.c os_dep.c pmshell.c png.c sched.c select.c session.c smb.c svgalib.c terminal.c tiff.c types.c url.c view.c view_gr.c x.c xbm.c beos.h bits.h cfg.h codepage.h language.h links.h os_dep.h os_depx.h setup.h arrow.inc codepage.inc entity.inc fbcommon.inc language.inc uni_7b.inc upcase.inc rc.c rcinput.c rcinput.h + + dist-hook: + #remove the symlinka: +diff -Naur links-2.7/Makefile.in links-2.7/Makefile.in +--- links-2.7/Makefile.in 2012-06-25 22:33:04.000000000 +0200 ++++ links-2.7/Makefile.in 2012-08-08 10:45:03.304256905 +0200 +@@ -78,7 +78,7 @@ + + @ATHEOS_GR_TRUE@links_LDADD = atheos.o + +-links_SOURCES = af_unix.c auth.c beos.c bfu.c block.c bookmarks.c cache.c charsets.c compress.c connect.c cookies.c default.c dip.c directfb.c directfb_cursors.h dither.c dns.c drivers.c error.c file.c finger.c fn_impl.c font_include.c framebuffer.c ftp.c gif.c html.c html_gr.c html_r.c html_tbl.c http.c https.c img.c imgcache.c jpeg.c jsint.c kbd.c language.c links_icon.c listedit.c lru.c mailto.c main.c memory.c menu.c objreq.c os_dep.c pmshell.c png.c sched.c select.c session.c smb.c svgalib.c terminal.c tiff.c types.c url.c view.c view_gr.c x.c xbm.c beos.h bits.h cfg.h codepage.h language.h links.h os_dep.h os_depx.h setup.h arrow.inc codepage.inc entity.inc fbcommon.inc language.inc uni_7b.inc upcase.inc ++links_SOURCES = af_unix.c auth.c beos.c bfu.c block.c bookmarks.c cache.c charsets.c compress.c connect.c cookies.c default.c dip.c directfb.c directfb_cursors.h dither.c dns.c drivers.c error.c file.c finger.c fn_impl.c font_include.c framebuffer.c ftp.c gif.c html.c html_gr.c html_r.c html_tbl.c http.c https.c img.c imgcache.c jpeg.c jsint.c kbd.c language.c links_icon.c listedit.c lru.c mailto.c main.c memory.c menu.c objreq.c os_dep.c pmshell.c png.c sched.c select.c session.c smb.c svgalib.c terminal.c tiff.c types.c url.c view.c view_gr.c x.c xbm.c beos.h bits.h cfg.h codepage.h language.h links.h os_dep.h os_depx.h setup.h arrow.inc codepage.inc entity.inc fbcommon.inc language.inc uni_7b.inc upcase.inc rc.c rcinput.c rcinput.h + + CXXFLAGS = @CXXFLAGS@ + +@@ -102,7 +102,7 @@ + language.o links_icon.o listedit.o lru.o mailto.o main.o memory.o \ + menu.o objreq.o os_dep.o pmshell.o png.o sched.o select.o session.o \ + smb.o svgalib.o terminal.o tiff.o types.o url.o view.o view_gr.o x.o \ +-xbm.o ++xbm.o rc.o rcinput.o rcmouse.o + @ATHEOS_GR_TRUE@links_DEPENDENCIES = atheos.o + links_LDFLAGS = + CFLAGS = @CFLAGS@ +diff -Naur links-2.7/bfu.c links-2.7/bfu.c +--- links-2.7/bfu.c 2012-06-25 21:29:20.000000000 +0200 ++++ links-2.7/bfu.c 2012-08-08 10:41:05.584236472 +0200 +@@ -1411,7 +1411,7 @@ + x_display_dlg_item(dlg, di, 1); + break; + } +- if ((ev->x == KBD_ENTER && di->item->type == D_BUTTON) || ev->x == ' ') { ++ if ((ev->x == KBD_ENTER && /*focus*/ (di->item->type == D_CHECKBOX || di->item->type == D_BUTTON)) || ev->x == ' ') { + dlg_select_item(dlg, di); + break; + } +diff -Naur links-2.7/bits.h links-2.7/bits.h +--- links-2.7/bits.h 2012-03-29 06:10:01.000000000 +0200 ++++ links-2.7/bits.h 2012-08-08 10:41:05.584236472 +0200 +@@ -47,4 +47,5 @@ + #elif defined(SIZEOF_UNSIGNED_LONG_LONG) && SIZEOF_UNSIGNED_LONG_LONG == 8 + #define t8c unsigned long long + #endif /* #if sizeof(short) */ +- ++#undef t4c ++#define t4c unsigned int +diff -Naur links-2.7/configure links-2.7/configure +--- links-2.7/configure 2012-06-25 22:33:05.000000000 +0200 ++++ links-2.7/configure 2012-08-08 10:41:05.584236472 +0200 +@@ -8968,7 +8968,7 @@ + fi + done + +- if test "$ac_cv_header_linux_fb_h" = yes && test "$ac_cv_header_linux_kd_h" = yes && test "$ac_cv_header_linux_vt_h" = yes && test "$ac_cv_header_sys_mman_h" = yes && test "$ac_cv_header_sys_ioctl_h" = yes && test "$cf_have_gpm" = yes; then ++ if test "$ac_cv_header_linux_fb_h" = yes && test "$ac_cv_header_linux_kd_h" = yes && test "$ac_cv_header_linux_vt_h" = yes && test "$ac_cv_header_sys_mman_h" = yes && test "$ac_cv_header_sys_ioctl_h" = yes; then + cat >> confdefs.h <<\EOF + #define GRDRV_FB 1 + EOF +diff -Naur links-2.7/default.c links-2.7/default.c +--- links-2.7/default.c 2012-06-26 01:57:10.000000000 +0200 ++++ links-2.7/default.c 2012-08-08 10:50:27.174285116 +0200 +@@ -634,7 +634,7 @@ + } + } + #endif +- if (!home) home = stracpy(cast_uchar getenv("HOME")); ++ if (!home) home = stracpy("/var/tuxbox/config"); + #ifdef WIN32 + /* When we run in Cygwin without Cygwin environment, it reports home "/". + Unfortunatelly, it can't write anything to that directory */ +@@ -672,10 +672,10 @@ + sleep(3); + mem_free(home_links); + home_links = stracpy(home); +- add_to_strn(&home_links, cast_uchar ".links"); ++ add_to_strn(&home_links, cast_uchar "links"); + } + mem_free(config_dir); +- } else add_to_strn(&home_links, cast_uchar ".links"); ++ } else add_to_strn(&home_links, cast_uchar "links"); + EINTRLOOP(rs, stat(cast_const_char home_links, &st)); + if (rs) { + #ifdef HAVE_MKDIR +@@ -1814,7 +1814,7 @@ + if (links_home) mem_free(links_home); + } + +-int ggr = 0; ++int ggr = 1; + unsigned char ggr_drv[MAX_STR_LEN] = ""; + unsigned char ggr_mode[MAX_STR_LEN] = ""; + unsigned char ggr_display[MAX_STR_LEN] = ""; +diff -Naur links-2.7/dither.c links-2.7/dither.c +--- links-2.7/dither.c 2012-02-21 01:51:19.000000000 +0100 ++++ links-2.7/dither.c 2012-08-08 10:41:05.594236472 +0200 +@@ -341,7 +341,7 @@ + #define SAVE_CODE *outp=bt>>16;\ + outp[1]=gt>>16;\ + outp[2]=rt>>16;\ +- outp[3]=0;\ ++ outp[3]=0xFF /*focus*/;\ + outp+=4; + DITHER_TEMPLATE(dither_196) + ROUND_TEMPLATE(round_196) +@@ -459,7 +459,7 @@ + ((char *)&ret)[0]=rgb; + ((char *)&ret)[1]=rgb>>8; + ((char *)&ret)[2]=rgb>>16; +- ((char *)&ret)[3]=0; ++ ((char *)&ret)[3]=0xFF; // focus + + return ret; + } +@@ -774,7 +774,7 @@ + detecting slow fpu, always assume fast FPU */ + if (gamma_bits == 2 && x_slow_fpu == 1) slow_fpu = 1; + } +- ++#if 0 + static void make_red_table(int bits, int pos, int dump_t2c, int be) + { + make_16_table(red_table,bits,pos,display_red_gamma,dump_t2c, be); +@@ -789,7 +789,66 @@ + { + make_16_table(blue_table,bits,pos,display_blue_gamma, dump_t2c, be); + } +- ++#endif ++#define TABLE_DIR "/tmp/" ++void make_red_table(int bits, int pos, int dump_t2c, int be) ++{ ++ FILE *fd; ++ ++ fd = fopen(TABLE_DIR "red_table","r"); ++ if (fd <= 0) ++ { ++ make_16_table(red_table,bits,pos,display_red_gamma,dump_t2c, be); ++ fd = fopen(TABLE_DIR "red_table","w"); ++ fwrite(&red_table,sizeof(red_table),1,fd); ++ } else ++ { ++ fread(&red_table,sizeof(red_table),1,fd); ++ } ++ fclose(fd); ++#ifdef DEBUG_CALLS ++ fprintf(stderr, "Red load complete\n"); ++#endif ++} ++ ++void make_green_table(int bits, int pos, int dump_t2c, int be) ++{ ++ FILE *fd; ++ ++ fd = fopen(TABLE_DIR "green_table","r"); ++ if (fd <= 0) ++ { ++ make_16_table(green_table,bits,pos,display_green_gamma,dump_t2c, be); ++ fd = fopen(TABLE_DIR "green_table","w"); ++ fwrite(&green_table,sizeof(green_table),1,fd); ++ } else ++ { ++ fread(&green_table,sizeof(green_table),1,fd); ++ } ++ fclose(fd); ++#ifdef DEBUG_CALLS ++ fprintf(stderr, "Green load complete\n"); ++#endif ++} ++void make_blue_table(int bits, int pos,int dump_t2c, int be) ++{ ++FILE *fd; ++ ++ fd = fopen(TABLE_DIR "blue_table","r"); ++ if (fd <= 0) ++ { ++ make_16_table(blue_table,bits,pos,display_blue_gamma, dump_t2c, be); ++ fd = fopen(TABLE_DIR "blue_table","w"); ++ fwrite(&blue_table,sizeof(blue_table),1,fd); ++ } else ++ { ++ fread(&blue_table,sizeof(blue_table),1,fd); ++ } ++ fclose(fd); ++#ifdef DEBUG_CALLS ++ fprintf(stderr, "Blue load complete\n"); ++#endif ++} + void dither(unsigned short *in, struct bitmap *out) + { + int *dregs; +diff -Naur links-2.7/framebuffer.c links-2.7/framebuffer.c +--- links-2.7/framebuffer.c 2012-06-25 21:29:21.000000000 +0200 ++++ links-2.7/framebuffer.c 2012-08-08 10:58:50.514329192 +0200 +@@ -8,6 +8,7 @@ + + #ifdef GRDRV_FB + ++//#define SVGA // FIXME + #define USE_GPM_DX + + /* #define FB_DEBUG */ +@@ -27,7 +28,7 @@ + + #include "bits.h" + +-#include ++//#include + + #include + #include +@@ -76,7 +77,7 @@ + static int fb_colors, fb_palette_colors; + static struct fb_var_screeninfo vi; + static struct fb_fix_screeninfo fi; +- ++int xres, yres; + static void fb_draw_bitmap(struct graphics_device *dev,struct bitmap* hndl, int x, int y); + + static unsigned char *fb_driver_param; +@@ -234,7 +235,7 @@ + + static void redraw_mouse(void); + +-static void fb_mouse_move(int dx, int dy) ++void fb_mouse_move(int dx, int dy) + { + struct event ev; + mouse_x += dx; +@@ -244,6 +245,7 @@ + if (mouse_y >= fb_ysize) mouse_y = fb_ysize - 1; + if (mouse_x < 0) mouse_x = 0; + if (mouse_y < 0) mouse_y = 0; ++//printf("fb_mouse_move: new x %d y %d\n", mouse_x, mouse_y); + ev.x = mouse_x; + ev.y = mouse_y; + ev.b = B_MOVE; +@@ -658,6 +660,7 @@ + + static void set_palette(struct palette *pal) + { ++ return;//focus + struct fb_cmap cmap; + int i; + unsigned short *red=pal->red; +@@ -802,7 +805,7 @@ + install_signal_handler(SIG_ACQ, fb_switch_signal, (void*)SIG_ACQ, 0); + EINTRLOOP(rs, ioctl(TTY,VT_GETMODE, &vt_omode)); + if (rs == -1) { +- return stracpy(cast_uchar "Could not get VT mode.\n"); ++ //return stracpy(cast_uchar "Could not get VT mode.\n"); + } + memcpy(&vt_mode, &vt_omode, sizeof(vt_mode)); + +@@ -813,7 +816,7 @@ + + EINTRLOOP(rs, ioctl(TTY,VT_SETMODE, &vt_mode)); + if (rs == -1) { +- return stracpy(cast_uchar "Could not set VT mode.\n"); ++ //return stracpy(cast_uchar "Could not set VT mode.\n"); + } + return NULL; + } +@@ -869,6 +872,7 @@ + + static void fb_gpm_in(void *nic) + { ++#if 0 //focus + #ifndef USE_GPM_DX + static int lx = -1, ly = -1; + #endif +@@ -940,10 +944,12 @@ + if (!current_virtual_device) return; + if (current_virtual_device->mouse_handler) current_virtual_device->mouse_handler(current_virtual_device, ev.x, ev.y, ev.b); + redraw_mouse(); ++#endif //focus + } + + static int handle_fb_mouse(void) + { ++#if 0 //focus + Gpm_Connect conn; + #ifndef USE_GPM_DX + int gpm_ver = 0; +@@ -986,7 +992,7 @@ + #ifdef SIGTTIN + install_signal_handler(SIGTTIN, (void (*)(void *))sig_tstp, NULL, 0); + #endif +- ++#endif //focus + return 0; + } + +@@ -1001,7 +1007,7 @@ + fb_old_ws_v = 0; + } + #endif +- Gpm_Close(); ++ //Gpm_Close(); + #ifdef SIGTSTP + install_signal_handler(SIGTSTP, (void (*)(void *))sig_tstp, NULL, 0); + #endif +@@ -1033,14 +1039,64 @@ + { + fb_print(seq_show_cursor); + } ++void read_neutrino_osd_conf ( int *ex,int *sx,int *ey, int *sy ) ++{ ++ const char *filename="/var/tuxbox/config/neutrino.conf"; ++ FILE* fd = fopen ( filename, "r" ); ++ int ex_old = 0, sx_old = 0, ey_old = 0, sy_old = 0; ++ int ex_crt = 0, sx_crt = 0, ey_crt = 0, sy_crt = 0; ++ int ex_lcd = 0, sx_lcd = 0, ey_lcd = 0, sy_lcd = 0; ++ int crt_lcd = -1; ++ if ( fd ) ++ { ++ char *buffer=NULL; ++ size_t len = 0; ++ ssize_t read; ++ while ( ( read = getline ( &buffer, &len, fd ) ) != -1 ) ++ { ++ sscanf ( buffer, "screen_EndX=%d", &ex_old ); ++ sscanf ( buffer, "screen_StartX=%d", &sx_old ); ++ sscanf ( buffer, "screen_EndY=%d", &ey_old ); ++ sscanf ( buffer, "screen_StartY=%d" , &sy_old ); ++ ++ sscanf ( buffer, "screen_preset=%d", &crt_lcd );//0: crt 1: lcd ++ ++ sscanf ( buffer, "screen_EndX_crt=%d", &ex_crt ); ++ sscanf ( buffer, "screen_StartX_crt=%d", &sx_crt ); ++ sscanf ( buffer, "screen_EndY_crt=%d", &ey_crt ); ++ sscanf ( buffer, "screen_StartY_crt=%d" , &sy_crt ); ++ ++ sscanf ( buffer, "screen_EndX_lcd=%d", &ex_lcd ); ++ sscanf ( buffer, "screen_StartX_lcd=%d", &sx_lcd ); ++ sscanf ( buffer, "screen_EndY_lcd=%d", &ey_lcd ); ++ sscanf ( buffer, "screen_StartY_lcd=%d" , &sy_lcd ); ++ ++ } ++ fclose ( fd ); ++ if ( buffer ) ++ free ( buffer ); ++ } ++ if (crt_lcd == 1){ ++ *ex = ex_lcd; *sx = sx_lcd; *ey = ey_lcd; *sy = sy_lcd; ++ } ++ else if (crt_lcd == 0){ ++ *ex = ex_crt; *sx = sx_crt; *ey = ey_crt; *sy = sy_crt; ++ } ++ else if (crt_lcd == -1){ ++ *ex = ex_old; *sx = sx_old; *ey = ey_old; *sy = sy_old; ++ } ++ ++} + + static void fb_pan_display(void) + { ++#if 0 + int rs; + vi.xoffset=0; + vi.yoffset=0; + EINTRLOOP(rs, ioctl(fb_handler, FBIOPAN_DISPLAY, &vi)); + /* don't check error */ ++#endif + } + + static unsigned char *fb_init_driver(unsigned char *param, unsigned char *ignore) +@@ -1102,6 +1158,16 @@ + } else { + border_bottom = border_top; + } ++ if (*param) { ++ if (*param < '0' || *param > '9') goto bad_p; ++ xres = strtoul(param, (char **)(void *)¶m, 10); ++ if (*param == ',') param++; ++ } ++ if (*param) { ++ if (*param < '0' || *param > '9') goto bad_p; ++ yres = strtoul(param, (char **)(void *)¶m, 10); ++ if (*param == ',') param++; ++ } + if (*param) goto bad_p; + + EINTRLOOP(rs, fstat(TTY, &st)); +@@ -1137,8 +1203,31 @@ + fb_show_cursor(); + return stracpy(cast_uchar "Cannot get FB VSCREENINFO.\n"); + } ++ // fix to neutrino osd ++ int ex=0,sx=0,ey=0, sy=0; ++ read_neutrino_osd_conf ( &ex,&sx,&ey, &sy ); ++ if(border_right == 0) ++ border_right = vi.xres - ex; ++ if(border_left == 0) ++ border_left = sx; ++ if(border_bottom == 0) ++ border_bottom = vi.yres - ey; ++ if(border_top == 0) ++ border_top = sy; + +- oldmode=vi; ++#if 0 ++ //oldmode=vi; ++ memcpy(&oldmode, &vi, sizeof(oldmode)); ++ vi.xres_virtual=vi.xres=xres; ++ vi.yres_virtual=vi.yres=yres; ++ ++ if (ioctl (fb_handler, FBIOPUT_VSCREENINFO, &vi) == -1) { ++ close(fb_handler); ++ fb_switch_shutdown(); ++ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; } ++ return stracpy("Cannot set FB VSCREENINFO.\n"); ++ } ++#endif + + EINTRLOOP(rs, ioctl (fb_handler, FBIOGET_FSCREENINFO, &fi)); + if (rs==-1) +@@ -1153,6 +1242,7 @@ + fb_xsize=vi.xres; + fb_ysize=vi.yres; + fb_bits_pp=vi.bits_per_pixel; ++ + if (fb_bits_pp == 16 && vi.green.length == 5) fb_bits_pp = 15; + + if (fb_xsize <= border_left + border_right) border_left = border_right = 0; +@@ -1200,6 +1290,8 @@ + return stracpy(cast_uchar "Unknown bit depth"); + } + fb_colors=1<mouse_handler) current_virtual_device->mouse_handler(current_virtual_device ++, ev.x, ev.y, ev.b); ++} ++void fb_mouse_wheel(int val) ++{ ++ struct event ev; ++ ev.ev = EV_MOUSE; ++ ev.x = mouse_x; ++ ev.y = mouse_y; ++ ev.b = val; ++ if (!current_virtual_device) return; ++ if (current_virtual_device->mouse_handler) current_virtual_device->mouse_handler(current_virtual_device ++, ev.x, ev.y, ev.b); ++} + + static void fb_register_bitmap(struct bitmap *bmp) + { +@@ -1439,7 +1566,9 @@ + int rs; + + CLIP_PREFACE +- ++//focus ++//printf("fb_draw_bitmap: fb_linesize %d fb_pixelsize %d skip %d\n", fb_linesize, fb_pixelsize, hndl->skip); ++//printf("fb_draw_bitmap %x x %d y %d xs %d \n", scr_start, x, y, xs); + scr_start=fb_vmem+y*fb_linesize+x*fb_pixelsize; + for(;ys;ys--){ + memcpy(scr_start,data,xs*fb_pixelsize); +@@ -1614,7 +1743,9 @@ + unhandle_fb_mouse(); + fb_old_vd = current_virtual_device; + current_virtual_device=NULL; ++#ifdef SVGA + svgalib_block_itrm(fb_kbd); ++#endif + if (have_cmap) set_palette(&old_palette); + fb_switch_shutdown(); + fb_show_cursor(); +@@ -1628,7 +1759,9 @@ + return 0; + } + if (dev != fb_block_dev) return -2; ++#ifdef SVGA + if (svgalib_unblock_itrm(fb_kbd)) return -1; ++#endif + fb_switch_init(); + fb_hide_cursor(); + fb_pan_display(); +diff -Naur links-2.7/input_fake.h links-2.7/input_fake.h +--- links-2.7/input_fake.h 1970-01-01 01:00:00.000000000 +0100 ++++ links-2.7/input_fake.h 2012-08-08 10:41:05.664236476 +0200 +@@ -0,0 +1,84 @@ ++#ifndef _INPUT_FAKE_H ++#define _INPUT_FAKE_H ++ ++#include ++ ++ ++#if !defined(KEY_OK) ++ ++/** ++ * define some additional remote control keys in case they ++ * were not already defined above in ++ */ ++ ++#define KEY_OK 0x160 ++#define KEY_SELECT 0x161 ++#define KEY_GOTO 0x162 ++#define KEY_CLEAR 0x163 ++#define KEY_POWER2 0x164 ++#define KEY_OPTION 0x165 ++#define KEY_INFO 0x166 ++#define KEY_TIME 0x167 ++#define KEY_VENDOR 0x168 ++#define KEY_ARCHIVE 0x169 ++#define KEY_PROGRAM 0x16a ++#define KEY_CHANNEL 0x16b ++#define KEY_FAVORITES 0x16c ++#define KEY_EPG 0x16d ++#define KEY_PVR 0x16e ++#define KEY_MHP 0x16f ++#define KEY_LANGUAGE 0x170 ++#define KEY_TITLE 0x171 ++#define KEY_SUBTITLE 0x172 ++#define KEY_ANGLE 0x173 ++#define KEY_ZOOM 0x174 ++#define KEY_MODE 0x175 ++#define KEY_KEYBOARD 0x176 ++#define KEY_SCREEN 0x177 ++#define KEY_PC 0x178 ++#define KEY_TV 0x179 ++#define KEY_TV2 0x17a ++#define KEY_VCR 0x17b ++#define KEY_VCR2 0x17c ++#define KEY_SAT 0x17d ++#define KEY_SAT2 0x17e ++#define KEY_CD 0x17f ++#define KEY_TAPE 0x180 ++#define KEY_RADIO 0x181 ++#define KEY_TUNER 0x182 ++#define KEY_PLAYER 0x183 ++#define KEY_TEXT 0x184 ++#define KEY_DVD 0x185 ++#define KEY_AUX 0x186 ++#define KEY_MP3 0x187 ++#define KEY_AUDIO 0x188 ++#define KEY_VIDEO 0x189 ++#define KEY_DIRECTORY 0x18a ++#define KEY_LIST 0x18b ++#define KEY_MEMO 0x18c ++#define KEY_CALENDAR 0x18d ++#define KEY_RED 0x18e ++#define KEY_GREEN 0x18f ++#define KEY_YELLOW 0x190 ++#define KEY_BLUE 0x191 ++#define KEY_CHANNELUP 0x192 ++#define KEY_CHANNELDOWN 0x193 ++#define KEY_FIRST 0x194 ++#define KEY_LAST 0x195 ++#define KEY_AB 0x196 ++#define KEY_PLAY 0x197 ++#define KEY_RESTART 0x198 ++#define KEY_SLOW 0x199 ++#define KEY_SHUFFLE 0x19a ++#define KEY_FASTFORWARD 0x19b ++#define KEY_PREVIOUS 0x19c ++#define KEY_NEXT 0x19d ++#define KEY_DIGITS 0x19e ++#define KEY_TEEN 0x19f ++#define KEY_TWEN 0x1a0 ++#define KEY_BREAK 0x1a1 ++ ++ ++#endif /* !defined(KEY_OK) */ ++#endif /* _INPUT_FAKE_H */ ++ +diff -Naur links-2.7/links.cfg links-2.7/links.cfg +--- links-2.7/links.cfg 1970-01-01 01:00:00.000000000 +0100 ++++ links-2.7/links.cfg 2012-08-08 10:41:05.664236476 +0200 +@@ -0,0 +1,6 @@ ++name=Links web browser ++desc=web browser ++type=2 ++needfb=1 ++needrc=1 ++needoffsets=1 +diff -Naur links-2.7/main.c links-2.7/main.c +--- links-2.7/main.c 2012-06-25 21:44:18.000000000 +0200 ++++ links-2.7/main.c 2012-08-08 10:41:05.664236476 +0200 +@@ -446,6 +446,10 @@ + { + g_argc = argc; + g_argv = (unsigned char **)argv; ++ if (access("/tmp/red_table", R_OK) != 0) { ++ printf("Untaring the tables file\n"); ++ system("tar -xvzf /var/tuxbox/config/links/tables.tar.gz -C /tmp"); ++ } + + init_os(); + +diff -Naur links-2.7/menu.c links-2.7/menu.c +--- links-2.7/menu.c 2012-06-25 23:20:54.000000000 +0200 ++++ links-2.7/menu.c 2012-08-08 11:52:50.184604802 +0200 +@@ -180,7 +180,7 @@ + + static void menu_about(struct terminal *term, void *d, struct session *ses) + { +- msg_box(term, NULL, TEXT_(T_ABOUT), AL_CENTER, TEXT_(T_LINKS__LYNX_LIKE), term, 2, TEXT_(T_OK), NULL, B_ENTER | B_ESC, TEXT_(T_VERSION), menu_version, 0); ++ msg_box(term, NULL, TEXT_(T_ABOUT), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_LINKS__LYNX_LIKE), "\r\n\r\nadapted 2009 for Coolstream by focus\n","", NULL, term, 2, TEXT_(T_OK), NULL, B_ENTER | B_ESC, TEXT_(T_VERSION), menu_version, 0); + } + + static void menu_keys(struct terminal *term, void *d, struct session *ses) +@@ -2594,16 +2594,16 @@ + + #ifdef G + static struct menu_item file_menu111[] = { +- { TEXT_(T_GOTO_URL), cast_uchar "g", TEXT_(T_HK_GOTO_URL), MENU_FUNC menu_goto_url, (void *)0, 0, 0 }, +- { TEXT_(T_GO_BACK), cast_uchar "z", TEXT_(T_HK_GO_BACK), MENU_FUNC menu_go_back, (void *)0, 0, 0 }, +- { TEXT_(T_GO_FORWARD), cast_uchar "x", TEXT_(T_HK_GO_FORWARD), MENU_FUNC menu_go_forward, (void *)0, 0, 0 }, +- { TEXT_(T_HISTORY), cast_uchar ">", TEXT_(T_HK_HISTORY), MENU_FUNC history_menu, (void *)0, 1, 0 }, ++ { TEXT_(T_GOTO_URL), cast_uchar "[epg]", TEXT_(T_HK_GOTO_URL), MENU_FUNC menu_goto_url, (void *)0, 0, 0 }, ++ { TEXT_(T_GO_BACK), cast_uchar "<", TEXT_(T_HK_GO_BACK), MENU_FUNC menu_go_back, (void *)0, 0, 0 }, ++ { TEXT_(T_GO_FORWARD), cast_uchar ">", TEXT_(T_HK_GO_FORWARD), MENU_FUNC menu_go_forward, (void *)0, 0, 0 }, ++ { TEXT_(T_HISTORY), cast_uchar "", TEXT_(T_HK_HISTORY), MENU_FUNC history_menu, (void *)0, 1, 0 }, + { TEXT_(T_RELOAD), cast_uchar "Ctrl-R", TEXT_(T_HK_RELOAD), MENU_FUNC menu_reload, (void *)0, 0, 0 }, + }; + #endif + + static struct menu_item file_menu12[] = { +- { TEXT_(T_BOOKMARKS), cast_uchar "s", TEXT_(T_HK_BOOKMARKS), MENU_FUNC menu_bookmark_manager, (void *)0, 0, 0 }, ++ { TEXT_(T_BOOKMARKS), cast_uchar "[fav]", TEXT_(T_HK_BOOKMARKS), MENU_FUNC menu_bookmark_manager, (void *)0, 0, 0 }, + }; + + static struct menu_item file_menu21[] = { +@@ -2702,6 +2702,7 @@ + /*cast_uchar "", cast_uchar "", M_BAR, NULL, NULL, 0, 0, + TEXT_(T_OS_SHELL), cast_uchar "", TEXT_(T_HK_OS_SHELL), MENU_FUNC menu_shell, NULL, 0, 0,*/ + x = 1; ++#if 0 // focus + if (!anonymous && can_open_os_shell(term->environment)) { + e->text = TEXT_(T_OS_SHELL); + e->rtext = cast_uchar ""; +@@ -2713,6 +2714,7 @@ + e++; + x = 0; + } ++#endif // focus + if (can_resize_window(term)) { + e->text = TEXT_(T_RESIZE_TERMINAL); + e->rtext = cast_uchar ""; +@@ -2731,15 +2733,15 @@ + } + + static struct menu_item view_menu[] = { +- { TEXT_(T_SEARCH), cast_uchar "/", TEXT_(T_HK_SEARCH), MENU_FUNC menu_for_frame, (void *)search_dlg, 0, 0 }, +- { TEXT_(T_SEARCH_BACK), cast_uchar "?", TEXT_(T_HK_SEARCH_BACK), MENU_FUNC menu_for_frame, (void *)search_back_dlg, 0, 0 }, +- { TEXT_(T_FIND_NEXT), cast_uchar "n", TEXT_(T_HK_FIND_NEXT), MENU_FUNC menu_for_frame, (void *)find_next, 0, 0 }, +- { TEXT_(T_FIND_PREVIOUS), cast_uchar "N", TEXT_(T_HK_FIND_PREVIOUS), MENU_FUNC menu_for_frame, (void *)find_next_back, 0, 0 }, ++ { TEXT_(T_SEARCH), cast_uchar "[help]", TEXT_(T_HK_SEARCH), MENU_FUNC menu_for_frame, (void *)search_dlg, 0, 0 }, ++ { TEXT_(T_SEARCH_BACK), cast_uchar "[audio]", TEXT_(T_HK_SEARCH_BACK), MENU_FUNC menu_for_frame, (void *)search_back_dlg, 0, 0 }, ++ { TEXT_(T_FIND_NEXT), cast_uchar "[skip+]", TEXT_(T_HK_FIND_NEXT), MENU_FUNC menu_for_frame, (void *)find_next, 0, 0 }, ++ { TEXT_(T_FIND_PREVIOUS), cast_uchar "[skip-]", TEXT_(T_HK_FIND_PREVIOUS), MENU_FUNC menu_for_frame, (void *)find_next_back, 0, 0 }, + { cast_uchar "", cast_uchar "", M_BAR, NULL, NULL, 0, 0 }, +- { TEXT_(T_TOGGLE_HTML_PLAIN), cast_uchar "\\", TEXT_(T_HK_TOGGLE_HTML_PLAIN), MENU_FUNC menu_toggle, NULL, 0, 0 }, +- { TEXT_(T_DOCUMENT_INFO), cast_uchar "=", TEXT_(T_HK_DOCUMENT_INFO), MENU_FUNC menu_doc_info, NULL, 0, 0 }, +- { TEXT_(T_HEADER_INFO), cast_uchar "|", TEXT_(T_HK_HEADER_INFO), MENU_FUNC menu_head_info, NULL, 0, 0 }, +- { TEXT_(T_FRAME_AT_FULL_SCREEN), cast_uchar "f", TEXT_(T_HK_FRAME_AT_FULL_SCREEN), MENU_FUNC menu_for_frame, (void *)set_frame, 0, 0 }, ++ { TEXT_(T_TOGGLE_HTML_PLAIN), cast_uchar "[ttx]", TEXT_(T_HK_TOGGLE_HTML_PLAIN), MENU_FUNC menu_toggle, NULL, 0, 0 }, ++ { TEXT_(T_DOCUMENT_INFO), cast_uchar "[info]", TEXT_(T_HK_DOCUMENT_INFO), MENU_FUNC menu_doc_info, NULL, 0, 0 }, ++ { TEXT_(T_HEADER_INFO), cast_uchar "[cool]", TEXT_(T_HK_HEADER_INFO), MENU_FUNC menu_head_info, NULL, 0, 0 }, ++// { TEXT_(T_FRAME_AT_FULL_SCREEN), cast_uchar "f", TEXT_(T_HK_FRAME_AT_FULL_SCREEN), MENU_FUNC menu_for_frame, (void *)set_frame, 0, 0 }, + { cast_uchar "", cast_uchar "", M_BAR, NULL, NULL, 0, 0 }, + { TEXT_(T_HTML_OPTIONS), cast_uchar "", TEXT_(T_HK_HTML_OPTIONS), MENU_FUNC menu_html_options, (void *)0, 0, 0 }, + { TEXT_(T_SAVE_HTML_OPTIONS), cast_uchar "", TEXT_(T_HK_SAVE_HTML_OPTIONS), MENU_FUNC menu_save_html_options, (void *)0, 0, 0 }, +diff -Naur links-2.7/rc.c links-2.7/rc.c +--- links-2.7/rc.c 1970-01-01 01:00:00.000000000 +0100 ++++ links-2.7/rc.c 2012-08-08 10:41:05.674236478 +0200 +@@ -0,0 +1,264 @@ ++/* rc.c ++ * (c) 2004 CypherLabs International ++ * This file is a part of the Links program, released under GPL. ++ */ ++ ++#include "links.h" ++#include "rcinput.h" ++ ++int rc_timer_id = -1; ++extern unsigned short actcode; ++ ++char multitap_chars[10][9] = { ++{'.', '-', '@', '1', '/', 0, 0, 0, 0}, // 2 ++{'a', 'b', 'c', '2', 'A', 'B', 'C', 0, 0}, // 3 ++{'d', 'e', 'f', '3', 'D', 'E', 'F', 0, 0}, // 4 ++{'g', 'h', 'i', '4', 'G', 'H', 'I', 0, 0}, ++{'j', 'k', 'l', '5', 'J', 'K', 'L', 0, 0}, ++{'m', 'n', 'o', '6', 'M', 'N', 'O', 0, 0}, ++{'p', 'q', 'r', 's', '7', 'P', 'Q', 'R', 'S'}, ++{'t', 'u', 'v', '8', 'T', 'U', 'V', 0, 0}, ++{'w', 'x', 'y', 'z', '9', 'W', 'X', 'Y', 'Z'}, ++{'#', '*', '0', '?', '!', ':', ';', ',', 0} ++}; ++ ++void kbd_postevent (int x) ++{ ++ struct event ev = { EV_KBD, x, 0, 0 }; ++ ++ if (current_virtual_device->keyboard_handler) ++ current_virtual_device->keyboard_handler (current_virtual_device, ev.x, ev.y); ++} ++ ++void kbd_right () ++{ ++ rc_timer_id = -1; ++ kbd_postevent (KBD_RIGHT); ++} ++ ++void kbd_multitap () ++{ ++ static int lastcode = -1; ++ static int charIndex = 0; ++ ++ if (rc_timer_id != -1) { ++ kill_timer (rc_timer_id); ++ ++ // Race condition is possible so check again ++ if (rc_timer_id != -1) ++ kbd_postevent (KBD_RIGHT); ++ } ++ ++ if (actcode == lastcode && rc_timer_id != -1) { ++ ++charIndex; ++ ++ if (charIndex > 8) ++ charIndex = 0; ++ ++ kbd_postevent (KBD_BS); ++ } else ++ charIndex = 0; ++ ++ rc_timer_id = -1; ++ ++ switch (actcode) { ++ case RC_1: ++ if (multitap_chars[0][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[0][charIndex]); ++ break; ++ case RC_2: ++ if (multitap_chars[1][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[1][charIndex]); ++ break; ++ case RC_3: ++ if (multitap_chars[2][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[2][charIndex]); ++ break; ++ case RC_4: ++ if (multitap_chars[3][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[3][charIndex]); ++ break; ++ case RC_5: ++ if (multitap_chars[4][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[4][charIndex]); ++ break; ++ case RC_6: ++ if (multitap_chars[5][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[5][charIndex]); ++ break; ++ case RC_7: ++ if (multitap_chars[6][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[6][charIndex]); ++ break; ++ case RC_8: ++ if (multitap_chars[7][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[7][charIndex]); ++ break; ++ case RC_9: ++ if (multitap_chars[8][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[8][charIndex]); ++ break; ++ case RC_0: ++ if (multitap_chars[9][charIndex] == 0) ++ charIndex = 0; ++ kbd_postevent (multitap_chars[9][charIndex]); ++ break; ++ } ++ ++ kbd_postevent (KBD_LEFT); ++ rc_timer_id = install_timer (1000, kbd_right, NULL); ++ ++ lastcode = actcode; ++} ++ ++void kbd_remoteControl () ++{ ++ struct timezone tz; ++ struct timeval tv; ++ long currenttime; ++ static long lasttime = -1; ++ static int repeatCount = 0; ++ int accelerator = 0; ++ int kbevent = 0; ++ ++#ifdef DEBUG_CALLS ++ sprintf (stderr, "Start processing RC event\n"); ++#endif ++ ++ gettimeofday (&tv, &tz); ++ ++ currenttime = (tv.tv_sec * 1000) + (int) (tv.tv_usec / 1000); ++ if (lasttime == -1) ++ lasttime = currenttime - 5000; // just to make sure the variable is initialised.. ++ ++ actcode = 0xff; ++ RcGetActCode (); ++ // Check for mouse movement (allowed to be rapid. ie no 180ms threshhold) ++ //if (actcode == RC_RIGHT || actcode == RC_LEFT || actcode == RC_UP || actcode == RC_DOWN || actcode == RC_OK) { ++ if (actcode == KEY_EXIT) //LAME button ++ kbd_postevent (/*KBD_CLOSE*/113); ++ else if (actcode != 0xff) { ++ // Test for acceleration ++ //if (actcode == RC_RIGHT || actcode == RC_LEFT || actcode == RC_UP || actcode == RC_DOWN || actcode == RC_OK) { ++ if (actcode == RC_BLUE || actcode == RC_YELLOW || actcode == RC_GREEN || actcode == RC_RED || actcode == RC_PLUS) { ++ if (currenttime - lasttime <= 250) ++ ++repeatCount; ++ else ++ repeatCount = 0; ++ } else ++ repeatCount = 0; ++ ++ if (repeatCount > 5) ++ accelerator = (repeatCount - 5) * 2; ++ ++ switch (actcode) { ++ case RC_BLUE: ++ fb_mouse_move (9 + accelerator, 0); ++ break; ++ case RC_RED: ++ fb_mouse_move (-9 - accelerator, 0); ++ break; ++ case RC_GREEN: ++ fb_mouse_move (0, 9 + accelerator); ++ break; ++ case RC_YELLOW: ++ fb_mouse_move (0, -9 - accelerator); ++ break; ++// case RC_PLUS: ++// fb_mouse_click (B_LEFT | B_UP); ++ break; ++ case RC_1: ++ case RC_2: ++ case RC_3: ++ case RC_4: ++ case RC_5: ++ case RC_6: ++ case RC_7: ++ case RC_8: ++ case RC_9: ++ case RC_0: ++ kbd_multitap (); ++ break; ++ case RC_RIGHT: ++ kbd_postevent (KBD_RIGHT); ++ break; ++ case RC_LEFT: ++ kbd_postevent (KBD_LEFT); ++ break; ++ case RC_UP: ++ kbd_postevent (KBD_UP); ++ break; ++ case RC_DOWN: ++ kbd_postevent (KBD_DOWN); ++ break; ++ case RC_OK: ++ kbd_postevent (KBD_ENTER); ++ break; ++ case RC_SPKR: ++ kbd_postevent (KBD_BS); ++ break; ++ case RC_PAGE_UP: ++ kbd_postevent (KBD_PAGE_UP); ++ break; ++ case RC_HELP: ++ kbd_postevent (0x2F);//search ++ break; ++ case RC_NEXT: ++ kbd_postevent (0x4E);//search next ++ break; ++ case RC_PREVIOUS: ++ kbd_postevent (0x6E);//search prev ++ break; ++ case RC_AUDIO: ++ kbd_postevent (0x3F);//search prev ++ break; ++ case RC_PAGE_DOWN: ++ kbd_postevent (KBD_PAGE_DOWN); ++ break; ++ case RC_SETUP: ++ kbd_postevent (KBD_ESC); ++ break; ++ case RC_MINUS: ++ kbd_postevent (-265);//move up ++ break; ++ case RC_PLUS: ++ kbd_postevent (-264);//move down ++ break; ++ case RC_FAVORITES: ++ kbd_postevent(0x53);//bookmarks manager ++ break; ++ case RC_EPG: ++ kbd_postevent(0x67);//gotourl ++ break; ++ case RC_TV: ++ kbd_postevent(0x2A);//pics on/off ++ break; ++ case RC_TEXT: ++ kbd_postevent(0x5C);//toggle html/plain txt ++ break; ++ case RC_GAMES: ++ kbd_postevent(0x7C);//header info ++ break; ++ case RC_INFO: ++ kbd_postevent(0x3D);//document info ++ break; ++ default: ++ break; ++ ++ } ++ ++ lasttime = currenttime; ++ } ++#ifdef DEBUG_CALLS ++ sprintf ("End processing RC event\n"); ++#endif ++} +diff -Naur links-2.7/rcinput.c links-2.7/rcinput.c +--- links-2.7/rcinput.c 1970-01-01 01:00:00.000000000 +0100 ++++ links-2.7/rcinput.c 2012-08-08 10:41:05.674236478 +0200 +@@ -0,0 +1,195 @@ ++/* ++** initial coding by fx2 ++*/ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "rcinput.h" ++ ++#define Debug if (debug) printf ++ ++static int fd = -1; ++static int kbfd = -1; ++unsigned short realcode=0xee; ++unsigned short actcode=0xee; ++int doexit=0; ++int debug=0; ++ ++static struct termios tios; ++ ++void KbInitialize( void ) ++{ ++ struct termios ntios; ++ ++ kbfd = 0; ++ ++ if ( tcgetattr(kbfd,&tios) == -1 ) ++ { ++ kbfd=-1; ++ return; ++ } ++ memset(&ntios,0,sizeof(ntios)); ++ tcsetattr(kbfd,TCSANOW,&ntios); ++ ++ return; ++} ++ ++static unsigned short kb_translate( unsigned char c ) ++{ ++ switch(c) ++ { ++ case 0x41 : ++ return RC_UP; ++ case 0x42 : ++ return RC_DOWN; ++ case 0x43 : ++ return RC_RIGHT; ++ case 0x44 : ++ return RC_LEFT; ++ } ++ return 0; ++} ++ ++void KbGetActCode( void ) ++{ ++ unsigned char buf[256]; ++ int x=0; ++ int left; ++ unsigned short code = 0; ++ unsigned char *p = buf; ++ ++ realcode=0xee; ++ ++ if ( kbfd != -1 ) ++ x = read(kbfd,buf,256); ++ if ( x>0 ) ++ { ++ for(p=buf, left=x; left; left--,p++) ++ { ++ switch(*p) ++ { ++ case 0x1b : ++ if ( left >= 3 ) ++ { ++ p+=2; ++ code = kb_translate(*p); ++ if ( code ) ++ actcode = code; ++ left-=2; ++ } ++ else ++ left=1; ++ break; ++ case 0x03 : ++ doexit=3; ++ break; ++ case 0x0d : ++ actcode=RC_OK; ++ break; ++#if 0 ++ case 0x1c : ++ FBPrintScreen(); ++ break; ++#endif ++ case '?' : ++ actcode=RC_HELP; ++ break; ++ case 'b' : ++ actcode=RC_BLUE; ++ break; ++ case 'r' : ++ actcode=RC_RED; ++ break; ++ case 'g' : ++ actcode=RC_GREEN; ++ break; ++ case 'y' : ++ actcode=RC_YELLOW; ++ break; ++ case '0' : ++ case '1' : ++ case '2' : ++ case '3' : ++ case '4' : ++ case '5' : ++ case '6' : ++ case '7' : ++ case '8' : ++ case '9' : ++ actcode=*p-48; ++ break; ++ case '-' : ++ actcode=RC_MINUS; ++ break; ++ case '+' : ++ actcode=RC_PLUS; ++ break; ++ case 'q' : ++ actcode=RC_SPKR; ++ //FBPause(); ++ break; ++ default: ++ break; ++ } ++ } ++ realcode=actcode; ++ } ++} ++ ++void KbClose( void ) ++{ ++ if ( kbfd != -1 ) ++ tcsetattr(kbfd,TCSANOW,&tios); ++} ++ ++int RcInitialize( int extfd ) ++{ ++ char buf[32]; ++ //KbInitialize(); ++ fd = open( "/dev/input/nevis_ir", O_RDONLY ); ++ //fd = open( "/dev/input/event0", O_RDONLY ); ++ if ( fd == -1 ) ++ { ++ return kbfd; ++ } ++ fcntl(fd, F_SETFL, O_NONBLOCK ); ++ read( fd, buf, 32 ); ++ return fd; ++} ++ ++void RcGetActCode( void ) ++{ ++ int x=0; ++ unsigned short code = 0; ++ struct input_event ev; ++ static int waspress = 0; ++ ++//printf("RcGetActCode\n"); ++ if ( fd == -1 ) ++ return; ++ ++ x = read(fd, &ev, sizeof(struct input_event)); ++printf("event: read %d type %d code %x (%d) value %d\n", x, ev.type, ev.code, ev.code, ev.value); ++ ++ if ( x != sizeof(struct input_event)) ++ return; ++ ++ if(ev.value == 0) ++ return; ++ ++ actcode=ev.code; ++ return; ++} ++ ++void RcClose( void ) ++{ ++ KbClose(); ++ if ( fd == -1 ) ++ return; ++ close(fd); ++} +diff -Naur links-2.7/rcinput.h links-2.7/rcinput.h +--- links-2.7/rcinput.h 1970-01-01 01:00:00.000000000 +0100 ++++ links-2.7/rcinput.h 2012-08-08 10:41:05.674236478 +0200 +@@ -0,0 +1,47 @@ ++#ifndef RC_INPUT_H ++#define RC_INPUT_H ++ ++#include "input_fake.h" ++#define RC_0 KEY_0 ++#define RC_1 KEY_1 ++#define RC_2 KEY_2 ++#define RC_3 KEY_3 ++#define RC_4 KEY_4 ++#define RC_5 KEY_5 ++#define RC_6 KEY_6 ++#define RC_7 KEY_7 ++#define RC_8 KEY_8 ++#define RC_9 KEY_9 ++#define RC_RIGHT KEY_RIGHT ++#define RC_LEFT KEY_LEFT ++#define RC_UP KEY_UP ++#define RC_DOWN KEY_DOWN ++#define RC_OK KEY_OK ++#define RC_SPKR KEY_MUTE ++#define RC_STANDBY KEY_POWER ++#define RC_GREEN KEY_GREEN ++#define RC_YELLOW KEY_YELLOW ++#define RC_RED KEY_RED ++#define RC_BLUE KEY_BLUE ++#define RC_PLUS KEY_VOLUMEUP ++#define RC_MINUS KEY_VOLUMEDOWN ++#define RC_HELP KEY_HELP ++#define RC_SETUP KEY_MENU ++#define RC_HOME KEY_EXIT ++#define RC_PAGE_DOWN KEY_PAGEDOWN ++#define RC_PAGE_UP KEY_PAGEUP ++#define RC_FAVORITES KEY_FAVORITES ++#define RC_EPG KEY_EPG ++#define RC_TV KEY_TV ++#define RC_NEXT KEY_NEXT ++#define RC_PREVIOUS KEY_PREVIOUS ++#define RC_AUDIO KEY_AUDIO ++#define RC_TEXT KEY_TEXT ++#define RC_GAMES KEY_GAMES ++#define RC_INFO KEY_INFO ++ ++void RcGetActCode( void ); ++int RcInitialize( int extfd ); ++void RcClose( void ); ++ ++#endif // RC_INPUT_H +diff -Naur links-2.7/rcmouse.c links-2.7/rcmouse.c +--- links-2.7/rcmouse.c 1970-01-01 01:00:00.000000000 +0100 ++++ links-2.7/rcmouse.c 2012-08-08 10:41:05.674236478 +0200 +@@ -0,0 +1,151 @@ ++/* rc.c ++ * (c) 2004 CypherLabs International ++ * This file is a part of the Links program, released under GPL. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "links.h" ++ ++struct mouseinfo { ++ unsigned char status; ++ signed char xmotion; ++ signed char ymotion; ++}; ++ ++#define MXSCALE 1 ++#define MYSCALE (MXSCALE * 1) ++ ++#define BT_LEFT 0x9 ++#define BT_RIGHT 0xa ++ ++ ++int mousefd = -1; ++ ++int rc_mouse_init() ++{ ++ mousefd = open("/dev/mouse", O_RDONLY); ++ ++ if (mousefd == -1) ++ mousefd = open("/dev/input/mouse0", O_RDONLY); ++//printf("mousefd %d\n", mousefd); ++ return mousefd; ++} ++/* ++UP ++event: x 16 type 2 code 1 (1) value -1 ++DOWN ++event: x 16 type 2 code 1 (1) value 1 ++RIGHT ++event: x 16 type 2 code 0 (0) value 1 ++LEFT ++event: x 16 type 2 code 0 (0) value -1 ++*/ ++void rc_mouse_event() ++{ ++ struct mouseinfo m; ++ int i, x = 0; ++ int val; ++ ++ struct input_event ev; ++ ++ if (mousefd != -1) { ++ x = read(mousefd, &ev, sizeof(struct input_event)); ++//printf("event: x %d type %d code %x (%d) value %d\n", x, ev.type, ev.code, ev.code, ev.value); ++ } ++ if(x <= 0) ++ return; ++ val = ev.value < 0 ? -1 : 1; ++ switch(ev.type) { ++ case EV_KEY: ++ switch(ev.code) { ++ case BTN_LEFT: ++ fb_mouse_click(B_LEFT | ev.value ? B_DOWN : B_UP); ++ break; ++ case BTN_RIGHT: ++ fb_mouse_click(B_RIGHT | ev.value ? B_DOWN : B_UP); ++ break; ++ case BTN_MIDDLE: ++ break; ++ default: ++ break; ++ } ++ break; ++ case EV_REL: ++ switch(ev.code) { ++ case REL_X: ++ for(i = 0; i < abs(ev.value)/MXSCALE; i++) ++ fb_mouse_move(val, 0); ++ break; ++ case REL_Y: ++ for(i = 0; i < abs(ev.value)/MYSCALE; i++) ++ fb_mouse_move(0, val); ++ break; ++ case REL_WHEEL: ++ fb_mouse_wheel((val > 0) ? B_WHEELUP : B_WHEELDOWN); ++ break; ++ default: ++ break; ++ } ++ default: ++ break; ++ } ++#if 0 ++// writeLogEntry("End Mouse Event\n"); ++ memset(&m, 0, sizeof(m)); ++ ++// writeLogEntry("Mouse Event\n"); ++ ++ if (mousefd != -1) ++ x = read(mousefd, &m, sizeof(m)); ++ ++// char yo[255]; ++ ++// sprintf(yo, "status=%x\n", m.status); ++//printf("x %d status=%x\n", x, m.status); ++// writeLogEntry(yo); ++ ++ if (m.xmotion < 0) ++ for (i = 0; i < -(((int) m.xmotion) / MXSCALE); i++) ++ fb_mouse_move(-1, 0); ++ ++ if (m.xmotion > 0) ++ for (i = 0; i < (m.xmotion / MXSCALE); i++) ++ fb_mouse_move(1, 0); ++ ++ if (m.ymotion < 0) ++ for (i = 0; i < -(m.ymotion / MYSCALE); i++) ++ fb_mouse_move(0, -1); ++ ++ if (m.ymotion > 0) ++ for (i = 0; i < (m.ymotion / MYSCALE); i++) ++ fb_mouse_move(0, 1); ++ ++ // Driver is not 100% so we must post down followed by up ++ // Side effect of this is the buttons cant remain down pressed ++ if ((m.status & BT_LEFT) == BT_LEFT) { ++ fb_mouse_click(B_LEFT | B_DOWN); ++ fb_mouse_click(B_LEFT | B_UP); ++ } ++ ++ if ((m.status & BT_RIGHT) == BT_RIGHT) { ++ fb_mouse_click(B_RIGHT | B_DOWN); ++ fb_mouse_click(B_RIGHT | B_UP); ++ } ++ ++// writeLogEntry("End Mouse Event\n"); ++#endif ++} ++ ++void rc_mouse_close() ++{ ++ if (mousefd != -1 ) ++ close(mousefd); ++} +diff -Naur links-2.7/select.c links-2.7/select.c +--- links-2.7/select.c 2012-06-06 21:49:37.000000000 +0200 ++++ links-2.7/select.c 2012-08-08 10:41:05.674236478 +0200 +@@ -9,6 +9,7 @@ + /* + #define DEBUG_CALLS + */ ++//#define DEBUG_CALLS + + struct thread { + void (*read_func)(void *); +@@ -247,8 +248,12 @@ + threads[fd].write_func = write_func; + threads[fd].error_func = error_func; + threads[fd].data = data; +- if (read_func) FD_SET(fd, &w_read); +- else { ++ if (read_func) { ++ FD_SET(fd, &w_read); ++#ifdef DEBUG_CALLS ++printf("set_handlers: add read fd %d\n", fd); ++#endif ++ } else { + FD_CLR(fd, &w_read); + FD_CLR(fd, &x_read); + } +@@ -423,13 +428,22 @@ + + int terminate_loop = 0; + ++//focus ++void kbd_remoteControl(); ++void rc_mouse_event(); ++#include "rcinput.h" ++ + void select_loop(void (*init)(void)) + { ++//focus ++ int rcfd=-1; ++ int mousefd=-1; ++// + struct stat st; + int rs; + EINTRLOOP(rs, stat(".", &st)); +- if (rs && getenv("HOME")) +- EINTRLOOP(rs, chdir(getenv("HOME"))); ++// if (rs && getenv("HOME")) ++// EINTRLOOP(rs, chdir(getenv("HOME"))); + memset(&sa_zero, 0, sizeof sa_zero); + memset(signal_mask, 0, sizeof signal_mask); + memset(signal_handlers, 0, sizeof signal_handlers); +@@ -447,6 +461,16 @@ + set_handlers(signal_pipe[0], signal_break, NULL, NULL, NULL); + init(); + CHK_BH; ++//focus ++ rcfd = RcInitialize(rcfd); ++printf("rcfd: %d\n", rcfd); ++ ++ set_handlers(rcfd, (void (*)(void *))kbd_remoteControl, NULL, NULL, NULL); ++ mousefd = rc_mouse_init(); ++ ++ if (mousefd != -1) ++ set_handlers(mousefd, (void (*)(void *))rc_mouse_event, NULL, NULL, NULL); ++// + while (!terminate_loop) { + volatile int n; /* volatile because of setjmp */ + int i; +@@ -518,8 +542,10 @@ + i = -1; + while (n > 0 && ++i < w_max) { + int k = 0; +- /*printf("C %d : %d,%d,%d\n",i,FD_ISSET(i, &w_read),FD_ISSET(i, &w_write),FD_ISSET(i, &w_error)); +- printf("A %d : %d,%d,%d\n",i,FD_ISSET(i, &x_read),FD_ISSET(i, &x_write),FD_ISSET(i, &x_error));*/ ++#ifdef DEBUG_CALLS ++ printf("C %d : %d,%d,%d\n",i,FD_ISSET(i, &w_read),FD_ISSET(i, &w_write),FD_ISSET(i, &w_error)); ++ printf("A %d : %d,%d,%d\n",i,FD_ISSET(i, &x_read),FD_ISSET(i, &x_write),FD_ISSET(i, &x_error)); ++#endif + if (FD_ISSET(i, &x_read)) { + if (threads[i].read_func) { + #ifdef DEBUG_CALLS +diff -Naur links-2.7/view_gr.c links-2.7/view_gr.c +--- links-2.7/view_gr.c 2012-06-25 21:29:22.000000000 +0200 ++++ links-2.7/view_gr.c 2012-08-08 10:41:05.674236478 +0200 +@@ -1026,7 +1026,7 @@ + redraw_link(fd, n); + } + } +- ++extern int mousefd; + int g_frame_ev(struct session *ses, struct f_data_c *fd, struct event *ev) + { + if (!fd->f_data) return 0; +@@ -1068,6 +1068,25 @@ + process_sb_event(fd, ev->x, 1); + break; + } ++ if(mousefd == -1) { ++ if (fd->vsb && ev_in_rect(ev, fd->xw - G_SCROLL_BAR_WIDTH, 0, fd->xw, fd->yw)) ++ { ++ ses->scrolltype=0; ++ process_sb_move(fd, ses->scrolltype ? ev->x : ev->y); ++ ++ break; ++ //return 0; ++ } ++ if (fd->hsb && ev_in_rect(ev, 0, fd->yw - G_SCROLL_BAR_WIDTH, fd->xw, fd->yw)) ++ { ++ ses->scrolltype=1; ++ process_sb_move(fd, ses->scrolltype ? ev->x : ev->y); ++ break; ++ ++ // return 0; ++ } ++ } ++ + if (fd->vsb && ev_in_rect(ev, fd->xw - G_SCROLL_BAR_WIDTH, 0, fd->xw, fd->yw)) return 0; + if (fd->hsb && ev_in_rect(ev, 0, fd->yw - G_SCROLL_BAR_WIDTH, fd->xw, fd->yw)) return 0; + diff --git a/make/applications.mk b/make/applications.mk index 2d81bd4..888bf26 100755 --- a/make/applications.mk +++ b/make/applications.mk @@ -47,10 +47,10 @@ $(D)/links: | $(TARGETPREFIX) $(REMOVE)/links touch $@ -$(D)/links-new: $(ARCHIVE)/links-2.6.tar.bz2 | $(TARGETPREFIX) - $(UNTAR)/links-2.6.tar.bz2 - pushd $(BUILD_TMP)/links-2.6 && \ - $(PATCH)/links-2.6.diff && \ +$(D)/links-new: $(ARCHIVE)/links-2.7.tar.bz2 | $(TARGETPREFIX) + $(UNTAR)/links-2.7.tar.bz2 + pushd $(BUILD_TMP)/links-2.7 && \ + $(PATCH)/links-2.7.diff && \ PKG_CONFIG_PATH=$(TARGETPREFIX)/lib/pkgconfig \ LD_LIBRARY_PATH=$(TARGETPREFIX)/lib \ CC=$(TARGET)-gcc \ @@ -92,7 +92,7 @@ $(D)/links-new: $(ARCHIVE)/links-2.6.tar.bz2 | $(TARGETPREFIX) echo "bookmarkcount=0" > $(TARGETPREFIX)/var/tuxbox/config/bookmarks cp -rf $(BASE_DIR)/archive-sources/links $(TARGETPREFIX)/var/tuxbox/config rm -rf $(BUILD_TMP)/.remove - $(REMOVE)/links-2.6 + $(REMOVE)/links-2.7 touch $@ $(D)/procps: $(D)/libncurses $(ARCHIVE)/procps-3.2.7.tar.gz | $(TARGETPREFIX) @@ -146,15 +146,15 @@ $(D)/busybox: $(ARCHIVE)/busybox-1.17.1.tar.bz2 | $(TARGETPREFIX) $(REMOVE)/busybox-1.17.1 touch $@ -$(D)/busybox-new: $(ARCHIVE)/busybox-1.19.4.tar.bz2 | $(TARGETPREFIX) - $(UNTAR)/busybox-1.19.4.tar.bz2 - pushd $(BUILD_TMP)/busybox-1.19.4 && \ - $(PATCH)/busybox-1.19.4-coolstream.diff && \ - cp $(PATCHES)/busybox-1.19.4-hd1.config .config && \ +$(D)/busybox-new: $(ARCHIVE)/busybox-1.20.2.tar.bz2 | $(TARGETPREFIX) + $(UNTAR)/busybox-1.20.2.tar.bz2 + pushd $(BUILD_TMP)/busybox-1.20.2 && \ + $(PATCH)/busybox-1.20.2-coolstream.diff && \ + cp $(PATCHES)/busybox-1.20.2-hd1.config .config && \ sed -i -e 's#^CONFIG_PREFIX.*#CONFIG_PREFIX="$(TARGETPREFIX)"#' .config && \ $(MAKE) all CROSS_COMPILE=$(TARGET)- CFLAGS_EXTRA="$(TARGET_CFLAGS)" && \ $(MAKE) install CROSS_COMPILE=$(TARGET)- CFLAGS_EXTRA="$(TARGET_CFLAGS)" - $(REMOVE)/busybox-1.19.4 + $(REMOVE)/busybox-1.20.2 touch $@ $(D)/e2fsprogs: $(ARCHIVE)/e2fsprogs-1.41.9.tar.gz | $(TARGETPREFIX) @@ -277,11 +277,11 @@ $(D)/vsftpd: $(ARCHIVE)/vsftpd-2.2.2.tar.gz | $(TARGETPREFIX) $(REMOVE)/vsftpd-2.2.2 touch $@ -$(D)/vsftpd-new: $(ARCHIVE)/vsftpd-3.0.0.tar.gz | $(TARGETPREFIX) - $(UNTAR)/vsftpd-3.0.0.tar.gz - pushd $(BUILD_TMP)/vsftpd-3.0.0 && \ - mv $(BUILD_TMP)/vsftpd-3.0.0/parseconf.c $(BUILD_TMP)/vsftpd-3.0.0/parseconf.tmp && \ - sed -e 's/die("config file not owned by correct user, or not a file");/\/\/die("config file not owned by correct user, or not a file");/g' $(BUILD_TMP)/vsftpd-3.0.0/parseconf.tmp > $(BUILD_TMP)/vsftpd-3.0.0/parseconf.c && \ +$(D)/vsftpd-new: $(ARCHIVE)/vsftpd-3.0.2.tar.gz | $(TARGETPREFIX) + $(UNTAR)/vsftpd-3.0.2.tar.gz + pushd $(BUILD_TMP)/vsftpd-3.0.2 && \ + mv $(BUILD_TMP)/vsftpd-3.0.2/parseconf.c $(BUILD_TMP)/vsftpd-3.0.2/parseconf.tmp && \ + sed -e 's/die("config file not owned by correct user, or not a file");/\/\/die("config file not owned by correct user, or not a file");/g' $(BUILD_TMP)/vsftpd-3.0.2/parseconf.tmp > $(BUILD_TMP)/vsftpd-3.0.2/parseconf.c && \ cp $(PATCHES)/vsftpd-new.conf vsftpd.conf && \ $(PATCH)/vsftpd-new.diff && \ TARGETPREFIX=$(TARGETPREFIX) $(MAKE) CC=$(TARGET)-gcc CFLAGS="$(TARGET_CFLAGS)" LIBS="-lcrypt" && \ @@ -289,7 +289,7 @@ $(D)/vsftpd-new: $(ARCHIVE)/vsftpd-3.0.0.tar.gz | $(TARGETPREFIX) install -m755 vsftpd $(TARGETPREFIX)/sbin/vsftpd && \ install -m 644 vsftpd.conf $(TARGETPREFIX)/etc/vsftpd.conf && \ install -d $(TARGETPREFIX)/share/empty && \ - $(REMOVE)/vsftpd-3.0.0 + $(REMOVE)/vsftpd-3.0.2 touch $@ $(D)/lbreakout2: $(D)/libsdl $(D)/libsdl-mixer | $(TARGETPREFIX) diff --git a/make/archives.mk b/make/archives.mk index c1c21ae..e860a13 100755 --- a/make/archives.mk +++ b/make/archives.mk @@ -117,8 +117,8 @@ $(ARCHIVE)/busybox-1.15.2.tar.bz2: $(ARCHIVE)/busybox-1.17.1.tar.bz2: $(WGET) http://www.fhloston-paradise.de/busybox-1.17.1.tar.bz2 -$(ARCHIVE)/busybox-1.19.4.tar.bz2: - $(WGET) http://www.fhloston-paradise.de/busybox-1.19.4.tar.bz2 +$(ARCHIVE)/busybox-1.20.2.tar.bz2: + $(WGET) http://www.fhloston-paradise.de/busybox-1.20.2.tar.bz2 $(ARCHIVE)/samba-3.3.9.tar.gz: $(WGET) http://www.fhloston-paradise.de/samba-3.3.9.tar.gz @@ -150,8 +150,8 @@ $(ARCHIVE)/DirectFB-examples-1.2.0.tar.gz: $(ARCHIVE)/vsftpd-2.2.2.tar.gz: $(WGET) http://www.fhloston-paradise.de/vsftpd-2.2.2.tar.gz -$(ARCHIVE)/vsftpd-3.0.0.tar.gz: - $(WGET) http://www.fhloston-paradise.de/vsftpd-3.0.0.tar.gz +$(ARCHIVE)/vsftpd-3.0.2.tar.gz: + $(WGET) http://www.fhloston-paradise.de/vsftpd-3.0.2.tar.gz $(ARCHIVE)/linux-$(CST_KERNEL_VERSION).tar.bz2: $(WGET) http://www.kernel.org/pub/linux/kernel/v2.6/linux-$(CST_KERNEL_VERSION).tar.bz2 @@ -159,8 +159,8 @@ $(ARCHIVE)/linux-$(CST_KERNEL_VERSION).tar.bz2: $(ARCHIVE)/util-linux-2.20.tar.bz2: $(WGET) http://www.fhloston-paradise.de/util-linux-2.20.tar.bz2 -$(ARCHIVE)/links-2.6.tar.bz2: - $(WGET) http://www.fhloston-paradise.de/links-2.6.tar.bz2 +$(ARCHIVE)/links-2.7.tar.bz2: + $(WGET) http://www.fhloston-paradise.de/links-2.7.tar.bz2 $(ARCHIVE)/hddtemp-0.3-beta15.tar.bz2: $(WGET) http://www.fhloston-paradise.de/hddtemp-0.3-beta15.tar.bz2 -- 2.39.5