Handle hostnames with upper-case letters
[webmin.git] / os_list.txt
index 96eb7da..3046a90 100644 (file)
@@ -1,3 +1,17 @@
+# Pardus Linux
+Pardus Linux                   1.0                     pardus-linux    1.0     `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+1.0\s+/i
+Pardus Linux                   2007                    pardus-linux    2007    `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2007\s+/i
+Pardus Linux                   2007.1 Felis chaus      pardus-linux    2007.1  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2007.1\s+/i
+Pardus Linux                   2007.2 Caracac caracal  pardus-linux    2007.2  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2007.2\s+/i
+Pardus Linux                   2007.3 Lynx lynx        pardus-linux    2007.3  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2007.3\s+/i
+Pardus Linux                   2008                    pardus-linux    2008    `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2008\s+/i
+Pardus Linux                   2008.1 Hyaena hyaena    pardus-linux    2008.1  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2008.1\s+/i
+Pardus Linux                   2008.2 Canis aureus     pardus-linux    2008.2  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2008.2\s+/i
+Pardus Linux                   2009                    pardus-linux    2009    `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2009\s+/i
+Pardus Linux                   2009.1 Anthropoides virgo       pardus-linux    2009.1  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2009.1\s+/i
+Pardus Linux                   2009.2 Geronticus eremita       pardus-linux    2009.2  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2009.2\s+/i
+Pardus Linux                   2011                    pardus-linux    2011    `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2011\s+/i
+
 # Sun Solaris
 Sun Solaris                    2.5.1   solaris         2.5.1   $uname =~ /SunOS.*\s5\.5\.1\s/i
 Sun Solaris                    2.6     solaris         2.6     $uname =~ /SunOS.*\s5\.6\s/i
@@ -15,14 +29,20 @@ Caldera OpenLinux           3.1     open-linux      3.1e    $etc_issue =~ /OpenLinux.*3\.1/i
 Caldera OpenLinux              3.2     open-linux      3.2e    $etc_issue =~ /OpenLinux.*3\.2/i
 
 # Redhat enterprise clones
+Asianux Server                 $1      redhat-linux    $1+10.0 `cat /etc/asianux-release 2>/dev/null` =~ /Asianux\s+Server\s+(\d+)/i
+Asianux                                $1      redhat-linux    $1+10.0 `cat /etc/asianux-release 2>/dev/null` =~ /Asianux\s+release\s+(\d+\.\d+)/i
 Whitebox Linux                 $1      redhat-linux    10.0    `cat /etc/whitebox-release 2>/dev/null` =~ /White\s+Box\s+Enterprise\s+Linux\s+release\s+(\S+)/i
 Tao Linux                      $1      redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null` =~ /Tao\s+Linux\s+release\s+(\S+)/i
 CentOS Linux                   $1      redhat-linux    10.0    `cat /etc/centos-release /etc/redhat-release 2>/dev/null` =~ /CentOS\s+release\s+(\S+)/i && $1 < 4
