From: Jakub Bogusz Date: Sun, 20 Jul 2014 12:15:21 +0000 (+0200) Subject: - updated to 4.2.1 release X-Git-Tag: auto/ti/screen-4.2.1-0.1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?p=packages%2Fscreen.git;a=commitdiff_plain;h=ef2adeffe0607c7bfa6cd9f006de4115d16aa636 - updated to 4.2.1 release - updated manual,debian_fixed patches - removed obsolete nolibtermcap,varargs,inputline-size,49long-usernames,50increase-max-TERM-length,51fix-utf8-status-padding-bug,53fix-startup-race-condition patches --- diff --git a/49long-usernames.patch b/49long-usernames.patch deleted file mode 100644 index 58ce4f6..0000000 --- a/49long-usernames.patch +++ /dev/null @@ -1,104 +0,0 @@ -Description: Patch to allow usernames longer than 20 characters. -Source: http://www.mail-archive.com/screen-devel@gnu.org/msg00186.html -Author: Steve Kemp -Upstream-Bug: http://savannah.gnu.org/bugs/?21653 -Debian-Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560231 -Ubuntu-Bug: https://bugs.launchpad.net/ubuntu/+source/screen/+bug/582153 - -Index: screen/acconfig.h -=================================================================== ---- screen.orig/acconfig.h 2011-10-08 21:20:48.000000000 +0200 -+++ screen/acconfig.h 2011-10-08 21:20:57.000000000 +0200 -@@ -39,6 +39,13 @@ - #endif - - /* -+ * Length of longest username. -+ */ -+#ifndef MAX_USERNAME_LEN -+# define MAX_USERNAME_LEN 50 -+#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 -Index: screen/acls.c -=================================================================== ---- screen.orig/acls.c 2011-10-08 21:20:48.000000000 +0200 -+++ screen/acls.c 2011-10-08 21:20:57.000000000 +0200 -@@ -182,7 +182,7 @@ - #endif - (*up)->u_Esc = DefaultEsc; - (*up)->u_MetaEsc = DefaultMetaEsc; -- strncpy((*up)->u_name, name, 20); -+ strncpy((*up)->u_name, name, MAX_USERNAME_LEN); - (*up)->u_password = NULL; - if (pass) - (*up)->u_password = SaveStr(pass); -@@ -318,8 +318,8 @@ - return UserAdd(name, pass, up); - if (!strcmp(name, "nobody")) /* he remains without password */ - return -1; -- strncpy((*up)->u_password, pass ? pass : "", 20); -- (*up)->u_password[20] = '\0'; -+ strncpy((*up)->u_password, pass ? pass : "", MAX_USERNAME_LEN); -+ (*up)->u_password[MAX_USERNAME_LEN] = '\0'; - return 0; - } - #endif -Index: screen/acls.h -=================================================================== ---- screen.orig/acls.h 2011-10-08 21:20:48.000000000 +0200 -+++ screen/acls.h 2011-10-08 21:20:57.000000000 +0200 -@@ -78,7 +78,7 @@ - typedef struct acluser - { - struct acluser *u_next; /* continue the main user list */ -- char u_name[20+1]; /* login name how he showed up */ -+ char u_name[MAX_USERNAME_LEN+1]; /* login name how he showed up */ - char *u_password; /* his password (may be NullStr). */ - int u_checkpassword; /* nonzero if this u_password is valid */ - int u_detachwin; /* the window where he last detached */ -Index: screen/screen.c -=================================================================== ---- screen.orig/screen.c 2011-10-08 21:20:56.000000000 +0200 -+++ screen/screen.c 2011-10-08 21:20:57.000000000 +0200 -@@ -997,7 +997,7 @@ - - if (home == 0 || *home == '\0') - home = ppp->pw_dir; -- if (strlen(LoginName) > 20) -+ if (strlen(LoginName) > MAX_USERNAME_LEN) - Panic(0, "LoginName too long - sorry."); - #ifdef MULTIUSER - if (multi && strlen(multi) > 20) -Index: screen/screen.h -=================================================================== ---- screen.orig/screen.h 2011-10-08 21:20:48.000000000 +0200 -+++ screen/screen.h 2011-10-08 21:20:57.000000000 +0200 -@@ -207,7 +207,7 @@ - create; - struct - { -- char auser[20 + 1]; /* username */ -+ char auser[MAX_USERNAME_LEN + 1]; /* username */ - int apid; /* pid of frontend */ - int adaptflag; /* adapt window size? */ - int lines, columns; /* display size */ -@@ -221,13 +221,13 @@ - attach; - struct - { -- char duser[20 + 1]; /* username */ -+ char duser[MAX_USERNAME_LEN + 1]; /* username */ - int dpid; /* pid of frontend */ - } - detach; - struct - { -- char auser[20 + 1]; /* username */ -+ char auser[MAX_USERNAME_LEN + 1]; /* username */ - int nargs; - char cmd[MAXPATHLEN]; /* command */ - int apid; /* pid of frontend */ diff --git a/50increase-max-TERM-length.patch b/50increase-max-TERM-length.patch deleted file mode 100644 index 5a138b7..0000000 --- a/50increase-max-TERM-length.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Andy Spencer -Subject: [screen-devel] [PATCH 1/1] Increase max TERM length to 40 characters -Date: Tue, 5 Apr 2011 03:26:58 +0000 -Source: https://lists.gnu.org/archive/html/screen-devel/2011-04/msg00002.html - -Some terms contain rather long TERM names these days, for example, -`rxvt-unicode-256color'. Increasing the max size for the TERM variables -avoids the `$TERM too long - sorry.' error when using these terms. - ---- - display.h | 2 +- - screen.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: screen/display.h -=================================================================== ---- screen.orig/display.h 2011-10-06 01:30:53.000000000 +0200 -+++ screen/display.h 2011-10-08 21:28:51.000000000 +0200 -@@ -73,7 +73,7 @@ - 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[40 + 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/screen.h -=================================================================== ---- screen.orig/screen.h 2011-10-08 21:20:57.000000000 +0200 -+++ screen/screen.h 2011-10-08 21:28:45.000000000 +0200 -@@ -214,7 +214,7 @@ - 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[40 + 1]; /* terminal type */ - int encoding; /* encoding of display */ - int detachfirst; /* whether to detach remote sessions first */ - } diff --git a/51fix-utf8-status-padding-bug.patch b/51fix-utf8-status-padding-bug.patch deleted file mode 100644 index 0254492..0000000 --- a/51fix-utf8-status-padding-bug.patch +++ /dev/null @@ -1,65 +0,0 @@ -fix-utf8-status-padding-bug - -Ensure that multibyte UTF8 characters are counted correctly when -calculating and displaying the caption and hardstatus lines. - -Based on an earlier version by Kees Cook - -Signed-off-by: Dustin Kirkland - -=== modified file 'src/display.c' -Index: screen/display.c -=================================================================== ---- screen.orig/display.c 2012-03-20 22:15:02.000000000 +0100 -+++ screen/display.c 2012-03-20 22:41:28.000000000 +0100 -@@ -2155,7 +2155,7 @@ - { - int chars = strlen_onscreen((unsigned char *)(s + start), (unsigned char *)(s + max)); - D_encoding = 0; -- PutWinMsg(s, start, max); -+ PutWinMsg(s, start, max + ((max - start) - chars)); /* Multibyte count */ - D_encoding = UTF8; - D_x -= (max - chars); /* Yak! But this is necessary to count for - the fact that not every byte represents a -@@ -2249,11 +2249,15 @@ - RefreshHStatus() - { - char *buf; -- -+#ifdef UTF8 -+ int extrabytes = strlen(hstatusstring) - strlen_onscreen(hstatusstring, NULL); -+#else -+ int extrabytes = 0; -+#endif - evdeq(&D_hstatusev); - if (D_status == STATUS_ON_HS) - return; -- buf = MakeWinMsgEv(hstatusstring, D_fore, '%', (D_HS && D_has_hstatus == HSTATUS_HS && D_WS > 0) ? D_WS : D_width - !D_CLP, &D_hstatusev, 0); -+ buf = MakeWinMsgEv(hstatusstring, D_fore, '%', (D_HS && D_has_hstatus == HSTATUS_HS && D_WS > 0) ? D_WS : D_width - !D_CLP + extrabytes, &D_hstatusev, 0); - if (buf && *buf) - { - ShowHStatus(buf); -@@ -2348,8 +2352,13 @@ - { - if (y == cv->c_ye + 1 && from >= cv->c_xs && from <= cv->c_xe) - { -+#ifdef UTF8 -+ int extrabytes = strlen(captionstring) - strlen_onscreen(captionstring, NULL); -+#else -+ int extrabytes = 0; -+#endif - p = Layer2Window(cv->c_layer); -- buf = MakeWinMsgEv(captionstring, p, '%', cv->c_xe - cv->c_xs + (cv->c_xe + 1 < D_width || D_CLP), &cv->c_captev, 0); -+ buf = MakeWinMsgEv(captionstring, p, '%', cv->c_xe - cv->c_xs + (cv->c_xe + 1 < D_width || D_CLP) + extrabytes, &cv->c_captev, 0); - if (cv->c_captev.timeout.tv_sec) - evenq(&cv->c_captev); - xx = to > cv->c_xe ? cv->c_xe : to; -@@ -2358,7 +2367,7 @@ - SetRendition(&mchar_so); - if (l > xx - cv->c_xs + 1) - l = xx - cv->c_xs + 1; -- l = PrePutWinMsg(buf, from - cv->c_xs, l); -+ l = PrePutWinMsg(buf, from - cv->c_xs, l + extrabytes); - from = cv->c_xs + l; - for (; from <= xx; from++) - PUTCHARLP(' '); diff --git a/53fix-startup-race-condition.patch b/53fix-startup-race-condition.patch deleted file mode 100644 index c5bf1ab..0000000 --- a/53fix-startup-race-condition.patch +++ /dev/null @@ -1,15 +0,0 @@ -Fixes directory creation race condition (#653434) - -Index: screen/screen.c -=================================================================== ---- screen.orig/screen.c 2012-06-21 01:43:09.000000000 +0200 -+++ screen/screen.c 2012-06-21 01:44:31.000000000 +0200 -@@ -1127,7 +1127,7 @@ - sprintf(SockPath, "%s/S-%s", SockDir, LoginName); - if (access(SockPath, F_OK)) - { -- if (mkdir(SockPath, 0700) == -1) -+ if (mkdir(SockPath, 0700) == -1 && errno != EEXIST) - Panic(errno, "Cannot make directory '%s'", SockPath); - (void) chown(SockPath, real_uid, real_gid); - } diff --git a/screen-debian_fixed.patch b/screen-debian_fixed.patch index 33d746a..c9afb70 100644 --- a/screen-debian_fixed.patch +++ b/screen-debian_fixed.patch @@ -1,38 +1,38 @@ ---- ./doc/screen.1.org Wed Jun 19 13:36:55 2002 -+++ ./doc/screen.1 Wed Jun 19 13:47:46 2002 -@@ -1040,7 +1040,7 @@ +--- screen-4.2.1/doc/screen.1.orig 2014-07-20 09:46:39.879173376 +0200 ++++ screen-4.2.1/doc/screen.1 2014-07-20 09:51:20.829161584 +0200 +@@ -1143,7 +1143,7 @@ .PP Change the filename used for reading and writing with the paste buffer. If the optional argument to the \*Qbufferfile\*U command is omitted, --the default setting (\*Q/tmp/screen-exchange\*U) is reactivated. -+the default setting (\*Q$HOME/.screen-exchange\*U) is reactivated. +-the default setting (\*Q/tmp/screen\-exchange\*U) is reactivated. ++the default setting (\*Q$HOME/.screen\-exchange\*U) is reactivated. The following example will paste the system's password file into the .I screen -@@ -1308,7 +1308,7 @@ +@@ -1447,7 +1447,7 @@ .br .ti -2n \fB>\fP sets the (second) mark and writes the contents of the paste buffer to --the screen-exchange file (/tmp/screen-exchange per default) once copy-mode is -+the screen-exchange file ($HOME/.screen-exchange per default) once copy-mode is +-the screen-exchange file (/tmp/screen\-exchange per default) once copy-mode is ++the screen-exchange file ($HOME/.screen\-exchange per default) once copy-mode is finished. .br This example demonstrates how to dump the whole scrollback buffer -@@ -2940,7 +2940,7 @@ +@@ -3474,7 +3474,7 @@ users on the same host. If an encoding is specified the paste buffer is recoded on the fly to match the encoding. The filename can be set with the \fIbufferfile\fP --command and defaults to \*Q/tmp/screen-exchange\*U. -+command and defaults to \*Q$HOME/.screen-exchange\*U. +-command and defaults to \*Q/tmp/screen\-exchange\*U. ++command and defaults to \*Q$HOME/.screen\-exchange\*U. .sp .ne 3 .BR "writelock " [ on | "off\fR|\fBauto\fR]" -@@ -4284,7 +4284,7 @@ +@@ -4870,7 +4870,7 @@ Written by the "termcap" output function - .IP /tmp/screens/screen-exchange + .IP /tmp/screens/screen\-exchange or --.IP /tmp/screen-exchange -+.IP $HOME/.screen-exchange +-.IP /tmp/screen\-exchange ++.IP $HOME/.screen\-exchange .I screen `interprocess communication buffer' .IP hardcopy.[0-9] diff --git a/screen-inputline-size.patch b/screen-inputline-size.patch deleted file mode 100644 index 4b8cfa4..0000000 --- a/screen-inputline-size.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- screen-4.1/input.c~ 2010-02-24 14:51:55.000000000 +0200 -+++ screen-4.1/input.c 2010-02-24 14:53:38.919505608 +0200 -@@ -38,7 +38,7 @@ - - struct inpline - { -- char buf[101]; /* text buffer */ -+ char buf[MAX_INPUTLINE]; /* text buffer */ - int len; /* length of the editible string */ - int pos; /* cursor position in editable string */ - }; -@@ -49,7 +49,7 @@ - struct inpdata - { - struct inpline inp; -- int inpmaxlen; /* 100, or less, if caller has shorter buffer */ -+ int inpmaxlen; /* MAX_INPUTLINE-1, or less, if caller has shorter buffer */ - char *inpstring; /* the prompt */ - int inpstringlen; /* length of the prompt */ - int inpmode; /* INP_NOECHO, INP_RAW, INP_EVERY */ -@@ -133,8 +133,8 @@ - if (!flayer) - return; - -- if (len > 100) -- len = 100; -+ if (len > MAX_INPUTLINE - 1) -+ len = MAX_INPUTLINE - 1; - if (!(mode & INP_NOECHO)) - { - maxlen = flayer->l_width - 1 - strlen(istr); ---- screen-4.1/process.c~ 2010-02-24 15:30:55.000000000 +0200 -+++ screen-4.1/process.c 2010-02-24 15:32:17.993069465 +0200 -@@ -1777,7 +1777,7 @@ - s = *args; - if (!args[0]) - { -- Input("Stuff:", 100, INP_COOKED, StuffFin, NULL, 0); -+ Input("Stuff:", MAX_INPUTLINE - 1, INP_COOKED, StuffFin, NULL, 0); - break; - } - n = *argl; -@@ -2063,7 +2063,7 @@ - ChangeAKA(fore, *args, strlen(*args)); - break; - case RC_COLON: -- Input(":", 100, INP_EVERY, Colonfin, NULL, 0); -+ Input(":", MAX_INPUTLINE - 1, INP_EVERY, Colonfin, NULL, 0); - if (*args && **args) - { - s = *args; -@@ -3236,7 +3236,7 @@ - Msg(0, "%s: password: window required", rc_name); - break; - } -- Input("New screen password:", 100, INP_NOECHO, pass1, display ? (char *)D_user : (char *)users, 0); -+ Input("New screen password:", MAX_INPUTLINE - 1, INP_NOECHO, pass1, display ? (char *)D_user : (char *)users, 0); - } - break; - #endif /* PASSWORD */ -@@ -6258,7 +6258,7 @@ - free((char *)u->u_password); - u->u_password = SaveStr(buf); - bzero(buf, strlen(buf)); -- Input("Retype new password:", 100, INP_NOECHO, pass2, data, 0); -+ Input("Retype new password:", MAX_INPUTLINE - 1, INP_NOECHO, pass2, data, 0); - } - - static void ---- screen-4.0.2/screen.h~ 2006-02-23 00:27:51.000000000 +0200 -+++ screen-4.0.2/screen.h 2006-02-23 00:31:32.000000000 +0200 -@@ -270,6 +270,7 @@ - #define INP_RAW 2 - #define INP_EVERY 4 - -+#define MAX_INPUTLINE 512 - - #ifdef MULTIUSER - struct acl diff --git a/screen-manual.patch b/screen-manual.patch index c93cac9..f3d8bca 100644 --- a/screen-manual.patch +++ b/screen-manual.patch @@ -1,15 +1,15 @@ ---- doc/screen.1.orig Thu Jul 6 15:40:50 2000 -+++ doc/screen.1 Fri Sep 8 19:20:38 2000 -@@ -101,7 +101,7 @@ - The above example would start the emacs editor (editing prog.c) and switch - to its window. +--- screen-4.2.1/doc/screen.1.orig 2014-04-28 00:10:01.000000000 +0200 ++++ screen-4.2.1/doc/screen.1 2014-07-20 09:45:37.959175974 +0200 +@@ -103,7 +103,7 @@ + the invoking shell to the application (emacs in this case), because it is + forked from the parent screen process, not from the invoking shell. .PP -If \*Q/etc/utmp\*U is writable by +If \*Q/var/run/utmp\*U is writable by .IR screen , an appropriate record will be written to this file for each window, and removed when the window is terminated. -@@ -230,7 +230,7 @@ +@@ -232,7 +232,7 @@ The use of this option is discouraged. .TP 5 .BR \-l " and " \-ln @@ -17,8 +17,8 @@ +turns login mode on or off (for /var/run/utmp updating). This can also be defined through the \*Qdeflogin\*U .screenrc command. .TP 5 - .BR \-ls " and " \-list -@@ -568,7 +568,7 @@ + .BR \-ls " [" \fImatch ] +@@ -625,7 +625,7 @@ .SH CUSTOMIZATION The \*Qsocket directory\*U defaults either to $HOME/.screen or simply to @@ -27,7 +27,7 @@ .I screen is installed setuid-root, then the administrator should compile -@@ -581,7 +581,7 @@ +@@ -638,7 +638,7 @@ When .I screen is invoked, it executes initialization commands from the files @@ -36,16 +36,16 @@ \*Q.screenrc\*U in the user's home directory. These are the \*Qprogrammer's defaults\*U that can be overridden in the following ways: for the global screenrc file -@@ -1515,7 +1515,7 @@ +@@ -1845,7 +1845,7 @@ The echo command may be used to annoy .I screen users with a 'message of the -day'. Typically installed in a global /local/etc/screenrc. -+day'. Typically installed in a global /etc/screenrc. - The option \*Q-n\*U may be used to suppress the line feed. ++day'. Typically installed in a global etc/screenrc. + The option \*Q\-n\*U may be used to suppress the line feed. See also \*Qsleep\*U. Echo is also useful for online checking of environment variables. -@@ -1880,7 +1880,7 @@ +@@ -2397,7 +2397,7 @@ .B lockscreen .PP Lock this display. @@ -54,7 +54,7 @@ other is available). Screen does not accept any command keys until this program terminates. Meanwhile processes in the windows may continue, as the windows are in the `detached' state. The screenlock program may be changed through the -@@ -3941,20 +3941,18 @@ +@@ -4857,20 +4857,18 @@ .I screen distribution package for private and global initialization files. .IP $SYSSCREENRC @@ -66,20 +66,20 @@ .IP $HOME/.screenrc -Read in after /usr/local/etc/screenrc +Read in after /etc/screenrc - .IP $SCREENDIR/S- --.IP /local/screens/S- -+.IP /tmp/screens/S- + .IP $SCREENDIR/S\- +-.IP /local/screens/S\- ++.IP /tmp/screens/S\- Socket directories (default) --.IP /usr/tmp/screens/S- +-.IP /usr/tmp/screens/S\- -Alternate socket directories. .IP "/.termcap" Written by the "termcap" output function --.IP /usr/tmp/screens/screen-exchange -+.IP /tmp/screens/screen-exchange +-.IP /usr/tmp/screens/screen\-exchange ++.IP /tmp/screens/screen\-exchange or - .IP /tmp/screen-exchange + .IP /tmp/screen\-exchange .I screen -@@ -3963,11 +3961,9 @@ +@@ -4879,11 +4877,9 @@ Screen images created by the hardcopy function .IP screenlog.[0-9] Output log files created by the log function @@ -93,7 +93,7 @@ Login records .IP $LOCKPRG Program that locks a terminal. -@@ -4078,9 +4074,9 @@ +@@ -5005,9 +5001,9 @@ must be installed as set-uid with owner root on most systems in order to be able to correctly change the owner of the tty device file for each window. diff --git a/screen-nolibtermcap.patch b/screen-nolibtermcap.patch deleted file mode 100644 index da9d1b7..0000000 --- a/screen-nolibtermcap.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- screen-4.1/configure.in~ 2010-03-08 16:29:51.000000000 +0200 -+++ screen-4.1/configure.in 2010-03-08 16:30:07.081578872 +0200 -@@ -664,6 +656,12 @@ - tgetent((char *)0, (char *)0); - #endif - ],, -+LIBS="-ltinfo $olibs" -+AC_CHECKING(libtinfo) -+AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, -+LIBS="-lncurses $olibs" -+AC_CHECKING(libncurses) -+AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, - LIBS="-ltermcap $olibs" - AC_CHECKING(libtermcap) - AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, -@@ -673,10 +671,7 @@ - LIBS="-lncursesw $olibs" - AC_CHECKING(libncursesw) - AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, --LIBS="-lncurses $olibs" --AC_CHECKING(libncurses) --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([ - diff --git a/screen-varargs.patch b/screen-varargs.patch deleted file mode 100644 index 9ff0253..0000000 --- a/screen-varargs.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- screen-4.0.2/configure.in.orig 2004-02-27 09:55:54.000000000 +0100 -+++ screen-4.0.2/configure.in 2004-02-27 10:07:21.000000000 +0100 -@@ -1208,8 +1197,7 @@ - fi - rm -f /tmp/conftest* - --AC_MSG_CHECKING(for vsprintf) --AC_TRY_LINK(,[vsprintf(0,0,0);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) -+AC_CHECK_FUNC(vsprintf, [AC_DEFINE(USEVARARGS)]) - - AC_HEADER_DIRENT - diff --git a/screen.spec b/screen.spec index 5f8724a..033dcf5 100644 --- a/screen.spec +++ b/screen.spec @@ -1,3 +1,5 @@ +# TODO: check interoperability with 4.0.x and 4.1.x (or don't care about it): +# 4.2.1 string buffer sizes are enlargered upstream, but to different values than Debian's 4.1.x # # Conditional build: %bcond_without fifo # force using fifos even if sockets detected @@ -14,13 +16,12 @@ Summary(ru.UTF-8): Менеджер экрана, поддерживающий Summary(tr.UTF-8): Bir uçbirimde birden fazla oturumu düzenler Summary(uk.UTF-8): Менеджер екрану, що підтримує кілька логінів з одного терміналу Name: screen -# 4.0 stable is on SCREEN_4_0 brach -Version: 4.1.0 -Release: 4 +Version: 4.2.1 +Release: 0.1 License: GPL v3+ Group: Applications/Terminal -Source0: http://git.savannah.gnu.org/cgit/screen.git/snapshot/%{name}-c2cd05962664c80f8ae063d6bf7a21084e0c2f37.tar.gz -# Source0-md5: 61195697c98359ae3a86c8e1ea5f538d +Source0: http://ftp.gnu.org/gnu/screen/%{name}-%{version}.tar.gz +# Source0-md5: 419a0594e2b25039239af8b90eda7d92 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 # Source1-md5: 236166e774cee788cf594b05dd1dd70d Source2: %{name}.pamd @@ -30,24 +31,17 @@ Patch2: %{name}-manual.patch Patch3: %{name}-ia64.patch Patch4: %{name}-info.patch Patch5: %{name}-debian_fixed.patch -Patch6: %{name}-nolibtermcap.patch Patch7: %{name}-no_hardcoded_term_sequences.patch Patch8: %{name}-home_etc.patch Patch9: %{name}-no-libs.patch -Patch10: %{name}-varargs.patch -Patch11: %{name}-inputline-size.patch Patch12: %{name}-screenrc.patch Patch13: %{name}-osc.patch Patch15: %{name}-statusline-encoding.patch Patch16: screen-ipv6.patch Patch17: screen-E3.patch Patch18: screen-4.1.0-suppress_remap.patch -Patch19: 49long-usernames.patch -Patch20: 50increase-max-TERM-length.patch -Patch21: 51fix-utf8-status-padding-bug.patch -Patch22: 52fix_screen_utf8_nfd.patch -Patch23: 53fix-startup-race-condition.patch -Patch24: 60-644788-screen-4.1.0-4.0.3-interoperability.patch +Patch22: 52fix_screen_utf8_nfd.patch +Patch24: 60-644788-screen-4.1.0-4.0.3-interoperability.patch URL: http://www.gnu.org/software/screen/ BuildRequires: autoconf BuildRequires: automake @@ -112,34 +106,25 @@ Screen корисний користувачам, які заходять на машиною. %prep -%setup -qc -mv screen-*/src/* . - +%setup -q %patch1 -p0 -%patch2 -p0 +%patch2 -p1 %patch3 -p0 %patch4 -p1 %patch5 -p1 -%patch6 -p1 # DON'T ENABLE IT UNLESS YOU REALLY FIX IT # (it's heavily broken - note that some sequences should be get for # $TERM before running screen instance, and others for TERM=screen!) ###%patch7 -p1 #%patch8 -p1 %patch9 -p1 -%patch10 -p1 -%patch11 -p1 %patch12 -p1 #%patch13 -p1 # my brain farted here, see if you have better luck %patch15 -p0 %patch16 -p2 %patch17 -p2 %patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 %patch22 -p1 -%patch23 -p1 %patch24 -p1 %build