SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "bash"

# SliTaz package receipt.

PACKAGE="bash"
VERSION="4.2.53"
BASEVERSION="${VERSION%.*}"
CATEGORY="system-tools"
SHORT_DESC="The GNU bourne SHell."
MAINTAINER="pankso@slitaz.org"
LICENSE="GPL3"
TARBALL="$PACKAGE-$BASEVERSION.tar.gz"
WEB_SITE="http://www.gnu.org/software/bash/"
WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL"
BASHCHECKURL="https://raw.githubusercontent.com/hannob/bashcheck/master/bashcheck"
BASHCHECK="$(basename $BASHCHECKURL)"
BASHPATCHES="$(for i in $(seq 1 ${VERSION##*.}); do printf "bash${BASEVERSION/./}-%03d " $i; done)"
EXTRA_SOURCE_FILES="$BASHCHECK $BASHPATCHES"

DEPENDS="readline"
BUILD_DEPENDS="readline bison wget texinfo"

patch_bash()
{
    for i in $BASHPATCHES ; do
        [ -s "$SOURCES_REPOSITORY/$i" ] || 
            wget -O "$SOURCES_REPOSITORY/$i" \
            http://ftp.gnu.org/gnu/bash/bash-$BASEVERSION-patches/$i
        echo "Apply $i ..."
        patch -p0 < $SOURCES_REPOSITORY/$i
    done
}

# Rules to compile & install the temporary toolchain.
cook_tmp_toolchain()
{
    cd $src
    patch_bash
    ./configure --without-bash-malloc &&
    make && make install
}

# Rules to configure and make the package.
compile_rules()
{
    # Patch and then build.
    cd $src
    patch_bash
    # Skip tests that can not run while cross-compiling.
    cat > config.cache << "EOF"
ac_cv_func_mmap_fixed_mapped=yes
ac_cv_func_strcoll_works=yes
ac_cv_func_working_mktime=yes
bash_cv_func_sigsetjmp=present
bash_cv_getcwd_malloc=yes
bash_cv_job_control_missing=present
bash_cv_printf_a_format=yes
bash_cv_sys_named_pipes=present
bash_cv_ulimit_maxfds=yes
bash_cv_under_sys_siglist=yes
bash_cv_unusable_rtsigs=no
gt_cv_int_divbyzero_sigfpe=yes
EOF
    ./configure \
        $CONFIGURE_ARGS \
        --cache-file=config.cache \
        --bindir=/bin \
        --enable-history --enable-alias  \
        --disable-nls --without-bash-malloc \
        --disable-help-builtin \
        --with-installed-readline &&
    make &&
    # Bash doesn't care about DESTDIR in environnment variable.
    make DESTDIR=$DESTDIR install
    [ -s "$SOURCES_REPOSITORY/$BASHCHECK" ] || 
        wget --no-check-certificate -O "$SOURCES_REPOSITORY/$BASHCHECK" $BASHCHECKURL
    $DESTDIR/bin/bash $SOURCES_REPOSITORY/$BASHCHECK $DESTDIR/bin/bash | tee bashcheck.log
    grep Vulnerable bashcheck.log && echo "ERROR: Vulnerable"
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    cp -a $_pkg/bin $fs
    # Config files.
    #
    mkdir $fs/etc
    cp $stuff/example.bashrc $fs/etc/bashrc
}

# Post install commands for Tazpkg.
# Check /bin/sh stat.
#
post_install()
{
    local root
    root=$1
    echo "Processing post-install commands..."
    sh=`readlink $root/bin/sh`
    if [ ! "$sh" = "/bin/bash" ]; then
        echo ""
        echo "**** Actual SH link : $sh"
        echo ""
        echo -n "Do you want Bash for /bin/sh (yes/No) ? : "
        read -t 30 anser
        if [ "$anser" == "yes" ]; then
            echo ""
            echo -n "Removing sh link to make a new one pointing on /bin/bash..."
            rm $root/bin/sh && ln -s /bin/bash $root/bin/sh
            status
        else
            echo ""
            echo "Leaving /bin/sh to : $sh"
        fi
    fi
}

# Restore a valid sh link if needed.
pre_remove()
{
    local root
    root=$1
    sh=`readlink $root/bin/sh`
    if [ ! "$sh" = "busybox" ]; then
        rm $root/bin/sh &&
        ln -s /bin/busybox $root/bin/sh
    fi
}
3382 packages and 430813 files in stable database (Mon Mar 4 17:53:49 2019)