-CentOS Linux                   $1      redhat-linux    $1+8.0  `cat /etc/centos-release /etc/redhat-release 2>/dev/null` =~ /CentOS\s+release\s+(\S+)/i && $1 >= 4
+CentOS Linux                   $2      redhat-linux    $2+8.0  `cat /etc/centos-release /etc/redhat-release 2>/dev/null` =~ /CentOS\s+(Linux\s+)?release\s+(\S+)/i && $2 >= 4
 Scientific Linux               $1      redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null` =~ /Scientific\s+Linux.*\s+release\s+(\S+)/i && $1 < 4
-Scientific Linux               $1      redhat-linux    12.0    `cat /etc/redhat-release 2>/dev/null` =~ /Scientific\s+Linux.*\s+release\s+(\S+)/i && $1 >= 4
+Scientific Linux               $1      redhat-linux    $1+8.0  `cat /etc/redhat-release 2>/dev/null` =~ /Scientific\s+Linux.*\s+release\s+(\d+)/i && $1 >= 4
 Gralinux                       $1      redhat-linux    $2+8.0  `cat /etc/redhtat-release 2>/dev/null` =~ /Gralinux\s+(ES|AS|WS)\s+release\s+(\d+)/i
 NeoShine Linux                 $1      redhat-linux    $1+10   `cat /etc/neoshine-release 2>/dev/null` =~ /NeoShine\s+Linux.*release\s+(\d+)/i
+Endian Firewall Linux          $1      redhat-linux    $1+10.0 `cat /etc/endian-release 2>/dev/null` =~ /release\s+(\S+)/
+Oracle Enterprise Linux                        $2      redhat-linux    $2+8.0  `cat /etc/enterprise-release 2>/dev/null` =~ /Enterprise.*Linux\s+Enterprise\s+Linux\s+Server\s+release\s+(\d+)/i
+Oracle VM                      $2      redhat-linux    $2+8.0  `cat /etc/ovs-release 2>/dev/null` =~ /Oracle.*VM\s+server\s+release\s+(\d+)/i
+XenServer Linux                        $1      redhat-linux    13.0    `cat /etc/redhat-release 2>/dev/null` =~ /XenServer\s+release\s+5\./
 
 # Redhat enterprise versions
 Redhat Enterprise Linux                        2.1AS   redhat-linux    7.3     `cat /etc/redhat-release 2>/dev/null` =~ /(Advanced\s+Server.*2\.1)|(AS.*2\.1)/i
@@ -30,7 +50,7 @@ Redhat Enterprise Linux                       2.1ES   redhat-linux    7.3     `cat /etc/redhat-release 2>/dev
 Redhat Enterprise Linux                        2.1WS   redhat-linux    7.3     `cat /etc/redhat-release 2>/dev/null` =~ /WS.*2\.1/
 Redhat Enterprise Linux                        3.0AS   redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null` =~ /(3\.0AS)|(2\.9\.5AS)|(AS\s+release\s+3)/i
 Redhat Enterprise Linux                        "$2$1"  redhat-linux    $2 >= 4 ? $2+8.0 : 10.0 `cat /etc/redhat-release 2>/dev/null` =~ /(ES|AS|WS)\s+release\s+(\S+)/
-Redhat Enterprise Linux                        $1      redhat-linux    $1+8.0  `cat /etc/redhat-release 2>/dev/null` =~ /Red.*Hat\s+Enterprise\s+Linux\s+Server\s+release\s+(\d+)/
+Redhat Enterprise Linux                        $2      redhat-linux    $2+8.0  `cat /etc/redhat-release 2>/dev/null` =~ /Red.*Hat\s+Enterprise\s+Linux\s+(Server|Client|Workstation)\s+release\s+(\d+)/i
 
 # Redhat enterprise desktop
 Redhat Linux Desktop                   $1      redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null` =~ /Desktop\s+release\s+(\S+)/i || `cat /etc/redhat-release 2>/dev/null` =~ /ES\s+release\s+(\S+)/i
@@ -38,9 +58,13 @@ Redhat Linux Desktop                 $1      redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null
 # Redhat clones
 AlphaCore Linux                        $1      redhat-linux    11.0    `cat /etc/alphacore-release 2>/dev/null` =~ /Alpha\s*Core\s+release\s+(\S+)\s/i
 X/OS Linux                     $1      redhat-linux    sprintf("%.1f", 9.0+$1)         `cat /etc/redhat-release /etc/fedora-release 2>/dev/null` =~ /X\/OS.*release\s(\S+)\s/i
-Asianux                                $1      redhat-linux    10.0    `cat /etc/release /etc/asianux-release 2>/dev/null` =~ /Asianux\s+release\s+(\S+)/i
 Haansoft Linux                 $1      redhat-linux    10.0    `cat /etc/Haansoft-release 2>/dev/null` =~ /Haansoft\s+Linux\s+OS\s+release\s+(\S+)/i
 cAos Linux                     $1      redhat-linux    sprintf("%.1f", 10.0+$1)        `cat /etc/caos-release 2>/dev/null` =~ /release\s+(\S+)/i
+Wind River Linux               3.0     redhat-linux    18.0    `cat /etc/wrs-release 2>/dev/null` =~ /Wind\s+River\s+Linux\s+3\.0/
+Wind River Linux               2.0     redhat-linux    16.0    `cat /etc/wrs-release 2>/dev/null` =~ /Wind\s+River\s+Linux\s+2\.0/
+
+# Amazon Linux
+Amazon Linux                   $1      redhat-linux    20.0    `cat /etc/system-release 2>/dev/null` =~ /Amazon\s+Linux.*\s2011/
 
 # Free Redhat Linux and Fedora
 Redhat Linux                   $1      redhat-linux    $1      `cat /etc/redhat-release 2>/dev/null` =~ /red.*hat.*release\s+(\S+)/i && `cat /etc/redhat-release 2>/dev/null` !~ /[eE]nterprise|AS|ES|WS|[aA]dvanced/
