diff options
author | Khem Raj <raj.khem@gmail.com> | 2009-09-11 19:00:56 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2009-09-11 19:02:59 -0700 |
commit | aa6a11a7168bf804925f78f9003920bce4b3a5e9 (patch) | |
tree | 7f3f885b495b17b6edb1f53d180a367a36d6e596 /recipes | |
parent | c0f653bc90814acf4053ec037c7ab3ad022342ff (diff) |
screen-4.0.3: Fix compilation and make default.
* Fix compilation issues.
* Remove DEFAULT_PREFERENCE = "-1"
* Tested on Thumb/uclibc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/screen/screen-4.0.3/configure.patch | 582 | ||||
-rw-r--r-- | recipes/screen/screen-4.0.3/cross-compile.patch | 331 | ||||
-rw-r--r-- | recipes/screen/screen-4.0.3/no-stropts.patch | 13 | ||||
-rw-r--r-- | recipes/screen/screen-4.0.3/no-utempter.patch | 17 | ||||
-rw-r--r-- | recipes/screen/screen-4.0.3/sched.patch | 20 | ||||
-rw-r--r-- | recipes/screen/screen_4.0.3.bb | 12 |
6 files changed, 526 insertions, 449 deletions
diff --git a/recipes/screen/screen-4.0.3/configure.patch b/recipes/screen/screen-4.0.3/configure.patch index 2770a7a481..8789cb73fb 100644 --- a/recipes/screen/screen-4.0.3/configure.patch +++ b/recipes/screen/screen-4.0.3/configure.patch @@ -1,336 +1,17 @@ - -# -# Patch by Hannes Reich (hannes@skynet.ie) 22-Jul-2005 -# Resolves _some_ of the cross-compilation issues in screen's configure.in -# - ---- screen-4.0.1/configure.in~configure -+++ screen-4.0.1/configure.in -@@ -37,6 +37,323 @@ - VERSION="$rev.$vers.$pat" - AC_NOTE(this is screen version $VERSION) - AC_SUBST(VERSION) -+ -+AH_TOP([ -+/* Copyright (c) 1993-2000 -+ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -+ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -+ * Copyright (c) 1987 Oliver Laumann -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2, or (at your option) -+ * any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program (see the file COPYING); if not, write to the -+ * Free Software Foundation, Inc., -+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -+ * -+ */ -+ -+ -+/********************************************************************** -+ * -+ * User Configuration Section -+ */ -+ -+/* -+ * Maximum of simultaneously allowed windows per screen session. -+ */ -+#ifndef MAXWIN -+# define MAXWIN 40 -+#endif -+ -+/* -+ * Define SOCKDIR to be the directory to contain the named sockets -+ * screen creates. This should be in a common subdirectory, such as -+ * /usr/local or /tmp. It makes things a little more secure if you -+ * choose a directory which is not writable by everyone or where the -+ * "sticky" bit is on, but this isn't required. -+ * If SOCKDIR is not defined screen will put the named sockets in -+ * the user's home directory. Notice that this can cause you problems -+ * if some user's HOME directories are AFS- or NFS-mounted. Especially -+ * AFS is unlikely to support named sockets. -+ * -+ * Screen will name the subdirectories "S-$USER" (e.g /tmp/S-davison). -+ */ -+#undef SOCKDIR -+ -+/* -+ * Define this if the SOCKDIR is not shared between hosts. -+ */ -+#define SOCKDIR_IS_LOCAL_TO_HOST -+ -+/* -+ * Screen sources two startup files. First a global file with a path -+ * specified here, second your local $HOME/.screenrc -+ * Don't define this, if you don't want it. -+ */ -+#ifndef ETCSCREENRC -+# define ETCSCREENRC "/usr/local/etc/screenrc" -+#endif -+ -+/* -+ * Screen can look for the environment variable $SYSSCREENRC and -if it -+ * exists- load the file specified in that variable as global screenrc. -+ * If you want to enable this feature, define ALLOW_SYSSCREENRC to one (1). -+ * Otherwise ETCSCREENRC is always loaded. -+ */ -+#define ALLOW_SYSSCREENRC 1 -+ -+/* -+ * Screen needs encoding files for the translation of utf8 -+ * into some encodings, e.g. JIS, BIG5. -+ * Only needed if FONT, ENCODINGS and UTF8 are defined. -+ */ -+#ifndef SCREENENCODINGS -+# define SCREENENCODINGS "/usr/local/lib/screen/encodings" -+#endif -+/* -+ * Define CHECKLOGIN to force Screen users to enter their Unix password -+ * in addition to the screen password. -+ * -+ * Define NOSYSLOG if yo do not have logging facilities. Currently -+ * syslog() will be used to trace ``su'' commands only. -+ */ -+#define CHECKLOGIN 1 -+#undef NOSYSLOG -+ -+ -+/* -+ * define PTYMODE if you do not like the default of 0622, which allows -+ * public write to your pty. -+ * define PTYGROUP to some numerical group-id if you do not want the -+ * tty to be in "your" group. -+ * Note, screen is unable to change mode or group of the pty if it -+ * is not installed with sufficient privilege. (e.g. set-uid-root) -+ * define PTYROFS if the /dev/pty devices are mounted on a read-only -+ * filesystem so screen should not even attempt to set mode or group -+ * even if running as root (e.g. on TiVo). -+ */ -+#undef PTYMODE -+#undef PTYGROUP -+#undef PTYROFS -+ -+/* -+ * If screen is NOT installed set-uid root, screen can provide tty -+ * security by exclusively locking the ptys. While this keeps other -+ * users from opening your ptys, it also keeps your own subprocesses -+ * from being able to open /dev/tty. Define LOCKPTY to add this -+ * exclusive locking. -+ */ -+#undef LOCKPTY -+ -+/* -+ * If you'd rather see the status line on the first line of your -+ * terminal rather than the last, define TOPSTAT. -+ */ -+#undef TOPSTAT -+ -+/* -+ * define DETACH can detach a session. An absolute 'must'. -+ */ -+#define DETACH -+ -+/* -+ * here come the erlangen extensions to screen: -+ * define LOCK if you want to use a lock program for a screenlock. -+ * define PASSWORD for secure reattach of your screen. -+ * define COPY_PASTE to use the famous hacker's treasure zoo. -+ * define POW_DETACH to have a detach_and_logout key (requires DETACH). -+ * define REMOTE_DETACH (-d option) to move screen between terminals. -+ * define AUTO_NUKE to enable Tim MacKenzies clear screen nuking -+ * define PSEUDOS to allow window input/output filtering -+ * define MULTI to allow multiple attaches. -+ * define MULTIUSER to allow other users attach to your session -+ * (if they are in the acl, of course) -+ * define MAPKEYS to include input keyboard translation. -+ * define FONT to support ISO2022/alternet charset support -+ * define COLOR to include ansi color support. This may expose -+ * a bug in x11r6-color-xterm. -+ * define DW_CHARS to include support for double-width character -+ * sets. -+ * define ENCODINGS to include support for encodings like euc or big5. -+ * Needs FONT to work. -+ * define UTF8 if you want support for UTF-8 encoding. -+ * Needs FONT and ENCODINGS to work. -+ * define COLORS16 if you want 16 colors. -+ * Needs COLOR to work. -+ * define BUILTIN_TELNET to add telnet support to screen. -+ * Syntax: screen //telnet host [port] -+ * define RXVT_OSC if you want support for rxvts special -+ * change fgcolor/bgcolor/bgpicture sequences -+ */ -+#undef SIMPLESCREEN -+#ifndef SIMPLESCREEN -+# define LOCK -+# define PASSWORD -+# define COPY_PASTE -+# define REMOTE_DETACH -+# define POW_DETACH -+# define AUTO_NUKE -+# define PSEUDOS -+# define MULTI -+# define MULTIUSER -+# define MAPKEYS -+# define COLOR -+# define FONT -+# define DW_CHARS -+# define ENCODINGS -+# define UTF8 -+# define COLORS16 -+# define ZMODEM -+# define BLANKER_PRG -+#endif /* SIMPLESCREEN */ -+ -+#undef BUILTIN_TELNET -+#undef RXVT_OSC -+#undef COLORS256 -+ -+ -+/* -+ * If you have a braille display you should define HAVE_BRAILLE. -+ * The code inside #ifdef HAVE_BRAILLE was contributed by Hadi Bargi -+ * Rangin (bargi@dots.physics.orst.edu). -+ * WARNING: this is more or less unsupported code, it may be full of -+ * bugs leading to security holes, enable at your own risk! -+ */ -+#undef HAVE_BRAILLE -+ -+ -+/* -+ * As error messages are mostly meaningless to the user, we -+ * try to throw out phrases that are somewhat more familiar -+ * to ...well, at least familiar to us NetHack players. -+ */ -+#ifndef NONETHACK -+# define NETHACK -+#endif /* NONETHACK */ -+ -+/* -+ * If screen is installed with permissions to update /etc/utmp (such -+ * as if it is installed set-uid root), define UTMPOK. -+ */ -+#define UTMPOK -+ -+/* Set LOGINDEFAULT to one (1) -+ * if you want entries added to /etc/utmp by default, else set it to -+ * zero (0). -+ * LOGINDEFAULT will be one (1) whenever LOGOUTOK is undefined! -+ */ -+#define LOGINDEFAULT 1 -+ -+/* Set LOGOUTOK to one (1) -+ * if you want the user to be able to log her/his windows out. -+ * (Meaning: They are there, but not visible in /etc/utmp). -+ * Disabling this feature only makes sense if you have a secure /etc/utmp -+ * database. -+ * Negative examples: suns usually have a world writable utmp file, -+ * xterm will run perfectly without s-bit. -+ * -+ * If LOGOUTOK is undefined and UTMPOK is defined, all windows are -+ * initially and permanently logged in. -+ * -+ * Set CAREFULUTMP to one (1) if you want that users have at least one -+ * window per screen session logged in. -+ */ -+#define LOGOUTOK 1 -+#undef CAREFULUTMP -+ -+ -+/* -+ * If UTMPOK is defined and your system (incorrectly) counts logins by -+ * counting non-null entries in /etc/utmp (instead of counting non-null -+ * entries with no hostname that are not on a pseudo tty), define USRLIMIT -+ * to have screen put an upper-limit on the number of entries to write -+ * into /etc/utmp. This helps to keep you from exceeding a limited-user -+ * license. -+ */ -+#undef USRLIMIT -+ -+/* -+ * both must be defined if you want to favor tcsendbreak over -+ * other calls to generate a break condition on serial lines. -+ * (Do not bother, if you are not using plain tty windows.) -+ */ -+#define POSIX_HAS_A_GOOD_TCSENDBREAK -+#define SUNOS4_AND_WE_TRUST_TCSENDBREAK -+ -+/* -+ * to lower the interrupt load on the host machine, you may want to -+ * adjust the VMIN and VTIME settings used for plain tty windows. -+ * See the termio(4) manual page (Non-Canonical Mode Input Processing) -+ * for details. -+ * if undefined, VMIN=1, VTIME=0 is used as a default - this gives you -+ * best user responsiveness, but highest interrupt frequency. -+ * (Do not bother, if you are not using plain tty windows.) -+ */ -+#define TTYVMIN 100 -+#define TTYVTIME 2 -+ -+/* -+ * looks like the above values are ignored by setting FNDELAY. -+ * This is default for all pty/ttys, you may disable it for -+ * ttys here. After playing with it for a while, one may find out -+ * that this feature may cause screen to lock up. -+ */ -+#ifdef bsdi -+# define TTY_DISABLE_FNBLOCK /* select barfs without it ... */ -+#endif -+ -+ -+/* -+ * Some terminals, e.g. Wyse 120, use a bitfield to select attributes. -+ * This doesn't work with the standard so/ul/m? terminal entries, -+ * because they will cancel each other out. -+ * On TERMINFO machines, "sa" (sgr) may work. If you want screen -+ * to switch attributes only with sgr, define USE_SGR. -+ * This is *not* recomended, do this only if you must. -+ */ -+#undef USE_SGR -+ -+ -+/* -+ * Define USE_LOCALE if you want screen to use the locale names -+ * for the name of the month and day of the week. -+ */ -+#define USE_LOCALE -+ -+/* -+ * Define USE_PAM if your system supports PAM (Pluggable Authentication -+ * Modules) and you want screen to use it instead of calling crypt(). -+ * (You may also need to add -lpam to LIBS in the Makefile.) -+ */ -+#undef USE_PAM -+ -+/* -+ * Define CHECK_SCREEN_W if you want screen to set TERM to screen-w -+ * if the terminal width is greater than 131 columns. No longer needed -+ * on modern systems which use $COLUMNS or the tty settings instead. -+ */ -+#undef CHECK_SCREEN_W -+ -+/********************************************************************** -+ * -+ * End of User Configuration Section -+ * -+ * Rest of this file is modified by 'configure' -+ * Change at your own risk! -+ * -+ */ -+]) -+# end of AH_TOP -+ - AC_PREFIX_PROGRAM(screen) - AC_PREFIX_PROGRAM(gzip) - -@@ -46,6 +363,7 @@ +Index: screen-4.0.3/configure.in +=================================================================== +--- screen-4.0.3.orig/configure.in 2009-09-11 16:59:24.085222816 -0700 ++++ screen-4.0.3/configure.in 2009-09-11 18:42:08.338231443 -0700 +@@ -12,7 +12,7 @@ + dnl + dnl Define some useful macros + dnl +-AC_DEFUN(AC_PROGRAM_SOURCE, ++AC_DEFUN([AC_PROGRAM_SOURCE], + [AC_REQUIRE([AC_PROG_CPP])AC_PROVIDE([$0])cat > conftest.c <<EOF + #include "confdefs.h" + [$1] +@@ -362,6 +362,7 @@ AC_PROG_GCC_TRADITIONAL AC_ISC_POSIX @@ -338,7 +19,7 @@ AC_TRY_RUN(main(){exit(0);},,[ if test $CC != cc ; then AC_NOTE(Your $CC failed - restarting with CC=cc) -@@ -54,22 +372,17 @@ +@@ -370,22 +371,17 @@ export CC exec $0 $configure_args fi @@ -365,7 +46,7 @@ AC_PROG_AWK -@@ -103,6 +416,7 @@ +@@ -419,6 +415,7 @@ dnl dnl **** special unix variants **** dnl @@ -373,7 +54,7 @@ if test -n "$ISC"; then AC_DEFINE(ISC) LIBS="$LIBS -linet" fi -@@ -114,11 +428,13 @@ +@@ -430,11 +427,13 @@ dnl fi dnl fi @@ -387,7 +68,7 @@ if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then oldlibs="$LIBS" test -f /bin/mx || LIBS="$LIBS -lmld" # for nlist. But not on alpha. -@@ -132,6 +448,8 @@ +@@ -448,6 +447,8 @@ AC_CHECKING(wait3) AC_TRY_LINK(,[wait3();], , AC_CHECKING(wait2) @@ -396,7 +77,7 @@ AC_TRY_LINK(,[wait2();], dnl John Rouillard (rouilj@sni-usa.com): dnl need -I/usr/include/bsd in RISCOS otherwise sockets are broken, no -@@ -154,9 +472,11 @@ +@@ -470,9 +471,11 @@ oldlibs="$LIBS" LIBS="$LIBS -lpyr" AC_CHECKING(Pyramid OSX) @@ -408,7 +89,7 @@ dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi): dnl BBN butterfly is not POSIX, but a MACH BSD system. dnl Do not define POSIX and TERMIO. -@@ -183,6 +503,7 @@ +@@ -499,6 +502,7 @@ fi AC_CHECKING(for System V) @@ -416,40 +97,37 @@ AC_TRY_COMPILE( [#include <sys/types.h> #include <signal.h> -@@ -198,6 +519,11 @@ +@@ -514,6 +518,8 @@ oldlibs="$LIBS" LIBS="$LIBS -lelf" AC_CHECKING(SVR4) -+AH_TEMPLATE([SVR4],[]) -+AH_TEMPLATE([BUGGYGETLOGIN], -+[If ttyslot() breaks getlogin() by returning indexes to utmp entries -+ of type DEAD_PROCESS, then our getlogin() replacement should be -+ selected by defining BUGGYGETLOGIN.]) ++AH_TEMPLATE([SVR4]) ++AH_TEMPLATE([BUGGYGETLOGIN]) AC_TRY_LINK([#include <utmpx.h> ],, [AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN), -@@ -235,6 +561,9 @@ +@@ -551,6 +557,9 @@ dnl AC_CHECKING(BSD job jontrol) -+AH_TEMPLATE([BSDJOBS], ++AH_TEMPLATE([BSDJOBS], +[Define BSDJOBS if you have BSD-style job control (both process + groups and a tty that deals correctly with them)]) AC_TRY_LINK( [#include <sys/types.h> #include <sys/ioctl.h> -@@ -255,6 +584,10 @@ +@@ -571,6 +580,10 @@ dnl **** setreuid(), seteuid() **** dnl AC_CHECKING(setreuid) -+AH_TEMPLATE([HAVE_SETREUID], ++AH_TEMPLATE([HAVE_SETREUID], +[If your system has the calls setreuid() and setregid(), + define HAVE_SETREUID. Otherwise screen will use a forked process to + safely create output files without retaining any special privileges.]) AC_TRY_LINK(,[ #ifdef __hpux setresuid(0, 0, 0); -@@ -269,6 +602,9 @@ +@@ -585,6 +598,9 @@ dnl Solaris seteuid doesn't change the saved uid, bad for dnl multiuser screen sessions AC_CHECKING(seteuid) @@ -459,62 +137,59 @@ AC_TRY_LINK(,[ #if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news) seteuid_is_broken(0); -@@ -292,7 +628,8 @@ - dnl **** FIFO tests **** +@@ -609,6 +625,8 @@ dnl --AC_CHECKING(fifos) + AC_CHECKING(fifos) +AC_CACHE_CHECK([usable fifos], -+ [screen_cv_sys_fifo_usable], ++ [screen_cv_sys_fifo_usable], AC_TRY_RUN([ #include <sys/types.h> #include <sys/stat.h> -@@ -357,12 +694,14 @@ +@@ -673,12 +691,15 @@ exit(1); exit(0); } -], AC_NOTE(- your fifos are usable) fifo=1, -AC_NOTE(- your fifos are not usable)) --rm -f /tmp/conftest* +], screen_cv_sys_fifo_usable=yes, screen_cv_sys_fifo_usable=no)) + rm -f /tmp/conftest* -if test -n "$fifo"; then -AC_CHECKING(for broken fifo implementation) +if test X"$screen_cv_sys_fifo_usable" = Xyes; then -+AH_TEMPLATE([BROKEN_PIPE], ++AH_TEMPLATE([BROKEN_PIPE], +[Define this if your system exits select() immediatly if a pipe is + opened read-only and no writer has opened it.]) +AC_CACHE_CHECK([broken fifo implementation], -+ [screen_cv_sys_fifo_broken_impl], ++ [screen_cv_sys_fifo_broken_impl], AC_TRY_RUN([ #include <sys/types.h> #include <fcntl.h> -@@ -407,9 +746,11 @@ +@@ -723,8 +744,11 @@ exit(1); exit(0); } -], AC_NOTE(- your implementation is ok), -AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1) --rm -f /tmp/conftest* -+], screen_cv_sys_fifo_broken_impl=no, ++], screen_cv_sys_fifo_broken_impl=no, +screen_cv_sys_fifo_broken_impl=yes)) +if test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then -+ AC_DEFINE(BROKEN_PIPE) ++ AC_DEFINE(BROKEN_PIPE) +fi + rm -f /tmp/conftest* fi - dnl -@@ -418,7 +759,8 @@ - dnl may need LIBS="$LIBS -lsocket" here +@@ -735,6 +759,8 @@ dnl --AC_CHECKING(sockets) + AC_CHECKING(sockets) +AC_CACHE_CHECK([sockets are usable], -+ [screen_cv_sys_sockets_usable], ++ [screen_cv_sys_sockets_usable], AC_TRY_RUN([ #include <sys/types.h> #include <sys/socket.h> -@@ -469,12 +811,16 @@ +@@ -785,12 +811,16 @@ exit(1); exit(0); } @@ -527,15 +202,15 @@ -if test -n "$sock"; then +if test X"$screen_cv_sys_sockets_usable" = Xyes; then AC_CHECKING(socket implementation) -+AH_TEMPLATE([SOCK_NOT_IN_FS], ++AH_TEMPLATE([SOCK_NOT_IN_FS], +[Define this if the unix-domain socket implementation doesn't + create a socket in the filesystem.]) +AC_CACHE_CHECK([if sockets are not stored in the filesystem], -+ [screen_cv_sys_sockets_nofs], ++ [screen_cv_sys_sockets_nofs], AC_TRY_RUN([ #include <sys/types.h> #include <sys/stat.h> -@@ -500,22 +846,25 @@ +@@ -816,22 +846,25 @@ close(s); exit(0); } @@ -569,7 +244,7 @@ AC_NOTE(- as your fifos are broken lets use the sockets.) else AC_NOTE(- both sockets and fifos usable. let's take fifos.) -@@ -525,7 +874,7 @@ +@@ -841,7 +874,7 @@ AC_NOTE(- using named pipes, of course) AC_DEFINE(NAMEDPIPE) fi @@ -578,20 +253,20 @@ AC_NOTE(- using unix-domain sockets, of course) else AC_MSG_ERROR(you have neither usable sockets nor usable pipes -> no screen) -@@ -535,7 +884,11 @@ +@@ -851,7 +884,11 @@ dnl **** check the select implementation **** dnl -AC_CHECKING(select return value) -+AH_TEMPLATE([SELECT_BROKEN], ++AH_TEMPLATE([SELECT_BROKEN], +[If the select return value doesn't treat a descriptor that is + usable for reading and writing as two hits, define SELECT_BROKEN.]) +AC_CACHE_CHECK([for broken select return value], -+ [screen_cv_sys_select_broken_retval], ++ [screen_cv_sys_select_broken_retval], AC_TRY_RUN([ #include <sys/types.h> #include <sys/stat.h> -@@ -634,19 +987,26 @@ +@@ -950,17 +987,26 @@ exit(1); exit(0); } @@ -606,7 +281,7 @@ dnl dnl **** termcap or terminfo **** dnl -+AH_TEMPLATE([TERMINFO], ++AH_TEMPLATE([TERMINFO], +[Define TERMINFO if your machine emulates the termcap routines + with the terminfo database. + Thus the .screenrc file is parsed for @@ -615,33 +290,31 @@ AC_CHECKING(for tgetent) AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, olibs="$LIBS" --if test -f /usr/lib/libncursesw.so ; then -- LIBS="-lncursesw $olibs" --fi - AC_CHECKING(libncursesw) -+AC_CHECK_LIB(ncursesw,tgetent) - AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, - LIBS="-lcurses $olibs" +-LIBS="-lcurses $olibs" AC_CHECKING(libcurses) -@@ -668,24 +1028,39 @@ ++AC_CHECK_LIB(ncursesw,tgetent) + AC_TRY_LINK(,[ + #ifdef __hpux + __sorry_hpux_libcurses_is_totally_broken_in_10_10(); +@@ -979,24 +1025,39 @@ AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, - AC_MSG_ERROR(!!! no tgetent - no screen))))))) + AC_MSG_ERROR(!!! no tgetent - no screen)))))) -AC_TRY_RUN([ +AC_CACHE_CHECK([using terminfo database],[screen_cv_sys_terminfo_used], -+ AC_TRY_RUN([ ++ AC_TRY_RUN([ main() { exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1); -}], AC_NOTE(- you use the termcap database), -AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO)) +} -+ ], screen_cv_sys_terminfo_used=no, -+ screen_cv_sys_terminfo_used=yes) ++ ], screen_cv_sys_terminfo_used=no, ++ screen_cv_sys_terminfo_used=yes) +) + +if test X"$screen_cv_sys_terminfo_used" = Xyes; then -+ AC_DEFINE(TERMINFO) ++ AC_DEFINE(TERMINFO) +fi + AC_CHECKING(ospeed) @@ -651,7 +324,7 @@ dnl dnl **** PTY specific things **** dnl -+AH_TEMPLATE([HAVE_DEV_PTC], ++AH_TEMPLATE([HAVE_DEV_PTC], +[define HAVE_DEV_PTC if you have a /dev/ptc character special + device.]) AC_CHECKING(for /dev/ptc) @@ -666,50 +339,70 @@ sysvr4ptys= if test -c /dev/ptmx ; then AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS) -@@ -701,6 +1076,13 @@ +@@ -1012,6 +1073,13 @@ fi AC_CHECKING(for ptyranges) +AH_TEMPLATE([PTYRANGE0], +[define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen -+ to unusual environments. E.g. For SunOs the defaults are "qpr" and -+ "0123456789abcdef". For SunOs 4.1.2 -+ #define PTYRANGE0 "pqrstuvwxyzPQRST" ++ to unusual environments. E.g. For SunOs the defaults are "qpr" and ++ "0123456789abcdef". For SunOs 4.1.2 ++ #define PTYRANGE0 "pqrstuvwxyzPQRST" + is recommended by Dan Jacobson.]) +AH_TEMPLATE([PTYRANGE1],[]) if test -d /dev/ptym ; then pdir='/dev/ptym' else -@@ -817,6 +1199,9 @@ +@@ -1117,7 +1185,7 @@ + AC_NOTE(- ptys are world accessable) + fi + else +- AC_NOTE(- can't determine - assume ptys are world accessable) ++ AC_NOTE(- cannot determine - assume ptys are world accessable) + fi + ] + ) +@@ -1128,6 +1196,7 @@ dnl **** utmp handling **** dnl AC_CHECKING(getutent) -+AH_TEMPLATE([GETUTENT], -+[If your system has getutent(), pututline(), etc. to write to the -+ utmp file, define GETUTENT.]) ++AH_TEMPLATE([GETUTENT], [If your system has setutent() and getutent() define GETUTENT]) AC_TRY_LINK([ #include <time.h> /* to get time_t on SCO */ #include <sys/types.h> -@@ -850,6 +1235,7 @@ - [int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE(GETUTENT), LIBS="$olibs") - ) +@@ -1141,7 +1210,8 @@ + #define pututline _pututline + #endif + ], +-[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE(GETUTENT), ++[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], ++[AC_MSG_RESULT(yes); AC_DEFINE(GETUTENT)],[AC_MSG_RESULT(no)]) + olibs="$LIBS" + LIBS="$LIBS -lgen" + AC_CHECKING(getutent with -lgen) +@@ -1158,9 +1228,11 @@ + #define pututline _pututline + #endif + ], +-[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE(GETUTENT), LIBS="$olibs") +-) ++[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], ++[AC_MSG_RESULT(yes); AC_DEFINE(GETUTENT)], [AC_MSG_RESULT(no)]) ++LIBS="$olibs" AC_CHECKING(ut_host) -+AH_TEMPLATE([UTHOST],[Define UTHOST if the utmp file has a host field.]) ++AH_TEMPLATE([UTHOST]) AC_TRY_COMPILE([ #include <time.h> #include <sys/types.h> -@@ -860,8 +1246,9 @@ +@@ -1171,6 +1243,7 @@ #include <utmp.h> #endif ],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST)) -+AH_TEMPLATE([HAVE_UTEMPTER],[Define if you have the utempter utmp helper program]) ++AH_TEMPLATE([HAVE_UTEMPTER]) AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no) --if test "$have_utempter" = yes; then -+if test X"$have_utempter" = Xyes; then + if test "$have_utempter" = yes; then AC_DEFINE(HAVE_UTEMPTER) - LIBS="$LIBS -lutempter" - fi -@@ -869,20 +1256,39 @@ +@@ -1180,20 +1253,39 @@ dnl dnl **** loadav **** dnl @@ -754,7 +447,7 @@ ) if test -z "$load" ; then -@@ -1024,6 +1430,11 @@ +@@ -1335,6 +1427,11 @@ dnl dnl **** signal handling **** dnl @@ -766,15 +459,15 @@ if test -n "$posix" ; then dnl POSIX has reliable signals with void return type. -@@ -1041,6 +1452,7 @@ - #endif - extern void (*signal ()) ();], [int i;], AC_DEFINE(SIGVOID)) - AC_CHECKING(sigset) +@@ -1344,6 +1441,7 @@ + else + + AC_CHECKING(return type of signal handlers) +AH_TEMPLATE([USESIGSET], [Define USESIGSET if you have sigset for BSD 4.1 reliable signals.]) - AC_TRY_LINK([ - #include <sys/types.h> + AC_TRY_COMPILE( + [#include <sys/types.h> #include <signal.h> -@@ -1052,6 +1464,9 @@ +@@ -1363,6 +1461,9 @@ #endif ], AC_DEFINE(USESIGSET)) AC_CHECKING(signal implementation) @@ -784,7 +477,7 @@ AC_TRY_RUN([ #include <sys/types.h> #include <signal.h> -@@ -1094,13 +1509,14 @@ +@@ -1405,13 +1506,14 @@ dnl AC_CHECKING(for crypt and sec libraries) @@ -803,11 +496,11 @@ oldlibs="$LIBS" LIBS="$LIBS -lsun" AC_CHECKING(IRIX sun library) -@@ -1123,6 +1539,13 @@ +@@ -1434,6 +1536,13 @@ dnl **** misc things **** dnl AC_CHECKING(wait union) -+AH_TEMPLATE([BSDWAIT], ++AH_TEMPLATE([BSDWAIT], +[Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h> + + Only allow BSDWAIT i.e. wait3 on nonposix systems, since @@ -817,7 +510,7 @@ AC_TRY_COMPILE([#include <sys/types.h> #include <sys/wait.h> ],[ -@@ -1133,6 +1556,12 @@ +@@ -1444,6 +1553,13 @@ #endif ],AC_DEFINE(BSDWAIT)) @@ -827,10 +520,11 @@ + POSIX systems should define this anyway, even though they use + struct termios.]) + ++ if test -z "$butterfly"; then AC_CHECKING(for termio or termios) AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO), -@@ -1142,17 +1571,35 @@ +@@ -1453,17 +1569,35 @@ ) fi @@ -838,7 +532,7 @@ + dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW)) AC_CHECKING(getspnam) -+AH_TEMPLATE([SHADOWPW], ++AH_TEMPLATE([SHADOWPW], +[If the passwords are stored in a shadow file and you want the + builtin lock to work properly, define SHADOWPW.]) AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW)) @@ -850,7 +544,7 @@ AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT)) AC_CHECKING(fdwalk) -+AH_TEMPLATE([HAVE_FDWALK], ++AH_TEMPLATE([HAVE_FDWALK], +[Newer versions of Solaris include fdwalk, which can greatly improve + the startup time of screen; otherwise screen spends a lot of time + closing file descriptors.]) @@ -863,11 +557,11 @@ + undefined, screen uses its own (probably slower) version of bcopy().]) + +AC_CACHE_CHECK([if bcopy handles overlap], -+ [screen_cv_sys_bcopy_overlap], ++ [screen_cv_sys_bcopy_overlap], AC_TRY_RUN([ main() { char buf[10]; -@@ -1165,8 +1612,21 @@ +@@ -1476,7 +1610,21 @@ if (strncmp(buf, "cdedef", 6)) exit(1); exit(0); /* libc version works properly. */ @@ -877,20 +571,20 @@ +if test X"$screen_cv_sys_bcopy_overlap" = Xyes; then + AC_DEFINE(USEBCOPY) +fi - -+AH_TEMPLATE([USEMEMMOVE], -+[SYSV machines may have a working memcpy() -- Oh, this is ++ ++AH_TEMPLATE([USEMEMMOVE], ++[SYSV machines may have a working memcpy() -- Oh, this is + quite unlikely. Tell me if you see one. + "But then, memmove() should work, if at all available" he thought... + Boing, never say "works everywhere" unless you checked SCO UNIX. + Their memove fails the test in the configure script. Sigh. (Juergen) +]) +AC_CACHE_CHECK([if memmove handles overlap], -+ [screen_cv_sys_memmove_overlap], ++ [screen_cv_sys_memmove_overlap], + AC_TRY_RUN([ #define bcopy(s,d,l) memmove(d,s,l) - main() { -@@ -1180,9 +1640,15 @@ +@@ -1491,9 +1639,15 @@ if (strncmp(buf, "cdedef", 6)) exit(1); exit(0); /* libc version works properly. */ @@ -904,11 +598,11 @@ +AH_TEMPLATE([USEMEMCPY],[]) +AC_CACHE_CHECK([if memcpy handles overlap], -+ [screen_cv_sys_memcpy_overlap], ++ [screen_cv_sys_memcpy_overlap], AC_TRY_RUN([ #define bcopy(s,d,l) memcpy(d,s,l) main() { -@@ -1196,9 +1662,19 @@ +@@ -1507,9 +1661,19 @@ if (strncmp(buf, "cdedef", 6)) exit(1); exit(0); /* libc version works properly. */ @@ -920,24 +614,24 @@ +fi AC_MSG_CHECKING(long file names) -+AH_TEMPLATE([NAME_MAX], -+[If you are on a SYS V machine that restricts filename length to 14 ++AH_TEMPLATE([NAME_MAX], ++[If you are on a SYS V machine that restricts filename length to 14 + characters, you may need to enforce that by setting NAME_MAX to 14]) -+dnl TODO(Hannes) shipped config.h.in has -+dnl #undef NAME_MAX /* KEEP_UNDEF_HERE override system value */ ++dnl TODO(Hannes) shipped config.h.in has ++dnl #undef NAME_MAX /* KEEP_UNDEF_HERE override system value */ +dnl ahead of this (echo 1 > /tmp/conftest9012345) 2>/dev/null (echo 2 > /tmp/conftest9012346) 2>/dev/null val=`cat /tmp/conftest9012345 2>/dev/null` -@@ -1211,17 +1687,28 @@ +@@ -1522,17 +1686,28 @@ rm -f /tmp/conftest* AC_MSG_CHECKING(for vsprintf) -+AH_TEMPLATE([USEVARARGS], ++AH_TEMPLATE([USEVARARGS], +[If your system has vsprintf() and requires the use of the macros in + "varargs.h" to use functions with variable arguments, + define USEVARARGS.]) - AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) + AC_TRY_LINK(,[vsprintf(0,0,0);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) AC_HEADER_DIRENT @@ -946,7 +640,7 @@ AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV), AC_MSG_RESULT(no) AC_MSG_CHECKING(for putenv) -+AH_TEMPLATE([NEEDPUTENV], ++AH_TEMPLATE([NEEDPUTENV], +[If your system does not come with a setenv()/putenv()/getenv() + functions, you may bring in our own code by defining NEEDPUTENV.]) AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV) @@ -958,7 +652,7 @@ AC_TRY_LINK([ #include <langinfo.h> ],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no)) -@@ -1271,7 +1758,8 @@ +@@ -1582,7 +1757,8 @@ dnl Ptx bug workaround -- insert -lc after -ltermcap test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq" diff --git a/recipes/screen/screen-4.0.3/cross-compile.patch b/recipes/screen/screen-4.0.3/cross-compile.patch new file mode 100644 index 0000000000..90b321f405 --- /dev/null +++ b/recipes/screen/screen-4.0.3/cross-compile.patch @@ -0,0 +1,331 @@ + +Patch by Hannes Reich (hannes@skynet.ie) 22-Jul-2005 +Resolves _some_ of the cross-compilation issues in screen's configure.in + +Index: screen-4.0.3/configure.in +=================================================================== +--- screen-4.0.3.orig/configure.in 2003-06-03 04:58:24.000000000 -0700 ++++ screen-4.0.3/configure.in 2009-09-11 16:15:04.533739171 -0700 +@@ -40,6 +40,322 @@ + AC_PREFIX_PROGRAM(screen) + AC_PREFIX_PROGRAM(gzip) + ++AH_TOP([ ++/* Copyright (c) 1993-2000 ++ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) ++ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) ++ * Copyright (c) 1987 Oliver Laumann ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program (see the file COPYING); if not, write to the ++ * Free Software Foundation, Inc., ++ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA ++ * ++ */ ++ ++ ++/********************************************************************** ++ * ++ * User Configuration Section ++ */ ++ ++/* ++ * Maximum of simultaneously allowed windows per screen session. ++ */ ++#ifndef MAXWIN ++# define MAXWIN 40 ++#endif ++ ++/* ++ * Define SOCKDIR to be the directory to contain the named sockets ++ * screen creates. This should be in a common subdirectory, such as ++ * /usr/local or /tmp. It makes things a little more secure if you ++ * choose a directory which is not writable by everyone or where the ++ * "sticky" bit is on, but this isn't required. ++ * If SOCKDIR is not defined screen will put the named sockets in ++ * the user's home directory. Notice that this can cause you problems ++ * if some user's HOME directories are AFS- or NFS-mounted. Especially ++ * AFS is unlikely to support named sockets. ++ * ++ * Screen will name the subdirectories "S-$USER" (e.g /tmp/S-davison). ++ */ ++#undef SOCKDIR ++ ++/* ++ * Define this if the SOCKDIR is not shared between hosts. ++ */ ++#define SOCKDIR_IS_LOCAL_TO_HOST ++ ++/* ++ * Screen sources two startup files. First a global file with a path ++ * specified here, second your local $HOME/.screenrc ++ * Don't define this, if you don't want it. ++ */ ++#ifndef ETCSCREENRC ++# define ETCSCREENRC "/usr/local/etc/screenrc" ++#endif ++ ++/* ++ * Screen can look for the environment variable $SYSSCREENRC and -if it ++ * exists- load the file specified in that variable as global screenrc. ++ * If you want to enable this feature, define ALLOW_SYSSCREENRC to one (1). ++ * Otherwise ETCSCREENRC is always loaded. ++ */ ++#define ALLOW_SYSSCREENRC 1 ++ ++/* ++ * Screen needs encoding files for the translation of utf8 ++ * into some encodings, e.g. JIS, BIG5. ++ * Only needed if FONT, ENCODINGS and UTF8 are defined. ++ */ ++#ifndef SCREENENCODINGS ++# define SCREENENCODINGS "/usr/local/lib/screen/encodings" ++#endif ++/* ++ * Define CHECKLOGIN to force Screen users to enter their Unix password ++ * in addition to the screen password. ++ * ++ * Define NOSYSLOG if yo do not have logging facilities. Currently ++ * syslog() will be used to trace ``su'' commands only. ++ */ ++#define CHECKLOGIN 1 ++#undef NOSYSLOG ++ ++ ++/* ++ * define PTYMODE if you do not like the default of 0622, which allows ++ * public write to your pty. ++ * define PTYGROUP to some numerical group-id if you do not want the ++ * tty to be in "your" group. ++ * Note, screen is unable to change mode or group of the pty if it ++ * is not installed with sufficient privilege. (e.g. set-uid-root) ++ * define PTYROFS if the /dev/pty devices are mounted on a read-only ++ * filesystem so screen should not even attempt to set mode or group ++ * even if running as root (e.g. on TiVo). ++ */ ++#undef PTYMODE ++#undef PTYGROUP ++#undef PTYROFS ++ ++/* ++ * If screen is NOT installed set-uid root, screen can provide tty ++ * security by exclusively locking the ptys. While this keeps other ++ * users from opening your ptys, it also keeps your own subprocesses ++ * from being able to open /dev/tty. Define LOCKPTY to add this ++ * exclusive locking. ++ */ ++#undef LOCKPTY ++ ++/* ++ * If you'd rather see the status line on the first line of your ++ * terminal rather than the last, define TOPSTAT. ++ */ ++#undef TOPSTAT ++ ++/* ++ * define DETACH can detach a session. An absolute 'must'. ++ */ ++#define DETACH ++ ++/* ++ * here come the erlangen extensions to screen: ++ * define LOCK if you want to use a lock program for a screenlock. ++ * define PASSWORD for secure reattach of your screen. ++ * define COPY_PASTE to use the famous hacker's treasure zoo. ++ * define POW_DETACH to have a detach_and_logout key (requires DETACH). ++ * define REMOTE_DETACH (-d option) to move screen between terminals. ++ * define AUTO_NUKE to enable Tim MacKenzies clear screen nuking ++ * define PSEUDOS to allow window input/output filtering ++ * define MULTI to allow multiple attaches. ++ * define MULTIUSER to allow other users attach to your session ++ * (if they are in the acl, of course) ++ * define MAPKEYS to include input keyboard translation. ++ * define FONT to support ISO2022/alternet charset support ++ * define COLOR to include ansi color support. This may expose ++ * a bug in x11r6-color-xterm. ++ * define DW_CHARS to include support for double-width character ++ * sets. ++ * define ENCODINGS to include support for encodings like euc or big5. ++ * Needs FONT to work. ++ * define UTF8 if you want support for UTF-8 encoding. ++ * Needs FONT and ENCODINGS to work. ++ * define COLORS16 if you want 16 colors. ++ * Needs COLOR to work. ++ * define BUILTIN_TELNET to add telnet support to screen. ++ * Syntax: screen //telnet host [port] ++ * define RXVT_OSC if you want support for rxvts special ++ * change fgcolor/bgcolor/bgpicture sequences ++ */ ++#undef SIMPLESCREEN ++#ifndef SIMPLESCREEN ++# define LOCK ++# define PASSWORD ++# define COPY_PASTE ++# define REMOTE_DETACH ++# define POW_DETACH ++# define AUTO_NUKE ++# define PSEUDOS ++# define MULTI ++# define MULTIUSER ++# define MAPKEYS ++# define COLOR ++# define FONT ++# define DW_CHARS ++# define ENCODINGS ++# define UTF8 ++# define COLORS16 ++# define ZMODEM ++# define BLANKER_PRG ++#endif /* SIMPLESCREEN */ ++ ++#undef BUILTIN_TELNET ++#undef RXVT_OSC ++#undef COLORS256 ++ ++ ++/* ++ * If you have a braille display you should define HAVE_BRAILLE. ++ * The code inside #ifdef HAVE_BRAILLE was contributed by Hadi Bargi ++ * Rangin (bargi@dots.physics.orst.edu). ++ * WARNING: this is more or less unsupported code, it may be full of ++ * bugs leading to security holes, enable at your own risk! ++ */ ++#undef HAVE_BRAILLE ++ ++ ++/* ++ * As error messages are mostly meaningless to the user, we ++ * try to throw out phrases that are somewhat more familiar ++ * to ...well, at least familiar to us NetHack players. ++ */ ++#ifndef NONETHACK ++# define NETHACK ++#endif /* NONETHACK */ ++ ++/* ++ * If screen is installed with permissions to update /etc/utmp (such ++ * as if it is installed set-uid root), define UTMPOK. ++ */ ++#define UTMPOK ++ ++/* Set LOGINDEFAULT to one (1) ++ * if you want entries added to /etc/utmp by default, else set it to ++ * zero (0). ++ * LOGINDEFAULT will be one (1) whenever LOGOUTOK is undefined! ++ */ ++#define LOGINDEFAULT 1 ++ ++/* Set LOGOUTOK to one (1) ++ * if you want the user to be able to log her/his windows out. ++ * (Meaning: They are there, but not visible in /etc/utmp). ++ * Disabling this feature only makes sense if you have a secure /etc/utmp ++ * database. ++ * Negative examples: suns usually have a world writable utmp file, ++ * xterm will run perfectly without s-bit. ++ * ++ * If LOGOUTOK is undefined and UTMPOK is defined, all windows are ++ * initially and permanently logged in. ++ * ++ * Set CAREFULUTMP to one (1) if you want that users have at least one ++ * window per screen session logged in. ++ */ ++#define LOGOUTOK 1 ++#undef CAREFULUTMP ++ ++ ++/* ++ * If UTMPOK is defined and your system (incorrectly) counts logins by ++ * counting non-null entries in /etc/utmp (instead of counting non-null ++ * entries with no hostname that are not on a pseudo tty), define USRLIMIT ++ * to have screen put an upper-limit on the number of entries to write ++ * into /etc/utmp. This helps to keep you from exceeding a limited-user ++ * license. ++ */ ++#undef USRLIMIT ++ ++/* ++ * both must be defined if you want to favor tcsendbreak over ++ * other calls to generate a break condition on serial lines. ++ * (Do not bother, if you are not using plain tty windows.) ++ */ ++#define POSIX_HAS_A_GOOD_TCSENDBREAK ++#define SUNOS4_AND_WE_TRUST_TCSENDBREAK ++ ++/* ++ * to lower the interrupt load on the host machine, you may want to ++ * adjust the VMIN and VTIME settings used for plain tty windows. ++ * See the termio(4) manual page (Non-Canonical Mode Input Processing) ++ * for details. ++ * if undefined, VMIN=1, VTIME=0 is used as a default - this gives you ++ * best user responsiveness, but highest interrupt frequency. ++ * (Do not bother, if you are not using plain tty windows.) ++ */ ++#define TTYVMIN 100 ++#define TTYVTIME 2 ++ ++/* ++ * looks like the above values are ignored by setting FNDELAY. ++ * This is default for all pty/ttys, you may disable it for ++ * ttys here. After playing with it for a while, one may find out ++ * that this feature may cause screen to lock up. ++ */ ++#ifdef bsdi ++# define TTY_DISABLE_FNBLOCK /* select barfs without it ... */ ++#endif ++ ++ ++/* ++ * Some terminals, e.g. Wyse 120, use a bitfield to select attributes. ++ * This doesn't work with the standard so/ul/m? terminal entries, ++ * because they will cancel each other out. ++ * On TERMINFO machines, "sa" (sgr) may work. If you want screen ++ * to switch attributes only with sgr, define USE_SGR. ++ * This is *not* recomended, do this only if you must. ++ */ ++#undef USE_SGR ++ ++ ++/* ++ * Define USE_LOCALE if you want screen to use the locale names ++ * for the name of the month and day of the week. ++ */ ++#define USE_LOCALE ++ ++/* ++ * Define USE_PAM if your system supports PAM (Pluggable Authentication ++ * Modules) and you want screen to use it instead of calling crypt(). ++ * (You may also need to add -lpam to LIBS in the Makefile.) ++ */ ++#undef USE_PAM ++ ++/* ++ * Define CHECK_SCREEN_W if you want screen to set TERM to screen-w ++ * if the terminal width is greater than 131 columns. No longer needed ++ * on modern systems which use $COLUMNS or the tty settings instead. ++ */ ++#undef CHECK_SCREEN_W ++ ++/********************************************************************** ++ * ++ * End of User Configuration Section ++ * ++ * Rest of this file is modified by 'configure' ++ * Change at your own risk! ++ * ++ */ ++]) ++# end of AH_TOP ++ + old_CFLAGS="$CFLAGS" + AC_PROG_CC + AC_PROG_CPP diff --git a/recipes/screen/screen-4.0.3/no-stropts.patch b/recipes/screen/screen-4.0.3/no-stropts.patch new file mode 100644 index 0000000000..bce651479d --- /dev/null +++ b/recipes/screen/screen-4.0.3/no-stropts.patch @@ -0,0 +1,13 @@ +Index: screen-4.0.3/pty.c +=================================================================== +--- screen-4.0.3.orig/pty.c 2009-09-11 15:44:44.881250800 -0700 ++++ screen-4.0.3/pty.c 2009-09-11 15:45:28.077862097 -0700 +@@ -34,7 +34,7 @@ + #endif + + /* for solaris 2.1, Unixware (SVR4.2) and possibly others */ +-#ifdef HAVE_SVR4_PTYS ++#if defined HAVE_SVR4_PTYS && !defined __UCLIBC__ + # include <sys/stropts.h> + #endif + diff --git a/recipes/screen/screen-4.0.3/no-utempter.patch b/recipes/screen/screen-4.0.3/no-utempter.patch new file mode 100644 index 0000000000..22d21bb919 --- /dev/null +++ b/recipes/screen/screen-4.0.3/no-utempter.patch @@ -0,0 +1,17 @@ +Index: screen-4.0.3/configure.in +=================================================================== +--- screen-4.0.3.orig/configure.in 2009-09-11 18:42:08.338231443 -0700 ++++ screen-4.0.3/configure.in 2009-09-11 18:43:39.378663533 -0700 +@@ -1243,12 +1243,6 @@ + #include <utmp.h> + #endif + ],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST)) +-AH_TEMPLATE([HAVE_UTEMPTER]) +-AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no) +-if test "$have_utempter" = yes; then +- AC_DEFINE(HAVE_UTEMPTER) +- LIBS="$LIBS -lutempter" +-fi + + dnl + dnl **** loadav **** diff --git a/recipes/screen/screen-4.0.3/sched.patch b/recipes/screen/screen-4.0.3/sched.patch new file mode 100644 index 0000000000..5c635c157b --- /dev/null +++ b/recipes/screen/screen-4.0.3/sched.patch @@ -0,0 +1,20 @@ +diff -urN screen-4.0.3-orig/sched.h screen-4.0.3/sched.h +--- screen-4.0.3-orig/sched.h 2002-01-08 16:42:43.000000000 +0100 ++++ screen-4.0.3/sched.h 2009-01-13 14:53:15.000000000 +0100 +@@ -22,6 +22,10 @@ + * $Id: sched.h,v 1.1.1.1 1993/06/16 23:51:13 jnweiger Exp $ FAU + */ + ++#ifndef _SCHED_H_ ++#define _SCHED_H_ 1 ++#include <sys/types.h> ++ + struct event + { + struct event *next; +@@ -41,3 +45,4 @@ + #define EV_READ 1 + #define EV_WRITE 2 + #define EV_ALWAYS 3 ++#endif + diff --git a/recipes/screen/screen_4.0.3.bb b/recipes/screen/screen_4.0.3.bb index 1165d46d33..003ca7a1a4 100644 --- a/recipes/screen/screen_4.0.3.bb +++ b/recipes/screen/screen_4.0.3.bb @@ -4,13 +4,15 @@ processes, typically interactive shells." LICENSE = "GPL" SECTION = "console/utils" DEPENDS = "ncurses" -PR = "r0" - -# patch needs adapting -DEFAULT_PREFERENCE = "-1" +PR = "r1" SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ - file://configure.patch;patch=1" + file://cross-compile.patch;patch=1 \ + file://configure.patch;patch=1 \ + file://sched.patch;patch=1 \ + file://no-stropts.patch;patch=1 \ + file://no-utempter.patch;patch=1 \ + " inherit autotools |