Added screen.

This commit is contained in:
Nicolas JOURDEN 2017-05-25 16:21:58 +02:00 committed by Pedro Gonçalves
parent 3314f83868
commit fa4ba223cf
11 changed files with 840 additions and 0 deletions

59
rules/screen/default.bash Normal file
View File

@ -0,0 +1,59 @@
version=\
(
"4.5.0"
)
url=\
(
"http://ftp.gnu.org/gnu/screen/screen-$version.tar.gz"
)
md5=\
(
"a32105a91359afab1a4349209a028e31"
)
requires=\
(
"ncurses/default"
)
post_unpack()
{
patches=$(ls "$pkg_dir"/patches/*.patch)
if [ -n "$patches" ]; then
cat $patches | patch -p1
fi
autoconf
aclocal
}
configure()
{
./configure \
--target="$cfg_target_canonical" \
--host="$cfg_target_canonical" \
--build="$cfg_host_canonical" \
--prefix="$cfg_dir_toolchain_sysroot/usr" \
--enable-colors256
}
build()
{
$cmd_make
}
host_install()
{
$cmd_make install
}
target_install()
{
$cmd_cp $cfg_dir_toolchain_sysroot/usr/share/screen $cfg_dir_rootfs/usr/share/
$cmd_cp $cfg_dir_toolchain_sysroot/usr/bin/screen-$version $cfg_dir_rootfs/usr/bin/screen
$cmd_cp etc/screenrc $cfg_dir_rootfs/etc/screenrc
}

View File

@ -0,0 +1,62 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Sat, 13 Sep 2014 10:27:27 +0200
Subject: Removed redundant compiler sanity checks
AC_PROG_CC already performs sanity checks. And unlike the removed
checks, it does so in a way that supports cross compilation.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
[Ricardo: rebase on top of 4.3.1]
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
---
configure.ac | 27 ---------------------------
1 file changed, 27 deletions(-)
diff --git a/configure.ac b/configure.ac
index ffe2e37..27690a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -48,31 +48,6 @@ AC_PROG_GCC_TRADITIONAL
AC_ISC_POSIX
AC_USE_SYSTEM_EXTENSIONS
-AC_TRY_RUN(main(){exit(0);},,[
-if test $CC != cc ; then
-AC_NOTE(Your $CC failed - restarting with CC=cc)
-AC_NOTE()
-CC=cc
-export CC
-exec $0 $configure_args
-fi
-])
-
-AC_TRY_RUN(main(){exit(0);},,
-exec 5>&2
-eval $ac_link
-AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;)
-AC_NOTE($ac_compile)
-AC_MSG_ERROR(Can't run the compiler - sorry))
-
-AC_TRY_RUN([
-main()
-{
- int __something_strange_();
- __something_strange_(0);
-}
-],AC_MSG_ERROR(Your compiler does not set the exit status - sorry))
-
AC_PROG_AWK
AC_PROG_INSTALL
@@ -1300,8 +1275,6 @@ fi
dnl Ptx bug workaround -- insert -lc after -ltermcap
test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq"
-AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.))
-
ETCSCREENRC=
AC_MSG_CHECKING(for the global screenrc file)
AC_ARG_WITH(sys-screenrc, [ --with-sys-screenrc=path to the global screenrc file], [ ETCSCREENRC="${withval}" ])
--
1.8.4.5

View File

@ -0,0 +1,124 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Sat, 13 Sep 2014 11:37:59 +0200
Subject: Do not use memcpy as an alternative for bcopy/memmove
The configure script runs a small test program to check whether
memcpy can handle overlapping memory areas. However, it is not valid
to conclude that if a single case of overlapping memory is handled
correctly, all cases will be handled correctly.
Since screen already has its own bcopy implementation as a fallback
for the case that bcopy and memmove are unusable, removing the memcpy
option should not break any systems.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
[Ricardo: rebase on top of 4.3.1]
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
---
acconfig.h | 3 +--
configure.ac | 18 +-----------------
os.h | 8 ++------
osdef.h.in | 10 +---------
4 files changed, 5 insertions(+), 34 deletions(-)
diff --git a/acconfig.h b/acconfig.h
index 2e46985..9b0b9d4 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -476,7 +476,7 @@
#undef GETTTYENT
/*
- * Define USEBCOPY if the bcopy/memcpy from your system's C library
+ * Define USEBCOPY if the bcopy from your system's C library
* supports the overlapping of source and destination blocks. When
* undefined, screen uses its own (probably slower) version of bcopy().
*
@@ -487,7 +487,6 @@
* Their memove fails the test in the configure script. Sigh. (Juergen)
*/
#undef USEBCOPY
-#undef USEMEMCPY
#undef USEMEMMOVE
/*
diff --git a/configure.ac b/configure.ac
index 27690a6..b8e3bec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1145,7 +1145,7 @@ AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT))
AC_CHECKING(fdwalk)
AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
-AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
+AC_CHECKING(whether memmove/bcopy handles overlapping arguments)
AC_TRY_RUN([
main() {
char buf[10];
@@ -1175,22 +1175,6 @@ main() {
exit(0); /* libc version works properly. */
}], AC_DEFINE(USEMEMMOVE))
-
-AC_TRY_RUN([
-#define bcopy(s,d,l) memcpy(d,s,l)
-main() {
- char buf[10];
- strcpy(buf, "abcdefghi");
- bcopy(buf, buf + 2, 3);
- if (strncmp(buf, "ababcf", 6))
- exit(1);
- strcpy(buf, "abcdefghi");
- bcopy(buf + 2, buf, 3);
- if (strncmp(buf, "cdedef", 6))
- exit(1);
- exit(0); /* libc version works properly. */
-}], AC_DEFINE(USEMEMCPY))
-
AC_SYS_LONG_FILE_NAMES
AC_MSG_CHECKING(for vsprintf)
diff --git a/os.h b/os.h
index e827ac9..0b41fb9 100644
--- a/os.h
+++ b/os.h
@@ -142,12 +142,8 @@ extern int errno;
# ifdef USEMEMMOVE
# define bcopy(s,d,len) memmove(d,s,len)
# else
-# ifdef USEMEMCPY
-# define bcopy(s,d,len) memcpy(d,s,len)
-# else
-# define NEED_OWN_BCOPY
-# define bcopy xbcopy
-# endif
+# define NEED_OWN_BCOPY
+# define bcopy xbcopy
# endif
#endif
diff --git a/osdef.h.in b/osdef.h.in
index 8687b60..e4057a0 100644
--- a/osdef.h.in
+++ b/osdef.h.in
@@ -58,16 +58,8 @@ extern int bcmp __P((char *, char *, int));
extern int killpg __P((int, int));
#endif
-#ifndef USEBCOPY
-# ifdef USEMEMCPY
-extern void memcpy __P((char *, char *, int));
-# else
-# ifdef USEMEMMOVE
+#if defined(USEMEMMOVE) && !defined(USEBCOPY)
extern void memmove __P((char *, char *, int));
-# else
-extern void bcopy __P((char *, char *, int));
-# endif
-# endif
#else
extern void bcopy __P((char *, char *, int));
#endif
--
1.8.4.5

