Compare commits

..

No commits in common. "master" and "master" have entirely different histories.

59 changed files with 204 additions and 1134 deletions

1
.gitignore vendored
View File

@ -1,4 +1,3 @@
stage stage
logs logs
*.tgz *.tgz
.nfs*

View File

@ -47,10 +47,6 @@ download_patches:
set -e set -e
${dir_make}/download_patches.sh ${dir_make}/download_patches.sh
dependencies:
set -e
sudo /usr/bin/env -i bash -c ". ./project_config.sh && ${dir_make}/dependencies.sh"
# kicks off rex # kicks off rex
build_stage1: build_stage1:
set -e set -e
@ -125,7 +121,6 @@ all:
make clean && \ make clean && \
make dirs && \ make dirs && \
make install_rex && \ make install_rex && \
make dependencies && \
make download_patches && \ make download_patches && \
make download_sources && \ make download_sources && \
make build_stage1 && \ make build_stage1 && \

View File

@ -1,13 +0,0 @@
# Dyad
An automation of the creation of a Linux sysroot closely aligned to the LFS documentation.
## System Requirements
Dyad is developed on a a vanilla Fedora 39 system. In order to meet prerequisites to start the build, you will need to install the following packages:
```
dnf -y install make vim cmake g++ dialog
```
After you've installed these, just run `make` and a new sysroot will start compilation.

View File

@ -1,21 +0,0 @@
#!/usr/bin/env bash
set -u
# closely aligns with LFS Ch 5, 6
# fix an issue with open files limit on some hosts
ulimit -l unlimited
#ulimit -n 10240
ulimit -c unlimited
echo "Bootstrapping from MAKE to REX..."
# Executes rex from within the shell.
${dir_localtools}/rex -v \
-c ${dir_rex}/x86_64/rex.config \
-p ${dir_rex}/x86_64/plans/dependencies.plan
retVal=$?
exit $retVal

View File

@ -58,9 +58,8 @@ dir_rex=${project_root}/rex.project
# the sysroot being created # the sysroot being created
dir_sysroot=${dir_artifacts}/T_SYSROOT dir_sysroot=${dir_artifacts}/T_SYSROOT
# set this manually because rex runs as root for its setgid/setuid user="phanes"
build_user="bagira" group="phanes"
build_group="bagira"
# if we're being supplied parameters we assume it's being called by make # if we're being supplied parameters we assume it's being called by make
# and need to recall make with all appropriate vars set # and need to recall make with all appropriate vars set

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
app="awk"
expected_target="gawk"
sym_check $app $expected_target
exit $?

View File

@ -1,13 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="bash"
app="bash"
ver_check $real_name $app $expected_version || \
echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="binutils"
app="ld"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="bison"
app="bison"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="coreutils"
app="sort"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="diffutils"
app="diff"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="findutils"
app="find"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="GCC (G++)"
app="g++"
ver_check "$real_name" "$app" "$expected_version" || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="gawk"
app="gawk"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="coreutils"
app="sort"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="grep"
app="grep"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="gzip"
app="gzip"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="coreutils"
app="sort"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="m4"
app="m4"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="make"
app="make"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="patch"
app="patch"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="perl"
app="perl"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="python3"
app="python3"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,27 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
real_name="bison"
app="bison"
dialog \
--title "Install ${real_name}?" \
--backtitle "Requirements Remediations" \
--yesno "Do you want to install ${real_name} on the build host?" 7 60
response=$?
# this is distro-specific and distro-specific function routing should
# account for things like this
case $response in
0) dnf -y install $app; install_result=$?;;
1) echo "Canceled. You need $real_name to run this.";;
255) echo "Canceled. You need $real_name to run this.";;
esac
exit $install_result

View File

@ -1,27 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
real_name="patch"
app="patch"
dialog \
--title "Install ${real_name}?" \
--backtitle "Requirements Remediations" \
--yesno "Do you want to install ${real_name} on the build host?" 7 60
response=$?
# this is distro-specific and distro-specific function routing should
# account for things like this
case $response in
0) dnf -y install $app; install_result=$?;;
1) echo "Canceled. You need $real_name to run this.";;
255) echo "Canceled. You need $real_name to run this.";;
esac
exit $install_result

