summaryrefslogtreecommitdiff
path: root/package/screen
diff options
context:
space:
mode:
Diffstat (limited to 'package/screen')
-rw-r--r--package/screen/Config.in11
-rw-r--r--package/screen/Makefile27
-rw-r--r--package/screen/ipkg/screen.control5
-rw-r--r--package/screen/patches/patch-Makefile336
-rw-r--r--package/screen/patches/patch-ansi_c32
-rw-r--r--package/screen/patches/patch-attacher_c15
-rw-r--r--package/screen/patches/patch-configure490
-rw-r--r--package/screen/patches/patch-fileio_c39
-rw-r--r--package/screen/patches/patch-help_c15
-rw-r--r--package/screen/patches/patch-process_c39
-rw-r--r--package/screen/patches/patch-pty_c16
-rw-r--r--package/screen/patches/patch-sched_h21
-rw-r--r--package/screen/patches/patch-screen_c30
-rw-r--r--package/screen/patches/patch-termcap_c12
-rw-r--r--package/screen/patches/patch-tty_sh21
-rw-r--r--package/screen/patches/patch-utmp_c12
-rw-r--r--package/screen/patches/patch-window_c33
17 files changed, 1154 insertions, 0 deletions
diff --git a/package/screen/Config.in b/package/screen/Config.in
new file mode 100644
index 000000000..86b4c6584
--- /dev/null
+++ b/package/screen/Config.in
@@ -0,0 +1,11 @@
+config ADK_PACKAGE_SCREEN
+ prompt "screen............................ Full-screen terminal window manager"
+ tristate
+ default n
+ select ADK_PACKAGE_LIBNCURSES
+ help
+ Screen is a full-screen window manager that multiplexes a physical
+ terminal between several processes, typically interactive shells.
+
+ http://www.gnu.org/software/screen/
+
diff --git a/package/screen/Makefile b/package/screen/Makefile
new file mode 100644
index 000000000..e553a6d38
--- /dev/null
+++ b/package/screen/Makefile
@@ -0,0 +1,27 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= screen
+PKG_VERSION:= 4.0.3
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 8506fd205028a96c741e4037de6e3c42
+MASTER_SITES:= ${MASTER_SITE_GNU:=screen/}
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,SCREEN,screen,${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
+
+CONFIGURE_STYLE:= gnu
+CONFIGURE_ENV+= $(foreach flag,rename fchmod fchown strerror lstat _exit utimes vsnprintf getcwd setlocale strftime,ac_cv_func_${flag}=yes)
+CONFIGURE_ARGS+= --with-sys-screenrc=/etc/screenrc
+BUILD_STYLE:= auto
+
+do-install:
+ ${INSTALL_DIR} ${IDIR_SCREEN}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/screen ${IDIR_SCREEN}/usr/bin/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/screen/ipkg/screen.control b/package/screen/ipkg/screen.control
new file mode 100644
index 000000000..cb19298a8
--- /dev/null
+++ b/package/screen/ipkg/screen.control
@@ -0,0 +1,5 @@
+Package: screen
+Priority: optional
+Section: misc
+Depends: libncurses
+Description: A 'window manager' for the terminal session
diff --git a/package/screen/patches/patch-Makefile b/package/screen/patches/patch-Makefile
new file mode 100644
index 000000000..852a91342
--- /dev/null
+++ b/package/screen/patches/patch-Makefile
@@ -0,0 +1,336 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/Makefile 2006-10-23 15:06:32.000000000 +0200
++++ screen-4.0.3/Makefile 2008-12-08 04:54:09.000000000 +0100
+@@ -1,3 +1,331 @@
+-install all Makefiles and config:
++#
++# Makefile template for screen
++#
++# See machine dependant config.h for more configuration options.
++#
++
++srcdir = /home/wbx/openadk/build_x86/w-screen-4.0.3-1/screen-4.0.3
++VPATH = /home/wbx/openadk/build_x86/w-screen-4.0.3-1/screen-4.0.3
++
++DESTDIR =
++
++# Where to install screen.
++
++prefix = /usr
++exec_prefix = ${prefix}
++
++# don't forget to change mandir and infodir in doc/Makefile.
++bindir = $(exec_prefix)/bin
++
++VERSION = 4.0.3
++SCREEN = screen-$(VERSION)
++
++ETCSCREENRC = `sed < config.h -n -e '/define ETCSCREENRC/s/^.*"\([^"]*\)"/\1/p'`
++SCREENENCODINGS = `sed < config.h -n -e '/define SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
++
++CC = /home/wbx/openadk/cross_x86/host/bin/i586-linux-uclibc-gcc
++CFLAGS = -fwrapv -fno-ident -Os -pipe -march=i586
++CPPFLAGS = -isystem /home/wbx/openadk/cross_x86/target/include -isystem /home/wbx/openadk/cross_x86/target/usr/include -DNDEBUG
++LDFLAGS = -Wl,-O2 -Wl,-rpath -Wl,/usr/lib -Wl,-rpath-link -Wl,/home/wbx/openadk/cross_x86/target/usr/lib -L/home/wbx/openadk/cross_x86/target/lib -L/home/wbx/openadk/cross_x86/target/usr/lib
++LIBS = -lcurses -lutil -lcrypt
++
++CPP=/home/wbx/openadk/cross_x86/host/bin/i586-linux-uclibc-gcc -E
++CPP_DEPEND=$(CC) -MM
++
++INSTALL = /usr/bin/install -c
++INSTALL_PROGRAM = ${INSTALL}
++INSTALL_DATA = ${INSTALL} -m 644
++
++AWK = gawk
++
++### Chose some debug configuration options:
++# -DDEBUG
++# Turn on really heavy debug output. This is written to
++# /tmp/debug/{SCREEN,screen}.<pid>. Look at these files and quote
++# questionable sections when sending bug-reports to the author.
++# -DDUMPSHADOW
++# With shadow-pw screen would never dump core. Use this option if
++# you still want to have a core. Use only for debugging.
++OPTIONS=
++#OPTIONS= -DDEBUG
++
++SHELL=/bin/sh
++
++CFILES= screen.c ansi.c fileio.c mark.c misc.c resize.c socket.c \
++ search.c tty.c term.c window.c utmp.c loadav.c putenv.c help.c \
++ termcap.c input.c attacher.c pty.c process.c display.c comm.c \
++ kmapdef.c acls.c braille.c braille_tsi.c logfile.c layer.c \
++ sched.c teln.c nethack.c encoding.c
++OFILES= screen.o ansi.o fileio.o mark.o misc.o resize.o socket.o \
++ search.o tty.o term.o window.o utmp.o loadav.o putenv.o help.o \
++ termcap.o input.o attacher.o pty.o process.o display.o comm.o \
++ kmapdef.o acls.o braille.o braille_tsi.o logfile.o layer.o \
++ sched.o teln.o nethack.o encoding.o
++
++all: screen
++
++screen: $(OFILES)
++ $(CC) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
++
++.c.o:
++ $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CFLAGS) $<
++
++install_bin: .version screen
++ -if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \
++ then mv $(DESTDIR)$(bindir)/$(SCREEN) $(DESTDIR)$(bindir)/$(SCREEN).old; fi
++ $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN)
++ -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN)
++# This doesn't work if $(bindir)/screen is a symlink
++ -if [ -f $(DESTDIR)$(bindir)/screen ] && [ ! -f $(DESTDIR)$(bindir)/screen.old ]; then mv $(DESTDIR)$(bindir)/screen $(DESTDIR)$(bindir)/screen.old; fi
++ rm -f $(DESTDIR)$(bindir)/screen
++ (cd $(DESTDIR)$(bindir) && ln -sf $(SCREEN) screen)
++ cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS)
++
++###############################################################################
++install: installdirs install_bin
++ cd doc ; $(MAKE) install
++ -if [ -d /usr/lib/terminfo ]; then \
++ PATH="$$PATH:/usr/5bin" tic ${srcdir}/terminfo/screeninfo.src; \
++ chmod 644 /usr/lib/terminfo/s/screen*; \
++ fi
++# Better do this by hand. E.g. under RCS...
++# cat ${srcdir}/terminfo/screencap >> /etc/termcap
++ @echo "termcap entry (${srcdir}/terminfo/screencap) should be installed manually."
++ @echo "You may also want to install $(srcdir)/etc/etcscreenrc in" $(ETCSCREENRC)
++
++installdirs:
++# Path leading to ETCSCREENRC and Socketdirectory not checked.
++ $(srcdir)/etc/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(SCREENENCODINGS)
++ cd doc ; $(MAKE) installdirs
++
++uninstall: .version
++ rm -f $(DESTDIR)$(bindir)/$(SCREEN)
++ rm -f $(DESTDIR)$(bindir)/screen
++ -mv $(DESTDIR)$(bindir)/screen.old $(DESTDIR)$(bindir)/screen
++ rm -f $(DESTDIR)$(ETCSCREENRC)
++ cd doc; $(MAKE) uninstall
++
++shadow:
++ mkdir shadow;
++ cd shadow; ln -s ../*.[ch] ../*.in ../*.sh ../configure ../doc ../terminfo ../etc .
++ rm -f shadow/term.h shadow/tty.c shadow/comm.h shadow/osdef.h
++ echo "install all Makefiles and config:" > shadow/Makefile
++ echo " rm -f config.cache" >> shadow/Makefile
++ echo " sh ./configure" >> shadow/Makefile
++
++term.h: term.c term.sh
++ AWK=$(AWK) srcdir=$(srcdir) sh $(srcdir)/term.sh
++
++kmapdef.c: term.h
++
++tty.c: tty.sh
++ sh $(srcdir)/tty.sh tty.c
++
++comm.h: comm.c comm.sh config.h
++ AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
++
++osdef.h: osdef.sh config.h osdef.h.in
++ CPP="$(CPP) $(CPPFLAGS)" srcdir=${srcdir} sh $(srcdir)/osdef.sh
++
++docs:
++ cd doc; $(MAKE) dvi screen.info
++
++dvi info screen.info:
++ -cd doc; $(MAKE) $@
++
++mostlyclean:
++ rm -f $(OFILES) screen config.cache osdef0.c osdef1.sed osdef2.sed
++
++clean celan: mostlyclean
++ rm -f tty.c term.h comm.h osdef.h kmapdef.c core
++
++# Delete all files from the current directory that are created by
++# configuring or building the program.
++# building of term.h/comm.h requires awk. Keep it in the distribution
++# we keep config.h, as this file knows where 'make dist' finds the ETCSCREENRC.
++#distclean: mostlyclean
++# rm -f $(SCREEN).tar $(SCREEN).tar.gz
++# rm -f config.status Makefile
++# rm -f osdef.h doc/Makefile
++
++maintainer-clean:
++ @echo "This command is not even intended for maintainers to use;"
++ @echo "it deletes files that may require special tools to rebuild."
++
++
++# Delete everything from the current directory that can be
++# reconstructed with this Makefile.
++realclean: .version mostlyclean
++ rm -f $(SCREEN).tar $(SCREEN).tar.gz
++ rm -f config.status Makefile doc/Makefile
++ rm -f tty.c term.h comm.h osdef.h kmapdef.c
++ rm -f config.h
++ echo "install all Makefiles and config:" > Makefile
++ echo " sh ./configure" >> Makefile
++
++tags TAGS: $(CFILES)
++ -ctags *.sh $(CFILES) *.h
++ -ctags -e *.sh $(CFILES) *.h
++
++dist: .version $(SCREEN).tar.gz
++
++$(SCREEN).tar: .version term.h comm.h tty.c kmapdef.c
++ -rm -rf dist
++ mkdir dist
++ mkdir dist/$(SCREEN)
++ ln acls.h ansi.h display.h extern.h logfile.h mark.h os.h \
++ layer.h patchlevel.h screen.h window.h image.h \
++ osdef.h.in term.sh tty.sh comm.sh osdef.sh braille.h \
++ sched.h \
++ $(CFILES) \
++ ChangeLog COPYING INSTALL NEWS* TODO install.sh \
++ dist/$(SCREEN)
++ cd dist/$(SCREEN); mv tty.c tty.c.dist
++ cd dist/$(SCREEN); mv kmapdef.c kmapdef.c.dist
++ ln configure.in configure dist/$(SCREEN)
++ sed -e 's@"/local/screens@"/tmp/screens@' -e 's@"/local@"/usr/local@g' < config.h.in > dist/$(SCREEN)/config.h.in
++ sed -e 's@[ ]/local@ /usr/local@g' -e 's/^CFLAGS = -g/CFLAGS = -O/' < Makefile.in > dist/$(SCREEN)/Makefile.in
++ ln term.h dist/$(SCREEN)/term.h.dist
++ ln comm.h dist/$(SCREEN)/comm.h.dist
++ ln README dist/$(SCREEN)/README
++ mkdir dist/$(SCREEN)/terminfo
++ cd terminfo; ln 8bits README checktc.c screencap \
++ screeninfo.src test.txt tetris.c \
++ ../dist/$(SCREEN)/terminfo
++ mkdir dist/$(SCREEN)/etc
++ cd etc; ln * ../dist/$(SCREEN)/etc
++ mkdir dist/$(SCREEN)/utf8encodings
++ cd utf8encodings; ln * ../dist/$(SCREEN)/utf8encodings
++ # sed -e 's/^startup/#startup/' -e 's/^autodetach/#autodetach/' < $(ETCSCREENRC) > dist/$(SCREEN)/etc/etcscreenrc
++ cp $(HOME)/.screenrc dist/$(SCREEN)/etc/screenrc
++ mkdir dist/$(SCREEN)/doc
++ sed -e 's@/local/emacs@/usr/local@g' < doc/Makefile.in > dist/$(SCREEN)/doc/Makefile.in
++ cd doc; ln FAQ README.DOTSCREEN screen.1 screen.texinfo fdpat.ps make.help window_to_display.ps \
++ ../dist/$(SCREEN)/doc
++ cd doc; if test -f screen.info; then ln screen.info* \
++ ../dist/$(SCREEN)/doc; fi
++ cd dist/$(SCREEN)/doc; ln -s ../install.sh .
++ cd dist/$(SCREEN); ln -s doc/FAQ .
++ echo "install all Makefiles and config:" > dist/$(SCREEN)/Makefile
++ echo " rm -f config.cache" >> dist/$(SCREEN)/Makefile
++ echo " sh ./configure" >> dist/$(SCREEN)/Makefile
++ cd dist; tar cf ../$(SCREEN).tar $(SCREEN)
++ rm -rf dist
++
++$(SCREEN).tar.gz: $(SCREEN).tar
++ gzip -nf $(SCREEN).tar || gzip -f $(SCREEN).tar
++
++# Perform self-tests (if any).
++check:
++
++lint:
++ lint -I. $(CFILES)
++
++saber:
++ #load $(CFLAGS) screen.c ansi.c $(LIBS)
++
++config:
+ rm -f config.cache
+ sh ./configure
++
++
++###############################################################################
++
++.version:
++ @rev=`sed < $(srcdir)/patchlevel.h -n -e '/#define REV/s/#define REV *//p'`; \
++ vers=`sed < $(srcdir)/patchlevel.h -n -e '/#define VERS/s/#define VERS *//p'`; \
++ pat=`sed < $(srcdir)/patchlevel.h -n -e '/#define PATCHLEVEL/s/#define PATCHLEVEL *//p'`; \
++ if [ "$${rev}.$${vers}.$${pat}" != "$(VERSION)" ]; then \
++ echo "This distribution is screen-$${rev}.$${vers}.$${pat}, but"; \
++ echo "the Makefile is from $(VERSION). Please update!"; exit 1; fi
++
++###############################################################################
++
++mdepend: $(CFILES) term.h
++ @rm -f DEPEND ; \
++ for i in ${CFILES} ; do \
++ echo "$$i" ; \
++ echo `echo "$$i" | sed -e 's/.c$$/.o/'`": $$i" `\
++ cc -E $$i |\
++ grep '^# .*"\./.*\.h"' |\
++ (sort -t'"' -u -k 2,2 2>/dev/null || sort -t'"' -u +1 -2) |\
++ sed -e 's/.*"\.\/\(.*\)".*/\1/'\
++ ` >> DEPEND ; \
++ done
++
++
++depend: depend.in
++ ./config.status || ./configure
++
++depend.in: $(CFILES) term.h
++ cp Makefile.in Makefile.in~
++ sed -e '/\#\#\# Dependencies/q' < Makefile.in > tmp_make
++ for i in $(CFILES); do echo $$i; $(CPP_DEPEND) $$i >> tmp_make; done
++ mv tmp_make Makefile.in
++
++###############################################################################
++
++### Dependencies:
++screen.o: screen.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h braille.h \
++ patchlevel.h logfile.h extern.h
++ansi.o: ansi.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h braille.h extern.h \
++ logfile.h
++fileio.o: fileio.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++mark.o: mark.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h mark.h extern.h
++misc.o: misc.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++resize.o: resize.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++socket.o: socket.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++search.o: search.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h mark.h extern.h
++tty.o: tty.c config.h screen.h os.h osdef.h ansi.h acls.h comm.h \
++ layer.h term.h image.h display.h window.h extern.h
++term.o: term.c term.h
++window.o: window.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h logfile.h
++utmp.o: utmp.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++loadav.o: loadav.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++putenv.o: putenv.c config.h
++help.o: help.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++termcap.o: termcap.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++input.o: input.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++attacher.o: attacher.c config.h screen.h os.h osdef.h ansi.h \
++ acls.h comm.h layer.h term.h image.h display.h window.h extern.h
++pty.o: pty.c config.h screen.h os.h osdef.h ansi.h acls.h comm.h \
++ layer.h term.h image.h display.h window.h extern.h
++process.o: process.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h logfile.h
++display.o: display.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h braille.h
++comm.o: comm.c config.h acls.h comm.h
++kmapdef.o: kmapdef.c config.h
++acls.o: acls.c config.h screen.h os.h osdef.h ansi.h acls.h comm.h \
++ layer.h term.h image.h display.h window.h extern.h
++braille.o: braille.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h braille.h
++braille_tsi.o: braille_tsi.c config.h screen.h os.h osdef.h ansi.h \
++ acls.h comm.h layer.h term.h image.h display.h window.h extern.h \
++ braille.h
++logfile.o: logfile.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h logfile.h
++layer.o: layer.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++sched.o: sched.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h logfile.h
++teln.o: teln.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++nethack.o: nethack.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
++encoding.o: encoding.c config.h screen.h os.h osdef.h ansi.h acls.h \
++ comm.h layer.h term.h image.h display.h window.h extern.h
diff --git a/package/screen/patches/patch-ansi_c b/package/screen/patches/patch-ansi_c
new file mode 100644
index 000000000..f6da58abe
--- /dev/null
+++ b/package/screen/patches/patch-ansi_c
@@ -0,0 +1,32 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/ansi.c 2003-12-05 14:57:05.000000000 +0100
++++ screen-4.0.3/ansi.c 2008-12-08 04:59:17.000000000 +0100
+@@ -1462,7 +1462,7 @@ StringEnd()
+ switch (curr->w_StringType)
+ {
+ case OSC: /* special xterm compatibility hack */
+- if (curr->w_string[0] == ';' || (p = index(curr->w_string, ';')) == 0)
++ if (curr->w_string[0] == ';' || (p = strchr(curr->w_string, ';')) == 0)
+ break;
+ typ = atoi(curr->w_string);
+ p++;
+@@ -2803,15 +2803,15 @@ int ys, ye;
+ debug2("MFindUsedLine: %d %d\n", ye, ys);
+ for (y = ye; y >= ys; y--, ml--)
+ {
+- if (bcmp((char*)ml->image, blank, p->w_width))
++ if (memcmp((char*)ml->image, blank, p->w_width))
+ break;
+- if (ml->attr != null && bcmp((char*)ml->attr, null, p->w_width))
++ if (ml->attr != null && memcmp((char*)ml->attr, null, p->w_width))
+ break;
+ #ifdef COLOR
+- if (ml->color != null && bcmp((char*)ml->color, null, p->w_width))
++ if (ml->color != null && memcmp((char*)ml->color, null, p->w_width))
+ break;
+ # ifdef COLORS256
+- if (ml->colorx != null && bcmp((char*)ml->colorx, null, p->w_width))
++ if (ml->colorx != null && memcmp((char*)ml->colorx, null, p->w_width))
+ break;
+ # endif
+ #endif
diff --git a/package/screen/patches/patch-attacher_c b/package/screen/patches/patch-attacher_c
new file mode 100644
index 000000000..34e9a0deb
--- /dev/null
+++ b/package/screen/patches/patch-attacher_c
@@ -0,0 +1,15 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/attacher.c 2003-09-08 16:24:48.000000000 +0200
++++ screen-4.0.3/attacher.c 2008-10-08 14:09:31.000000000 +0200
+@@ -849,9 +849,9 @@ screen_builtin_lck()
+ strncpy(fullname, ppp->pw_gecos, sizeof(fullname) - 9);
+ fullname[sizeof(fullname) - 9] = 0;
+
+- if ((cp1 = index(fullname, ',')) != NULL)
++ if ((cp1 = strchr(fullname, ',')) != NULL)
+ *cp1 = '\0';
+- if ((cp1 = index(fullname, '&')) != NULL)
++ if ((cp1 = strchr(fullname, '&')) != NULL)
+ {
+ strncpy(cp1, ppp->pw_name, 8);
+ cp1[8] = 0;
diff --git a/package/screen/patches/patch-configure b/package/screen/patches/patch-configure
new file mode 100644
index 000000000..21ae13053
--- /dev/null
+++ b/package/screen/patches/patch-configure
@@ -0,0 +1,490 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/configure 2003-12-05 14:46:53.000000000 +0100
++++ screen-4.0.3/configure 2008-10-08 13:33:43.000000000 +0200
+@@ -124,7 +124,7 @@ done
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ case $CONFIG_SHELL in
+ '')
+@@ -174,7 +174,7 @@ done
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+- { (exit 1); exit 1; }; }
++ }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+@@ -397,7 +397,7 @@ do
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+- { (exit 1); exit 1; }; }
++ }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+@@ -406,7 +406,7 @@ do
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+- { (exit 1); exit 1; }; }
++ }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+@@ -588,7 +588,7 @@ do
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+- { (exit 1); exit 1; }; }
++ }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+@@ -601,7 +601,7 @@ do
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+- { (exit 1); exit 1; }; }
++ }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+@@ -625,7 +625,7 @@ do
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+ Try \`$0 --help' for more information." >&2
+- { (exit 1); exit 1; }; }
++ }
+ ;;
+
+ *=*)
+@@ -633,7 +633,7 @@ Try \`$0 --help' for more information."
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+- { (exit 1); exit 1; }; }
++ }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+@@ -652,7 +652,7 @@ done
+ if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+- { (exit 1); exit 1; }; }
++ }
+ fi
+
+ # Be sure to have absolute paths.
+@@ -662,7 +662,7 @@ do
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+- { (exit 1); exit 1; }; };;
++ };;
+ esac
+ done
+
+@@ -674,7 +674,7 @@ do
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+- { (exit 1); exit 1; }; };;
++ };;
+ esac
+ done
+
+@@ -728,15 +728,15 @@ fi
+ if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+- { (exit 1); exit 1; }; }
++ }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ fi
+ (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+- { (exit 1); exit 1; }; }
++ }
+ srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ ac_env_build_alias_set=${build_alias+set}
+ ac_env_build_alias_value=$build_alias
+@@ -1243,7 +1243,7 @@ if $ac_cache_corrupted; then
+ echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+
+ ac_ext=c
+@@ -1734,7 +1734,7 @@ test -z "$CC" && { { echo "$as_me:$LINEN
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: no acceptable C compiler found in \$PATH
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+
+ # Provide some information about the compiler.
+ echo "$as_me:$LINENO:" \
+@@ -1856,7 +1856,7 @@ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'.
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ fi
+ fi
+@@ -1898,7 +1898,7 @@ else
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+
+ rm -f conftest$ac_cv_exeext
+@@ -1950,7 +1950,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot compute suffix of object files: cannot compile
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+@@ -2514,7 +2514,7 @@ else
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+
+ ac_ext=c
+@@ -2704,7 +2704,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -2753,7 +2753,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -2790,7 +2790,7 @@ echo "$ac_compile" 1>&6
+
+ { { echo "$as_me:$LINENO: error: Can't run the compiler - sorry" >&5
+ echo "$as_me: error: Can't run the compiler - sorry" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+@@ -2800,7 +2800,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -2830,7 +2830,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l
+ (exit $ac_status); }; }; then
+ { { echo "$as_me:$LINENO: error: Your compiler does not set the exit status - sorry" >&5
+ echo "$as_me: error: Your compiler does not set the exit status - sorry" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ echo "$as_me: program exited with status $ac_status" >&5
+ echo "$as_me: failed program was:" >&5
+@@ -2900,7 +2900,7 @@ done
+ if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+ echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+@@ -4149,7 +4149,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
+
+ { { echo "$as_me:$LINENO: error: !!! no select - no screen" >&5
+ echo "$as_me: error: !!! no select - no screen" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+@@ -4163,7 +4163,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -4272,7 +4272,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -4365,7 +4365,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -4460,7 +4460,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -4562,7 +4562,7 @@ elif test -n "$sock"; then
+ else
+ { { echo "$as_me:$LINENO: error: you have neither usable sockets nor usable pipes -> no screen" >&5
+ echo "$as_me: error: you have neither usable sockets nor usable pipes -> no screen" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+
+
+@@ -4573,7 +4573,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -4898,7 +4898,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
+
+ { { echo "$as_me:$LINENO: error: !!! no tgetent - no screen" >&5
+ echo "$as_me: error: !!! no tgetent - no screen" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+@@ -4915,7 +4915,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -5359,7 +5359,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -6206,7 +6206,7 @@ echo "$as_me: checking for avenrun symbo
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -6482,7 +6482,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -6598,8 +6598,6 @@ sed 's/^/| /' conftest.$ac_ext >&5
+ LIBS="$oldlibs"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec"
+-test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow"
+ oldlibs="$LIBS"
+ LIBS="$LIBS -lsun"
+ { echo "$as_me:$LINENO: checking IRIX sun library..." >&5
+@@ -7004,7 +7002,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -7056,7 +7054,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -7110,7 +7108,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -7951,7 +7949,7 @@ if test "$cross_compiling" = yes; then
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot run test program while cross compiling
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -7982,7 +7980,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
+ ( exit $ac_status )
+ { { echo "$as_me:$LINENO: error: Can't run the compiler - internal error. Sorry." >&5
+ echo "$as_me: error: Can't run the compiler - internal error. Sorry." >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+@@ -8251,7 +8249,7 @@ done
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+ echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi
+ case $CONFIG_SHELL in
+ '')
+@@ -8302,7 +8300,7 @@ done
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+@@ -8494,7 +8492,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+- { (exit 1); exit 1; }; };;
++ };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+@@ -8516,7 +8514,7 @@ Try \`$0 --help' for more information."
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+- { (exit 1); exit 1; }; } ;;
++ } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+@@ -8555,7 +8553,7 @@ do
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+- { (exit 1); exit 1; }; };;
++ };;
+ esac
+ done
+
+@@ -8750,7 +8748,7 @@ echo X"$as_dir" |
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+- { (exit 1); exit 1; }; }; }
++ }; }
+
+ ac_builddir=.
+
+@@ -8816,7 +8814,7 @@ echo "$as_me: creating $ac_file" >&6;}
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+@@ -8829,7 +8827,7 @@ echo "$as_me: error: cannot find input f
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+@@ -8907,7 +8905,7 @@ echo "$as_me: creating $ac_file" >&6;}
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+@@ -8920,7 +8918,7 @@ echo "$as_me: error: cannot find input f
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+- { (exit 1); exit 1; }; }
++ }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+@@ -9073,7 +9071,7 @@ echo X"$as_dir" |
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+- { (exit 1); exit 1; }; }; }
++ }; }
+
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
diff --git a/package/screen/patches/patch-fileio_c b/package/screen/patches/patch-fileio_c
new file mode 100644
index 000000000..c86914c10
--- /dev/null
+++ b/package/screen/patches/patch-fileio_c
@@ -0,0 +1,39 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/fileio.c 2003-09-08 16:25:28.000000000 +0200
++++ screen-4.0.3/fileio.c 2008-10-08 14:07:52.000000000 +0200
+@@ -96,7 +96,7 @@ char *rcfile;
+
+ if (rcfile)
+ {
+- char *rcend = rindex(rc_name, '/');
++ char *rcend = strrchr(rc_name, '/');
+ if (*rcfile != '/' && rcend && (rcend - rc_name) + strlen(rcfile) + 2 < sizeof(buf))
+ {
+ strncpy(buf, rc_name, rcend - rc_name + 1);
+@@ -169,7 +169,7 @@ char *rcfilename;
+ }
+ while (fgets(buf, sizeof buf, fp) != NULL)
+ {
+- if ((p = rindex(buf, '\n')) != NULL)
++ if ((p = strrchr(buf, '\n')) != NULL)
+ *p = '\0';
+ if ((argc = Parse(buf, sizeof buf, args, argl)) == 0)
+ continue;
+@@ -216,7 +216,7 @@ char *rcfilename;
+ }
+ for (p = args[1]; p && *p; p = cp)
+ {
+- if ((cp = index(p, '|')) != 0)
++ if ((cp = strchr(p, '|')) != 0)
+ *cp++ = '\0';
+ len = strlen(p);
+ if (p[len - 1] == '*')
+@@ -501,7 +501,7 @@ int dump;
+ }
+ break;
+ case DUMP_TERMCAP:
+- if ((p = index(MakeTermcap(fore->w_aflag), '=')) != NULL)
++ if ((p = strchr(MakeTermcap(fore->w_aflag), '=')) != NULL)
+ {
+ fputs(++p, f);
+ putc('\n', f);
diff --git a/package/screen/patches/patch-help_c b/package/screen/patches/patch-help_c
new file mode 100644
index 000000000..8b997c7de
--- /dev/null
+++ b/package/screen/patches/patch-help_c
@@ -0,0 +1,15 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/help.c 2003-09-08 16:25:33.000000000 +0200
++++ screen-4.0.3/help.c 2008-10-08 14:08:53.000000000 +0200
+@@ -386,9 +386,9 @@ int x, y;
+ del = 0;
+ bp = buf;
+ ll = *lp++;
+- if (!ll || (index(cp, ' ') != NULL))
++ if (!ll || (strchr(cp, ' ') != NULL))
+ {
+- if (index(cp, '\'') != NULL)
++ if (strchr(cp, '\'') != NULL)
+ *bp++ = del = '"';
+ else
+ *bp++ = del = '\'';
diff --git a/package/screen/patches/patch-process_c b/package/screen/patches/patch-process_c
new file mode 100644
index 000000000..0260ead1f
--- /dev/null
+++ b/package/screen/patches/patch-process_c
@@ -0,0 +1,39 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/process.c 2003-09-18 14:53:54.000000000 +0200
++++ screen-4.0.3/process.c 2008-12-08 04:59:51.000000000 +0100
+@@ -728,7 +728,7 @@ int ilen;
+ if (D_seqp[l] != l)
+ {
+ q = D_seqp + 1 + l;
+- if (D_kmaps + D_nseqs > q && q[2] > l && !bcmp(D_seqp - l, q + 3, l))
++ if (D_kmaps + D_nseqs > q && q[2] > l && !memcmp(D_seqp - l, q + 3, l))
+ {
+ debug1("have another mapping (%s), delay execution\n", q + 3);
+ D_seqh = D_seqp - 3 - l;
+@@ -2867,7 +2867,7 @@ int key;
+ s = 0;
+ if (ParseSaveStr(act, &s))
+ break;
+- if (!*s || strlen(s) + (SockName - SockPath) > MAXPATHLEN - 13 || index(s, '/'))
++ if (!*s || strlen(s) + (SockName - SockPath) > MAXPATHLEN - 13 || strchr(s, '/'))
+ {
+ Msg(0, "%s: bad session name '%s'\n", rc_name, s);
+ free(s);
+@@ -3109,7 +3109,7 @@ int key;
+ break;
+ }
+ else
+- if (*argl == (kme->fl & ~KMAP_NOTIMEOUT) && bcmp(kme->str, *args, *argl) == 0)
++ if (*argl == (kme->fl & ~KMAP_NOTIMEOUT) && memcmp(kme->str, *args, *argl) == 0)
+ break;
+ if (i == kmap_extn)
+ {
+@@ -4387,7 +4387,7 @@ int base, psize;
+ char *s, *p;
+ {
+ char *q;
+- if ((q = rindex(s, ':')) != 0)
++ if ((q = strrchr(s, ':')) != 0)
+ {
+ strncpy(p, q + 1, psize - 1);
+ p[psize - 1] = '\0';
diff --git a/package/screen/patches/patch-pty_c b/package/screen/patches/patch-pty_c
new file mode 100644
index 000000000..038b4b283
--- /dev/null
+++ b/package/screen/patches/patch-pty_c
@@ -0,0 +1,16 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/pty.c 2003-09-08 16:26:18.000000000 +0200
++++ screen-4.0.3/pty.c 2008-10-08 13:33:43.000000000 +0200
+@@ -34,9 +34,9 @@
+ #endif
+
+ /* for solaris 2.1, Unixware (SVR4.2) and possibly others */
+-#ifdef HAVE_SVR4_PTYS
+-# include <sys/stropts.h>
+-#endif
++//#ifdef HAVE_SVR4_PTYS
++//# include <sys/stropts.h>
++//#endif
+
+ #if defined(sun) && defined(LOCKPTY) && !defined(TIOCEXCL)
+ # include <sys/ttold.h>
diff --git a/package/screen/patches/patch-sched_h b/package/screen/patches/patch-sched_h
new file mode 100644
index 000000000..2c632d6ca
--- /dev/null
+++ b/package/screen/patches/patch-sched_h
@@ -0,0 +1,21 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/sched.h 2002-01-08 16:42:43.000000000 +0100
++++ screen-4.0.3/sched.h 2008-10-08 13:33:43.000000000 +0200
+@@ -22,6 +22,11 @@
+ * $Id: sched.h,v 1.1.1.1 1993/06/16 23:51:13 jnweiger Exp $ FAU
+ */
+
++#ifndef __SCHED_H
++#define __SCHED_H
++
++#include <sys/time.h>
++
+ struct event
+ {
+ struct event *next;
+@@ -41,3 +46,5 @@ struct event
+ #define EV_READ 1
+ #define EV_WRITE 2
+ #define EV_ALWAYS 3
++
++#endif
diff --git a/package/screen/patches/patch-screen_c b/package/screen/patches/patch-screen_c
new file mode 100644
index 000000000..c9a3da349
--- /dev/null
+++ b/package/screen/patches/patch-screen_c
@@ -0,0 +1,30 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/screen.c 2003-09-08 16:26:41.000000000 +0200
++++ screen-4.0.3/screen.c 2008-10-08 14:06:53.000000000 +0200
+@@ -819,7 +819,7 @@ char **av;
+
+ #ifdef MULTIUSER
+ own_uid = multi_uid = real_uid;
+- if (SockMatch && (sockp = index(SockMatch, '/')))
++ if (SockMatch && (sockp = strchr(SockMatch, '/')))
+ {
+ if (eff_uid)
+ Panic(0, "Must run suid root for multiuser support.");
+@@ -1025,7 +1025,7 @@ char **av;
+ }
+ if ((st.st_mode & 0777) != 0700)
+ Panic(0, "Directory %s must have mode 700.", SockPath);
+- if (SockMatch && index(SockMatch, '/'))
++ if (SockMatch && strchr(SockMatch, '/'))
+ Panic(0, "Bad session name '%s'", SockMatch);
+ SockName = SockPath + strlen(SockPath) + 1;
+ *SockName = 0;
+@@ -1041,7 +1041,7 @@ char **av;
+ (void) gethostname(HostName, MAXSTR);
+ HostName[MAXSTR - 1] = '\0';
+ #endif
+- if ((ap = index(HostName, '.')) != NULL)
++ if ((ap = strchr(HostName, '.')) != NULL)
+ *ap = '\0';
+
+ if (lsflag)
diff --git a/package/screen/patches/patch-termcap_c b/package/screen/patches/patch-termcap_c
new file mode 100644
index 000000000..3dc7d60bf
--- /dev/null
+++ b/package/screen/patches/patch-termcap_c
@@ -0,0 +1,12 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/termcap.c 2003-09-08 16:45:36.000000000 +0200
++++ screen-4.0.3/termcap.c 2008-10-08 14:09:15.000000000 +0200
+@@ -940,7 +940,7 @@ int aflag;
+ debug1("MakeTermcap decided '%s'\n", p);
+ if (extra_outcap && *extra_outcap)
+ {
+- for (cp = extra_outcap; (p = index(cp, ':')); cp = p)
++ for (cp = extra_outcap; (p = strchr(cp, ':')); cp = p)
+ {
+ ch = *++p;
+ *p = '\0';
diff --git a/package/screen/patches/patch-tty_sh b/package/screen/patches/patch-tty_sh
new file mode 100644
index 000000000..b14b2f9ac
--- /dev/null
+++ b/package/screen/patches/patch-tty_sh
@@ -0,0 +1,21 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/tty.sh 2003-09-08 16:24:25.000000000 +0200
++++ screen-4.0.3/tty.sh 2008-10-08 14:13:39.000000000 +0200
+@@ -659,7 +659,7 @@ char *opt;
+
+ while (*opt)
+ {
+- while (index(sep, *opt)) opt++;
++ while (strchr(sep, *opt)) opt++;
+ if (*opt >= '0' && *opt <= '9')
+ {
+ if (SetBaud(m, atoi(opt), atoi(opt)))
+@@ -745,7 +745,7 @@ char *opt;
+ }
+ else
+ return -1;
+- while (*opt && !index(sep, *opt)) opt++;
++ while (*opt && !strchr(sep, *opt)) opt++;
+ }
+ return 0;
+ }
diff --git a/package/screen/patches/patch-utmp_c b/package/screen/patches/patch-utmp_c
new file mode 100644
index 000000000..4beebc274
--- /dev/null
+++ b/package/screen/patches/patch-utmp_c
@@ -0,0 +1,12 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/utmp.c 2003-09-08 16:27:17.000000000 +0200
++++ screen-4.0.3/utmp.c 2008-12-08 04:59:38.000000000 +0100
+@@ -422,7 +422,7 @@ struct win *wi;
+ debug2("SetUtmp %d will get slot %d...\n", wi->w_number, (int)slot);
+
+ bzero((char *)&u, sizeof(u));
+- if ((saved_ut = bcmp((char *) &wi->w_savut, (char *)&u, sizeof(u))))
++ if ((saved_ut = memcmp((char *) &wi->w_savut, (char *)&u, sizeof(u))))
+ /* restore original, of which we will adopt all fields but ut_host */
+ bcopy((char *)&wi->w_savut, (char *) &u, sizeof(u));
+
diff --git a/package/screen/patches/patch-window_c b/package/screen/patches/patch-window_c
new file mode 100644
index 000000000..daad39ee3
--- /dev/null
+++ b/package/screen/patches/patch-window_c
@@ -0,0 +1,33 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- screen-4.0.3.orig/window.c 2003-12-05 14:45:41.000000000 +0100
++++ screen-4.0.3/window.c 2008-10-08 14:08:40.000000000 +0200
+@@ -643,7 +643,7 @@ struct NewWindow *newwin;
+ if (!nwin.aka)
+ nwin.aka = Filename(nwin.args[0]);
+ strncpy(p->w_akabuf, nwin.aka, sizeof(p->w_akabuf) - 1);
+- if ((nwin.aka = rindex(p->w_akabuf, '|')) != NULL)
++ if ((nwin.aka = strrchr(p->w_akabuf, '|')) != NULL)
+ {
+ p->w_autoaka = 0;
+ *nwin.aka++ = 0;
+@@ -1356,9 +1356,9 @@ char **args, *ttyn;
+ debug2("Makewindow %d with %s\n", win->w_number, tebuf);
+ tl = strlen(win->w_term);
+ NewEnv[1] = tebuf;
+- if ((s1 = index(NewEnv[2], '|')))
++ if ((s1 = strchr(NewEnv[2], '|')))
+ {
+- if ((s2 = index(++s1, '|')))
++ if ((s2 = strchr(++s1, '|')))
+ {
+ if (strlen(NewEnv[2]) - (s2 - s1) + tl < 1024)
+ {
+@@ -1396,7 +1396,7 @@ char *prog, **args, **env;
+ char *shargs[MAXARGS + 1];
+ register int i, eaccess = 0;
+
+- if (rindex(prog, '/'))
++ if (strrchr(prog, '/'))
+ path = "";
+ if (!path && !(path = getenv("PATH")))
+ path = DefaultPath;