Was supposed to be a linux distribution, now just a collection of build scripts for packages on top of (ideally) any distribution.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
2.0 KiB

#!/bin/sh
# Tool to build tools to build the temporary system
set -e
umask 022
download_only=false
if [ "$1" = "download" ]; then
download_only=true
fi
command -v astronaut >/dev/null 2>&1 || {
echo 'Can'\''t find astronaut in $PATH' 1>&2
exit 1
}
if [ "$download_only" = false ]; then
if [ ! "$rocket" ]; then
echo 'Please set the $rocket variable' 1>&2
exit 1
fi
if [ "$(readlink /tools)" != "$(realpath "$rocket")/tools" ]; then
echo "Please create a symlink from /tools to $(realpath "$rocket")/tools" 1>&2
exit 1
fi
fi
# Options for supported shells
if [ "$(basename "$(readlink /bin/sh)")" = "bash" ]; then
shellopts="+h"
fi
# Know where them satellites are
satellite_dir="$(dirname "$(realpath "$0")")/satellites"
envrun() {
if [ "$download_only" = true ]; then
$@
return
fi
env -i \
HOME="$HOME" \
TERM="$TERM" \
LC_ALL=C \
PATH="/tools/bin:$PATH" \
MAKEFLAGS="$MAKEFLAGS" \
rocket="$rocket" \
target="$(uname -m)-rocket-linux-gnu" \
/bin/sh "$shellopts" "$@"
}
astrobuild() {
if [ "$download_only" = true ]; then
envrun astronaut -d "$satellite_dir/$1.sat"
else
envrun astronaut -i "$rocket" "$satellite_dir/$1.sat"
fi
}
# Needed for x86_64
if [ "$download_only" = false ]; then
mkdir -p "$rocket/tools/lib"
ln -sf lib "$rocket/tools/lib64"
fi
10 years ago
# Just enter the environment
#envrun
# List of packages to build
# Toolchain
astrobuild "binutils-1"
astrobuild "gcc-1"
astrobuild "linux-api"
astrobuild "glibc"
astrobuild "libstdcxx"
astrobuild "binutils-2"
astrobuild "gcc-2"
# Utilities
astrobuild "busybox"
10 years ago
astrobuild "bash"
astrobuild "gawk"
astrobuild "make"
astrobuild "m4"
# Testing
astrobuild "tcl-core"
astrobuild "expect"
astrobuild "dejagnu"
astrobuild "check"
# Package management
astrobuild "perl"
astrobuild "stow"
astrobuild "openssl"
astrobuild "ca-certificates"
astrobuild "curl"
astrobuild "astronaut"