From 3d479c52caa2ad45748074a66f1e8ba46299045d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 20 Oct 2011 11:14:15 -0400 Subject: [PATCH] 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 Commit-Ready: Mike Frysinger Tested-by: Mike Frysinger --- .../app-shells/dash/dash-0.5.5.1.7.ebuild | 56 +++++++++++++++++++ .../dash/files/dash-0.5.5.1-octal.patch | 29 ++++++++++ 2 files changed, 85 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/dash/dash-0.5.5.1.7.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/dash/files/dash-0.5.5.1-octal.patch diff --git a/sdk_container/src/third_party/portage-stable/app-shells/dash/dash-0.5.5.1.7.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/dash/dash-0.5.5.1.7.ebuild new file mode 100644 index 0000000000..de51e76cb8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/dash/dash-0.5.5.1.7.ebuild @@ -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 +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/dash/files/dash-0.5.5.1-octal.patch b/sdk_container/src/third_party/portage-stable/app-shells/dash/files/dash-0.5.5.1-octal.patch new file mode 100644 index 0000000000..760e4ad562 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/dash/files/dash-0.5.5.1-octal.patch @@ -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; + } +