#!/bin/sh # Test for LSB systems. set -e . /usr/share/os-prober/common.sh partition="$1" dir="$2" type="$3" lsb_field () { file="$1" field="$2" grep ^"$field" "$file" | cut -d = -f 2 | sed 's/^"//' | sed 's/"$//' | sed 's/:/ /g' } file="$dir/etc/lsb-release" if [ ! -e "$file" ]; then exit 1 fi release=$(lsb_field "$file" DISTRIB_RELEASE) if [ -z "$release" ]; then release=$(lsb_field "$file" DISTRIB_CODENAME) fi description=$(lsb_field "$file" DISTRIB_DESCRIPTION) if [ -z "$description" ]; then description=$(lsb_field "$file" DISTRIB_CODENAME) fi if [ -n "$description" ]; then if [ -n "$release" ]; then long="$description ($release)" else long="$description" fi else exit 1 fi short=$(lsb_field "$file" DISTRIB_ID | sed 's/ //g') if [ -z "$short" ]; then short="UnknownLSB" fi label="$(count_next_label "$short")" result "$partition:$long:$label:linux" exit 0