source: client/shared/lib/os-probes/mounted/90linux-distro @ 23e53a5

918-git-images-111dconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacion
Last change on this file since 23e53a5 was 2cd8344, checked in by adv <adv@…>, 8 years ago

#796 os-probes librerias de grub con detección de nuevas versiones de sistemas opertativos (p.e win10). usado solo para ogLives antiguos (kernel 3.2)

git-svn-id: https://opengnsys.es/svn/branches/version1.1@5378 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 4.8 KB
Line 
1#!/bin/sh
2# Test for linux distributions.
3set -e
4
5. /usr/share/os-prober/common.sh
6
7partition="$1"
8dir="$2"
9type="$3"
10
11# This test is inaccurate, but given separate / and /boot partitions and the
12# fact that only some architectures have ld-linux.so, I can't see anything
13# better. Make sure this test has a high number so that more accurate tests
14# can come first.
15# Unless volumes to checked are already mounted, they will be mounted using
16# GRUB's own filesystems through FUSE. Since these ATM doesn't support
17# symlinks we need to also check in $dir/usr/lib* for distributions that
18# moved /lib* to /usr and only left symlinks behind.
19# TODO: look for ld-linux.so on arches that have it
20if (ls "$dir"/lib*/ld*.so* || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then
21        if [ -e "$dir/etc/debian_version" ]; then
22                short="Debian"
23                long="$(printf "Debian GNU/Linux (%s)\n" "$(cat "$dir/etc/debian_version")")"
24        # RPM derived distributions may also have a redhat-release or
25        # mandrake-release, so check their files first.
26        elif [ -e "$dir/etc/altlinux-release" ]; then
27                short="ALTLinux"
28                long="$(cat "$dir/etc/altlinux-release")"
29        elif [ -e "$dir/etc/magic-release" ]; then
30                short="Magic"
31                long="$(cat "$dir/etc/magic-release")"
32        elif [ -e "$dir/etc/blackPanther-release" ]; then
33                short="blackPanther"
34                long="$(cat "$dir/etc/blackPanther-release")"
35        elif [ -e "$dir/etc/ark-release" ]; then
36                short="Ark"
37                long="$(cat "$dir/etc/ark-release")"
38        elif [ -e "$dir/etc/arch-release" ]; then
39                short="Arch"
40                long="$(cat "$dir/etc/arch-release")"
41        elif [ -e "$dir/etc/asplinux-release" ]; then
42                short="ASPLinux"
43                long="$(cat "$dir/etc/asplinux-release")"
44        elif [ -e "$dir/etc/lvr-release" ]; then
45                short="LvR"
46                long="$(cat "$dir/etc/lvr-release")"
47        elif [ -e "$dir/etc/caos-release" ]; then
48                short="cAos"
49                long="$(cat "$dir/etc/caos-release")"
50        elif [ -e "$dir/etc/aurox-release" ]; then
51                short="Aurox"
52                long="$(cat "$dir/etc/aurox-release")"
53        elif [ -e "$dir/etc/engarde-release" ]; then
54                short="EnGarde"
55                long="$(cat "$dir/etc/engarde-release")"
56        elif [ -e "$dir/etc/vine-release" ]; then
57                short="Vine"
58                long="$(cat "$dir/etc/vine-release")"
59        elif [ -e "$dir/etc/whitebox-release" ]; then
60                short="WhiteBox"
61                long="$(cat "$dir/etc/whitebox-release")"
62        elif [ -e "$dir/etc/pld-release" ]; then
63                short="PLD"
64                long="$(cat "$dir/etc/pld-release")"
65        elif [ -e "$dir/etc/startcom-release" ]; then
66                short="StartCom"
67                long="$(cat "$dir/etc/startcom-release")"
68        elif [ -e "$dir/etc/trustix-release" ]; then
69                short="Trustix"
70                long="$(cat "$dir/etc/trustix-release")"
71        elif [ -e "$dir/etc/openna-release" ]; then
72                short="OpenNA"
73                long="$(cat "$dir/etc/openna-release")"
74        elif [ -e "$dir/etc/conectiva-release" ]; then
75                short="Conectiva"
76                long="$(cat "$dir/etc/conectiva-release")"
77        elif [ -e "$dir/etc/mandrake-release" ]; then
78                short="Mandrake"
79                long="$(cat "$dir/etc/mandrake-release")"
80        elif [ -e "$dir/etc/fedora-release" ]; then
81                short="Fedora"
82                long="$(cat "$dir/etc/fedora-release")"
83        elif [ -e "$dir/etc/redhat-release" ]; then
84                short="RedHat"
85                long="$(cat "$dir/etc/redhat-release")"
86        elif [ -e "$dir/etc/SuSE-release" ]; then
87                short="SuSE"
88                long="$(head -n 1 "$dir/etc/SuSE-release")"
89        elif [ -e "$dir/etc/gentoo-release" ]; then
90                short="Gentoo"
91                long="$(cat "$dir/etc/gentoo-release")"
92        elif [ -e "$dir/etc/cobalt-release" ]; then
93                short="Cobalt"
94                long="$(cat "$dir/etc/cobalt-release")"
95        elif [ -e "$dir/etc/yellowdog-release" ]; then
96                short="YellowDog"
97                long="$(cat "$dir/etc/yellowdog-release")"
98        elif [ -e "$dir/etc/turbolinux-release" ]; then
99                short="Turbolinux"
100                long="$(cat "$dir/etc/turbolinux-release")"
101        elif [ -e "$dir/etc/pardus-release" ]; then
102                short="Pardus"
103                long="$(cat "$dir/etc/pardus-release")"
104        elif [ -e "$dir/etc/kanotix-version" ]; then
105                short="Kanotix"
106                long="$(cat "$dir/etc/kanotix-version")"
107        elif [ -e "$dir/etc/slackware-version" ]; then
108                short="Slackware"
109                long="$(printf "Slackware Linux (%s)\n" "$(cat "$dir/etc/slackware-version")")"
110        elif [ -e "$dir/sbin/pkgtool" ]; then
111                short="Slackware"
112                long="Slackware Linux"
113        elif grep -qs OpenLinux "$dir/etc/issue"; then
114                short="Caldera"
115                long="Caldera OpenLinux"
116        elif [ -e "$dir/etc/frugalware-release" ]; then
117                short="Frugalware Linux"
118                long="$(cat "$dir/etc/frugalware-release")"
119        elif [ -e "$dir/etc/kdemar-release" ]; then
120                short="K-DEMar"
121                long="$(printf "K-DEMar GNU/Linux (%s)\n" "$(cat "$dir/etc/kdemar-release")")"
122        elif [ -e "$dir/etc/lfs-release" ]; then
123                short="LFS"
124                long="$(printf "Linux From Scratch (%s)\n" "$(cat "$dir/etc/lfs-release")")"
125        elif [ -e "$dir/etc/meego-release" ]; then
126                short="MeeGo"
127                long="$(head -1 "$dir/etc/meego-release")"
128        else
129                short="Linux"
130                long="unknown Linux distribution"
131        fi
132       
133        label="$(count_next_label "$short")"
134        result "$partition:$long:$label:linux"
135        exit 0
136else
137        exit 1
138fi
Note: See TracBrowser for help on using the repository browser.