sys-shells/dash: import from upstream Gentoo

The only reason we have dash in the cros overlay is so that we can install
a /bin/sh symlink pointing to dash in the board root.  Once we move that
symlink to chromeos-base, we can drop all the dash customizations.

BUG=chromium-os:21901
TEST=`emerge chromeos-base bash` and see /bin/sh -> bash
TEST=`emerge-amd64-generic chromeos-base dash` and see /bin/sh -> dash
TEST=`emerge-arm-generic chromeos-base dash` and see /bin/sh -> dash
TEST=`emerge-x86-generic chromeos-base dash` and see /bin/sh -> dash

Change-Id: Iaec86219ad64d086e261187e6f7c3436eb7890cd
Reviewed-on: https://gerrit.chromium.org/gerrit/11408
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
Mike Frysinger 2011-10-20 11:14:15 -04:00 committed by Gerrit
parent 980e269d2e
commit 3d479c52ca
2 changed files with 85 additions and 0 deletions

View File

@ -0,0 +1,56 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-shells/dash/dash-0.5.5.1.7.ebuild,v 1.6 2011/10/05 05:52:56 maekke Exp $
EAPI="2"
inherit autotools eutils flag-o-matic toolchain-funcs
DEB_PV=${PV%.*}
DEB_PATCH=${PV##*.}
DEB_PF="${PN}_${DEB_PV}-${DEB_PATCH}"
MY_P="${PN}-${DEB_PV}"
DESCRIPTION="DASH is a direct descendant of the NetBSD version of ash (the Almquist SHell) and is POSIX compliant"
HOMEPAGE="http://gondor.apana.org.au/~herbert/dash/"
SRC_URI="http://gondor.apana.org.au/~herbert/dash/files/${PN}-${DEB_PV}.tar.gz
mirror://debian/pool/main/d/dash/${DEB_PF}.diff.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
IUSE="libedit static"
RDEPEND="!static? ( libedit? ( dev-libs/libedit ) )"
DEPEND="${RDEPEND}
dev-util/pkgconfig
libedit? ( static? ( dev-libs/libedit[static-libs] ) )"
S=${WORKDIR}/${MY_P}
src_prepare() {
epatch "${WORKDIR}"/${DEB_PF}.diff
epatch */debian/diff/*
epatch "${FILESDIR}"/${PN}-0.5.5.1-octal.patch #337329
# 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 "/LIBS/s:-ledit:\`$(tc-getPKG_CONFIG) --libs libedit $(use static && echo --static)\`:" configure.ac
# May as well, as the debian patches force this anyway
eautoreconf
}
src_configure() {
use static && append-ldflags -static
econf \
--bindir=/bin \
$(use_with libedit)
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc ChangeLog */debian/changelog
}

View File

@ -0,0 +1,29 @@
http://bugs.gentoo.org/337329
do not interpret \\1 as an octal sequence. require it to start with \\0.
--- a/src/bltin/printf.c
+++ b/src/bltin/printf.c
@@ -247,18 +247,10 @@ conv_escape_str(char *str)
* They start with a \0, and are followed by 0, 1, 2,
* or 3 octal digits.
*/
- if (ch == '0') {
- unsigned char i;
- i = 3;
- ch = 0;
- do {
- unsigned k = octtobin(*str);
- if (k > 7)
- break;
- str++;
- ch <<= 3;
- ch += k;
- } while (--i);
+ if (ch >= '1' && ch <= '9') {
+ /* Filter \1...\9; let \0 fall to conv_escape(). */
+ ch = '\\';
+ --str;
continue;
}