View File

@ -0,0 +1,125 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Sat, 13 Sep 2014 12:04:41 +0200
Subject: Provide cross compilation alternatives for all AC_TRY_RUN uses
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
[Ricardo: rebase on top of 4.3.1]
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
---
configure.ac | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac
index b8e3bec..c4b7cd4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -348,7 +348,8 @@ main()
exit(0);
}
], AC_NOTE(- your fifos are usable) fifo=1,
-AC_NOTE(- your fifos are not usable))
+AC_NOTE(- your fifos are not usable),
+AC_NOTE(- skipping check because we are cross compiling; assuming fifos are usable) fifo=1)
rm -f /tmp/conftest*
if test -n "$fifo"; then
@@ -396,7 +397,8 @@ main()
exit(0);
}
], AC_NOTE(- your implementation is ok),
-AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1)
+AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1,
+AC_NOTE(- skipping check because we are cross compiling; assuming fifo implementation is ok))
rm -f /tmp/conftest*
fi
@@ -458,7 +460,8 @@ main()
exit(0);
}
], AC_NOTE(- your sockets are usable) sock=1,
-AC_NOTE(- your sockets are not usable))
+AC_NOTE(- your sockets are not usable),
+AC_NOTE(- skipping check because we are cross compiling; assuming sockets are usable) sock=1)
rm -f /tmp/conftest*
if test -n "$sock"; then
@@ -497,7 +500,8 @@ main()
}
],AC_NOTE(- you are normal),
AC_NOTE(- unix domain sockets are not kept in the filesystem)
-AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1)
+AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1,
+AC_NOTE(- skipping check because we are cross compiling; assuming sockets are normal))
rm -f /tmp/conftest*
fi
@@ -624,7 +628,8 @@ main()
exit(0);
}
],AC_NOTE(- select is ok),
-AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN))
+AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN),
+AC_NOTE(- skipping check because we are cross compiling; assuming select is ok))
dnl
dnl **** termcap or terminfo ****
@@ -666,7 +671,8 @@ main()
{
exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
}], AC_NOTE(- you use the termcap database),
-AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO))
+AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO),
+AC_NOTE(- skipping check because we are cross compiling; assuming terminfo database is used) AC_DEFINE(TERMINFO))
AC_CHECKING(ospeed)
AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
@@ -801,7 +807,8 @@ main()
else
AC_NOTE(- can't determine - assume ptys are world accessable)
fi
- ]
+ ],
+ AC_NOTE(- skipping check because we are cross compiling; assuming ptys are world accessable)
)
rm -f conftest_grp
fi
@@ -885,7 +892,7 @@ AC_EGREP_CPP(yes,
#endif
], load=1)
fi
-if test -z "$load" ; then
+if test -z "$load" && test "$cross_compiling" = no ; then
AC_CHECKING(for kernelfile)
for core in /unix /vmunix /dynix /hp-ux /xelos /dev/ksyms /kernel/unix /kernel/genunix /unicos /mach /netbsd /386bsd /dgux /bsd /stand/vmunix; do
if test -f $core || test -c $core; then
@@ -1078,7 +1085,7 @@ main()
#endif
exit(0);
}
-],,AC_DEFINE(SYSVSIGS))
+],,AC_DEFINE(SYSVSIGS),:)
fi
@@ -1158,7 +1165,7 @@ main() {
if (strncmp(buf, "cdedef", 6))
exit(1);
exit(0); /* libc version works properly. */
-}], AC_DEFINE(USEBCOPY))
+}], AC_DEFINE(USEBCOPY),,:)
AC_TRY_RUN([
#define bcopy(s,d,l) memmove(d,s,l)
@@ -1173,7 +1180,8 @@ main() {
if (strncmp(buf, "cdedef", 6))
exit(1);
exit(0); /* libc version works properly. */
-}], AC_DEFINE(USEMEMMOVE))
+}], AC_DEFINE(USEMEMMOVE),,
+ AC_NOTE(- skipping check because we are cross compiling; use memmove) AC_DEFINE(USEMEMMOVE))
AC_SYS_LONG_FILE_NAMES
--
1.8.4.5

