From patchwork Tue Sep 18 12:52:27 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: bash: Make it possible to run bash 3.2.48 instead of 4.2. Date: Tue, 18 Sep 2012 12:52:27 -0000 From: Martin Ertsaas X-Patchwork-Id: 36735 Message-Id: <1347972747-7040-1-git-send-email-mertsas@cisco.com> To: openembedded-core@lists.openembedded.org bash-3.2.48 did not provide the linking from sh to bash, making it unusable. This patch fixes this. The reason for using 3.2.48 is that it is GPLv2 licensed, which 4.2 is not. --- meta/recipes-extended/bash/bash_3.2.48.bb | 20 +++++++++++++++----- 1 files changed, 15 insertions(+), 5 deletions(-) diff --git a/meta/recipes-extended/bash/bash_3.2.48.bb b/meta/recipes-extended/bash/bash_3.2.48.bb index 509d7a0..bab38a1 100644 --- a/meta/recipes-extended/bash/bash_3.2.48.bb +++ b/meta/recipes-extended/bash/bash_3.2.48.bb @@ -6,7 +6,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=fd5d9bcabd8ed5a54a01ce8d183d592a" DEPENDS = "ncurses" -PR = "r10" +PR = "r11" SRC_URI = "${GNU_MIRROR}/bash/bash-${PV}.tar.gz;name=tarball \ ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-049;apply=yes;striplevel=0;name=patch001 \ @@ -25,16 +25,18 @@ SRC_URI[patch003.sha256sum] = "354886097cd95b4def77028f32ee01e2e088d58a98184fede SRC_URI[md5sum] = "338dcf975a93640bb3eaa843ca42e3f8" SRC_URI[sha256sum] = "128d281bd5682ba5f6953122915da71976357d7a76490d266c9173b1d0426348" -inherit autotools gettext +inherit autotools gettext update-alternatives PARALLEL_MAKE = "" -bindir = "/bin" -sbindir = "/sbin" - EXTRA_OECONF = "--with-ncurses" export CC_FOR_BUILD = "${BUILD_CC}" +ALTERNATIVE_${PN} = "sh" +ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" +ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash" +ALTERNATIVE_PRIORITY = "100" + export AUTOHEADER = "true" do_configure_prepend () { @@ -43,6 +45,14 @@ do_configure_prepend () { fi } +do_install_append () { + # Move /usr/bin/bash to /bin/bash, if need + if [ "${base_bindir}" != "${bindir}" ]; then + mkdir -p ${D}${base_bindir} + mv ${D}${bindir}/bash ${D}${base_bindir} + fi +} + pkg_postinst_${PN} () { touch $D${sysconfdir}/shells grep -q "bin/bash" $D${sysconfdir}/shells || echo /bin/bash >> $D${sysconfdir}/shells