@@ -48,10 +72,10 @@ Redhat Linux                        "Fedora $1"     redhat-linux    sprintf("%.1f", 9.0+$1)         `cat /etc/redha
 
 # Slackware clones
 White Dwarf Linux              2.1.0   slackware-linux 8.1     `cat /tmp/wd/version 2>/dev/null` =~ /2\.1\.0/
-Slamd64 Linux                  $1      slackware-linux 11.1    `cat /etc/slamd64-version 2>/dev/null` =~ /([0-9\.]+)/
+Slamd64 Linux                  $1      slackware-linux 11.1    `cat /etc/slamd64-version 2>/dev/null` =~ /\s([0-9\.]+)/
 
 # Slackware Linux
-Slackware Linux                        $1      slackware-linux $1      `cat /etc/slackware-version 2>/dev/null` =~ /([0-9\.]+)/
+Slackware Linux                        $1      slackware-linux $1      `cat /etc/slackware-version 2>/dev/null` =~ /Slackware ([0-9\.]+)/i
 
 # Debian clones
 Xandros Linux                  2.0     debian-linux    3.0     $etc_issue =~ /Xandros.*\s2\.0/i
@@ -60,14 +84,41 @@ Xandros Linux                       $1      debian-linux    3.2     $etc_issue =~ /Xandros.*\s(4\.\d+)/i
 APLINUX                                1.3     debian-linux    3.1     $etc_issue =~ /APLINUX.*1\.3/i
 BigBlock                       $1      suse-linux      8.2     `cat /etc/bigblock-revision 2>/dev/null` =~ /Version:\s(1[0-9\.-]+)\s/i
 BigBlock                       $1      debian-linux    3.0     `cat /etc/bigblock-revision 2>/dev/null` =~ /Version:\s(2[0-9\.-]+)\s/i
+Ubuntu Linux                   $1      debian-linux    4.0     $etc_issue =~ /Ubuntu.*\sgutsy/i
+Ubuntu Linux                   $1      debian-linux    4.0     $etc_issue =~ /Ubuntu.*\s(7\.[0-9\.]+)\s/i
+Ubuntu Linux                   $1      debian-linux    4.0     $etc_issue =~ /Ubuntu.*\s(8\.[0-9\.]+)\s/i
+Ubuntu Linux                   $1      debian-linux    5.0     $etc_issue =~ /Ubuntu.*\s(9\.[0-9\.]+)\s/i
+Ubuntu Linux                   $1      debian-linux    5.0     $etc_issue =~ /Ubuntu.*\s(10\.[0-9\.]+)\s/i
+Ubuntu Linux                   $1      debian-linux    6.0     $etc_issue =~ /Ubuntu.*\s(11\.[0-9\.]+)\s/i || $etc_issue =~ /Ubuntu\s+natty/i
 Ubuntu Linux                   $1      debian-linux    3.1     $etc_issue =~ /Ubuntu.*\s([0-9\.]+)\s/i
 Mepis Linux                    $1      debian-linux    $1      $etc_issue =~ /MEPIS/ && `cat /etc/debian_version 2>/dev/null` =~ /([0-9\.]+)/
 Mepis Linux                    $1      debian-linux    4.0     $etc_issue =~ /MEPIS/ && `cat /etc/debian_version 2>/dev/null` =~ /(stable)/
 
+# Linux Mint (Mint should be before Debian to avoid false-positive)
+Linux Mint             6       debian-linux    5.0     `cat /etc/lsb-release | grep DISTRIB_DESCRIPTION` =~ /^DISTRIB_DESCRIPTION="Linux Mint 6 Felicia"/
+Linux Mint                     7       debian-linux    5.0     `cat /etc/lsb-release | grep DISTRIB_DESCRIPTION` =~ /^DISTRIB_DESCRIPTION="Linux Mint 7 Gloria"/
+Linux Mint                     8       debian-linux    6.0     `cat /etc/lsb-release | grep DISTRIB_DESCRIPTION` =~ /^DISTRIB_DESCRIPTION="Linux Mint 8 Helena"/
+Linux Mint                     9       debian-linux    6.0     `cat /etc/lsb-release | grep DISTRIB_DESCRIPTION` =~ /^DISTRIB_DESCRIPTION="Linux Mint 9 Isadora"/
+Linux Mint                     10      debian-linux    6.0     `cat /etc/lsb-release | grep DISTRIB_DESCRIPTION` =~ /^DISTRIB_DESCRIPTION="Linux Mint 10 Julia"/
+Linux Mint                     11      debian-linux    6.0     `cat /etc/lsb-release | grep DISTRIB_DESCRIPTION` =~ /^DISTRIB_DESCRIPTION="Linux Mint 11 Katya"/
+
 # Debian Linux versions with numbers
 Debian Linux                   $1      debian-linux    $1      $etc_issue =~ /Debian.*\s([0-9\.]+)\s/i || `cat /etc/debian_version 2>/dev/null` =~ /([0-9\.]+)/
-Debian Linux                   3.2     debian-linux    3.2     $etc_issue =~ /Debian.*\stesting\/unstable\s/i
-Debian Linux                   4.0     debian-linux    4.0     $etc_issue =~ /Debian.*lenny\/sid\s/i
+Debian Linux                   2.0     debian-linux    2.0     `cat /etc/debian_version 2>/dev/null` =~ /^(hamm)/i
+Debian Linux                   2.1     debian-linux    2.1     `cat /etc/debian_version 2>/dev/null` =~ /^(slink)/i
+Debian Linux                   2.2     debian-linux    2.2     `cat /etc/debian_version 2>/dev/null` =~ /^(potato)/i
+Debian Linux                   3.0     debian-linux    3.0     `cat /etc/debian_version 2>/dev/null` =~ /^(woody)/i
+Debian Linux                   3.1     debian-linux    3.1     `cat /etc/debian_version 2>/dev/null` =~ /^(sarge)/i
+Debian Linux                   4.0     debian-linux    4.0     `cat /etc/debian_version 2>/dev/null` =~ /^(etch)/i
+Debian Linux                   5.0     debian-linux    5.0     `cat /etc/debian_version 2>/dev/null` =~ /^(lenny)/i
+Debian Linux                   6.0     debian-linux    6.0     `cat /etc/debian_version 2>/dev/null` =~ /^(squeeze)/i
+Debian Linux                   7.0     debian-linux    7.0     `cat /etc/debian_version 2>/dev/null` =~ /^(wheezy)/i
+# These change sometimes...
+Debian Linux                   5.0     debian-linux    5.0     `cat /etc/debian_version 2>/dev/null` =~ /^(stable)/i
+# These don't have a version number yet, so we use the one from "stable"
+Debian Linux                   5.0     debian-linux    5.0     `cat /etc/debian_version 2>/dev/null` =~ /^(testing)/i
+Debian Linux                   6.0     debian-linux    6.0     `cat /etc/debian_version 2>/dev/null` =~ /^(unstable)/i
+Debian Linux                   6.0     debian-linux    6.0     `cat /etc/debian_version 2>/dev/null` =~ /^(sid)/i
 
 # SuSE enterprise versions
 SuSE OpenExchange Linux                $1      suse-linux      8.2     `cat /etc/SLOX-release 2>/dev/null` =~ /VERSION\s+=\s+(\S+)/i
@@ -96,6 +147,8 @@ Mandrake Linux Corporate Server      1.0     redhat-linux    6.2     $etc_issue =~ /Mandrake\s+C
 pclinuxos Linux                        2005    mandrake-linux  10.0    `cat /etc/mandrake-release 2>/dev/null` =~ /pclinuxos\s+Linux\s+release\s+2005/i
 pclinuxos Linux                        2006    mandrake-linux  10.2    `cat /etc/mandrake-release 2>/dev/null` =~ /pclinuxos\s+Linux\s+release\s+2006/i
 pclinuxos Linux                        2007    mandrake-linux  10.3    `cat /etc/mandrake-release 2>/dev/null` =~ /PCLinuxOS\s+release\s+2007/i
+pclinuxos Linux                        2008    mandrake-linux  10.4    `cat /etc/mandrake-release 2>/dev/null` =~ /PCLinuxOS\s+release\s+2008/i
+pclinuxos Linux                        2009    mandrake-linux  10.5    `cat /etc/mandrake-release 2>/dev/null` =~ /PCLinuxOS\s+release\s+2009/i
 
 # Mandrake Linux
 Mandrake Linux                 5.3     redhat-linux    5.0     $etc_issue =~ /Mandrake\s+release\s+5\.3/i
@@ -104,8 +157,17 @@ Mandrake Linux                     6.1     redhat-linux    6.0     $etc_issue =~ /Mandrake\s+release\s+6\.1/i
 Mandrake Linux                 7.0     redhat-linux    6.1     $etc_issue =~ /Mandrake\s+release\s+7\.0/i
 Mandrake Linux                 7.1     redhat-linux    6.2     $etc_issue =~ /Mandrake\s+release\s+7\.1/i
 Mandrake Linux                 $1      mandrake-linux  $1      `cat /etc/mandrake-release 2>/dev/null` =~ /Mandrake.*?([0-9\.]+)/i || $etc_issue =~ /Mandrake\s+release\s+([0-9\.]+)/i || $etc_issue =~ /Mandrakelinux\s+release\s+([0-9\.]+)/i
+
+# Mandriva Linux
 Mandriva Linux                 $2      mandrake-linux  10.2    $etc_issue =~ /(Mandrakelinux|Mandriva).*(2006\.\d+)/i || `cat /etc/mandrake-release 2>/dev/null` =~ /(Mandrakelinux|Mandriva).*(2007\.\d+)/i
 Mandriva Linux                 $2      mandrake-linux  10.3    $etc_issue =~ /(Mandrakelinux|Mandriva).*(2007\.\d+)/i || `cat /etc/mandrake-release 2>/dev/null` =~ /(Mandrakelinux|Mandriva).*(2007\.\d+)/i
+Mandriva Linux                 $2      mandrake-linux  10.4    $etc_issue =~ /(Mandrakelinux|Mandriva).*(2008\.\d+)/i || `cat /etc/mandrake-release 2>/dev/null` =~ /(Mandrakelinux|Mandriva).*(2008\.\d+)/i
+Mandriva Linux                 $2      mandrake-linux  10.5    $etc_issue =~ /(Mandrakelinux|Mandriva).*(2009\.\d+)/i || `cat /etc/mandrake-release 2>/dev/null` =~ /(Mandrakelinux|Mandriva).*(2009\.\d+)/i
+Mandriva Linux                 $2      mandrake-linux  $2      $etc_issue =~ /(Mandriva).*(20\d\d\.\d+)/i || `cat /etc/mandriva-release 2>/dev/null` =~ /(Mandriva).*(20\d\d\.\d+)/i
+
+# Mandriva Corporate
+Mandrake Linux Corporate Server        $i      mandrake-linux  $i      $etc_issue =~ /Mandrake\s+Linux\s+Corporate\s+Server\s+release\s+([0-9\.]+)/i
+Mandriva Linux Enterprise Server       5.0     mandrake-linux  2009    $etc_issue =~ /Mandriva\s+Linux\s+Enterprise\s+Server\s+release\s+5\.0\s+\(Official\)\s+for\s+(i586|x86_64)/i
 
 # Conectiva Linux (now subsumed into Mandrake?)
 Conectiva Linux                        3.0     redhat-linux    5.2     $etc_issue =~ /Conectiva.*Linux.*3\.0/i
@@ -231,7 +293,7 @@ Caixa Magica                        10.0    suse-linux      9.2     `cat /etc/CxM-release 2>/dev/null` =~ /10\.0/
 openmamba Linux                        $1      openmamba-linux $1      `cat /etc/openmamba-release 2>/dev/null` =~ /openmamba\s+release\s+(\S+)/i
 
 # All FreeBSD versions
-FreeBSD                                $1      freebsd         $1      $uname =~ /FreeBSD.*?\s([0-9\.]+)/i
+FreeBSD                                $1      freebsd         $1      $uname =~ /FreeBSD.*?\s([0-9]+\.[0-9\.]+)/i
 
 # FreeBSD clones
 DragonFly BSD                  1.0     freebsd         4.8     $uname =~ /DragonFly.*?\s1\.0A/i
@@ -245,6 +307,8 @@ NetBSD                              1.5     netbsd          1.5     $uname =~ /NetBSD.*1\.5/i
 NetBSD                         1.6     netbsd          1.6     $uname =~ /NetBSD.*1\.6/i
 NetBSD                         2.0     netbsd          2.0     $uname =~ /NetBSD.*2\.0/i
 NetBSD                         3.0     netbsd          3.0     $uname =~ /NetBSD.*3\.0/i
+NetBSD                         4.0     netbsd          4.0     $uname =~ /NetBSD.*4\.0/i
+NetBSD                         $1      netbsd          $1      `uname` =~ /NetBSD/ && `uname -r` =~ /([\d.]+)/
 
 # BSDI (may not be detected properly)
 BSDI                           $1      freebsd         $1      $uname =~ /BSDI.*\s([0-9\.]+)/i
@@ -275,6 +339,7 @@ Mac OS X                    10.1    macos           1.4     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.1/i
 Mac OS X                       10.2    macos           6.0     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.2/i
 Mac OS X                       10.3    macos           7.0     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.3/i
 Mac OS X                       10.4    macos           8.1     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.4/i
+Mac OS X                       10.5    macos           9.2     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.5/i
 
 # Darwin, the open source version of OS X
 Darwin                         $1      macos           $1      $uname =~ /Darwin.*\s([0-9\.]+)/