View File

@ -1,27 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
real_name="texinfo"
app="texinfo"
dialog \
--title "Install ${real_name}?" \
--backtitle "Requirements Remediations" \
--yesno "Do you want to install ${real_name} on the build host?" 7 60
response=$?
# this is distro-specific and distro-specific function routing should
# account for things like this
case $response in
0) dnf -y install $app; install_result=$?;;
1) echo "Canceled. You need $real_name to run this.";;
255) echo "Canceled. You need $real_name to run this.";;
esac
exit $install_result

View File

@ -1,34 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
app="yacc"
symlink_target="bison"
dialog \
--title "Symlink '${app}' to '${symlink_target}'?" \
--backtitle "Requirements Remediations" \
--yesno "Do you want to Symlink ${app} to ${symlink_target}?" 7 60
response=$?
# this is distro-specific and distro-specific function routing should
# account for things like this
function symlink() {
ln -vs "$(which $2)" "$(dirname $(which $2))/$1"
return $?
}
install_result=0
case $response in
0) symlink "$app" "$symlink_target"; install_result=$?;;
1) echo "Canceled. You need $app pointing to $symlink_target to run this.";;
255) echo "Canceled. You need $app pointing to $symlink_target to run this.";;
esac
exit $install_result

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="sed"
app="sed"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
app="sh"
expected_target="bash"
sym_check $app $expected_target
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="tar"
app="tar"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="texinfo"
app="texi2any"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
expected_version="$1"
real_name="xz"
app="xz"
ver_check $real_name $app $expected_version || echofail "$real_name $expected_version check failed."
exit $?

View File

@ -1,11 +0,0 @@
#!/bin/bash
set -u
export LC_ALL=C
app="yacc"
expected_target="bison"
sym_check $app $expected_target
exit $?

View File

@ -14,7 +14,7 @@ APPNAME="binutils"
# the version of this application # the version of this application
#VERSION="2.25" #VERSION="2.25"
VERSION="2.41" VERSION="2.40"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -4,6 +4,118 @@ set -u
export LC_ALL=C export LC_ALL=C
echo
echo "Checking bash..."
bash --version | head -n1 | cut -d" " -f2-4
echo
echo "Checking /bin/sh path"
MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -> $MYSH"
echo $MYSH | grep -q bash || echofail "/bin/sh does not point to bash"
unset MYSH
echo
echo "Checking binutils..."
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
echo
echo "Checking yacc..."
if [ -h /usr/bin/yacc ]; then
echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
elif [ -x /usr/bin/yacc ]; then
cat > /usr/bin/yacc << "EOF"
#!/bin/sh
# Begin /usr/bin/yacc
/usr/bin/bison -y $*
# End /usr/bin/yacc
EOF
chmod 755 /usr/bin/yacc
else
echofail "yacc not found"
fi
echo
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -h /usr/bin/awk ]; then
echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";
elif [ -x /usr/bin/awk ]; then
echo awk is `/usr/bin/awk --version | head -n1`
else
echofail "awk not found"
fi
echo
echo "Checking GCC..."
gcc --version | head -n1
echo
echo "Checking G++..."
g++ --version | head -n1
echo
echo "Checking grep..."
grep --version | head -n1
echo
echo "Checking gzip..."
gzip --version | head -n1
echo
echo "Checking /proc/version..."
cat /proc/version
echo
echo "Checking m4..."
m4 --version | head -n1
echo
echo "Checking make..."
make --version | head -n1
echo
echo "Checking patch..."
patch --version | head -n1
echo
echo "Checking perl..."
echo Perl `perl -V:version`
echo
echo "Checking python..."
python3 --version
echo
echo "Checking sed..."
sed --version | head -n1
echo
echo "Checking tar..."
tar --version | head -n1
echo
echo "Checking makeinfo..."
makeinfo --version | head -n1
retVal=${PIPESTATUS[0]}
if [ $retVal -ne 0 ]; then
echofail "Could not check makeinfo version...(yum -y install texinfo)"
fi
echo
echo "Checking xz..."
xz --version | head -n1
pushd /tmp pushd /tmp
rm -fv dummy* rm -fv dummy*
echo echo

