app-shells/dash: remove old

Signed-off-by: Mike Gilbert <floppym@gentoo.org>
This commit is contained in:
Mike Gilbert
2020-05-02 14:46:18 -04:00
parent 8150f54880
commit 4f5d52641c
5 changed files with 0 additions and 319 deletions

View File

@@ -1,3 +1,2 @@
DIST dash-0.5.10.1.tar.gz 225253 BLAKE2B 55dbdca7f01d19656e002d6e210bcae920619e2e88d4d174a3e08cbbc40bf867ece3f24ce9690ec64f95b1f0995ab35cabc08381ac031a33b55282cec0b09e73 SHA512 7ca3bbcf8bac84d359cde710a9ab393f05cf8522e969a2c110d2e71620e53f349387128045e68738dc621afe0b48f43ae3d32851187f2ae02d49b3e2575ffa6b
DIST dash-0.5.10.2.tar.gz 225196 BLAKE2B af48879d29aee8041949b51f08eb89c3938e77b2e05553a3e1a9939da7b00fd80f7b9fb35f33e18b0c11850bfb1b8377e9dc9bcfd80754fd29c9d160e0ce5a4d SHA512 0ae29be77794df0ba254967649b9728611a75fbb3acd32ab6634d76399d1ce97c7d12d31da465482a7e4f3207093415c496c39525cace9b78ab3cb9444dd7640
DIST dash-0.5.9.1.tar.gz 225217 BLAKE2B a80aa00ea5418d00b03c9ded21ef5c3a28d599059d1ac2f20082867b71ece6afac2f0bce9bc09946450c7618ad2c7f95df63b3d519a7f56552a291d09e44a71b SHA512 d56a043b8fab4693d3f70cceb531c37174e7ded4acd5549e53048d7ce29125ff21d7e758f51a4a73e06250d051e246467039989275838c19a2579edea3f72b7d

View File

@@ -1,79 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic toolchain-funcs versionator
#MY_PV="$(get_version_component_range 1-3)"
DEB_PATCH="" #$(get_version_component_range 4)
#MY_P="${PN}-${MY_PV}"
DESCRIPTION="Debian Almquist Shell"
HOMEPAGE="http://gondor.apana.org.au/~herbert/dash/"
SRC_URI="http://gondor.apana.org.au/~herbert/dash/files/${P}.tar.gz"
if [[ -n "${DEB_PATCH}" ]] ; then
DEB_PF="${PN}_${MY_PV}-${DEB_PATCH}"
SRC_URI+=" mirror://debian/pool/main/d/dash/${DEB_PF}.diff.gz"
fi
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="libedit static vanilla"
RDEPEND="!static? ( libedit? ( dev-libs/libedit ) )"
DEPEND="${RDEPEND}
virtual/pkgconfig
libedit? ( static? ( dev-libs/libedit[static-libs] ) )"
PATCHES=(
"${FILESDIR}"/${PN}-0.5.9.1-format-security.patch
"${FILESDIR}"/${P}-parser.patch
)
src_prepare() {
if [[ -n "${DEB_PATCH}" ]] ; then
eapply "${WORKDIR}"/${DEB_PF}.diff
eapply */debian/diff/*
fi
#337329 #527848
use vanilla || eapply "${FILESDIR}"/${PN}-0.5.10-dumb-echo.patch
default
# Fix the invalid sort
sed -i -e 's/LC_COLLATE=C/LC_ALL=C/g' src/mkbuiltins
# Use pkg-config for libedit linkage
sed -i \
-e "/LIBS/s:-ledit:\`$(tc-getPKG_CONFIG) --libs libedit $(usex static --static '')\`:" \
configure || die
}
src_configure() {
# don't redefine stat on Solaris
if [[ ${CHOST} == *-solaris* ]] ; then
export ac_cv_func_stat64=yes
fi
append-cppflags -DJOBS=$(usex libedit 1 0)
use static && append-ldflags -static
# Do not pass --enable-glob due to #443552.
# Autotools use $LINENO as a proxy for extended debug support
# (i.e. they're running bash), so disable that. #527644
local myeconfargs=(
--bindir="${EPREFIX}"/bin
--enable-fnmatch
--disable-lineno
$(use_with libedit)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
if [[ -n "${DEB_PATCH}" ]] ; then
dodoc */debian/changelog
fi
}

