OILS / test / spec-bin.sh View on Github | oils.pub

45 lines, 18 significant
1#!/usr/bin/env bash
2#
3# Usage:
4# test/spec-bin.sh <function name>
5
6: ${LIB_OSH=stdlib/osh}
7source $LIB_OSH/bash-strict.sh
8source $LIB_OSH/task-five.sh
9
10REPO_ROOT=$(cd "$(dirname $0)/.."; pwd)
11
12#
13# "Non-hermetic"
14#
15
16link-busybox-ash() {
17 ### Non-hermetic ash only used for benchmarks / Soil dev-minimal
18
19 # Could delete this at some point
20 mkdir -p _tmp/shells
21 ln -s -f --verbose "$(which busybox)" _tmp/shells/ash
22}
23
24# dash and bash should be there by default on Ubuntu.
25install-shells-with-apt() {
26 ### Non-hermetic shells; test/spec-bin.sh replaces this for most purposes
27
28 set -x # show what needs sudo
29
30 # pass -y to install in an automated way
31 sudo apt "$@" install busybox-static mksh zsh
32 set +x
33 link-busybox-ash
34}
35
36bash-upstream() {
37 wget --directory-prefix _tmp --no-clobber \
38 'https://ftp.gnu.org/gnu/bash/bash-5.2.21.tar.gz'
39}
40
41# Upstream zsh is a dumb sourceforge link at:
42# https://zsh.sourceforge.io/Arc/source.html
43# See build/deps.sh for mirroring
44
45task-five "$@"