mirror of
https://github.com/rxrbln/t2sde.git
synced 2025-05-08 20:21:59 +08:00
177 lines
4.7 KiB
Bash
Executable File
177 lines
4.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# --- T2-COPYRIGHT-NOTE-BEGIN ---
|
|
# T2 SDE: scripts/Check-System
|
|
# Copyright (C) 2004 - 2023 The T2 SDE Project
|
|
# Copyright (C) 1998 - 2003 ROCK Linux Project
|
|
#
|
|
# This Copyright note is generated by scripts/Create-CopyPatch,
|
|
# more information can be found in the files COPYING and README.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License version 2.
|
|
# --- T2-COPYRIGHT-NOTE-END ---
|
|
|
|
if [ "$1" ]; then
|
|
echo "Usage: $0"; exit 1
|
|
fi
|
|
|
|
found_error=0
|
|
|
|
if [ $UID -ne 0 ]; then
|
|
echo "Paranoia Check: You are building as non-root!"
|
|
echo "This does not yet work for many configurations such as"
|
|
echo "whole system builds that require chroot()."
|
|
echo
|
|
fi
|
|
|
|
if [ "`date '+%Y'`" -lt 1990 ]; then
|
|
echo "Paranoia Check: Your clock is not set!"
|
|
echo "Set you clock using the command: date MMDDhhmm[[CC]YY][.ss]"
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ -z "`type -p uname`" ]; then
|
|
echo "Paranoia Check: You have no uname install!"
|
|
echo "Install a uname program printing system information."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ -z "`grep '^/' < /proc/swaps`" ]; then
|
|
echo "Paranoia Check: No active swap partition found!"
|
|
echo "That can cause the build scripts to stall your system!. Better"
|
|
echo "activate swap using the 'swapon' command and try again."
|
|
echo
|
|
#found_error=1
|
|
fi
|
|
|
|
if [ -z "`type -p curl`" ]; then
|
|
echo "Paranoia Check: Program 'curl' not found!"
|
|
echo "The curl utility is needed for Downloading the package"
|
|
echo "source tars. Install the latest curl version."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ -z "`type -p flex`" ]; then
|
|
echo "Paranoia Check: Program 'Flex' not found!"
|
|
echo "The Flex utility is needed for scanning"
|
|
echo "Install the latest Flex version."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ -z "`type -p m4`" ]; then
|
|
echo "Paranoia Check: Program 'm4' not found!"
|
|
echo "The m4 utility is needed as a front"
|
|
echo "end for gcc. Install the latest m4 version."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ -z "`type -p patch`" ]; then
|
|
echo "Paranoia Check: Program 'patch' not found!"
|
|
echo "The patch program is needed to work"
|
|
echo "with source files. Install the latest patch version."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ -z "`type -p zstd`" ]; then
|
|
echo "Paranoia Check: Program 'zstd' not found!"
|
|
echo "The zstd utility is needed for extracting the package"
|
|
echo "source tars. Install the latest zstd version."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ -z "`type -p makeinfo`" ]; then
|
|
echo "Paranoia Check: Program 'makeinfo' not found!"
|
|
echo "The makeinfo program is needed for translating Texinfo"
|
|
echo "documents. Please make sure that a current version of the"
|
|
echo "texinfo package (including makeinfo) is installed on your system."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ -z "`type -p bison`" ]; then
|
|
echo "Paranoia Check: Program 'bison' not found!"
|
|
echo "The bison program is needed for compiling T2 targets."
|
|
echo "Please make sure that a current version of the"
|
|
echo "bison package is installed on your system."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
case $BASH_VERSION in
|
|
2.05b*) ;;
|
|
3.*) ;;
|
|
4.*) ;;
|
|
5.*) ;;
|
|
*) echo "The running bash version is not listed as supported version"
|
|
echo "You need to update 'bash' to at least version 2.05b."
|
|
echo
|
|
found_error=1
|
|
esac
|
|
|
|
x="`mktemp -p /tmp 2> /dev/null`"
|
|
if [ -z "$x" -o ! -f "$x" ]; then
|
|
echo "Paranoia Check: Program 'mktemp' not found or too old!"
|
|
echo "You need an 'mktemp' installed which does know about the -p"
|
|
echo "option. Install the latest mktemp version."
|
|
echo
|
|
found_error=1
|
|
else
|
|
rm -f "$x"
|
|
fi
|
|
|
|
x="`mktemp`"; touch $x
|
|
if [ -z "`type -p sed`" ] || ! sed -i s/a/b/ $x
|
|
then
|
|
echo "Paranoia Check: Program 'sed' not found or too old!"
|
|
echo "You need a 'sed' installed which does know about the -i option"
|
|
echo "(GNU/sed since 2001-09-25). Install the latest sed version."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
rm -f $x 2> /dev/null
|
|
|
|
if [ -z "`type -p gawk`" ]; then
|
|
echo "Paranoia Check: Program 'gawk' not found!"
|
|
echo "The gawk program is needed for compiling T2 targets."
|
|
echo "Please make sure that a current version of the"
|
|
echo "gawk package is installed on your system."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
x=src/null
|
|
mkdir -p src
|
|
mknod $x c 1 3
|
|
if ! cat src/null; then
|
|
echo "Device nodes can not be created or are not functional on the"
|
|
echo "partition used for the build. Most probably the partitions is"
|
|
echo "mounted with the 'nodev' option."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
rm -f $x
|
|
|
|
if [[ `zstd - < /dev/null | file -` != *Zstandard* ]]; then
|
|
echo "The 'file' command does not recognize Zstd compression."
|
|
echo "Install the latest version of file."
|
|
echo
|
|
found_error=1
|
|
fi
|
|
|
|
if [ $found_error -ne 0 ]; then
|
|
echo "Paranoia Check found errors -> not doing anything."
|
|
echo "You can disable the Paranoia Checks in the Config tool"
|
|
echo "on your own risk!"
|
|
echo
|
|
fi
|
|
|
|
exit $found_error
|