View File

@@ -1,81 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic toolchain-funcs versionator
#MY_PV="$(get_version_component_range 1-3)"
DEB_PATCH="" #$(get_version_component_range 4)
#MY_P="${PN}-${MY_PV}"
DESCRIPTION="Debian Almquist Shell"
HOMEPAGE="http://gondor.apana.org.au/~herbert/dash/"
SRC_URI="http://gondor.apana.org.au/~herbert/dash/files/${P}.tar.gz"
if [[ -n "${DEB_PATCH}" ]] ; then
DEB_PF="${PN}_${MY_PV}-${DEB_PATCH}"
SRC_URI+=" mirror://debian/pool/main/d/dash/${DEB_PF}.diff.gz"
fi
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="libedit static vanilla"
RDEPEND="!static? ( libedit? ( dev-libs/libedit ) )"
DEPEND="${RDEPEND}
virtual/pkgconfig
libedit? ( static? ( dev-libs/libedit[static-libs] ) )"
PATCHES=(
"${FILESDIR}"/${PN}-0.5.9.1-format-security.patch
)
src_prepare() {
if [[ -n "${DEB_PATCH}" ]] ; then
eapply "${WORKDIR}"/${DEB_PF}.diff
eapply */debian/diff/*
fi
#337329 #527848
use vanilla || eapply "${FILESDIR}"/${PN}-0.5.10-dumb-echo.patch
default
# Fix the invalid sort
sed -i -e 's/LC_COLLATE=C/LC_ALL=C/g' src/mkbuiltins
# Use pkg-config for libedit linkage
sed -i \
-e "/LIBS/s:-ledit:\`$(tc-getPKG_CONFIG) --libs libedit $(usex static --static '')\`:" \
configure || die
}
src_configure() {
# don't redefine stat on Solaris
if [[ ${CHOST} == *-solaris* ]] ; then
export ac_cv_func_stat64=yes
# if your headers strictly adhere to POSIX, you'll need this too
[[ ${CHOST##*solaris2.} -le 10 ]] && append-cppflags -DNAME_MAX=255
fi
append-cppflags -DJOBS=$(usex libedit 1 0)
use static && append-ldflags -static
# Do not pass --enable-glob due to #443552.
# Autotools use $LINENO as a proxy for extended debug support
# (i.e. they're running bash), so disable that. #527644
local myeconfargs=(
--bindir="${EPREFIX}"/bin
--enable-fnmatch
--disable-lineno
$(use_with libedit)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
if [[ -n "${DEB_PATCH}" ]] ; then
dodoc */debian/changelog
fi
}

View File

