Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-shells/dash/, app-shells/dash/files/
Date: Sat, 09 Jan 2021 14:56:42
Message-Id: 1610204193.699457813484ed203c50f1bbc404b16676a57c81.polynomial-c@gentoo
1 commit: 699457813484ed203c50f1bbc404b16676a57c81
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 9 14:50:36 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 9 14:56:33 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69945781
7
8 app-shells/dash: Security revbump to fix -n calls
9
10 Bug: https://bugs.gentoo.org/754267
11 Package-Manager: Portage-3.0.12, Repoman-3.0.2
12 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
13
14 app-shells/dash/dash-0.5.11.3-r1.ebuild | 61 ++++++++++++++++++++++
15 .../dash-0.5.11.3-check_nflag_in_evaltree.patch | 46 ++++++++++++++++
16 2 files changed, 107 insertions(+)
17
18 diff --git a/app-shells/dash/dash-0.5.11.3-r1.ebuild b/app-shells/dash/dash-0.5.11.3-r1.ebuild
19 new file mode 100644
20 index 00000000000..1c194ba1661
21 --- /dev/null
22 +++ b/app-shells/dash/dash-0.5.11.3-r1.ebuild
23 @@ -0,0 +1,61 @@
24 +# Copyright 1999-2021 Gentoo Authors
25 +# Distributed under the terms of the GNU General Public License v2
26 +
27 +EAPI=7
28 +
29 +inherit flag-o-matic toolchain-funcs
30 +
31 +DESCRIPTION="Debian Almquist Shell"
32 +HOMEPAGE="http://gondor.apana.org.au/~herbert/dash/"
33 +SRC_URI="http://gondor.apana.org.au/~herbert/dash/files/${P}.tar.gz"
34 +
35 +LICENSE="BSD"
36 +SLOT="0"
37 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
38 +IUSE="libedit static"
39 +
40 +BDEPEND="virtual/pkgconfig"
41 +RDEPEND="!static? ( libedit? ( dev-libs/libedit ) )"
42 +DEPEND="${RDEPEND}
43 + libedit? ( static? ( dev-libs/libedit[static-libs] ) )"
44 +
45 +PATCHES=(
46 + "${FILESDIR}/${PN}-0.5.11.3-check_nflag_in_evaltree.patch" #754267
47 +)
48 +
49 +src_prepare() {
50 + default
51 +
52 + # Fix the invalid sort
53 + sed -i -e 's/LC_COLLATE=C/LC_ALL=C/g' src/mkbuiltins
54 +
55 + # Use pkg-config for libedit linkage
56 + sed -i \
57 + -e "/LIBS/s:-ledit:\`$(tc-getPKG_CONFIG) --libs libedit $(usex static --static '')\`:" \
58 + configure || die
59 +}
60 +
61 +src_configure() {
62 + if [[ ${CHOST} == *-solaris* ]] ; then
63 + # don't redefine stat, open, dirent, etc. on Solaris
64 + export ac_cv_func_stat64=yes
65 + export ac_cv_func_open64=yes
66 +
67 + # if your headers strictly adhere to POSIX, you'll need this too
68 + [[ ${CHOST##*solaris2.} -le 10 ]] && append-cppflags -DNAME_MAX=255
69 + fi
70 + if [[ ${CHOST} == powerpc-*-darwin* ]] ; then
71 + sed -i -e 's/= stpncpy(s, \([^,]\+\), \([0-9]\+\))/+= snprintf(s, \2, "%s", \1)/' \
72 + src/jobs.c || die
73 + fi
74 + append-cppflags -DJOBS=$(usex libedit 1 0)
75 + use static && append-ldflags -static
76 + # Do not pass --enable-glob due to #443552.
77 + local myeconfargs=(
78 + CC_FOR_BUILD="$(tc-getBUILD_CC)"
79 + --bindir="${EPREFIX}"/bin
80 + --enable-fnmatch
81 + $(use_with libedit)
82 + )
83 + econf "${myeconfargs[@]}"
84 +}
85
86 diff --git a/app-shells/dash/files/dash-0.5.11.3-check_nflag_in_evaltree.patch b/app-shells/dash/files/dash-0.5.11.3-check_nflag_in_evaltree.patch
87 new file mode 100644
88 index 00000000000..94740223fc8
89 --- /dev/null
90 +++ b/app-shells/dash/files/dash-0.5.11.3-check_nflag_in_evaltree.patch
91 @@ -0,0 +1,46 @@
92 +From 29d6f2148f10213de4e904d515e792d2cf8c968e Mon Sep 17 00:00:00 2001
93 +From: Herbert Xu <herbert@××××××××××××××××.au>
94 +Date: Thu, 4 Jun 2020 21:53:55 +1000
95 +Subject: eval: Check nflag in evaltree instead of cmdloop
96 +
97 +This patch moves the nflag check from cmdloop into evaltree. This
98 +is so that nflag will be in force even if we enter the shell via a
99 +path other than cmdloop, e.g., through sh -c.
100 +
101 +Reported-by: Joey Hess <id@×××××.name>
102 +Signed-off-by: Herbert Xu <herbert@××××××××××××××××.au>
103 +---
104 + src/eval.c | 3 +++
105 + src/main.c | 2 +-
106 + 2 files changed, 4 insertions(+), 1 deletion(-)
107 +
108 +diff --git a/src/eval.c b/src/eval.c
109 +index d10be38..9476fbb 100644
110 +--- a/src/eval.c
111 ++++ b/src/eval.c
112 +@@ -213,6 +213,9 @@ evaltree(union node *n, int flags)
113 +
114 + setstackmark(&smark);
115 +
116 ++ if (nflag)
117 ++ goto out;
118 ++
119 + if (n == NULL) {
120 + TRACE(("evaltree(NULL) called\n"));
121 + goto out;
122 +diff --git a/src/main.c b/src/main.c
123 +index 7a28534..5c49fdc 100644
124 +--- a/src/main.c
125 ++++ b/src/main.c
126 +@@ -233,7 +233,7 @@ cmdloop(int top)
127 + out2str("\nUse \"exit\" to leave shell.\n");
128 + }
129 + numeof++;
130 +- } else if (nflag == 0) {
131 ++ } else {
132 + int i;
133 +
134 + job_warning = (job_warning == 2) ? 1 : 0;
135 +--
136 +cgit 1.2.3-1.el7
137 +