automatic version update by autodist [release 4.2.1-1mamba;Wed Apr 30 2014]
This commit is contained in:
parent
e279b2befb
commit
496466487c
@ -1,2 +1,4 @@
|
|||||||
# screen
|
# screen
|
||||||
|
|
||||||
|
Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.
|
||||||
|
|
||||||
|
31
screen-4.0.1-args.patch
Normal file
31
screen-4.0.1-args.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
--- ansi.c.orig 2003-12-04 10:59:05.000000000 -0500
|
||||||
|
+++ ansi.c 2003-12-04 10:59:20.000000000 -0500
|
||||||
|
@@ -559,7 +559,7 @@
|
||||||
|
{
|
||||||
|
case '0': case '1': case '2': case '3': case '4':
|
||||||
|
case '5': case '6': case '7': case '8': case '9':
|
||||||
|
- if (curr->w_NumArgs < MAXARGS)
|
||||||
|
+ if (curr->w_NumArgs >= 0 && curr->w_NumArgs < MAXARGS)
|
||||||
|
{
|
||||||
|
if (curr->w_args[curr->w_NumArgs] < 100000000)
|
||||||
|
curr->w_args[curr->w_NumArgs] =
|
||||||
|
--- resize.c.old 2003-11-27 02:55:07.000000000 +0200
|
||||||
|
+++ resize.c 2003-11-27 02:58:33.000000000 +0200
|
||||||
|
@@ -682,6 +682,17 @@
|
||||||
|
if (wi == 0)
|
||||||
|
he = hi = 0;
|
||||||
|
|
||||||
|
+ if (wi > 1000)
|
||||||
|
+ {
|
||||||
|
+ Msg(0, "Window width too large, truncated");
|
||||||
|
+ wi = 1000;
|
||||||
|
+ }
|
||||||
|
+ if (he > 1000)
|
||||||
|
+ {
|
||||||
|
+ Msg(0, "Window height too large, truncated");
|
||||||
|
+ he = 1000;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (p->w_width == wi && p->w_height == he && p->w_histheight == hi)
|
||||||
|
{
|
||||||
|
debug("ChangeWindowSize: No change.\n");
|
11
screen-4.0.2-maxstr.patch
Normal file
11
screen-4.0.2-maxstr.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- screen-4.0.2/screen.h.maxstr 2006-07-10 13:37:11.000000000 +0200
|
||||||
|
+++ screen-4.0.2/screen.h 2006-07-10 13:36:36.000000000 +0200
|
||||||
|
@@ -86,7 +86,7 @@
|
||||||
|
|
||||||
|
#define Ctrl(c) ((c)&037)
|
||||||
|
|
||||||
|
-#define MAXSTR 256
|
||||||
|
+#define MAXSTR 4096
|
||||||
|
#define MAXARGS 64
|
||||||
|
#define MSGWAIT 5
|
||||||
|
#define MSGMINWAIT 1
|
48
screen-4.0.2-screenrc.patch
Normal file
48
screen-4.0.2-screenrc.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
--- screen-4.0.2/etc/screenrc.screenrc 2003-12-05 13:59:39.000000000 +0000
|
||||||
|
+++ screen-4.0.2/etc/screenrc 2005-02-15 10:22:19.935843952 +0000
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
startup_message off
|
||||||
|
|
||||||
|
# emulate .logout message
|
||||||
|
-pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
|
||||||
|
+pow_detach_msg "Screen session of $LOGNAME $:cr:$:nl:ended."
|
||||||
|
|
||||||
|
# advertise hardstatus support to $TERMCAP
|
||||||
|
# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
|
||||||
|
@@ -60,7 +60,7 @@
|
||||||
|
# tell screen that xterm can switch to dark background and has function
|
||||||
|
# keys.
|
||||||
|
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
|
||||||
|
-termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
||||||
|
+#termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
|
||||||
|
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
|
||||||
|
|
||||||
|
# special xterm hardstatus: use the window title.
|
||||||
|
@@ -126,9 +126,9 @@
|
||||||
|
# Yet another hack:
|
||||||
|
# Prepend/append register [/] to the paste if ^a^] is pressed.
|
||||||
|
# This lets me have autoindent mode in vi.
|
||||||
|
-register [ "\033:se noai\015a"
|
||||||
|
-register ] "\033:se ai\015a"
|
||||||
|
-bind ^] paste [.]
|
||||||
|
+#register [ "\033:se noai\015a"
|
||||||
|
+#register ] "\033:se ai\015a"
|
||||||
|
+#bind ^] paste [.]
|
||||||
|
|
||||||
|
################
|
||||||
|
#
|
||||||
|
@@ -140,9 +140,14 @@
|
||||||
|
# screen -t 40 2 rlogin server
|
||||||
|
|
||||||
|
# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
|
||||||
|
+## alternative caption, gives window list, LOGNAME and current date:
|
||||||
|
+# caption always "%{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw %=%{mk}@%H %{yk}%D %{ck}%M%{wk} %{ck}%d %{gk}%c"
|
||||||
|
# hardstatus alwaysignore
|
||||||
|
# hardstatus alwayslastline "%Lw"
|
||||||
|
|
||||||
|
+# Red Hat's normal status line
|
||||||
|
+hardstatus string "[screen %n%?: %t%?] %h"
|
||||||
|
+
|
||||||
|
# bind = resize =
|
||||||
|
# bind + resize +1
|
||||||
|
# bind - resize -1
|
323
screen-4.0.3-ipv6.patch
Normal file
323
screen-4.0.3-ipv6.patch
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
--- 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 @@
|
||||||
|
struct display *w_zdisplay;
|
||||||
|
#endif
|
||||||
|
#ifdef BUILTIN_TELNET
|
||||||
|
- struct sockaddr_in w_telsa;
|
||||||
|
+ struct sockaddr_storage w_telsa;
|
||||||
|
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 @@
|
||||||
|
n = pp - wtab;
|
||||||
|
debug1("Makewin creating %d\n", n);
|
||||||
|
|
||||||
|
+#ifdef BUILTIN_TELNET
|
||||||
|
+ if(!strcmp(nwin.args[0], "//telnet")) {
|
||||||
|
+ type = W_TYPE_TELNET;
|
||||||
|
+ TtyName = "telnet";
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+#endif
|
||||||
|
if ((f = OpenDevice(nwin.args, nwin.lflag, &type, &TtyName)) < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
@@ -736,7 +743,7 @@
|
||||||
|
#ifdef BUILTIN_TELNET
|
||||||
|
if (type == W_TYPE_TELNET)
|
||||||
|
{
|
||||||
|
- if (TelConnect(p))
|
||||||
|
+ if (TelOpenAndConnect(p))
|
||||||
|
{
|
||||||
|
FreeWindow(p);
|
||||||
|
return -1;
|
||||||
|
@@ -834,6 +841,13 @@
|
||||||
|
int lflag, f;
|
||||||
|
|
||||||
|
lflag = nwin_default.lflag;
|
||||||
|
+#ifdef BUILTIN_TELNET
|
||||||
|
+ if(!strcmp(p->w_cmdargs[0], "//telnet")) {
|
||||||
|
+ p->w_type = W_TYPE_TELNET;
|
||||||
|
+ TtyName = "telnet";
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+#endif
|
||||||
|
if ((f = OpenDevice(p->w_cmdargs, lflag, &p->w_type, &TtyName)) < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
@@ -864,7 +878,7 @@
|
||||||
|
#ifdef BUILTIN_TELNET
|
||||||
|
if (p->w_type == W_TYPE_TELNET)
|
||||||
|
{
|
||||||
|
- if (TelConnect(p))
|
||||||
|
+ if (TelOpenAndConnect(p))
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -1007,16 +1021,6 @@
|
||||||
|
|
||||||
|
if (!arg)
|
||||||
|
return -1;
|
||||||
|
-#ifdef BUILTIN_TELNET
|
||||||
|
- if (strcmp(arg, "//telnet") == 0)
|
||||||
|
- {
|
||||||
|
- f = TelOpen(args + 1);
|
||||||
|
- lflag = 0;
|
||||||
|
- *typep = W_TYPE_TELNET;
|
||||||
|
- *namep = "telnet";
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
-#endif
|
||||||
|
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
|
||||||
|
@@ -25,6 +25,7 @@
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <netdb.h>
|
||||||
|
+#include <stdio.h>
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
@@ -37,12 +38,13 @@
|
||||||
|
extern struct layer *flayer;
|
||||||
|
extern int visual_bell;
|
||||||
|
extern char screenterm[];
|
||||||
|
+extern int af;
|
||||||
|
|
||||||
|
static void TelReply __P((struct win *, char *, int));
|
||||||
|
static void TelDocmd __P((struct win *, int, int));
|
||||||
|
static void TelDosub __P((struct win *));
|
||||||
|
-
|
||||||
|
-#define TEL_DEFPORT 23
|
||||||
|
+// why TEL_DEFPORT has "
|
||||||
|
+#define TEL_DEFPORT "23"
|
||||||
|
#define TEL_CONNECTING (-2)
|
||||||
|
|
||||||
|
#define TC_IAC 255
|
||||||
|
@@ -99,86 +101,78 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
-TelOpen(args)
|
||||||
|
-char **args;
|
||||||
|
-{
|
||||||
|
- int fd;
|
||||||
|
- int on = 1;
|
||||||
|
-
|
||||||
|
- if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1)
|
||||||
|
- {
|
||||||
|
- Msg(errno, "TelOpen: socket");
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- if (setsockopt(fd, SOL_SOCKET, SO_OOBINLINE, (char *)&on, sizeof(on)))
|
||||||
|
- Msg(errno, "TelOpen: setsockopt SO_OOBINLINE");
|
||||||
|
- return fd;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-int
|
||||||
|
-TelConnect(p)
|
||||||
|
-struct win *p;
|
||||||
|
-{
|
||||||
|
- int port = TEL_DEFPORT;
|
||||||
|
- struct hostent *hp;
|
||||||
|
- char **args;
|
||||||
|
+TelOpenAndConnect(struct win *p) {
|
||||||
|
+ int fd, on = 1;
|
||||||
|
char buf[256];
|
||||||
|
|
||||||
|
- args = p->w_cmdargs + 1;
|
||||||
|
-
|
||||||
|
- if (!*args)
|
||||||
|
- {
|
||||||
|
- Msg(0, "Usage: screen //telnet host [port]");
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- if (args[1])
|
||||||
|
- port = atoi(args[1]);
|
||||||
|
- p->w_telsa.sin_family = AF_INET;
|
||||||
|
- if((p->w_telsa.sin_addr.s_addr = inet_addr(*args)) == -1)
|
||||||
|
- {
|
||||||
|
- if ((hp = gethostbyname(*args)) == NULL)
|
||||||
|
- {
|
||||||
|
- Msg(0, "unknown host: %s", *args);
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- if (hp->h_length != sizeof(p->w_telsa.sin_addr.s_addr) || hp->h_addrtype != AF_INET)
|
||||||
|
- {
|
||||||
|
- Msg(0, "Bad address type for %s", hp->h_name);
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- bcopy((char *)hp->h_addr,(char *)&p->w_telsa.sin_addr.s_addr, hp->h_length);
|
||||||
|
- p->w_telsa.sin_family = hp->h_addrtype;
|
||||||
|
- }
|
||||||
|
- p->w_telsa.sin_port = htons(port);
|
||||||
|
- if (port != TEL_DEFPORT)
|
||||||
|
- sprintf(buf, "Trying %s %d...", inet_ntoa(p->w_telsa.sin_addr), port);
|
||||||
|
- else
|
||||||
|
- sprintf(buf, "Trying %s...", inet_ntoa(p->w_telsa.sin_addr));
|
||||||
|
- WriteString(p, buf, strlen(buf));
|
||||||
|
- if (connect(p->w_ptyfd, (struct sockaddr *)&p->w_telsa, sizeof(p->w_telsa)))
|
||||||
|
- {
|
||||||
|
- if (errno == EINPROGRESS)
|
||||||
|
- {
|
||||||
|
- p->w_telstate = TEL_CONNECTING;
|
||||||
|
- p->w_telconnev.fd = p->w_ptyfd;
|
||||||
|
- p->w_telconnev.handler = tel_connev_fn;
|
||||||
|
- p->w_telconnev.data = (char *)p;
|
||||||
|
- p->w_telconnev.type = EV_WRITE;
|
||||||
|
- p->w_telconnev.pri = 1;
|
||||||
|
- debug("telnet connect in progress...\n");
|
||||||
|
- evenq(&p->w_telconnev);
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- Msg(errno, "TelOpen: connect");
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- WriteString(p, "connected.\r\n", 12);
|
||||||
|
- if (port == TEL_DEFPORT)
|
||||||
|
- TelReply(p, (char *)tn_init, sizeof(tn_init));
|
||||||
|
- return 0;
|
||||||
|
+ struct addrinfo hints, *res0, *res;
|
||||||
|
+
|
||||||
|
+ if (!(p->w_cmdargs[1])) {
|
||||||
|
+ Msg(0, "Usage: screen //telnet host [port]");
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ memset(&hints, 0, sizeof(hints));
|
||||||
|
+ hints.ai_family = af;
|
||||||
|
+ hints.ai_socktype = SOCK_STREAM;
|
||||||
|
+ hints.ai_protocol = IPPROTO_TCP;
|
||||||
|
+ if(getaddrinfo(p->w_cmdargs[1], p->w_cmdargs[2] ? p->w_cmdargs[2] : TEL_DEFPORT,
|
||||||
|
+ &hints, &res0)) {
|
||||||
|
+ Msg(0, "unknown host: %s", p->w_cmdargs[1]);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ for(res = res0; res; res = res->ai_next) {
|
||||||
|
+ if((fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) == -1) {
|
||||||
|
+ if(res->ai_next)
|
||||||
|
+ continue;
|
||||||
|
+ else {
|
||||||
|
+ Msg(errno, "TelOpenAndConnect: socket");
|
||||||
|
+ freeaddrinfo(res0);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (setsockopt(fd, SOL_SOCKET, SO_OOBINLINE, (char *)&on, sizeof(on)))
|
||||||
|
+ Msg(errno, "TelOpenAndConnect: setsockopt SO_OOBINLINE");
|
||||||
|
+
|
||||||
|
+ if (p->w_cmdargs[2] && strcmp(p->w_cmdargs[2], TEL_DEFPORT))
|
||||||
|
+ snprintf(buf, 256, "Trying %s %s...", p->w_cmdargs[1], p->w_cmdargs[2]);
|
||||||
|
+ else
|
||||||
|
+ snprintf(buf, 256, "Trying %s...", p->w_cmdargs[1]);
|
||||||
|
+ WriteString(p, buf, strlen(buf));
|
||||||
|
+ if (connect(fd, res->ai_addr, res->ai_addrlen)) {
|
||||||
|
+ if (errno == EINPROGRESS) {
|
||||||
|
+ p->w_telstate = TEL_CONNECTING;
|
||||||
|
+ p->w_telconnev.fd = fd;
|
||||||
|
+ p->w_telconnev.handler = tel_connev_fn;
|
||||||
|
+ p->w_telconnev.data = (char *)p;
|
||||||
|
+ p->w_telconnev.type = EV_WRITE;
|
||||||
|
+ p->w_telconnev.pri = 1;
|
||||||
|
+ debug("telnet connect in progress...\n");
|
||||||
|
+ evenq(&p->w_telconnev);
|
||||||
|
+ }
|
||||||
|
+ else {
|
||||||
|
+ close(fd);
|
||||||
|
+ if(res->ai_next)
|
||||||
|
+ continue;
|
||||||
|
+ else {
|
||||||
|
+ Msg(errno, "TelOpenAndConnect: connect");
|
||||||
|
+ freeaddrinfo(res0);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ WriteString(p, "connected.\r\n", 12);
|
||||||
|
+ if (!(p->w_cmdargs[2] && strcmp(p->w_cmdargs[2], TEL_DEFPORT)))
|
||||||
|
+ TelReply(p, (char *)tn_init, sizeof(tn_init));
|
||||||
|
+ p->w_ptyfd = fd;
|
||||||
|
+ memcpy(&p->w_telsa, &res->ai_addr, sizeof(res->ai_addr));
|
||||||
|
+ freeaddrinfo(res0);
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+ return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
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 @@
|
||||||
|
{
|
||||||
|
printf("Use: %s [-opts] [cmd [args]]\n", myname);
|
||||||
|
printf(" or: %s -r [host.tty]\n\nOptions:\n", myname);
|
||||||
|
+#ifdef BUILTIN_TELNET
|
||||||
|
+ printf("-4 Use IPv4.\n");
|
||||||
|
+ printf("-6 Use IPv6.\n");
|
||||||
|
+#endif
|
||||||
|
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 @@
|
||||||
|
struct win *fore;
|
||||||
|
struct win *windows;
|
||||||
|
struct win *console_window;
|
||||||
|
-
|
||||||
|
-
|
||||||
|
+#ifdef BUILTIN_TELNET
|
||||||
|
+int af;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Do this last
|
||||||
|
@@ -471,6 +472,9 @@
|
||||||
|
nwin = nwin_undef;
|
||||||
|
nwin_options = nwin_undef;
|
||||||
|
strcpy(screenterm, "screen");
|
||||||
|
+#ifdef BUILTIN_TELNET
|
||||||
|
+ af = AF_UNSPEC;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
logreopen_register(lf_secreopen);
|
||||||
|
|
||||||
|
@@ -505,6 +509,14 @@
|
||||||
|
{
|
||||||
|
switch (*ap)
|
||||||
|
{
|
||||||
|
+#ifdef BUILTIN_TELNET
|
||||||
|
+ case '4':
|
||||||
|
+ af = AF_INET;
|
||||||
|
+ break;
|
||||||
|
+ case '6':
|
||||||
|
+ af = AF_INET6;
|
||||||
|
+ break;
|
||||||
|
+#endif
|
||||||
|
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 @@
|
||||||
|
|
||||||
|
/* teln.c */
|
||||||
|
#ifdef BUILTIN_TELNET
|
||||||
|
-extern int TelOpen __P((char **));
|
||||||
|
-extern int TelConnect __P((struct win *));
|
||||||
|
+extern int TelOpenAndConnect __P((struct win *));
|
||||||
|
extern int TelIsline __P((struct win *p));
|
||||||
|
extern void TelProcessLine __P((char **, int *));
|
||||||
|
extern int DoTelnet __P((char *, int *, int));
|
50
screen-4.0.3-libs.patch
Normal file
50
screen-4.0.3-libs.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
diff -up screen-4.0.3/configure.in.libs screen-4.0.3/configure.in
|
||||||
|
--- screen-4.0.3/configure.in.libs 2003-06-03 13:58:24.000000000 +0200
|
||||||
|
+++ screen-4.0.3/configure.in 2008-02-26 13:58:29.000000000 +0100
|
||||||
|
@@ -196,7 +196,9 @@ AC_EGREP_CPP(yes,
|
||||||
|
], LIBS="$LIBS -lsocket -linet";seqptx=1)
|
||||||
|
|
||||||
|
oldlibs="$LIBS"
|
||||||
|
-LIBS="$LIBS -lelf"
|
||||||
|
+# Humm we don't actually need to link against libelf for linux
|
||||||
|
+#LIBS="$LIBS -lelf"
|
||||||
|
+LIBS="$LIBS"
|
||||||
|
AC_CHECKING(SVR4)
|
||||||
|
AC_TRY_LINK([#include <utmpx.h>
|
||||||
|
],,
|
||||||
|
@@ -643,14 +645,10 @@ dnl
|
||||||
|
AC_CHECKING(for tgetent)
|
||||||
|
AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
|
||||||
|
olibs="$LIBS"
|
||||||
|
-LIBS="-lcurses $olibs"
|
||||||
|
-AC_CHECKING(libcurses)
|
||||||
|
+LIBS="-ltinfo $olibs"
|
||||||
|
+AC_CHECKING(libtinfo)
|
||||||
|
AC_TRY_LINK(,[
|
||||||
|
-#ifdef __hpux
|
||||||
|
-__sorry_hpux_libcurses_is_totally_broken_in_10_10();
|
||||||
|
-#else
|
||||||
|
tgetent((char *)0, (char *)0);
|
||||||
|
-#endif
|
||||||
|
],,
|
||||||
|
LIBS="-ltermcap $olibs"
|
||||||
|
AC_CHECKING(libtermcap)
|
||||||
|
@@ -666,7 +664,7 @@ AC_MSG_ERROR(!!! no tgetent - no screen)
|
||||||
|
AC_TRY_RUN([
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
- exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
|
||||||
|
+ return 1;
|
||||||
|
}], AC_NOTE(- you use the termcap database),
|
||||||
|
AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO))
|
||||||
|
AC_CHECKING(ospeed)
|
||||||
|
@@ -864,9 +862,6 @@ fi
|
||||||
|
dnl
|
||||||
|
dnl **** loadav ****
|
||||||
|
dnl
|
||||||
|
-AC_CHECKING(for libutil(s))
|
||||||
|
-test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
|
||||||
|
-test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
|
||||||
|
|
||||||
|
AC_CHECKING(getloadavg)
|
||||||
|
AC_TRY_LINK(,[getloadavg((double *)0, 0);],
|
48
screen-4.0.3-stropts.patch
Normal file
48
screen-4.0.3-stropts.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
diff -up screen-4.0.3/tty.sh.stropts screen-4.0.3/tty.sh
|
||||||
|
--- screen-4.0.3/tty.sh.stropts 2003-09-08 16:24:25.000000000 +0200
|
||||||
|
+++ screen-4.0.3/tty.sh 2008-04-07 11:28:34.000000000 +0200
|
||||||
|
@@ -76,7 +76,7 @@ exit 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
-#ifdef SVR4
|
||||||
|
+#if 0
|
||||||
|
#include <sys/stropts.h> /* for I_POP */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
diff -up screen-4.0.3/screen.c.stropts screen-4.0.3/screen.c
|
||||||
|
--- screen-4.0.3/screen.c.stropts 2008-04-07 11:25:21.000000000 +0200
|
||||||
|
+++ screen-4.0.3/screen.c 2008-04-07 11:29:14.000000000 +0200
|
||||||
|
@@ -50,7 +50,7 @@
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
-#ifdef SVR4
|
||||||
|
+#if 0
|
||||||
|
# include <sys/stropts.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
diff -up screen-4.0.3/process.c.stropts screen-4.0.3/process.c
|
||||||
|
--- screen-4.0.3/process.c.stropts 2003-09-18 14:53:54.000000000 +0200
|
||||||
|
+++ screen-4.0.3/process.c 2008-04-07 11:29:47.000000000 +0200
|
||||||
|
@@ -37,7 +37,7 @@
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
/* for solaris 2.1, Unixware (SVR4.2) and possibly others: */
|
||||||
|
-#ifdef SVR4
|
||||||
|
+#if 0
|
||||||
|
# include <sys/stropts.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
diff -up screen-4.0.3/pty.c.stropts screen-4.0.3/pty.c
|
||||||
|
--- screen-4.0.3/pty.c.stropts 2003-09-08 16:26:18.000000000 +0200
|
||||||
|
+++ screen-4.0.3/pty.c 2008-04-07 11:30:07.000000000 +0200
|
||||||
|
@@ -34,7 +34,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* for solaris 2.1, Unixware (SVR4.2) and possibly others */
|
||||||
|
-#ifdef HAVE_SVR4_PTYS
|
||||||
|
+#if 0
|
||||||
|
# include <sys/stropts.h>
|
||||||
|
#endif
|
||||||
|
|
2
screen-pamfile
Normal file
2
screen-pamfile
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
auth include system-auth
|
117
screen.spec
Normal file
117
screen.spec
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
Name: screen
|
||||||
|
Version: 4.2.1
|
||||||
|
Release: 1mamba
|
||||||
|
Summary: A screen manager that multiplexes a physical terminal between several processes
|
||||||
|
Group: Applications/Shells
|
||||||
|
Vendor: openmamba
|
||||||
|
Distribution: openmamba
|
||||||
|
Packager: Aleph0 <aleph0@openmamba.org>
|
||||||
|
URL: http://www.gnu.org/software/screen/
|
||||||
|
Source0: ftp://ftp.gnu.org/gnu/screen/screen-%{version}.tar.gz
|
||||||
|
Source1: screen-pamfile
|
||||||
|
Patch0: screen-4.0.3-libs.patch
|
||||||
|
# Some tweaks of the default screenrc
|
||||||
|
Patch1: screen-4.0.2-screenrc.patch
|
||||||
|
Patch2: screen-4.0.3-stropts.patch
|
||||||
|
# Fixes potential buffer overflow when > 2^31 semicolons are passed.
|
||||||
|
Patch3: screen-4.0.1-args.patch
|
||||||
|
Patch4: screen-4.0.2-maxstr.patch
|
||||||
|
Patch5: screen-4.0.3-ipv6.patch
|
||||||
|
License: GPL
|
||||||
|
Requires(post):%{__install_info}
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||||
|
## AUTOBUILDREQ-BEGIN
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libelf-devel
|
||||||
|
BuildRequires: libncurses-devel
|
||||||
|
BuildRequires: libutempter-devel
|
||||||
|
BuildRequires: pam-devel
|
||||||
|
## AUTOBUILDREQ-END
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: texinfo
|
||||||
|
|
||||||
|
%description
|
||||||
|
Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
#%patch2 -p1
|
||||||
|
#%patch3 -p0
|
||||||
|
#%patch4 -p1
|
||||||
|
#%patch5 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure \
|
||||||
|
--enable-pam \
|
||||||
|
--enable-colors256 \
|
||||||
|
--enable-rxvt_osc \
|
||||||
|
--enable-locale \
|
||||||
|
--enable-telnet \
|
||||||
|
--with-sys-screenrc=/etc/screenrc
|
||||||
|
|
||||||
|
# We would like to have braille support.
|
||||||
|
sed -i -e 's/.*#.*undef.*HAVE_BRAILLE.*/#define HAVE_BRAILLE 1/;' config.h
|
||||||
|
sed -i -e 's/\(\/usr\)\?\/local\/etc/\/etc/g;' doc/screen.{1,texinfo}
|
||||||
|
rm doc/screen.info*
|
||||||
|
|
||||||
|
%make
|
||||||
|
|
||||||
|
%install
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
%makeinstall DESTDIR=%{buildroot}
|
||||||
|
|
||||||
|
install -D %{S:1} %{buildroot}%{_sysconfdir}/pam.d/screen
|
||||||
|
|
||||||
|
install -D -m644 etc/screenrc %{buildroot}%{_sysconfdir}/screenrc
|
||||||
|
|
||||||
|
rm -f %{buildroot}%{_bindir}/screen
|
||||||
|
mv %{buildroot}%{_bindir}/screen-%{version} %{buildroot}%{_bindir}/screen
|
||||||
|
|
||||||
|
%clean
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
|
||||||
|
%post
|
||||||
|
%install_info %{name}.info
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%uninstall_info %{name}.info
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%config %{_sysconfdir}/screenrc
|
||||||
|
%{_sysconfdir}/pam.d/screen
|
||||||
|
%{_bindir}/screen
|
||||||
|
%{_datadir}/screen/
|
||||||
|
%{_infodir}/screen.*
|
||||||
|
%{_mandir}/man1/screen.*
|
||||||
|
%doc COPYING
|
||||||
|
# ChangeLog FAQ NEWS README TODO
|
||||||
|
#% doc doc/README.DOTSCREEN
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Wed Apr 30 2014 Automatic Build System <autodist@mambasoft.it> 4.2.1-1mamba
|
||||||
|
- automatic version update by autodist
|
||||||
|
|
||||||
|
* Thu Oct 27 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 4.0.3-5mamba
|
||||||
|
- modify pam file not to use obsoleted pam_stack module
|
||||||
|
|
||||||
|
* Mon Jul 19 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 4.0.3-4mamba
|
||||||
|
- added configure option to fix patch of default configuration file (/etc/screenrc)
|
||||||
|
|
||||||
|
* Mon Feb 08 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 4.0.3-3mamba
|
||||||
|
- rebuilt without libshadow
|
||||||
|
|
||||||
|
* Thu Oct 30 2008 Tiziana Ferro <tiziana.ferro@email.it> 4.0.3-2mamba
|
||||||
|
- some bug fixed
|
||||||
|
- braille support added
|
||||||
|
- buildrequirement list added
|
||||||
|
|
||||||
|
* Fri Aug 29 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 4.0.3-1mamba
|
||||||
|
- update to 4.0.3
|
||||||
|
|
||||||
|
* Mon May 28 2007 Aleph0 <aleph0@openmamba.org> 4.0.2-1mamba
|
||||||
|
- package created by autospec
|
Loading…
Reference in New Issue
Block a user