initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
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>
|
||||
[Bernd: rebase on top of 4.7.0]
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
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
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
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>
|
||||
[baruch: update for 4.6.2]
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
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 installdirs
|
||||
- -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
+ * https://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
|
||||
- * https://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
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 39c5f1c76f1fcef4b5958bf828a63f53426b6984 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gerwitz <mike@mikegerwitz.com>
|
||||
Date: Tue, 24 Dec 2013 22:16:31 -0500
|
||||
Subject: comm.h now depends on term.h
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Patch retrieved and updated from:
|
||||
http://git.savannah.gnu.org/cgit/screen.git/commit/?id=39c5f1c]
|
||||
---
|
||||
src/Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index e791e79..d4f7c0b 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -113,7 +113,7 @@ term.h: term.c term.sh
|
||||
|
||||
kmapdef.c: term.h
|
||||
|
||||
-comm.h: comm.c comm.sh config.h
|
||||
+comm.h: comm.c comm.sh config.h term.h
|
||||
AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
|
||||
|
||||
docs:
|
||||
--
|
||||
cgit v1.0-41-gc330
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From b719314d201a3e9e1e57c65746a468c47bfc847f Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Wed, 3 Oct 2018 22:29:32 +0200
|
||||
Subject: [PATCH] comm.h needed for list_{display,generic}.o
|
||||
|
||||
comm.h is needed to build list_display.o and list_generic.o otherwise
|
||||
parallel builds will sometimes fail
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/43105f14857dbe72d8878fc7b3db67f7bdca93cc
|
||||
- http://autobuild.buildroot.org/results/47f4ecbec1355285633df287fc9c4e7cccde9378
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Upstream status: https://savannah.gnu.org/bugs/index.php?54776]
|
||||
---
|
||||
Makefile.in | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index af5938b..e6d5247 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -265,7 +265,7 @@ braille.h
|
||||
viewport.o: layout.h viewport.h canvas.h viewport.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
|
||||
-list_generic.o: list_generic.h list_generic.c layer.h screen.h osdef.h
|
||||
-list_display.o: list_generic.h list_display.c layer.h screen.h osdef.h
|
||||
+list_generic.o: list_generic.h list_generic.c layer.h screen.h osdef.h comm.h
|
||||
+list_display.o: list_generic.h list_display.c layer.h screen.h osdef.h comm.h
|
||||
list_window.o: list_generic.h list_window.c window.h layer.h screen.h osdef.h comm.h
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
Description: [CVE-2021-26937] Fix out of bounds array access
|
||||
Author: Michael Schröder <mls@suse.de>
|
||||
Bug-Debian: https://bugs.debian.org/982435
|
||||
Bug: https://savannah.gnu.org/bugs/?60030
|
||||
Bug: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00000.html
|
||||
Bug-OSS-Security: https://www.openwall.com/lists/oss-security/2021/02/09/3
|
||||
Origin: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00010.html
|
||||
|
||||
Downloaded from Debian:
|
||||
https://sources.debian.org/data/main/s/screen/4.8.0-5/debian/patches/99_CVE-2021-26937.patch
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
--- a/encoding.c
|
||||
+++ b/encoding.c
|
||||
@@ -43,7 +43,7 @@
|
||||
# ifdef UTF8
|
||||
static int recode_char __P((int, int, int));
|
||||
static int recode_char_to_encoding __P((int, int));
|
||||
-static void comb_tofront __P((int, int));
|
||||
+static void comb_tofront __P((int));
|
||||
# ifdef DW_CHARS
|
||||
static int recode_char_dw __P((int, int *, int, int));
|
||||
static int recode_char_dw_to_encoding __P((int, int *, int));
|
||||
@@ -1263,6 +1263,8 @@
|
||||
{0x30000, 0x3FFFD},
|
||||
};
|
||||
|
||||
+ if (c >= 0xdf00 && c <= 0xdfff)
|
||||
+ return 1; /* dw combining sequence */
|
||||
return ((bisearch(c, wide, sizeof(wide) / sizeof(struct interval) - 1)) ||
|
||||
(cjkwidth &&
|
||||
bisearch(c, ambiguous,
|
||||
@@ -1330,11 +1332,12 @@
|
||||
}
|
||||
|
||||
static void
|
||||
-comb_tofront(root, i)
|
||||
-int root, i;
|
||||
+comb_tofront(i)
|
||||
+int i;
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
+ int root = i >= 0x700 ? 0x801 : 0x800;
|
||||
debug1("bring to front: %x\n", i);
|
||||
combchars[combchars[i]->prev]->next = combchars[i]->next;
|
||||
combchars[combchars[i]->next]->prev = combchars[i]->prev;
|
||||
@@ -1396,9 +1399,9 @@
|
||||
{
|
||||
/* full, recycle old entry */
|
||||
if (c1 >= 0xd800 && c1 < 0xe000)
|
||||
- comb_tofront(root, c1 - 0xd800);
|
||||
+ comb_tofront(c1 - 0xd800);
|
||||
i = combchars[root]->prev;
|
||||
- if (c1 == i + 0xd800)
|
||||
+ if (i == 0x800 || i == 0x801 || c1 == i + 0xd800)
|
||||
{
|
||||
/* completely full, can't recycle */
|
||||
debug("utf8_handle_comp: completely full!\n");
|
||||
@@ -1422,7 +1425,7 @@
|
||||
mc->font = (i >> 8) + 0xd8;
|
||||
mc->fontx = 0;
|
||||
debug3("combinig char %x %x -> %x\n", c1, c, i + 0xd800);
|
||||
- comb_tofront(root, i);
|
||||
+ comb_tofront(i);
|
||||
}
|
||||
|
||||
#else /* !UTF8 */
|
||||
@@ -0,0 +1,14 @@
|
||||
config BR2_PACKAGE_SCREEN
|
||||
bool "screen"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
select BR2_PACKAGE_NCURSES
|
||||
help
|
||||
Screen is a full-screen window manager that multiplexes a
|
||||
physical terminal between several processes, typically
|
||||
interactive shells. Each virtual terminal provides the
|
||||
functions of the DEC VT100 terminal and, in addition,
|
||||
several control functions from the ANSI X3.64 (ISO 6429) and
|
||||
ISO 2022 standards (e.g., insert/delete line and support for
|
||||
multiple character sets).
|
||||
|
||||
http://www.gnu.org/software/screen/
|
||||
@@ -0,0 +1,5 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://ftp.gnu.org/gnu/screen/screen-4.8.0.tar.gz.sig
|
||||
sha256 6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1 screen-4.8.0.tar.gz
|
||||
# Locally calculated
|
||||
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
|
||||
@@ -0,0 +1,42 @@
|
||||
################################################################################
|
||||
#
|
||||
# screen
|
||||
#
|
||||
################################################################################
|
||||
|
||||
SCREEN_VERSION = 4.8.0
|
||||
SCREEN_SITE = $(BR2_GNU_MIRROR)/screen
|
||||
SCREEN_LICENSE = GPL-3.0+
|
||||
SCREEN_LICENSE_FILES = COPYING
|
||||
SCREEN_CPE_ID_VENDOR = gnu
|
||||
SCREEN_SELINUX_MODULES = screen
|
||||
SCREEN_DEPENDENCIES = ncurses
|
||||
SCREEN_AUTORECONF = YES
|
||||
SCREEN_CONF_ENV = CFLAGS="$(TARGET_CFLAGS)"
|
||||
SCREEN_CONF_OPTS = --enable-colors256
|
||||
SCREEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) SCREEN=screen install_bin
|
||||
|
||||
# 0008_CVE-2021-26937.patch
|
||||
SCREEN_IGNORE_CVES += CVE-2021-26937
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
|
||||
SCREEN_DEPENDENCIES += linux-pam
|
||||
SCREEN_CONF_OPTS += --enable-pam
|
||||
else
|
||||
SCREEN_CONF_OPTS += --disable-pam
|
||||
endif
|
||||
|
||||
define SCREEN_INSTALL_SCREENRC
|
||||
$(INSTALL) -m 0755 -D $(@D)/etc/screenrc $(TARGET_DIR)/etc/screenrc
|
||||
endef
|
||||
SCREEN_POST_INSTALL_TARGET_HOOKS += SCREEN_INSTALL_SCREENRC
|
||||
|
||||
# Add /usr/bin/screen to /etc/shells otherwise some login tools like dropbear
|
||||
# can reject the user connection. See man shells.
|
||||
define SCREEN_ADD_SCREEN_TO_SHELLS
|
||||
grep -qsE '^/usr/bin/screen$$' $(TARGET_DIR)/etc/shells \
|
||||
|| echo "/usr/bin/screen" >> $(TARGET_DIR)/etc/shells
|
||||
endef
|
||||
SCREEN_TARGET_FINALIZE_HOOKS += SCREEN_ADD_SCREEN_TO_SHELLS
|
||||
|
||||
$(eval $(autotools-package))
|
||||
Reference in New Issue
Block a user