View File

@ -0,0 +1,132 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Sun, 14 Sep 2014 07:10:59 +0200
Subject: When cross-compiling, skip checks that look in the host file system
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
[Ricardo: rebase on top of 4.3.1]
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
---
configure.ac | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index c4b7cd4..9cf7cee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,7 +85,7 @@ AC_ARG_ENABLE(socket-dir,
dnl
dnl **** special unix variants ****
dnl
-if test -n "$ISC"; then
+if test "$cross_compiling" = no && test -n "$ISC" ; then
AC_DEFINE(ISC) LIBS="$LIBS -linet"
fi
@@ -96,10 +96,11 @@ dnl AC_DEFINE(OSF1) # this disables MIPS again....
dnl fi
dnl fi
-if test -f /sysV68 ; then
+if test "$cross_compiling" = no && test -f /sysV68 ; then
AC_DEFINE(sysV68)
fi
+if test "$cross_compiling" = no ; then
AC_CHECKING(for MIPS)
if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then
oldlibs="$LIBS"
@@ -123,6 +124,7 @@ AC_DEFINE(USE_WAIT2) LIBS="$LIBS -lbsd" ; CC="$CC -I/usr/include/bsd"
))
fi
fi
+fi
AC_CHECKING(for Ultrix)
@@ -132,7 +134,7 @@ AC_EGREP_CPP(yes,
#endif
], ULTRIX=1)
-if test -f /usr/lib/libpyr.a ; then
+if test "$cross_compiling" = no && test -f /usr/lib/libpyr.a ; then
oldlibs="$LIBS"
LIBS="$LIBS -lpyr"
AC_CHECKING(Pyramid OSX)
@@ -679,17 +681,21 @@ AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
dnl
dnl **** PTY specific things ****
dnl
+if test "$cross_compiling" = no ; then
AC_CHECKING(for /dev/ptc)
if test -r /dev/ptc; then
AC_DEFINE(HAVE_DEV_PTC)
fi
+fi
+if test "$cross_compiling" = no ; then
AC_CHECKING(for SVR4 ptys)
sysvr4ptys=
if test -c /dev/ptmx ; then
AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS)
sysvr4ptys=1])
fi
+fi
AC_CHECK_FUNCS(getpt)
@@ -699,6 +705,7 @@ AC_CHECK_FUNCS(openpty,,
[AC_CHECK_LIB(util,openpty, [AC_DEFINE(HAVE_OPENPTY)] [LIBS="$LIBS -lutil"])])
fi
+if test "$cross_compiling" = no ; then
AC_CHECKING(for ptyranges)
if test -d /dev/ptym ; then
pdir='/dev/ptym'
@@ -722,6 +729,7 @@ p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\
AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0")
AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1")
fi
+fi
dnl **** pty mode/group handling ****
dnl
@@ -869,14 +877,16 @@ fi
dnl
dnl **** loadav ****
dnl
+if test "$cross_compiling" = no ; then
AC_CHECKING(for libutil(s))
test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
+fi
AC_CHECKING(getloadavg)
AC_TRY_LINK(,[getloadavg((double *)0, 0);],
AC_DEFINE(LOADAV_GETLOADAVG) load=1,
-if test -f /usr/lib/libkvm.a ; then
+if test "$cross_compiling" = no && test -f /usr/lib/libkvm.a ; then
olibs="$LIBS"
LIBS="$LIBS -lkvm"
AC_CHECKING(getloadavg with -lkvm)
@@ -1094,13 +1104,18 @@ dnl **** libraries ****
dnl
AC_CHECKING(for crypt and sec libraries)
+if test "$cross_compiling" = no ; then
test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d"
+fi
oldlibs="$LIBS"
LIBS="$LIBS -lcrypt"
AC_CHECKING(crypt)
AC_TRY_LINK(,,,LIBS="$oldlibs")
+if test "$cross_compiling" = no ; then
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"
+fi
+
oldlibs="$LIBS"
LIBS="$LIBS -lsun"
AC_CHECKING(IRIX sun library)
--
1.8.4.5

View File

@ -0,0 +1,54 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Sun, 14 Sep 2014 11:16:58 +0200
Subject: Avoid mis-identifying systems as SVR4
My openSUSE 13.1 Linux system was detected as SVR4 because it had
libelf installed. This leads to linking with libelf, even though no
symbols from that library were actually used, and to a workaround for
a buggy getlogin() being enabled.
It is not documented which exact SVR4 system had the bug that the
workaround was added for, so all I could do is make an educated guess
at the #defines its compiler would be likely to set.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
[Ricardo: rebase on top of 4.3.1]
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
---
configure.ac | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 9cf7cee..e09e4cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -179,14 +179,24 @@ AC_EGREP_CPP(yes,
#endif
], LIBS="$LIBS -lsocket -linet";seqptx=1)
+AC_CHECKING(SVR4)
+AC_EGREP_CPP(yes,
+[main () {
+#if defined(SVR4) || defined(__SVR4)
+ yes;
+#endif
+], AC_NOTE(- you have a SVR4 system) AC_DEFINE(SVR4) svr4=1)
+if test -n "$svr4" ; then
oldlibs="$LIBS"
LIBS="$LIBS -lelf"
AC_CHECKING(SVR4)
AC_TRY_LINK([#include <utmpx.h>
],,
-[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
-[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])]
+[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(BUGGYGETLOGIN),
+[AC_CHECK_HEADER(elf.h, AC_DEFINE(BUGGYGETLOGIN))])]
,LIBS="$oldlibs")
+fi
+
AC_CHECK_HEADERS([stropts.h string.h strings.h])
AC_CHECKING(for Solaris 2.x)
--
1.8.4.5

