mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-17 18:06:59 +02:00
sys-libs/ncurses: update to 6.2_p20210619
Update sys-libs/ncurses to 6.2_p20210619, mainly to address CVE-2021-39537.
This commit is contained in:
parent
49eaaefc82
commit
da0f8fde32
@ -1 +1,2 @@
|
||||
DIST ncurses-6.2-20210619-patch.sh.bz2 836967 BLAKE2B f210bf25c33f11d67e54a6f416aae75f0a976880ea543408780fd3a8dc992ee8d9999bf15c925c79504be0f30ade4bbfaed763abedd2b2d6b35de65b353a6314 SHA512 b8392bf6c0b7570766ae31a043df311660201265dfe3e2e49425b1e2aa08c72030b5f5b6c7871532897596262c88a7192e3ff2adfdc618f1b9c13c22c373eeb3
|
||||
DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d
|
||||
|
@ -1,46 +0,0 @@
|
||||
https://bugs.gentoo.org/545114
|
||||
|
||||
extracted from the upstream change (which had many unrelated commits in one)
|
||||
|
||||
From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001
|
||||
From: "Thomas E. Dickey" <dickey@invisible-island.net>
|
||||
Date: Sun, 7 Dec 2014 03:10:09 +0000
|
||||
Subject: [PATCH] ncurses 5.9 - patch 20141206
|
||||
|
||||
+ modify MKlib_gen.sh to work around change in development version of
|
||||
gcc introduced here:
|
||||
https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
|
||||
https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html
|
||||
(reports by Marcus Shawcroft, Maohui Lei).
|
||||
|
||||
diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
|
||||
index d8cc3c9..b91398c 100755
|
||||
--- a/ncurses/base/MKlib_gen.sh
|
||||
+++ b/ncurses/base/MKlib_gen.sh
|
||||
@@ -474,11 +474,22 @@ sed -n -f $ED1 \
|
||||
-e 's/gen_$//' \
|
||||
-e 's/ / /g' >>$TMP
|
||||
|
||||
+cat >$ED1 <<EOF
|
||||
+s/ / /g
|
||||
+s/^ //
|
||||
+s/ $//
|
||||
+s/P_NCURSES_BOOL/NCURSES_BOOL/g
|
||||
+EOF
|
||||
+
|
||||
+# A patch discussed here:
|
||||
+# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
|
||||
+# introduces spurious #line markers. Work around that by ignoring the system's
|
||||
+# attempt to define "bool" and using our own symbol here.
|
||||
+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
|
||||
+cat $ED2 >$TMP
|
||||
+
|
||||
$preprocessor $TMP 2>/dev/null \
|
||||
-| sed \
|
||||
- -e 's/ / /g' \
|
||||
- -e 's/^ //' \
|
||||
- -e 's/_Bool/NCURSES_BOOL/g' \
|
||||
+| sed -f $ED1 \
|
||||
| $AWK -f $AW2 \
|
||||
| sed -f $ED3 \
|
||||
| sed \
|
@ -1,40 +0,0 @@
|
||||
From be554be06475b36da2f69aabfd873ad55f7ef95c Mon Sep 17 00:00:00 2001
|
||||
From: Lars Wendler <polynomial-c@gentoo.org>
|
||||
Date: Thu, 13 Feb 2020 11:51:09 +0100
|
||||
Subject: [PATCH] Don't bleed user LDFLAGS into Libs
|
||||
|
||||
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
|
||||
---
|
||||
misc/gen-pkgconfig.in | 2 +-
|
||||
misc/ncurses-config.in | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in
|
||||
index 8f00b824..009d2156 100644
|
||||
--- a/misc/gen-pkgconfig.in
|
||||
+++ b/misc/gen-pkgconfig.in
|
||||
@@ -80,7 +80,7 @@ if [ "$includedir" != "/usr/include" ]; then
|
||||
fi
|
||||
|
||||
lib_flags=
|
||||
-for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@
|
||||
+for opt in -L$libdir @LIBS@
|
||||
do
|
||||
case $opt in
|
||||
-l*) # LIBS is handled specially below
|
||||
diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in
|
||||
index 7f8ba697..2f1915cd 100644
|
||||
--- a/misc/ncurses-config.in
|
||||
+++ b/misc/ncurses-config.in
|
||||
@@ -101,7 +101,7 @@ fi
|
||||
# There is no portable way to find the list of standard library directories.
|
||||
# Require a POSIX shell anyway, to keep this simple.
|
||||
lib_flags=
|
||||
-for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ $LIBS
|
||||
+for opt in -L$libdir $LIBS
|
||||
do
|
||||
case $opt in
|
||||
-specs*) # ignore linker specs-files which were used to build library
|
||||
--
|
||||
2.25.0
|
||||
|
@ -14,22 +14,22 @@ one; it should mirror what the first patch tries to achieve and works for me.
|
||||
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2938,10 +2938,6 @@
|
||||
echo "$as_me:2938: checking if $CXX works" >&5
|
||||
@@ -3459,10 +3459,6 @@
|
||||
echo "$as_me:3459: checking if $CXX works" >&5
|
||||
echo $ECHO_N "checking if $CXX works... $ECHO_C" >&6
|
||||
|
||||
- save_CPPFLAGS="$CPPFLAGS"
|
||||
- eval cf_includedir=${includedir}
|
||||
- CPPFLAGS="$CPPFLAGS -I${cf_includedir}"
|
||||
-
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line 2946 "configure"
|
||||
cat >"conftest.$ac_ext" <<_ACEOF
|
||||
#line 3467 "configure"
|
||||
#include "confdefs.h"
|
||||
@@ -2978,7 +2974,6 @@
|
||||
@@ -3499,7 +3495,6 @@
|
||||
cf_cxx_works=no
|
||||
fi
|
||||
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
|
||||
- CPPFLAGS="$save_CPPFLAGS"
|
||||
|
||||
echo "$as_me:2983: result: $cf_cxx_works" >&5
|
||||
echo "$as_me:3504: result: $cf_cxx_works" >&5
|
||||
echo "${ECHO_T}$cf_cxx_works" >&6
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>base-system@gentoo.org</email>
|
||||
@ -15,6 +15,7 @@
|
||||
<flag name="trace">Enable test trace() support in ncurses calls</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<changelog>https://invisible-island.net/ncurses/NEWS.html</changelog>
|
||||
<remote-id type="cpe">cpe:/a:gnu:ncurses</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic toolchain-funcs multilib-minimal preserve-libs usr-ldscript
|
||||
inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript
|
||||
|
||||
MY_PV="${PV:0:3}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
@ -14,13 +14,14 @@ SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz"
|
||||
if [[ "${PV}" == *_p* ]] ; then
|
||||
SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2
|
||||
https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2"
|
||||
#SRC_URI+=" https://dev.gentoo.org/~polynomial-c/dist/${P}.patch.xz"
|
||||
fi
|
||||
|
||||
LICENSE="MIT"
|
||||
# The subslot reflects the SONAME.
|
||||
SLOT="0/6"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="ada +cxx debug doc gpm minimal profile static-libs symlink-usr test threads tinfo trace unicode"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
|
||||
@ -34,25 +35,18 @@ RDEPEND="${DEPEND}
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
MINIMAL_TERMINFO=(
|
||||
ansi console dumb linux rxvt rxvt-256color rxvt-unicode rxvt-unicode-256color
|
||||
screen screen-16color screen-256color sun vt{52,100,102,200,220}
|
||||
xterm xterm-color xterm-256color xterm-xfree86
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-5.7-nongnu.patch"
|
||||
"${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
|
||||
"${FILESDIR}/${PN}-6.0-pkg-config.patch"
|
||||
"${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114
|
||||
"${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
|
||||
"${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426
|
||||
"${FILESDIR}/${PN}-6.2-no_user_ldflags_in_libs.patch"
|
||||
"${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if [[ "${PV}" == *_p* ]] ; then
|
||||
eapply "${WORKDIR}"/${P/_p/-}-patch.sh
|
||||
#eapply "${WORKDIR}/${P}.patch"
|
||||
fi
|
||||
default
|
||||
}
|
||||
@ -69,9 +63,9 @@ src_configure() {
|
||||
# checking configure flags.
|
||||
NCURSES_TARGETS=(
|
||||
ncurses
|
||||
$(usex unicode 'ncursesw' '')
|
||||
$(usex threads 'ncursest' '')
|
||||
$(use unicode && usex threads 'ncursestw' '')
|
||||
ncursesw
|
||||
ncursest
|
||||
ncursestw
|
||||
)
|
||||
|
||||
# When installing ncurses, we have to use a compatible version of tic.
|
||||
@ -93,6 +87,7 @@ src_configure() {
|
||||
|
||||
# We can't re-use the multilib BUILD_DIR because we run outside of it.
|
||||
BUILD_DIR="${WORKDIR}" \
|
||||
CC=${BUILD_CC} \
|
||||
CHOST=${CBUILD} \
|
||||
CFLAGS=${BUILD_CFLAGS} \
|
||||
CXXFLAGS=${BUILD_CXXFLAGS} \
|
||||
@ -111,10 +106,6 @@ multilib_src_configure() {
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
# Flatcar: Also allow writes to /dev/ptmx, which sometimes
|
||||
# causes the sandbox to fail Jenkins builds.
|
||||
addwrite /dev/ptmx
|
||||
|
||||
local target=$1
|
||||
shift
|
||||
|
||||
@ -168,6 +159,7 @@ do_configure() {
|
||||
$(use_with trace)
|
||||
$(use_with tinfo termlib)
|
||||
--disable-stripping
|
||||
--disable-pkg-ldflags
|
||||
)
|
||||
|
||||
if [[ ${target} == ncurses*w ]] ; then
|
||||
@ -197,7 +189,7 @@ do_configure() {
|
||||
|
||||
# Force bash until upstream rebuilds the configure script with a newer
|
||||
# version of autotools. #545532
|
||||
CONFIG_SHELL=${EPREFIX}/bin/bash \
|
||||
#CONFIG_SHELL=${EPREFIX}/bin/bash \
|
||||
ECONF_SOURCE="${S}" \
|
||||
econf "${conf[@]}" "$@"
|
||||
}
|
||||
@ -258,8 +250,7 @@ multilib_src_install() {
|
||||
if multilib_is_native_abi ; then
|
||||
gen_usr_ldscript -a \
|
||||
"${NCURSES_TARGETS[@]}" \
|
||||
$(use tinfo && usex unicode 'tinfow' '') \
|
||||
$(usev tinfo)
|
||||
$(usex tinfo 'tinfow tinfo' '')
|
||||
fi
|
||||
if ! tc-is-static-only ; then
|
||||
# Provide a link for -lcurses.
|
||||
@ -280,13 +271,24 @@ multilib_src_install() {
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
# Flatcar: Add a symlink-usr USE flag for keeping a minimal
|
||||
# set of terminfo files in /usr/share/terminfo.
|
||||
if ! use symlink-usr ; then
|
||||
# if ! use berkdb ; then
|
||||
# We need the basic terminfo files in /etc for embedded/recovery. #37026
|
||||
einfo "Installing basic terminfo files in /etc..."
|
||||
local terms=(
|
||||
# Dumb/simple values that show up when using the in-kernel VT.
|
||||
ansi console dumb linux
|
||||
vt{52,100,102,200,220}
|
||||
# [u]rxvt users used to be pretty common. Probably should drop this
|
||||
# since upstream is dead and people are moving away from it.
|
||||
rxvt{,-unicode}{,-256color}
|
||||
# xterm users are common, as is terminals re-using/spoofing it.
|
||||
xterm xterm-{,256}color
|
||||
# screen is common (and reused by tmux).
|
||||
screen{,-256color}
|
||||
screen.xterm-256color
|
||||
)
|
||||
local x
|
||||
for x in "${MINIMAL_TERMINFO[@]}"; do
|
||||
for x in "${terms[@]}"; do
|
||||
local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
|
||||
local basedir=$(basename "$(dirname "${termfile}")")
|
||||
|
||||
@ -297,19 +299,13 @@ multilib_src_install_all() {
|
||||
"/usr/share/terminfo/${basedir}/${x}"
|
||||
fi
|
||||
done
|
||||
# fi
|
||||
|
||||
echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
|
||||
|
||||
use minimal && rm -r "${ED}"/usr/share/terminfo*
|
||||
# Because ncurses5-config --terminfo returns the directory we keep it
|
||||
keepdir /usr/share/terminfo #245374
|
||||
elif use minimal; then
|
||||
# prune all files and symlinks not listed in MINIMAL_TERMINFO
|
||||
find "${D}"/usr/share/terminfo ! -type d \
|
||||
${MINIMAL_TERMINFO[@]/#/! -name } \
|
||||
-delete || die
|
||||
find "${D}"/usr/share/terminfo -type d -empty -delete || die
|
||||
fi
|
||||
|
||||
cd "${S}" || die
|
||||
dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
|
||||
@ -321,10 +317,10 @@ multilib_src_install_all() {
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /$(get_libdir)/libncurses.so.5
|
||||
use unicode && preserve_old_lib /$(get_libdir)/libncursesw.so.5
|
||||
preserve_old_lib /$(get_libdir)/libncursesw.so.5
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
|
||||
use unicode && preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
|
||||
preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
|
||||
}
|
Loading…
Reference in New Issue
Block a user