diff options
author | Alex Thiessen <alex.thiessen.de+coreboot@gmail.com> | 2018-01-12 01:45:53 +0000 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2018-01-15 01:08:42 +0000 |
commit | 72d1089fac4d68207c8360ab7b4663b41b16c44e (patch) | |
tree | 206d30b15b176e3477cdb3b78923c16772a9ba83 | |
parent | a17796e6012041e2d8ebe16b0bde0b99809ee87c (diff) |
util/crossgcc: Output apt-get commands on debian
In the buildgcc script, there is a check that the tools required are
installed. When a tool is missing, a message is output suggesting an
installation method, e.g. `sudo apt-get install foo` on debian-based
systems.
When run on a true, vanilla debian system, the error message provides
only a generic hint because the `please_install()` function fails to
detect the OS kind. Detection is based on definition of `ID_LIKE` in
`/etc/os-release` yet such systems only define `ID` to `debian`.
This commit closes the detection gap. Tested on debian 9 (stretch).
Change-Id: I3c867837e9157bee13010bd0a005028c369ce55f
Signed-off-by: Alex Thiessen <alex.thiessen.de+coreboot@gmail.com>
Reviewed-on: https://review.coreboot.org/23231
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rwxr-xr-x | util/crossgcc/buildgcc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index 76ed1be9bf..2ee102beb1 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -184,6 +184,10 @@ please_install() { HALT_FOR_TOOLS=1 test -r /etc/os-release && . /etc/os-release + # vanilla debian doesn't define `ID_LIKE`, just `ID` + if [ -z "${ID_LIKE}" ] && [ -n "${ID}" ]; then + ID_LIKE=${ID} + fi case "$ID_LIKE" in debian) solution="sudo apt-get install $1" ;; suse) solution="sudo zypper install $1" ;; |