@@ -1,92 +0,0 @@
http://bugs.gentoo.org/337329
http://bugs.gentoo.org/527848
there's no requirement for `echo` to support escape sequences. bash, by default,
does not, while dash always does. POSIX permits either behavior:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html
however, since the behavior is not portable, no one should be relying on echo
having any specific behavior. they should use `printf` when they want an escape
sequence. it also makes dash smaller & faster to disable this logic entirely.
--- dash-0.5.10/src/bltin/printf.c
+++ dash-0.5.10/src/bltin/printf.c
@@ -457,22 +457,13 @@
int
echocmd(int argc, char **argv)
{
- const char *lastfmt = snlfmt;
- int nonl;
+ int i;
- if (*++argv && equal(*argv, "-n")) {
- argv++;
- lastfmt = "%s";
+ for (i = 1; i < argc; ++i) {
+ outstr(argv[i], out1);
+ if (i < argc - 1)
+ outc(' ', out1);
}
-
- do {
- const char *fmt = "%s ";
- char *s = *argv;
-
- if (!s || !*++argv)
- fmt = lastfmt;
-
- nonl = print_escape_str(fmt, NULL, NULL, s ?: nullstr);
- } while (!nonl && *argv);
+ outc('\n', out1);
return 0;
}
--- dash-0.5.10/src/dash.1
+++ dash-0.5.10/src/dash.1
@@ -1182,43 +1182,15 @@
option turns off the effect of any preceding
.Fl P
options.
-.It Xo echo Op Fl n
+.It Xo echo
.Ar args...
.Xc
Print the arguments on the standard output, separated by spaces.
-Unless the
-.Fl n
-option is present, a newline is output following the arguments.
.Pp
-If any of the following sequences of characters is encountered during
-output, the sequence is not output. Instead, the specified action is
-performed:
-.Bl -tag -width indent
-.It Li \eb
-A backspace character is output.
-.It Li \ec
-Subsequent output is suppressed. This is normally used at the end of the
-last argument to suppress the trailing newline that
-.Ic echo
-would otherwise output.
-.It Li \ef
-Output a form feed.
-.It Li \en
-Output a newline character.
-.It Li \er
-Output a carriage return.
-.It Li \et
-Output a (horizontal) tab character.
-.It Li \ev
-Output a vertical tab.
-.It Li \e0 Ns Ar digits
-Output the character whose value is given by zero to three octal digits.
-If there are zero digits, a nul character is output.
-.It Li \e\e
-Output a backslash.
-.El
+No arguments or backslash sequences are supported as they are not portable.
+They will be printed out exactly as passed in.
.Pp
-All other backslash sequences elicit undefined behaviour.
+You can replace `echo -n ...` with the portable `printf %s ...` construct.
.It eval Ar string ...
Concatenate all the arguments with spaces.
Then re-parse and execute the command.

View File

@@ -1,66 +0,0 @@
From 469c5fd4f57622b1a6571172898ab29430319d4a Mon Sep 17 00:00:00 2001
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Fri, 11 May 2018 23:41:25 +0800
Subject: parser: Fix incorrect eating of backslash newlines
With the introduction of synstack->syntax, a number of references
to the syntax variable was missed during the conversion. This
causes backslash newlines to be incorrectly removed in single
quote context.
This patch also combines these calls into a new helper function
pgetc_top.
Fixes: ab1cecb40478 ("parser: Add syntax stack for recursive...")
Reported-by: Leah Neukirchen <leah@vuxu.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---
src/parser.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/parser.c b/src/parser.c
index 8e40781..8bd3db4 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -853,6 +853,11 @@ static int pgetc_eatbnl(void)
return c;
}
+static int pgetc_top(struct synstack *stack)
+{
+ return stack->syntax == SQSYNTAX ? pgetc() : pgetc_eatbnl();
+}
+
static void synstack_push(struct synstack **stack, struct synstack *next,
const char *syntax)
{
@@ -915,7 +920,7 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
attyline();
if (synstack->syntax == BASESYNTAX)
return readtoken();
- c = syntax == SQSYNTAX ? pgetc() : pgetc_eatbnl();
+ c = pgetc_top(synstack);
goto loop;
}
#endif
@@ -929,7 +934,7 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
goto endword; /* exit outer loop */
USTPUTC(c, out);
nlprompt();
- c = syntax == SQSYNTAX ? pgetc() : pgetc_eatbnl();
+ c = pgetc_top(synstack);
goto loop; /* continue outer loop */
case CWORD:
USTPUTC(c, out);
@@ -1056,7 +1061,7 @@ toggledq:
USTPUTC(c, out);
}
}
- c = syntax == SQSYNTAX ? pgetc() : pgetc_eatbnl();
+ c = pgetc_top(synstack);
}
}
endword:
--
cgit v1.1