From 6681750d35687905c339023bfa6dbb4b4ff46a1cc87452ef20fcc0e45ee84695 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 10 Dec 2010 19:46:04 +0000 Subject: [PATCH] Accepting request 55611 from home:jnweiger:branches:Base:System ok OBS-URL: https://build.opensuse.org/request/show/55611 OBS-URL: https://build.opensuse.org/package/show/Base:System/screen?expand=0&rev=16 --- screen-4.0.2.dif | 49 +++++++++++++++++--------- screen-4.0.3-ipv6.patch | 71 ++++++++++++++++++++++++-------------- screen-__P.diff | 12 +++++-- screen-gcc4.diff | 19 +++++++--- screen-man-loginshell.diff | 43 ++++++++++++++--------- screen.changes | 6 ++++ screen.spec | 3 ++ term_too_long.diff | 35 +++++++++++++++++++ 8 files changed, 171 insertions(+), 67 deletions(-) create mode 100644 term_too_long.diff diff --git a/screen-4.0.2.dif b/screen-4.0.2.dif index b33b59a..afda409 100644 --- a/screen-4.0.2.dif +++ b/screen-4.0.2.dif @@ -1,16 +1,14 @@ ---- ./configure.in.orig 2003-06-03 11:58:24.000000000 +0000 -+++ ./configure.in 2006-02-10 16:30:36.000000000 +0000 -@@ -93,7 +93,7 @@ AC_ARG_ENABLE(socket-dir, - AC_MSG_RESULT(yes) - AC_MSG_CHECKING(for the socket dir) - SOCKDIR="(eff_uid ? \"/tmp/uscreens\" : \"/tmp/screens\")" -- AC_ARG_WITH(socket-dir, [ --with-socket-dir=path where to put the per-user sockets], [ SOCKDIR="\"${withval}\"" ]) -+ AC_ARG_WITH(socket-dir, [ --with-socket-dir=path where to put the per-user sockets], [ SOCKDIR="${withval}" ]) - AC_MSG_RESULT(${SOCKDIR}) - AC_DEFINE_UNQUOTED(SOCKDIR, $SOCKDIR) - ] ---- ./configure.orig 2003-12-05 13:46:53.000000000 +0000 -+++ ./configure 2006-02-10 16:30:36.000000000 +0000 +--- + configure | 2 +- + configure.in | 2 +- + screenrc | 4 ++++ + terminfo/screeninfo.src | 24 ++++++++++++++++++++++++ + 4 files changed, 30 insertions(+), 2 deletions(-) + +Index: configure +=================================================================== +--- configure.orig ++++ configure @@ -3012,7 +3012,7 @@ echo $ECHO_N "checking for the socket di # Check whether --with-socket-dir or --without-socket-dir was given. if test "${with_socket_dir+set}" = set; then @@ -20,15 +18,32 @@ fi; echo "$as_me:$LINENO: result: ${SOCKDIR}" >&5 echo "${ECHO_T}${SOCKDIR}" >&6 ---- ./screenrc.orig 2006-02-10 16:30:36.000000000 +0000 -+++ ./screenrc 2006-02-10 16:30:36.000000000 +0000 +Index: configure.in +=================================================================== +--- configure.in.orig ++++ configure.in +@@ -93,7 +93,7 @@ AC_ARG_ENABLE(socket-dir, + AC_MSG_RESULT(yes) + AC_MSG_CHECKING(for the socket dir) + SOCKDIR="(eff_uid ? \"/tmp/uscreens\" : \"/tmp/screens\")" +- AC_ARG_WITH(socket-dir, [ --with-socket-dir=path where to put the per-user sockets], [ SOCKDIR="\"${withval}\"" ]) ++ AC_ARG_WITH(socket-dir, [ --with-socket-dir=path where to put the per-user sockets], [ SOCKDIR="${withval}" ]) + AC_MSG_RESULT(${SOCKDIR}) + AC_DEFINE_UNQUOTED(SOCKDIR, $SOCKDIR) + ] +Index: screenrc +=================================================================== +--- /dev/null ++++ screenrc @@ -0,0 +1,4 @@ +# this is the global screenrc file. Handle with care. + +termcapinfo xterm* G0:is=\E[?4l\E>:ti@:te@ +termcapinfo linux me=\E[m:AX ---- ./terminfo/screeninfo.src.orig 2003-07-21 15:33:36.000000000 +0000 -+++ ./terminfo/screeninfo.src 2006-02-10 16:41:11.000000000 +0000 +Index: terminfo/screeninfo.src +=================================================================== +--- terminfo/screeninfo.src.orig ++++ terminfo/screeninfo.src @@ -71,3 +71,27 @@ screen-s|VT 100/ANSI X3.64 virtual termi civis=\E[?25l, cnorm=\E[34h\E[?25h, cvvis=\E[34l, op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, diff --git a/screen-4.0.3-ipv6.patch b/screen-4.0.3-ipv6.patch index d226f69..447d414 100644 --- a/screen-4.0.3-ipv6.patch +++ b/screen-4.0.3-ipv6.patch @@ -1,6 +1,17 @@ ---- screen-4.0.3/window.h.ipv6 2003-08-21 16:57:30.000000000 +0200 -+++ screen-4.0.3/window.h 2006-11-15 13:36:57.000000000 +0100 -@@ -254,7 +254,7 @@ +--- + extern.h | 3 - + help.c | 4 + + screen.c | 16 +++++- + teln.c | 154 ++++++++++++++++++++++++++++++--------------------------------- + window.c | 28 ++++++----- + window.h | 2 + 6 files changed, 110 insertions(+), 97 deletions(-) + +Index: screen-4.0.3/window.h +=================================================================== +--- screen-4.0.3.orig/window.h ++++ screen-4.0.3/window.h +@@ -254,7 +254,7 @@ struct win struct display *w_zdisplay; #endif #ifdef BUILTIN_TELNET @@ -9,9 +20,11 @@ char w_telbuf[IOSIZE]; int w_telbufl; char w_telmopts[256]; ---- screen-4.0.3/window.c.ipv6 2003-12-05 14:45:41.000000000 +0100 -+++ screen-4.0.3/window.c 2006-11-15 13:39:27.000000000 +0100 -@@ -582,6 +582,13 @@ +Index: screen-4.0.3/window.c +=================================================================== +--- screen-4.0.3.orig/window.c ++++ screen-4.0.3/window.c +@@ -582,6 +582,13 @@ struct NewWindow *newwin; n = pp - wtab; debug1("Makewin creating %d\n", n); @@ -25,7 +38,7 @@ if ((f = OpenDevice(nwin.args, nwin.lflag, &type, &TtyName)) < 0) return -1; -@@ -736,7 +743,7 @@ +@@ -736,7 +743,7 @@ struct NewWindow *newwin; #ifdef BUILTIN_TELNET if (type == W_TYPE_TELNET) { @@ -34,7 +47,7 @@ { FreeWindow(p); return -1; -@@ -834,6 +841,13 @@ +@@ -834,6 +841,13 @@ struct win *p; int lflag, f; lflag = nwin_default.lflag; @@ -48,7 +61,7 @@ if ((f = OpenDevice(p->w_cmdargs, lflag, &p->w_type, &TtyName)) < 0) return -1; -@@ -864,7 +878,7 @@ +@@ -864,7 +878,7 @@ struct win *p; #ifdef BUILTIN_TELNET if (p->w_type == W_TYPE_TELNET) { @@ -57,7 +70,7 @@ return -1; } else -@@ -1007,16 +1021,6 @@ +@@ -1007,16 +1021,6 @@ char **namep; if (!arg) return -1; @@ -74,8 +87,10 @@ if ((stat(arg, &st)) == 0 && S_ISCHR(st.st_mode)) { if (access(arg, R_OK | W_OK) == -1) ---- screen-4.0.3/teln.c.ipv6 2003-09-08 16:26:56.000000000 +0200 -+++ screen-4.0.3/teln.c 2006-11-15 13:36:57.000000000 +0100 +Index: screen-4.0.3/teln.c +=================================================================== +--- screen-4.0.3.orig/teln.c ++++ screen-4.0.3/teln.c @@ -25,6 +25,7 @@ #include #include @@ -84,7 +99,7 @@ #include "config.h" -@@ -37,12 +38,13 @@ +@@ -37,12 +38,13 @@ extern struct win *fore; extern struct layer *flayer; extern int visual_bell; extern char screenterm[]; @@ -100,7 +115,7 @@ #define TEL_CONNECTING (-2) #define TC_IAC 255 -@@ -99,86 +101,78 @@ +@@ -99,86 +101,78 @@ char *data; } int @@ -257,9 +272,11 @@ } int ---- screen-4.0.3/help.c.ipv6 2003-09-08 16:25:33.000000000 +0200 -+++ screen-4.0.3/help.c 2006-11-15 13:36:57.000000000 +0100 -@@ -49,6 +49,10 @@ +Index: screen-4.0.3/help.c +=================================================================== +--- screen-4.0.3.orig/help.c ++++ screen-4.0.3/help.c +@@ -49,6 +49,10 @@ char *myname, *message, *arg; { printf("Use: %s [-opts] [cmd [args]]\n", myname); printf(" or: %s -r [host.tty]\n\nOptions:\n", myname); @@ -270,9 +287,11 @@ printf("-a Force all capabilities into each window's termcap.\n"); printf("-A -[r|R] Adapt all windows to the new display width & height.\n"); printf("-c file Read configuration file instead of '.screenrc'.\n"); ---- screen-4.0.3/screen.c.ipv6 2003-09-08 16:26:41.000000000 +0200 -+++ screen-4.0.3/screen.c 2006-11-15 13:36:57.000000000 +0100 -@@ -231,8 +231,9 @@ +Index: screen-4.0.3/screen.c +=================================================================== +--- screen-4.0.3.orig/screen.c ++++ screen-4.0.3/screen.c +@@ -231,8 +231,9 @@ struct layer *flayer; struct win *fore; struct win *windows; struct win *console_window; @@ -284,7 +303,7 @@ /* * Do this last -@@ -471,6 +472,9 @@ +@@ -471,6 +472,9 @@ char **av; nwin = nwin_undef; nwin_options = nwin_undef; strcpy(screenterm, "screen"); @@ -294,7 +313,7 @@ logreopen_register(lf_secreopen); -@@ -505,6 +509,14 @@ +@@ -505,6 +509,14 @@ char **av; { switch (*ap) { @@ -309,9 +328,11 @@ case 'a': nwin_options.aflag = 1; break; ---- screen-4.0.3/extern.h.ipv6 2003-08-22 14:27:57.000000000 +0200 -+++ screen-4.0.3/extern.h 2006-11-15 13:36:57.000000000 +0100 -@@ -446,8 +446,7 @@ +Index: screen-4.0.3/extern.h +=================================================================== +--- screen-4.0.3.orig/extern.h ++++ screen-4.0.3/extern.h +@@ -446,8 +446,7 @@ extern void ExitOverlayPage __P((void)) /* teln.c */ #ifdef BUILTIN_TELNET diff --git a/screen-__P.diff b/screen-__P.diff index 78d17b1..7c89e85 100644 --- a/screen-__P.diff +++ b/screen-__P.diff @@ -1,6 +1,12 @@ ---- screen.h 2004/09/12 07:24:26 1.1 -+++ screen.h 2004/09/12 07:24:36 -@@ -25,6 +25,7 @@ +--- + screen.h | 1 + + 1 file changed, 1 insertion(+) + +Index: screen.h +=================================================================== +--- screen.h.orig ++++ screen.h +@@ -24,6 +24,7 @@ #include "os.h" diff --git a/screen-gcc4.diff b/screen-gcc4.diff index b6b2615..fca7050 100644 --- a/screen-gcc4.diff +++ b/screen-gcc4.diff @@ -1,6 +1,13 @@ ---- screen-4.0.2/fileio.c.xx 2005-04-08 13:37:18.823774606 +0200 -+++ screen-4.0.2/fileio.c 2005-04-08 13:37:25.948324113 +0200 -@@ -779,7 +779,7 @@ +--- + fileio.c | 2 +- + utmp.c | 8 ++++++-- + 2 files changed, 7 insertions(+), 3 deletions(-) + +Index: screen-4.0.3/fileio.c +=================================================================== +--- screen-4.0.3.orig/fileio.c ++++ screen-4.0.3/fileio.c +@@ -779,7 +779,7 @@ char *cmd; #ifdef SIGPIPE signal(SIGPIPE, SIG_DFL); #endif @@ -9,8 +16,10 @@ Panic(errno, "/bin/sh"); default: break; ---- screen-4.0.2/utmp.c.orig 2005-10-28 22:01:14.105418912 +0000 -+++ screen-4.0.2/utmp.c 2005-10-28 22:02:30.065801507 +0000 +Index: screen-4.0.3/utmp.c +=================================================================== +--- screen-4.0.3.orig/utmp.c ++++ screen-4.0.3/utmp.c @@ -604,6 +604,7 @@ struct utmp *u; char *line, *user; int pid; diff --git a/screen-man-loginshell.diff b/screen-man-loginshell.diff index a822cbb..f5b7282 100644 --- a/screen-man-loginshell.diff +++ b/screen-man-loginshell.diff @@ -1,6 +1,13 @@ ---- screen-4.0.2/doc/screen.texinfo.orig 2003-12-05 14:51:46.000000000 +0100 -+++ screen-4.0.2/doc/screen.texinfo 2008-05-14 15:29:52.252937000 +0200 -@@ -140,7 +140,8 @@ +--- + doc/screen.1 | 18 ++++++++++++------ + doc/screen.texinfo | 19 ++++++++++++------- + 2 files changed, 24 insertions(+), 13 deletions(-) + +Index: screen-4.0.3/doc/screen.texinfo +=================================================================== +--- screen-4.0.3.orig/doc/screen.texinfo ++++ screen-4.0.3/doc/screen.texinfo +@@ -140,7 +140,8 @@ whole screen session is detached from th When a program terminates, @code{screen} (per default) kills the window that contained it. If this window was in the foreground, the display switches to the previously displayed window; if none are left, @@ -10,7 +17,7 @@ Everything you type is sent to the program running in the current window. The only exception to this is the one keystroke that is used to -@@ -151,7 +152,8 @@ +@@ -151,7 +152,8 @@ Character}) and all the key bindings (@p customized to be anything you like, though they are always two characters in length. @@ -20,7 +27,7 @@ Please use the caret notation (@kbd{^A} instead of @kbd{C-a}) as arguments to e.g. the @code{escape} command or the @code{-e} option. @code{Screen} will also print out control characters in caret notation. -@@ -386,7 +388,7 @@ +@@ -386,7 +388,7 @@ For combinations with the Set the default shell to be @var{program}. By default, @code{screen} uses the value of the environment variable @code{$SHELL}, or @file{/bin/sh} if it is not defined. This option is equivalent to the @@ -29,7 +36,7 @@ @item -S @var{sessionname} Set the name of the new session to @var{sessionname}. This option can -@@ -1261,10 +1263,12 @@ +@@ -1261,10 +1263,12 @@ Unset an environment variable. Set the command to be used to create a new shell. This overrides the value of the environment variable @code{$SHELL}. This is useful if you'd like to run a tty-enhancer which is expecting to execute the @@ -45,7 +52,7 @@ @end deffn @deffn Command shelltitle title -@@ -1544,7 +1548,7 @@ +@@ -1544,7 +1548,7 @@ password checking. Mainly the same as @code{detach}, but also sends a HANGUP signal to the parent process of @code{screen}.@* @emph{Caution}: This will result in a @@ -54,7 +61,7 @@ @end deffn @deffn Command pow_detach_msg [message] -@@ -4932,6 +4936,7 @@ +@@ -4932,6 +4936,7 @@ Alternate user screenrc file. @item SHELL Default shell program for opening windows (default @file{/bin/sh}). @@ -62,9 +69,11 @@ @item STY Alternate socket name. If @code{screen} is invoked, and the environment variable ---- screen-4.0.2/doc/screen.1.orig 2003-12-05 14:51:57.000000000 +0100 -+++ screen-4.0.2/doc/screen.1 2008-05-14 15:21:06.956755000 +0200 -@@ -59,7 +59,8 @@ +Index: screen-4.0.3/doc/screen.1 +=================================================================== +--- screen-4.0.3.orig/doc/screen.1 ++++ screen-4.0.3/doc/screen.1 +@@ -59,7 +59,8 @@ session is detached from the user's term If this window was in the foreground, the display switches to the previous window; if none are left, .I screen @@ -74,7 +83,7 @@ .PP Everything you type is sent to the program running in the current window. The only exception to this is the one keystroke that is used to initiate -@@ -70,7 +71,8 @@ +@@ -70,7 +71,8 @@ The command character and all the key bi to be anything you like, though they are always two characters in length. .PP .I Screen @@ -84,7 +93,7 @@ Please use the caret notation (\*Q^A\*U instead of \*QC-a\*U) as arguments to e.g. the .I escape -@@ -330,6 +332,7 @@ +@@ -330,6 +332,7 @@ For combinations with the \fB\-d\fP/\fB\ sets the default shell to the program specified, instead of the value in the environment variable $SHELL (or \*Q/bin/sh\*U if not defined). This can also be defined through the \*Qshell\*U .screenrc command. @@ -92,7 +101,7 @@ .TP 5 .BI "\-S " sessionname When creating a new session, this option can be used to specify a -@@ -1557,7 +1560,7 @@ +@@ -1557,7 +1560,7 @@ windows is changed. Initial setting is 1 .ne 3 .BI "defshell " command .PP @@ -101,7 +110,7 @@ .sp .ne 3 .BR "defsilence on" | off -@@ -2381,7 +2384,7 @@ +@@ -2381,7 +2384,7 @@ the parent process of .IR screen . CAUTION: This will result in a logout, when .I screen @@ -110,7 +119,7 @@ .sp .ne 3 .B pow_detach_msg -@@ -2625,8 +2628,10 @@ +@@ -2625,8 +2628,10 @@ only in rare circumstances. Set the command to be used to create a new shell. This overrides the value of the environment variable $SHELL. This is useful if you'd like to run a tty-enhancer which is expecting to @@ -123,7 +132,7 @@ .sp .ne 3 .B "shelltitle \fItitle\fP" -@@ -4397,6 +4402,7 @@ +@@ -4397,6 +4402,7 @@ Alternate socket directory. Alternate user screenrc file. .IP SHELL Default shell program for opening windows (default \*Q/bin/sh\*U). diff --git a/screen.changes b/screen.changes index dfa60bc..f83d600 100644 --- a/screen.changes +++ b/screen.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Dec 10 19:40:12 UTC 2010 - jw@novell.com + +- term_too_long.patch added. + corresponds to savannah#30880 + ------------------------------------------------------------------- Wed Nov 3 14:54:47 UTC 2010 - aj@suse.de diff --git a/screen.spec b/screen.spec index a574f0d..49f200e 100644 --- a/screen.spec +++ b/screen.spec @@ -40,6 +40,8 @@ Patch1: screen-__P.diff Patch2: screen-gcc4.diff Patch4: screen-man-loginshell.diff Patch5: screen-4.0.3-ipv6.patch +# upstream savannah#30880 +Patch6: term_too_long.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -56,6 +58,7 @@ Documentation: man page %patch2 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %build CFLAGS="-DMAXWIN=1000 $RPM_OPT_FLAGS" ./configure --prefix=/usr --infodir=%{_infodir} \ diff --git a/term_too_long.diff b/term_too_long.diff new file mode 100644 index 0000000..5a65fcb --- /dev/null +++ b/term_too_long.diff @@ -0,0 +1,35 @@ +Index: screen-4.0.3/display.h +=================================================================== +--- screen-4.0.3.orig/display.h ++++ screen-4.0.3/display.h +@@ -85,7 +85,7 @@ struct display + struct win *d_other; /* pointer to other window */ + int d_nonblock; /* -1 don't block if obufmax reached */ + /* >0: block after nonblock secs */ +- char d_termname[20 + 1]; /* $TERM */ ++ char d_termname[42 + 1]; /* $TERM */ + char *d_tentry; /* buffer for tgetstr */ + char d_tcinited; /* termcap inited flag */ + int d_width, d_height; /* width/height of the screen */ +Index: screen-4.0.3/screen.h +=================================================================== +--- screen-4.0.3.orig/screen.h ++++ screen-4.0.3/screen.h +@@ -191,7 +191,7 @@ struct msg + int nargs; + char line[MAXPATHLEN]; + char dir[MAXPATHLEN]; +- char screenterm[20]; /* is screen really "screen" ? */ ++ char screenterm[42]; /* is screen really "screen" ? */ + } + create; + struct +@@ -203,7 +203,7 @@ struct msg + char preselect[20]; + int esc; /* his new escape character unless -1 */ + int meta_esc; /* his new meta esc character unless -1 */ +- char envterm[20 + 1]; /* terminal type */ ++ char envterm[42 + 1]; /* terminal type */ + int encoding; /* encoding of display */ + } + attach;