SCREEN: Added support for GNU Screen
PATCH 1/1 SCREEN: Added support for GNU Screen
From: Michel <[email protected]>
screen is a terminal multiplexor that runs several separate "screens" on a single physical character-based terminal. Each virtual terminal emulates a DEC VT100 plus several ANSI X3.64 and ISO 2022 functions.
Screen sessions can be detached and resumed later on a different terminal. Screen also supports a whole slew of other features. Some of these are:
configurable input and output translation, serial port support, configurable logging, multi-user support, and utf8 charset support.
--- package/Config.in | 1 + package/screen/Config.in | 17 + .../screen/screen-4.0.2-100-cross-compile.patch | 967 ++++++++++++++++++++ package/screen/screen.mk | 61 ++ 4 files changed, 1046 insertions(+), 0 deletions(-) create mode 100644 package/screen/Config.in create mode 100644 package/screen/screen-4.0.2-100-cross-compile.patch create mode 100644 package/screen/screen.mk
package/Config.in +1 -0
@@ -313,6 +313,7 @@ source "package/slang/Config.in" comment "text rendering applications" source "package/dialog/Config.in" +source "package/screen/Config.in" comment "graphic libraries" source "package/directfb/Config.in"
package/screen/Config.in new file +17 -0
@@ -0,0 +1,17 @@ +config BR2_PACKAGE_SCREEN + bool "screen" + default n + select BR2_PACKAGE_NCURSES + help + screen - terminal multiplexor with VT100/ANSI terminal emulation + + screen is a terminal multiplexor that runs several separate "screens" + on a single physical character-based terminal. Each virtual terminal + emulates a DEC VT100 plus several ANSI X3.64 and ISO 2022 functions. + Screen sessions can be detached and resumed later on a different terminal. + + Screen also supports a whole slew of other features. + Some of these are: configurable input and output translation, + serial port support, configurable logging, multi-user support, + and utf8 charset support. +
package/screen/screen-4.0.2-100-cross-compile.patch new file +967 -0
967 lines not on this page · raw message
package/screen/screen.mk new file +61 -0
61 lines not on this page · raw message
Signature · 1 line
1.5.4.3
PATCH 1/1 NCURSES: Added config support for copying ncurses 'extra' libraries to the target
From: Michel <[email protected]>
Some package use ncurses libpanel/libform/libmenu, this config allows to selectively copy them to the target filesystem at the same time at the main library is installed.
--- package/ncurses/Config.in | 22 ++++++++++++++++++++++ package/ncurses/ncurses.mk | 9 +++++++++ 2 files changed, 31 insertions(+), 0 deletions(-)
package/ncurses/Config.in +22 -0
@@ -13,3 +13,25 @@ config BR2_PACKAGE_NCURSES_TARGET_HEADERS depends on BR2_PACKAGE_NCURSES help Ncurses headers in target + +config BR2_PACKAGE_NCURSES_TARGET_PANEL + bool "ncurses libpanel in target" + default n + depends on BR2_PACKAGE_NCURSES + help + Ncurses headers in target + Includes ncurses dynamic libpanel in target + +config BR2_PACKAGE_NCURSES_TARGET_FORM + bool "ncurses libform in target" + default n + depends on BR2_PACKAGE_NCURSES + help + Includes ncurses dynamic libform in target + +config BR2_PACKAGE_NCURSES_TARGET_MENU + bool "ncurses libmenu in target" + default n + depends on BR2_PACKAGE_NCURSES + help + Includes ncurses dynamic libmenu in target
package/ncurses/ncurses.mk +9 -0
@@ -104,6 +104,15 @@ $(STAGING_DIR)/lib/libncurses.so.$(NCURSES_VERSION): $(NCURSES_DIR)/lib/libncurs $(TARGET_DIR)/lib/libncurses.so.$(NCURSES_VERSION): $(STAGING_DIR)/lib/libncurses.so.$(NCURSES_VERSION) cp -dpf $(NCURSES_DIR)/lib/libncurses.so* $(TARGET_DIR)/lib/ +ifeq ($(strip $(BR2_PACKAGE_NCURSES_TARGET_PANEL)),y) + cp -dpf $(NCURSES_DIR)/lib/libpanel.so* $(TARGET_DIR)/lib/ +endif +ifeq ($(strip $(BR2_PACKAGE_NCURSES_TARGET_FORM)),y) + cp -dpf $(NCURSES_DIR)/lib/libform.so* $(TARGET_DIR)/lib/ +endif +ifeq ($(strip $(BR2_PACKAGE_NCURSES_TARGET_MENU)),y) + cp -dpf $(NCURSES_DIR)/lib/libmenu.so* $(TARGET_DIR)/lib/ +endif ln -sf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo mkdir -p $(TARGET_DIR)/usr/share/terminfo/x cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm $(TARGET_DIR)/usr/share/terminfo/x
Signature · 1 line
1.5.4.3
PATCH 1/1 IPTRAF: Added Interactive Colorful IP LAN Monitor
From: Michel <[email protected]>
IPTraf is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others.
--- package/Config.in | 1 + package/iptraf/Config.in | 14 ++++ .../iptraf/iptraf-3.0.1-100-cross-compile.patch | 83 ++++++++++++++++++++ package/iptraf/iptraf.mk | 49 ++++++++++++ 4 files changed, 147 insertions(+), 0 deletions(-) create mode 100644 package/iptraf/Config.in create mode 100644 package/iptraf/iptraf-3.0.1-100-cross-compile.patch create mode 100644 package/iptraf/iptraf.mk
package/Config.in +1 -0
@@ -314,6 +314,7 @@ source "package/slang/Config.in" comment "text rendering applications" source "package/dialog/Config.in" source "package/screen/Config.in" +source "package/iptraf/Config.in" comment "graphic libraries" source "package/directfb/Config.in"
package/iptraf/Config.in new file +14 -0
@@ -0,0 +1,14 @@ +config BR2_PACKAGE_IPTRAF + bool "iptraf" + default n + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_NCURSES_TARGET_PANEL + help + iptraf - Interactive Colorful IP LAN Monitor + + IPTraf is an ncurses-based IP LAN monitor that generates various + network statistics including TCP info, UDP counts, ICMP and OSPF + information, Ethernet load info, node stats, IP checksum errors, + and others. + This package depends on ncurses's libpanel library +
package/iptraf/iptraf-3.0.1-100-cross-compile.patch new file +83 -0
83 lines not on this page · raw message
package/iptraf/iptraf.mk new file +49 -0
49 lines not on this page · raw message
Signature · 1 line
1.5.4.3
PATCH 1/1 U-BOOT: A patch to fix the fw_printenv compilation
From: Michel <[email protected]>
--- ...oot-1.3.0-env-110-fw_printenv_compile_fix.patch | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) create mode 100644 target/u-boot/u-boot-1.3.0-env-110-fw_printenv_compile_fix.patch
target/u-boot/u-boot-1.3.0-env-110-fw_printenv_compile_fix.patch new file +12 -0
@@ -0,0 +1,12 @@ +diff -ruN u-boot-1.3.0/tools/env/fw_env.c u-boot-1.3.0.new/tools/env/fw_env.c +--- u-boot-1.3.0/tools/env/fw_env.c 2007-11-19 21:20:24.000000000 +0000 ++++ u-boot-1.3.0.new/tools/env/fw_env.c 2008-04-07 15:34:51.000000000 +0100 +@@ -31,7 +31,7 @@ + #include <sys/ioctl.h> + #include <sys/stat.h> + #include <unistd.h> +-#include <linux/mtd/mtd.h> ++#include <mtd/mtd-user.h> + #include "fw_env.h" + + typedef unsigned char uchar;
Signature · 1 line
1.5.4.3
PATCH 1/1 U-BOOT: Added support for linux userland environmnet access
From: Michel <[email protected]>
The config allows to add fw_printenv to the target filesystem, and also to selectively add a link to fw_setenv and allow changing the environment. The new configuration options also let you specify a (simple) set of parameters that will be used to create a working comfiguration file in the target's .../etc/fw_env.config.
Note that the fw_setenv will only work if the MTD partition is R/W. Some kernels (avr32...) map it read-only by default.
--- target/u-boot/Config.in | 56 +++++++++++++++++++++++++++++++++++++++++++++ target/u-boot/Makefile.in | 29 +++++++++++++++++++++++ 2 files changed, 85 insertions(+), 0 deletions(-)
target/u-boot/Config.in +56 -0
@@ -20,6 +20,62 @@ config BR2_TARGET_UBOOT_CUSTOM_PATCH If your board requires a custom patch, add the path to the file here. Most users may leave this empty +config BR2_TARGET_UBOOT_LINUX_ENV + bool "fw_printenv: linux userspace environment access" + depends on BR2_TARGET_UBOOT + help + Compile fw_printenv and add it to the target linux filesystem + It is also possible to symlink fw_setenv from it. + Note that the command needs a /etc/fw_env.config to work. Check + u-boot/tools/env/fw_env.config for an example to be adapted for + your board. + +config BR2_TARGET_UBOOT_LINUX_SETENV + bool "Also create fw_setenv link" + depends on BR2_TARGET_UBOOT_LINUX_ENV + help + Creates the link to fw_printenv to allow userspace to change + u-boot environment variables from shell scripts. + *Note* that your board setup code might mark the environment + flash partition as read only, in which case you will have to change + that for this command to work. + +config BR2_TARGET_UBOOT_LINUX_HASENV + bool "Specify a default environment access" + depends on BR2_TARGET_UBOOT_LINUX_ENV + help + Specifies the environment location and size for a default + Non-redundant u-boot environment. This will create a + /etc/fw_env.config into the target filesystem + +config BR2_TARGET_UBOOT_ENV_MTDDEV + string "MTD device pathname" + depends on BR2_TARGET_UBOOT_LINUX_HASENV + default "/dev/mtd2" + help + MTD device to use for environment + +config BR2_TARGET_UBOOT_ENV_MTDOFF + string "MTD device offset" + depends on BR2_TARGET_UBOOT_LINUX_HASENV + default "0x0000" + help + MTD device offset + +config BR2_TARGET_UBOOT_ENV_MTDSIZE + string "MTD environment sise" + depends on BR2_TARGET_UBOOT_LINUX_HASENV + default "0x10000" + help + MTD environment total size + +config BR2_TARGET_UBOOT_ENV_MTDESIZE + string "MTD environment erase sector sise" + depends on BR2_TARGET_UBOOT_LINUX_HASENV + default "0x10000" + help + MTD environment erase sector size + config BR2_TARGET_UBOOT_SERVERIP string "server ip" depends on BR2_TARGET_UBOOT
target/u-boot/Makefile.in +29 -0
@@ -11,6 +11,8 @@ U_BOOT_PATCH_DIR:=$(PROJECT_BUILD_DIR)/u-boot-patches U_BOOT_CAT:=$(BZCAT) U_BOOT_BIN:=u-boot.bin U_BOOT_TOOLS_BIN:=mkimage +U_BOOT_PRINTENV_BIN:=fw_printenv +U_BOOT_ENV_TARGET_DIR:=$(TARGET_DIR)/usr/bin ifneq ($(BR2_TARGET_U_BOOT_CONFIG_BOARD),) U_BOOT_INC_CONF_FILE:=$(U_BOOT_DIR)/include/configs/$(subst _config,,$(BR2_TARGET_U_BOOT_CONFIG_BOARD)).h
@@ -42,6 +44,10 @@ ifneq ($(strip $(BR2_TARGET_UBOOT_CUSTOM_PATCH)),"") cp -dpr $(BR2_TARGET_UBOOT_CUSTOM_PATCH) $(U_BOOT_PATCH_DIR) toolchain/patch-kernel.sh $(U_BOOT_DIR) $(U_BOOT_PATCH_DIR) *.patch endif +ifeq ($(strip $(BR2_TARGET_UBOOT_LINUX_ENV)),y) + toolchain/patch-kernel.sh $(U_BOOT_DIR) target/u-boot/ \ + u-boot-$(U_BOOT_VERSION)-env-*.patch +endif touch $@ $(U_BOOT_DIR)/.header_copied: $(U_BOOT_DIR)/.patched
@@ -105,11 +111,34 @@ $(U_BOOT_DIR)/$(U_BOOT_BIN): $(U_BOOT_DIR)/.header_modified LDFLAGS="$(TARGET_LDFLAGS)" \ $(MAKE) -C $(U_BOOT_DIR) +$(U_BOOT_DIR)/tools/env/$(U_BOOT_PRINTENV_BIN): + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + $(MAKE) -C $(U_BOOT_DIR) env + +$(U_BOOT_DIR)/$(U_BOOT_PRINTENV_BIN): $(U_BOOT_DIR)/tools/env/$(U_BOOT_PRINTENV_BIN) + cp -dpf $(U_BOOT_DIR)/tools/env/$(U_BOOT_PRINTENV_BIN) $(U_BOOT_DIR) + +$(U_BOOT_ENV_TARGET_DIR)/$(U_BOOT_PRINTENV_BIN): $(U_BOOT_DIR)/$(U_BOOT_PRINTENV_BIN) + cp -dpf $(U_BOOT_DIR)/$(U_BOOT_PRINTENV_BIN) $(U_BOOT_ENV_TARGET_DIR) +ifeq ($(strip $(BR2_TARGET_UBOOT_LINUX_SETENV)),y) + (cd $(U_BOOT_ENV_TARGET_DIR); ln -s fw_printenv fw_setenv) +endif +ifeq ($(strip $(BR2_TARGET_UBOOT_LINUX_HASENV)),y) + ( echo "# Automaticaly Generated from buildroot config";echo "$(BR2_TARGET_UBOOT_ENV_MTDDEV) $(BR2_TARGET_UBOOT_ENV_MTDOFF) $(BR2_TARGET_UBOOT_ENV_MTDSIZE) $(BR2_TARGET_UBOOT_ENV_MTDESIZE)") >$(TARGET_DIR)/etc/fw_env.config +endif + + $(BINARIES_DIR)/$(U_BOOT_BIN): $(U_BOOT_DIR)/$(U_BOOT_BIN) cp -dpf $(U_BOOT_DIR)/$(U_BOOT_BIN) $(BINARIES_DIR) cp -dpf $(U_BOOT_DIR)/tools/$(U_BOOT_TOOLS_BIN) $(STAGING_DIR)/usr/bin/ +ifeq ($(strip $(BR2_TARGET_UBOOT_LINUX_ENV)),y) +u-boot: gcc $(BINARIES_DIR)/$(U_BOOT_BIN) $(U_BOOT_ENV_TARGET_DIR)/$(U_BOOT_PRINTENV_BIN) +else u-boot: gcc $(BINARIES_DIR)/$(U_BOOT_BIN) +endif u-boot-clean: -$(MAKE) -C $(U_BOOT_DIR) clean
Signature · 1 line
1.5.4.3
PATCH 1/1 NCURSES: Added config support for copying ncurses 'extra' libraries to the target
In reply to Michel (BusError)Quoted 7 lines
Some package use ncurses libpanel/libform/libmenu, this config allows to selectively copy them to the target filesystem at the same time at the main library is installed.
--- package/ncurses/Config.in | 22 ++++++++++++++++++++++ package/ncurses/ncurses.mk | 9 +++++++++ 2 files changed, 31 insertions(+), 0 deletions(-)
<snip>
Can you attach patches please, makes it a little easier for us to apply. :)
Also, please submit patches applied against latest SVN.
I've cleaned up the above patch against latest SVN, will test and commit.
-N
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://busybox.net/lists/buildroot/attachments/20080409/6cad36ba/attachment.pgp
PATCH 1/1 SCREEN: Added support for GNU Screen
In reply to Michel (BusError)package/screen/screen-4.0.2-100-cross-compile.patch line 3
Quoted 7 lines
package/screen/screen-4.0.2-100-cross-compile.patch new file +3
-0@@ -0,0 +1,967 @@ +diff -c screen.orig/configure screen-4.0.2/configure +*** screen.orig/configure 2003-12-05 13:46:53.000000000 +0000 +--- screen-4.0.2/configure 2008-04-05 18:48:27.000000000 +0100
<snip>
Can we not modify configure.ac/in and autoreconf? (assuming configure is originally built from configure.in or configure.ac)
-N
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://busybox.net/lists/buildroot/attachments/20080408/325d1c54/attachment.pgp
PATCH 1/1 SCREEN: Added support for GNU Screen
Quoted 9 lines · Nigel Kukard
Quoted 6 lines
package/screen/screen-4.0.2-100-cross-compile.patch new file +3
-0@@ -0,0 +1,967 @@ +diff -c screen.orig/configure screen-4.0.2/configure +*** screen.orig/configure 2003-12-05 13:46:53.000000000 +0000 +--- screen-4.0.2/configure 2008-04-05 18:48:27.000000000 +0100<snip>
Quoted 4 lines
Can we not modify configure.ac/in and autoreconf? (assuming configure is originally built from configure.in or configure.ac)
-N
You can't. I spent a lot of time trying. This configure relies /a lot/ on testing the hosts libraries, and all of these test fail with these exit(1). Unless you know of a magic auto*.* setting that skips the 'cross compile' tests and/or errors, this is the only way I found to have it working...
Michel
PATCH 1/1 SCREEN: Added support for GNU Screen
Quoted 13 lines
Quoted 13 lines
package/screen/screen-4.0.2-100-cross-compile.patch line 3
Quoted 7 lines
package/screen/screen-4.0.2-100-cross-compile.patch new file +3
-0@@ -0,0 +1,967 @@ +diff -c screen.orig/configure screen-4.0.2/configure +*** screen.orig/configure 2003-12-05 13:46:53.000000000 +0000 +--- screen-4.0.2/configure 2008-04-05 18:48:27.000000000 +0100<snip>
Can we not modify configure.ac/in and autoreconf? (assuming configure is originally built from configure.in or configure.ac)
Quoted 6 lines
Quoted 1 line
-N
You can't. I spent a lot of time trying. This configure relies /a lot/ on testing the hosts libraries, and all of these test fail with these exit(1). Unless you know of a magic auto*.* setting that skips the 'cross compile' tests and/or errors, this is the only way I found to have it working...
I really don't like adding a 40k patch, which will more than likely break on each version bump. :)
Could you show me how to reproduce the errors when cross-compiling, maybe send me your .config and I'll see what I can do?
-N
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://busybox.net/lists/buildroot/attachments/20080409/c3efdc49/attachment.pgp
PATCH 1/1 SCREEN: Added support for GNU Screen
Quoted 20 lines · Nigel Kukard
Quoted 12 lines
Quoted 12 lines
package/screen/screen-4.0.2-100-cross-compile.patch line 3
Quoted 6 lines
package/screen/screen-4.0.2-100-cross-compile.patch new file +3
-0@@ -0,0 +1,967 @@ +diff -c screen.orig/configure screen-4.0.2/configure +*** screen.orig/configure 2003-12-05 13:46:53.000000000 +0000 +--- screen-4.0.2/configure 2008-04-05 18:48:27.000000000 +0100<snip>
Can we not modify configure.ac/in and autoreconf? (assuming configure is originally built from configure.in or configure.ac)
Quoted 7 lines
Quoted 1 line
-N
You can't. I spent a lot of time trying. This configure relies /a lot/ on testing the hosts libraries, and all of these test fail with these exit(1). Unless you know of a magic auto*.* setting that skips the 'cross compile' tests and/or errors, this is the only way I found to have it working...
Quoted 7 lines
I really don't like adding a 40k patch, which will more than likely break on each version bump. :)
Could you show me how to reproduce the errors when cross-compiling, maybe send me your .config and I'll see what I can do?
-N
Hi Nigel;
I think the easiest way is to apply the patch on a 'temp' tree, remove the package/screen/*.patch file, 'make oldconfig' in buildroot, select the 'screen' package, then 'make'. You will immediately see the dreaded configure problems...
'screen' is very rarely updated tho, it's not a fast moving trendy package, just a one that's indispensable once you grok it's power :-)
Michel