123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/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
|