View File

@ -0,0 +1,39 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Sun, 14 Sep 2014 23:58:34 +0200
Subject: Do not create backup of old installed binary
This is a rather unusual feature that packagers will not expect.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
---
Makefile.in | 4 ----
1 file changed, 4 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 187a69b..65549e9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -83,12 +83,9 @@ screen: $(OFILES)
$(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 -f -s $(SCREEN) screen)
cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS)
@@ -113,7 +110,6 @@ 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
--
1.8.4.5

View File

@ -0,0 +1,29 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Mon, 15 Sep 2014 00:03:05 +0200
Subject: Change binary permission flags even if chown fails
Typically when creating a package, the build is not run as root, so
the chown will fail. But the chmod can still be done.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
---
Makefile.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index 65549e9..3c12fdb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -84,7 +84,8 @@ screen: $(OFILES)
install_bin: .version screen
$(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN)
- -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN)
+ -chown root $(DESTDIR)$(bindir)/$(SCREEN)
+ -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN)
# This doesn't work if $(bindir)/screen is a symlink
rm -f $(DESTDIR)$(bindir)/screen
(cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen)
--
1.8.4.5

View File

@ -0,0 +1,31 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Mon, 15 Sep 2014 00:06:20 +0200
Subject: Support overriding SCREEN to get a non-versioned binary
If a packager runs "make install SCREEN=screen", do not create
"screen" as a symlink to itself.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
---
Makefile.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index 3c12fdb..860f351 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -86,9 +86,11 @@ install_bin: .version screen
$(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN)
-chown root $(DESTDIR)$(bindir)/$(SCREEN)
-chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN)
+ifneq (${SCREEN},screen)
# This doesn't work if $(bindir)/screen is a symlink
rm -f $(DESTDIR)$(bindir)/screen
(cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen)
+endif
cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS)
###############################################################################
--
1.8.4.5