View File

@ -13,9 +13,9 @@ set -u
APPNAME="gcc" APPNAME="gcc"
# the version of this application # the version of this application
VERSION="13.2.0" VERSION="12.2.0"
MPFR_V="4.2.0" MPFR_V="4.2.0"
GMP_V="6.3.0" GMP_V="6.2.1"
MPC_V="1.3.1" MPC_V="1.3.1"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -13,7 +13,7 @@ set -u
APPNAME="glibc" APPNAME="glibc"
# the version of this application # the version of this application
VERSION="2.38" VERSION="2.37"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:
@ -155,7 +155,7 @@ mode_build_pass1() {
# patches # patches
logprint "Applying patches..." logprint "Applying patches..."
patch -Np1 < "${PATCHES_DIR}/glibc-${VERSION}-fhs-1.patch" patch -Np1 < "${PATCHES_DIR}/glibc-2.37-fhs-1.patch"
assert_zero $? assert_zero $?
mkdir -p build mkdir -p build
@ -176,7 +176,7 @@ mode_build_pass1() {
--prefix=/usr \ --prefix=/usr \
--host=${T_TRIPLET} \ --host=${T_TRIPLET} \
--build=$(../scripts/config.guess) \ --build=$(../scripts/config.guess) \
--enable-kernel=4.14 \ --enable-kernel=3.2 \
--with-headers=${T_SYSROOT}/usr/include \ --with-headers=${T_SYSROOT}/usr/include \
libc_cv_slibdir=/usr/lib libc_cv_slibdir=/usr/lib
@ -224,7 +224,7 @@ mode_install_pass1() {
rm -v a.out rm -v a.out
assert_zero $? assert_zero $?
${CROSSTOOLS_DIR}/libexec/gcc/${T_TRIPLET}/13.2.0/install-tools/mkheaders ${CROSSTOOLS_DIR}/libexec/gcc/${T_TRIPLET}/12.2.0/install-tools/mkheaders
assert_zero $? assert_zero $?

View File

@ -44,11 +44,3 @@ echo -e "\e[31m$HORSE\e[0m"
echo echo
echo "Welcome to Pyrois, the build system for Dark Horse Linux." echo "Welcome to Pyrois, the build system for Dark Horse Linux."
echo echo
>&2 echo
>&2 echo STDERR Pipe Check:
>&2 echo The welcome screen ran, and echoed this to stderr
>&2 echo
echo running as: $build_user:$build_group
echo
echo
echo

View File

@ -13,7 +13,7 @@ set -u
APPNAME="coreutils" APPNAME="coreutils"
# the version of this application # the version of this application
VERSION="9.3" VERSION="9.1"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:
@ -139,8 +139,7 @@ mode_build_temp() {
--host=${T_TRIPLET} \ --host=${T_TRIPLET} \
--build=$(build-aux/config.guess) \ --build=$(build-aux/config.guess) \
--enable-install-program=hostname \ --enable-install-program=hostname \
--enable-no-install-program=kill,uptime \ --enable-no-install-program=kill,uptime
gl_cv_macro_MB_CUR_MAX_good=y
assert_zero $? assert_zero $?
logprint "Compiling..." logprint "Compiling..."

View File

@ -13,7 +13,7 @@ set -u
APPNAME="diffutils" APPNAME="diffutils"
# the version of this application # the version of this application
VERSION="3.10" VERSION="3.9"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -13,7 +13,7 @@ set -u
APPNAME="file" APPNAME="file"
# the version of this application # the version of this application
VERSION="5.45" VERSION="5.44"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -u
APPNAME="gawk" APPNAME="gawk"
# the version of this application # the version of this application
VERSION="5.2.2" VERSION="5.2.1"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="gettext" APPNAME="gettext"
# the version of this application # the version of this application
VERSION="0.22" VERSION="0.21.1"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="bc" APPNAME="bc"
# the version of this application # the version of this application
VERSION="6.6.0" VERSION="6.2.4"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="coreutils" APPNAME="coreutils"
# the version of this application # the version of this application
VERSION="9.3" VERSION="9.1"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:
@ -133,7 +133,7 @@ mode_build() {
assert_zero $? assert_zero $?
logprint "Pre-install patching..." logprint "Pre-install patching..."
patch -Np1 -i ${PATCHES_DIR}/coreutils-${VERSION}-i18n-1.patch patch -Np1 -i ${PATCHES_DIR}/coreutils-9.1-i18n-1.patch
assert_zero $? assert_zero $?
logprint "Preconfiguring ${APPNAME}..." logprint "Preconfiguring ${APPNAME}..."

View File

@ -12,7 +12,7 @@ set -a
APPNAME="dbus" APPNAME="dbus"
# the version of this application # the version of this application
VERSION="1.14.8" VERSION="1.14.6"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="diffutils" APPNAME="diffutils"
# the version of this application # the version of this application
VERSION="3.10" VERSION="3.9"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="elfutils" APPNAME="elfutils"
# the version of this application # the version of this application
VERSION="0.189" VERSION="0.188"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="file" APPNAME="file"
# the version of this application # the version of this application
VERSION="5.45" VERSION="5.44"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="gawk" APPNAME="gawk"
# the version of this application # the version of this application
VERSION="5.2.2" VERSION="5.2.1"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="gcc" APPNAME="gcc"
# the version of this application # the version of this application
VERSION="13.2.0" VERSION="12.2.0"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -u
APPNAME="gettext" APPNAME="gettext"
# the version of this application # the version of this application
VERSION="0.22" VERSION="0.21.1"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -12,7 +12,7 @@ set -a
APPNAME="glibc" APPNAME="glibc"
# the version of this application # the version of this application
VERSION="2.38" VERSION="2.37"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:
@ -137,8 +137,8 @@ mode_build() {
assert_zero $? assert_zero $?
# TODO make this a patch # TODO make this a patch
#sed '/width -=/s/workend - string/number_length/' -i stdio-common/vfprintf-process-arg.c sed '/width -=/s/workend - string/number_length/' -i stdio-common/vfprintf-process-arg.c
#assert_zero $? assert_zero $?
logprint "Entering temp build dir..." logprint "Entering temp build dir..."
mkdir -p build mkdir -p build
@ -153,7 +153,7 @@ mode_build() {
../configure \ ../configure \
--prefix=/usr \ --prefix=/usr \
--disable-werror \ --disable-werror \
--enable-kernel=4.14 \ --enable-kernel=3.2 \
--enable-stack-protector=strong \ --enable-stack-protector=strong \
--with-headers=/usr/include \ --with-headers=/usr/include \
libc_cv_slibdir=/usr/lib libc_cv_slibdir=/usr/lib

View File

@ -12,7 +12,7 @@ set -a
APPNAME="gmp" APPNAME="gmp"
# the version of this application # the version of this application
VERSION="6.3.0" VERSION="6.2.1"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Variables and functions sourced from Environment: # Variables and functions sourced from Environment:

View File

@ -1,78 +0,0 @@
#!/bin/bash
source ./project_config.sh
TERM=xterm-256color
COLORTERM=truecolor
LC_ALL=C
PATH=${CROSSTOOLS_DIR}/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin
function echofail() {
echo
echo "FAILED: $1"
echo
exit 1
}
ver_check()
{
if ! type -p $2 &>/dev/null; then
echo "ERROR: Cannot find $2 ($1)"
return 1
fi
v=$($2 --version 2>&1 | grep -E -o '[0-9]+\.[0-9\.]+[a-z]*' | head -n1)
if printf '%s\n' $3 $v | sort --version-sort --check &>/dev/null; then
printf "OK: %-9s %-6s >= $3\n" "$1" "$v"
return 0
else
printf "ERROR: %-9s is TOO OLD ($3 or later required)\n" "$1"
return 1
fi
}
ver_kernel()
{
kver=$(uname -r | grep -E -o '^[0-9\.]+')
if printf '%s\n' $1 $kver | sort --version-sort --check &>/dev/null; then
printf "OK: Linux Kernel $kver >= $1\n";
return 0;
else
printf "ERROR: Linux Kernel ($kver) is TOO OLD ($1 or later required)\n" "$kver";
return 1;
fi
}
sym_check() {
# the name of the binary/symlink we're checking as it appears in PATH
app="$1"
# the name of the binary we expect it to point to
expected_target="$2"
# the basename of the target of the symlink (if it is one)
target="$(basename $(readlink -f $(which $app)))"
if [[ "$target" == "$expected_target" ]]; then
printf "OK:\t$app -> $expected_target\n";
return 0;
else
if [[ "$target" == '' ]]; then
printf "ERROR: '$app' is not present on this system.\n";
return 1;
else
printf "ERROR: '$app' points to '$target' instead of '$expected_target'.\n"
return 1;
fi
fi
}
alias_check() {
if $1 --version 2>&1 | grep -qi $2; then
printf "OK: %-4s is $2\n" "$1";
return 0;
else
printf "ERROR: %-4s is NOT $2\n" "$1";
return 1;
fi
}

View File

@ -1,97 +0,0 @@
{
"plan":
[
{
"name": "bash version check",
"dependencies": [ null ]
},
{
"name": "coreutils version check",
"dependencies": [ null ]
},
{
"name": "binutils version check",
"dependencies": [ null ]
},
{
"name": "bison version check",
"dependencies": [ null ]
},
{
"name": "diffutils version check",
"dependencies": [ null ]
},
{
"name": "findutils version check",
"dependencies": [ null ]
},
{
"name": "gawk version check",
"dependencies": [ null ]
},
{
"name": "GCC version check",
"dependencies": [ null ]
},
{
"name": "g++ version check",
"dependencies": [ null ]
},
{
"name": "grep version check",
"dependencies": [ null ]
},
{
"name": "gzip version check",
"dependencies": [ null ]
},
{
"name": "m4 version check",
"dependencies": [ null ]
},
{
"name": "make version check",
"dependencies": [ null ]
},
{
"name": "patch version check",
"dependencies": [ null ]
},
{
"name": "perl version check",
"dependencies": [ null ]
},
{
"name": "python3 version check",
"dependencies": [ null ]
},
{
"name": "sed version check",
"dependencies": [ null ]
},
{
"name": "tar version check",
"dependencies": [ null ]
},
{
"name": "texinfo version check",
"dependencies": [ null ]
},
{
"name": "xz version check",
"dependencies": [ null ]
},
{
"name": "awk-gawk check",
"dependencies": [ null ]
},
{
"name": "yacc-bison check",
"dependencies": [ null ]
},
{
"name": "sh-bash check",
"dependencies": [ null ]
}
]
}

View File

@ -1,436 +0,0 @@
{
"units": [
{
"name": "bash version check",
"target": "components/dependencies/bash.bash 3.2",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "coreutils version check",
"target": "components/dependencies/coreutils.bash 7.0",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "binutils version check",
"target": "components/dependencies/binutils.bash 2.13.1",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "bison version check",
"target": "components/dependencies/bison.bash 2.7",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": true,
"rectifier": "components/dependencies/rectify_bison.bash",
"active": true,
"required": true,
"set_user_context": true,
"user": "root",
"group": "root",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "diffutils version check",
"target": "components/dependencies/diffutils.bash 2.8.1",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "findutils version check",
"target": "components/dependencies/findutils.bash 2.8.1",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "gawk version check",
"target": "components/dependencies/gawk.bash 4.0.1",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "GCC version check",
"target": "components/dependencies/gcc.bash 5.1",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "g++ version check",
"target": "components/dependencies/g++.bash 5.1",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "grep version check",
"target": "components/dependencies/grep.bash 2.5.1a",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "gzip version check",
"target": "components/dependencies/gzip.bash 1.3.12",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "m4 version check",
"target": "components/dependencies/m4.bash 1.4.10",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "make version check",
"target": "components/dependencies/make.bash 4.0",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "patch version check",
"target": "components/dependencies/patch.bash 2.5.4",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": true,
"rectifier": "components/dependencies/rectify_patch.bash",
"active": true,
"required": true,
"set_user_context": true,
"user": "root",
"group": "root",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "perl version check",
"target": "components/dependencies/perl.bash 5.8.8",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "python3 version check",
"target": "components/dependencies/python3.bash 3.4",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "sed version check",
"target": "components/dependencies/sed.bash 4.1.5",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "tar version check",
"target": "components/dependencies/tar.bash 1.22",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "texinfo version check",
"target": "components/dependencies/texinfo.bash 5.0",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": true,
"rectifier": "components/dependencies/rectify_texinfo.bash",
"active": true,
"required": true,
"set_user_context": true,
"user": "root",
"group": "root",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "xz version check",
"target": "components/dependencies/xz.bash 5.0.0",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "kernel version check",
"target": "components/dependencies/kernel.bash 4.14",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "awk-gawk check",
"target": "components/dependencies/awk-gawk.bash",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "yacc-bison check",
"target": "components/dependencies/yacc-bison.bash",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": true,
"rectifier": "components/dependencies/rectify_yacc-bison.bash",
"active": true,
"required": true,
"set_user_context": true,
"user": "root",
"group": "root",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
},
{
"name": "sh-bash check",
"target": "components/dependencies/sh-bash.bash",
"is_shell_command": true,
"shell_definition": "bash",
"force_pty": true,
"set_working_directory": false,
"working_directory": "",
"rectify": false,
"rectifier": "",
"active": true,
"required": true,
"set_user_context": true,
"user": "$build_user",
"group": "$build_group",
"supply_environment": true,
"environment": "environments/dependencies.env.bash"
}
]
}

View File

@ -5,7 +5,7 @@
"target": "components/stage1/welcome.bash", "target": "components/stage1/welcome.bash",
"is_shell_command": true, "is_shell_command": true,
"shell_definition": "bash", "shell_definition": "bash",
"force_pty": false, "force_pty": true,
"set_working_directory": false, "set_working_directory": false,
"working_directory": "", "working_directory": "",
"rectify": false, "rectify": false,
@ -13,8 +13,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_user", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage1.env.bash" "environment": "environments/stage1.env.bash"
}, },
@ -49,8 +49,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage1.env.bash" "environment": "environments/stage1.env.bash"
}, },
@ -67,8 +67,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage1.env.bash" "environment": "environments/stage1.env.bash"
}, },
@ -85,8 +85,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage1.env.bash" "environment": "environments/stage1.env.bash"
}, },
@ -103,8 +103,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage1.env.bash" "environment": "environments/stage1.env.bash"
}, },
@ -121,8 +121,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage1.env.bash" "environment": "environments/stage1.env.bash"
}, },
@ -139,8 +139,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage1.env.bash" "environment": "environments/stage1.env.bash"
} }

View File

@ -13,8 +13,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -31,8 +31,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -49,8 +49,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -67,8 +67,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -85,8 +85,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -103,8 +103,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -121,8 +121,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -139,8 +139,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -157,8 +157,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -175,8 +175,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -193,8 +193,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -211,8 +211,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -229,8 +229,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -247,8 +247,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -265,8 +265,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -283,8 +283,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -301,8 +301,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },
@ -319,8 +319,8 @@
"active": true, "active": true,
"required": true, "required": true,
"set_user_context": true, "set_user_context": true,
"user": "$build_user", "user": "phanes",
"group": "$build_group", "group": "phanes",
"supply_environment": true, "supply_environment": true,
"environment": "environments/stage2.env.bash" "environment": "environments/stage2.env.bash"
}, },