Added screen.
This commit is contained in:
parent
3314f83868
commit
fa4ba223cf
59
rules/screen/default.bash
Normal file
59
rules/screen/default.bash
Normal 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
|
||||
}
|
||||
|
||||
|
62
rules/screen/patches/0001-compiler-sanity-checks.patch
Normal file
62
rules/screen/patches/0001-compiler-sanity-checks.patch
Normal 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
|
||||
|
124
rules/screen/patches/0002-no-memcpy-fallback.patch
Normal file
124
rules/screen/patches/0002-no-memcpy-fallback.patch
Normal 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
|
||||
|
125
rules/screen/patches/0003-cross-compilation-AC_TRY_RUN.patch
Normal file
125
rules/screen/patches/0003-cross-compilation-AC_TRY_RUN.patch
Normal 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
|
||||
|
132
rules/screen/patches/0004-cross-compilation-ignore-host-fs.patch
Normal file
132
rules/screen/patches/0004-cross-compilation-ignore-host-fs.patch
Normal 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
|
||||
|
54
rules/screen/patches/0005-avoid-identifying-as-SVR4.patch
Normal file
54
rules/screen/patches/0005-avoid-identifying-as-SVR4.patch
Normal 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
|
||||
|
39
rules/screen/patches/0006-install-no-backup-binary.patch
Normal file
39
rules/screen/patches/0006-install-no-backup-binary.patch
Normal 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
|
||||
|
29
rules/screen/patches/0007-install-always-chmod.patch
Normal file
29
rules/screen/patches/0007-install-always-chmod.patch
Normal 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
|
||||
|
31
rules/screen/patches/0008-install-nonversioned-binary.patch
Normal file
31
rules/screen/patches/0008-install-nonversioned-binary.patch
Normal 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
|
||||
|
43
rules/screen/patches/0009-install-dir-dependency.patch
Normal file
43
rules/screen/patches/0009-install-dir-dependency.patch
Normal 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
|
||||
|
142
rules/screen/patches/0010-rename-sched_h.patch
Normal file
142
rules/screen/patches/0010-rename-sched_h.patch
Normal 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
|
||||
|
Reference in New Issue
Block a user