View File

@ -0,0 +1,43 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Mon, 15 Sep 2014 02:27:09 +0200
Subject: Ensure that installation dirs exist before copying files into them
Since the "install_bin" target requires the installation directories
to exist, it should depend on the "installdirs" target. The previous
approach of having "install" depend on "installdirs" is not reliable.
For example, in a parallel build, there was no guarantee that
"installdirs" would be finished before "install_bin" runs. Also if
the user requested only "install_bin" to be made, "installdirs" would
be skipped altogether.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
---
Makefile.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 860f351..f0fe08d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -82,7 +82,7 @@ screen: $(OFILES)
$(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(CPPFLAGS) $(DEFS) \
$(OPTIONS) $(CFLAGS) $<
-install_bin: .version screen
+install_bin: .version screen installdirs
$(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN)
-chown root $(DESTDIR)$(bindir)/$(SCREEN)
-chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN)
@@ -94,7 +94,7 @@ endif
cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS)
###############################################################################
-install: installdirs install_bin
+install: install_bin
cd doc ; $(MAKE) install
-if [ -d /usr/lib/terminfo ]; then \
PATH="$$PATH:/usr/5bin" tic ${srcdir}/terminfo/screeninfo.src; \
--
1.8.4.5

View File

@ -0,0 +1,142 @@
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Mon, 15 Sep 2014 00:24:41 +0200
Subject: Renamed sched.h to eventqueue.h
There is a <sched.h> system header that got shadowed by "sched.h".
While Screen itself doesn't include <sched.h>, other system headers
might include it indirectly. This broke the build when using uClibc
with pthread support.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
---
eventqueue.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
sched.h | 48 ------------------------------------------------
screen.h | 2 +-
3 files changed, 49 insertions(+), 49 deletions(-)
create mode 100644 eventqueue.h
delete mode 100644 sched.h
diff --git a/eventqueue.h b/eventqueue.h
new file mode 100644
index 0000000..fdc3fc4
--- /dev/null
+++ b/eventqueue.h
@@ -0,0 +1,48 @@
+/* Copyright (c) 2008, 2009
+ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
+ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
+ * Micah Cowan (micah@cowan.name)
+ * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net)
+ * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007
+ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
+ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
+ * Copyright (c) 1987 Oliver Laumann
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program (see the file COPYING); if not, see
+ * http://www.gnu.org/licenses/, or contact Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+ *
+ ****************************************************************
+ * $Id$ GNU
+ */
+
+struct event
+{
+ struct event *next;
+ void (*handler) __P((struct event *, char *));
+ char *data;
+ int fd;
+ int type;
+ int pri;
+ struct timeval timeout;
+ int queued; /* in evs queue */
+ int active; /* in fdset */
+ int *condpos; /* only active if condpos - condneg > 0 */
+ int *condneg;
+};
+
+#define EV_TIMEOUT 0
+#define EV_READ 1
+#define EV_WRITE 2
+#define EV_ALWAYS 3
diff --git a/sched.h b/sched.h
deleted file mode 100644
index fdc3fc4..0000000
--- a/sched.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (c) 2008, 2009
- * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
- * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
- * Micah Cowan (micah@cowan.name)
- * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net)
- * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007
- * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
- * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
- * Copyright (c) 1987 Oliver Laumann
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program (see the file COPYING); if not, see
- * http://www.gnu.org/licenses/, or contact Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
- *
- ****************************************************************
- * $Id$ GNU
- */
-
-struct event
-{
- struct event *next;
- void (*handler) __P((struct event *, char *));
- char *data;
- int fd;
- int type;
- int pri;
- struct timeval timeout;
- int queued; /* in evs queue */
- int active; /* in fdset */
- int *condpos; /* only active if condpos - condneg > 0 */
- int *condneg;
-};
-
-#define EV_TIMEOUT 0
-#define EV_READ 1
-#define EV_WRITE 2
-#define EV_ALWAYS 3
diff --git a/screen.h b/screen.h
index 603ca3f..34238c8 100644
--- a/screen.h
+++ b/screen.h
@@ -43,7 +43,7 @@
#include "osdef.h"
#include "ansi.h"
-#include "sched.h"
+#include "eventqueue.h"
#include "acls.h"
#include "comm.h"
#include "layer.h"
--
1.8.4.5