Till Brehm
2016-05-25 3b8b9e3ee435e378ac6d455bc1d01bdd3f9ed47b
- Introduced confid in $distver array to separate the config and class for a distribution in the installer.
- Cleaned up the dist detection.
4 files modified
1 files deleted
715 ■■■■■ changed files
install/dist/lib/centos72.lib.php 125 ●●●●● patch | view | raw | blame | history
install/install.php 2 ●●● patch | view | raw | blame | history
install/lib/install.lib.php 120 ●●●●● patch | view | raw | blame | history
install/update.php 2 ●●● patch | view | raw | blame | history
server/lib/classes/monitor_tools.inc.php 466 ●●●●● patch | view | raw | blame | history
install/dist/lib/centos72.lib.php
File was deleted
install/install.php
@@ -133,7 +133,7 @@
//** Include the distribution-specific installer class library and configuration
if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
include_once 'dist/lib/'.$dist['id'].'.lib.php';
include_once 'dist/conf/'.$dist['id'].'.conf.php';
include_once 'dist/conf/'.$dist['confid'].'.conf.php';
//****************************************************************************************************
//** Installer Interface
install/lib/install.lib.php
@@ -27,29 +27,6 @@
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
    This function returns a string that describes the installed
    Linux distribution. e.g. debian40 for Debian GNU/Linux 4.0
*/
/*
Comments to completion forever ;-)
commandline arguments
$argv[1]
<?
echo "Total argument passed are : $argc \n";
for( $i = 0 ; $i <= $argc -1 ;$i++)
{
echo "Argument $i : $argv[$i] \n";
}
?>
*/
error_reporting(E_ALL|E_STRICT);
@@ -59,6 +36,10 @@
//** IMPORTANT!
//   This is the same code as in server/lib/classes/monitor_tools.inc.php
//   So if you change it here, you also have to change it in there!
//
//    This function returns a string that describes the installed
//    Linux distribution. e.g. debian40 for Debian GNU/Linux 4.0
function get_distname() {
    $distname = '';
@@ -66,53 +47,54 @@
    $distid = '';
    $distbaseid = '';
    //** Debian or Ubuntu
    if (is_file('/etc/os-release') && stristr(file_get_contents('/etc/os-release'), 'Ubuntu')) {
        $os_release = file_get_contents('/etc/os-release');
        if (strstr(trim($os_release), 'LTS')) {
            $lts = " LTS";
        } else {
            $lts = "";
        }
    //** Debian or Ubuntu
    if(file_exists('/etc/debian_version')) {
        // Check if this is Ubuntu and not Debian
        if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu') || (is_file('/etc/os-release') && stristr(file_get_contents('/etc/os-release'), 'Ubuntu'))) {
            $issue = file_get_contents('/etc/issue');
            // Use content of /etc/issue file
            if(strstr($issue,'Ubuntu')) {
                if (strstr(trim($issue), 'LTS')) {
                    $lts=" LTS";
                } else {
                    $lts="";
                }
        preg_match("/.*VERSION=\"(.*)\".*/ui", $os_release, $ver);
        $ver = str_replace("LTS", "", $ver[1]);
        $ver = explode(" ", $ver, 2);
        $relname = end($ver);
        $relname = "(" . trim(trim($relname), "()") . ")";
        $distname = 'Ubuntu';
        $ver = reset($ver);
        if($ver == "16.04") {
            $distid = 'ubuntu1604';
        } else {
            $distid = 'debian40';
        }
        $distbaseid = 'debian';
        $distver = $ver . $lts . " " . $relname;
        swriteln("Operating System: " . $distver . "\n");
    } //** Debian / Ubuntu
    elseif(file_exists('/etc/debian_version')) {
        if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu')) {
            if (strstr(trim(file_get_contents('/etc/issue')), 'LTS')) {
                $lts=" LTS";
                $distname = 'Ubuntu';
                $distid = 'debian40';
                $distbaseid = 'debian';
                $ver = explode(' ', $issue);
                $ver = array_filter($ver);
                $ver = next($ver);
                $mainver = explode('.', $ver);
                $mainver = array_filter($mainver);
                $mainver = current($mainver).'.'.next($mainver);
            // Use content of /etc/os-release file
            } else {
                $lts="";
            }
                $os_release = file_get_contents('/etc/os-release');
                if (strstr(trim($os_release), 'LTS')) {
                    $lts = " LTS";
                } else {
                    $lts = "";
                }
                $distname = 'Ubuntu';
                $distid = 'debian40';
                $distbaseid = 'debian';
            $issue=file_get_contents('/etc/issue');
            $distname = 'Ubuntu';
            $distid = 'debian40';
            $distbaseid = 'debian';
            $ver = explode(' ', $issue);
            $ver = array_filter($ver);
            $ver = next($ver);
            $mainver = explode('.', $ver);
            $mainver = array_filter($mainver);
            $mainver = current($mainver).'.'.next($mainver);
                preg_match("/.*VERSION=\"(.*)\".*/ui", $os_release, $ver);
                $ver = str_replace("LTS", "", $ver[1]);
                $ver = explode(" ", $ver, 2);
                $ver = reset($ver);
                $mainver = $ver;
            }
            switch ($mainver){
            case "16.04":
                $relname = "(Xenial Xerus)";
                $distid = 'ubuntu1604';
                $distconfid = 'ubuntu1604';
                break;
            case "15.10":
                $relname = "(Wily Werewolf)";
@@ -187,7 +169,7 @@
                $relname = "UNKNOWN";
            }
            $distver = $ver.$lts." ".$relname;
            swriteln("Operating System: ".$distver."\n");
            swriteln("Operating System: ".$distname.' '.$distver."\n");
        } elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') {
            $distname = 'Debian';
            $distver = '4.0';
@@ -307,7 +289,8 @@
        } elseif(stristr($content, 'CentOS Linux release 7.2')) {
            $distname = 'CentOS';
            $distver = 'Unknown';
            $distid = 'centos72';
            $distid = 'centos70';
            $distconfid = 'centos72';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 7.2\n");
        } elseif(stristr($content, 'CentOS Linux release 7')) {
@@ -340,8 +323,11 @@
    } else {
        die('Unrecognized GNU/Linux distribution');
    }
    // Set $distconfid to distid, if no different id for the config is defined
    if(!isset($distconfid)) $distconfid = $distid;
    return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'baseid' => $distbaseid);
    return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'confid' => $distconfid, 'baseid' => $distbaseid);
}
function sread() {
install/update.php
@@ -137,7 +137,7 @@
//** Include the distribution-specific installer class library and configuration
if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
include_once 'dist/lib/'.$dist['id'].'.lib.php';
include_once 'dist/conf/'.$dist['id'].'.conf.php';
include_once 'dist/conf/'.$dist['confid'].'.conf.php';
//** Get hostname
exec('hostname -f', $tmp_out);
server/lib/classes/monitor_tools.inc.php
@@ -35,23 +35,29 @@
    //   This is the same code as in install/lib/install.lib.php
    //   So if you change it here, you also have to change it in there!
    //   Please do not forget to remove the swriteln(); - lines here at this file
    public function get_distname() {
    function get_distname() {
        $distname = '';
        $distver = '';
        $distid = '';
        $distbaseid = '';
    $distname = '';
    $distver = '';
    $distid = '';
    $distbaseid = '';
        //** Debian or Ubuntu
        if (file_exists('/etc/debian_version')) {
            if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu')) {
                if (strstr(trim(file_get_contents('/etc/issue')), 'LTS')) {
    //** Debian or Ubuntu
    if(file_exists('/etc/debian_version')) {
        // Check if this is Ubuntu and not Debian
        if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu') || (is_file('/etc/os-release') && stristr(file_get_contents('/etc/os-release'), 'Ubuntu'))) {
            $issue = file_get_contents('/etc/issue');
            // Use content of /etc/issue file
            if(strstr($issue,'Ubuntu')) {
                if (strstr(trim($issue), 'LTS')) {
                    $lts=" LTS";
                } else {
                    $lts="";
                }
                $issue=file_get_contents('/etc/issue');
                $distname = 'Ubuntu';
                $distid = 'debian40';
                $distbaseid = 'debian';
@@ -61,206 +67,262 @@
                $mainver = explode('.', $ver);
                $mainver = array_filter($mainver);
                $mainver = current($mainver).'.'.next($mainver);
                switch ($mainver){
                case "16.04":
                    $relname = "(Xenial Xerus)";
                    $distid = 'ubuntu1604';
                    break;
                case "15.10":
                    $relname = "(Wily Werewolf)";
                    break;
                case "15.04":
                    $relname = "(Vivid Vervet)";
                    break;
                case "14.10":
                    $relname = "(Utopic Unicorn)";
                    break;
                case "14.04":
                    $relname = "(Trusty Tahr)";
                    break;
                case "13.10":
                    $relname = "(Saucy Salamander)";
                    break;
                case "13.04":
                    $relname = "(Raring Ringtail)";
                    break;
                case "12.10":
                    $relname = "(Quantal Quetzal)";
                    break;
                case "12.04":
                    $relname = "(Precise Pangolin)";
                    break;
                case "11.10":
                    $relname = "(Oneiric Ocelot)";
                    break;
                case "11.14":
                    $relname = "(Natty Narwhal)";
                    break;
                case "10.10":
                    $relname = "(Maverick Meerkat)";
                    break;
                case "10.04":
                    $relname = "(Lucid Lynx)";
                    break;
                case "9.10":
                    $relname = "(Karmic Koala)";
                    break;
                case "9.04":
                    $relname = "(Jaunty Jackpole)";
                    break;
                case "8.10":
                    $relname = "(Intrepid Ibex)";
                    break;
                case "8.04":
                    $relname = "(Hardy Heron)";
                    break;
                case "7.10":
                    $relname = "(Gutsy Gibbon)";
                    break;
                case "7.04":
                    $relname = "(Feisty Fawn)";
                    break;
                case "6.10":
                    $relname = "(Edgy Eft)";
                    break;
                case "6.06":
                    $relname = "(Dapper Drake)";
                    break;
                case "5.10":
                    $relname = "(Breezy Badger)";
                    break;
                case "5.04":
                    $relname = "(Hoary Hedgehog)";
                    break;
                case "4.10":
                    $relname = "(Warty Warthog)";
                    break;
                default:
                    $relname = "UNKNOWN";
            // Use content of /etc/os-release file
            } else {
                $os_release = file_get_contents('/etc/os-release');
                if (strstr(trim($os_release), 'LTS')) {
                    $lts = " LTS";
                } else {
                    $lts = "";
                }
                $distver = $ver.$lts." ".$relname;
            } elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') {
                $distname = 'Debian';
                $distver = '4.0';
                $distname = 'Ubuntu';
                $distid = 'debian40';
                $distbaseid = 'debian';
            } elseif (strstr(trim(file_get_contents('/etc/debian_version')), '5.0')) {
                $distname = 'Debian';
                $distver = 'Lenny';
                $distid = 'debian40';
                $distbaseid = 'debian';
            } elseif (strstr(trim(file_get_contents('/etc/debian_version')), '6.0') || trim(file_get_contents('/etc/debian_version')) == 'squeeze/sid') {
                $distname = 'Debian';
                $distver = 'Squeeze/Sid';
                $distid = 'debian60';
                $distbaseid = 'debian';
            } elseif (strstr(trim(file_get_contents('/etc/debian_version')), '7.0') || substr(trim(file_get_contents('/etc/debian_version')),0,2) == '7.' || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') {
                $distname = 'Debian';
                $distver = 'Wheezy/Sid';
                $distid = 'debian60';
                $distbaseid = 'debian';
            } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '8') || substr(trim(file_get_contents('/etc/debian_version')),0,1) == '8') {
                $distname = 'Debian';
                $distver = 'Jessie';
                $distid = 'debian60';
                $distbaseid = 'debian';
            } else {
                $distname = 'Debian';
                $distver = 'Unknown';
                $distid = 'debian40';
                $distbaseid = 'debian';
                preg_match("/.*VERSION=\"(.*)\".*/ui", $os_release, $ver);
                $ver = str_replace("LTS", "", $ver[1]);
                $ver = explode(" ", $ver, 2);
                $ver = reset($ver);
                $mainver = $ver;
            }
        }
        //** OpenSuSE
        elseif (file_exists('/etc/SuSE-release')) {
            if (stristr(file_get_contents('/etc/SuSE-release'), '11.0')) {
                $distname = 'openSUSE';
                $distver = '11.0';
                $distid = 'opensuse110';
                $distbaseid = 'opensuse';
            } elseif (stristr(file_get_contents('/etc/SuSE-release'), '11.1')) {
                $distname = 'openSUSE';
                $distver = '11.1';
                $distid = 'opensuse110';
                $distbaseid = 'opensuse';
            } elseif (stristr(file_get_contents('/etc/SuSE-release'), '11.2')) {
                $distname = 'openSUSE';
                $distver = '11.1';
                $distid = 'opensuse110';
                $distbaseid = 'opensuse';
            } else {
                $distname = 'openSUSE';
                $distver = 'Unknown';
                $distid = 'opensuse110';
                $distbaseid = 'opensuse';
            switch ($mainver){
            case "16.04":
                $relname = "(Xenial Xerus)";
                $distconfid = 'ubuntu1604';
                break;
            case "15.10":
                $relname = "(Wily Werewolf)";
                break;
            case "15.04":
                $relname = "(Vivid Vervet)";
                break;
            case "14.10":
                $relname = "(Utopic Unicorn)";
                break;
            case "14.04":
                $relname = "(Trusty Tahr)";
                break;
            case "13.10":
                $relname = "(Saucy Salamander)";
                break;
            case "13.04":
                $relname = "(Raring Ringtail)";
                break;
            case "12.10":
                $relname = "(Quantal Quetzal)";
                break;
            case "12.04":
                $relname = "(Precise Pangolin)";
                break;
            case "11.10":
                $relname = "(Oneiric Ocelot)";
                break;
            case "11.14":
                $relname = "(Natty Narwhal)";
                break;
            case "10.10":
                $relname = "(Maverick Meerkat)";
                break;
            case "10.04":
                $relname = "(Lucid Lynx)";
                break;
            case "9.10":
                $relname = "(Karmic Koala)";
                break;
            case "9.04":
                $relname = "(Jaunty Jackpole)";
                break;
            case "8.10":
                $relname = "(Intrepid Ibex)";
                break;
            case "8.04":
                $relname = "(Hardy Heron)";
                break;
            case "7.10":
                $relname = "(Gutsy Gibbon)";
                break;
            case "7.04":
                $relname = "(Feisty Fawn)";
                break;
            case "6.10":
                $relname = "(Edgy Eft)";
                break;
            case "6.06":
                $relname = "(Dapper Drake)";
                break;
            case "5.10":
                $relname = "(Breezy Badger)";
                break;
            case "5.04":
                $relname = "(Hoary Hedgehog)";
                break;
            case "4.10":
                $relname = "(Warty Warthog)";
                break;
            default:
                $relname = "UNKNOWN";
            }
        }
        //** Redhat
        elseif (file_exists('/etc/redhat-release')) {
            $content = file_get_contents('/etc/redhat-release');
            if (stristr($content, 'Fedora release 9 (Sulphur)')) {
                $distname = 'Fedora';
                $distver = '9';
                $distid = 'fedora9';
                $distbaseid = 'fedora';
            } elseif (stristr($content, 'Fedora release 10 (Cambridge)')) {
                $distname = 'Fedora';
                $distver = '10';
                $distid = 'fedora9';
                $distbaseid = 'fedora';
            } elseif (stristr($content, 'Fedora release 10')) {
                $distname = 'Fedora';
                $distver = '11';
                $distid = 'fedora9';
                $distbaseid = 'fedora';
            } elseif (stristr($content, 'CentOS release 5.2 (Final)')) {
                $distname = 'CentOS';
                $distver = '5.2';
                $distid = 'centos52';
                $distbaseid = 'fedora';
            } elseif (stristr($content, 'CentOS release 5.3 (Final)')) {
                $distname = 'CentOS';
                $distver = '5.3';
                $distid = 'centos53';
                $distbaseid = 'fedora';
            } elseif(stristr($content, 'CentOS Linux release 6')) {
                $distname = 'CentOS';
                $distver = 'Unknown';
                $distid = 'centos53';
                $distbaseid = 'fedora';
            } elseif(stristr($content, 'CentOS Linux release 7')) {
                $distname = 'CentOS';
                $distver = 'Unknown';
                $distid = 'centos53';
                $distbaseid = 'fedora';
            } else {
                $distname = 'Redhat';
                $distver = 'Unknown';
                $distid = 'fedora9';
                $distbaseid = 'fedora';
            }
        }
        //** Gentoo
        elseif (file_exists('/etc/gentoo-release')) {
            $content = file_get_contents('/etc/gentoo-release');
            preg_match_all('/([0-9]{1,2})/', $content, $version);
            $distname = 'Gentoo';
            $distver = $version[0][0] . $version[0][1];
            $distid = 'gentoo';
            $distbaseid = 'gentoo';
            $distver = $ver.$lts." ".$relname;
            swriteln("Operating System: ".$distname.' '.$distver."\n");
        } elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') {
            $distname = 'Debian';
            $distver = '4.0';
            $distid = 'debian40';
            $distbaseid = 'debian';
            swriteln("Operating System: Debian 4.0 or compatible\n");
        } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '5.0')) {
            $distname = 'Debian';
            $distver = 'Lenny';
            $distid = 'debian40';
            $distbaseid = 'debian';
            swriteln("Operating System: Debian Lenny or compatible\n");
        } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '6.0') || trim(file_get_contents('/etc/debian_version')) == 'squeeze/sid') {
            $distname = 'Debian';
            $distver = 'Squeeze/Sid';
            $distid = 'debian60';
            $distbaseid = 'debian';
            swriteln("Operating System: Debian 6.0 (Squeeze/Sid) or compatible\n");
        } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '7.0') || substr(trim(file_get_contents('/etc/debian_version')),0,2) == '7.' || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') {
            $distname = 'Debian';
            $distver = 'Wheezy/Sid';
            $distid = 'debian60';
            $distbaseid = 'debian';
            swriteln("Operating System: Debian 7.0 (Wheezy/Sid) or compatible\n");
        } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '8') || substr(trim(file_get_contents('/etc/debian_version')),0,1) == '8') {
            $distname = 'Debian';
            $distver = 'Jessie';
            $distid = 'debian60';
            $distbaseid = 'debian';
            swriteln("Operating System: Debian 8.0 (Jessie) or compatible\n");
        } else {
            die('Unrecognized GNU/Linux distribution');
            $distname = 'Debian';
            $distver = 'Unknown';
            $distid = 'debian40';
            $distbaseid = 'debian';
            swriteln("Operating System: Debian or compatible, unknown version.\n");
        }
    }
        return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'baseid' => $distbaseid);
    //** OpenSuSE
    elseif(file_exists('/etc/SuSE-release')) {
        if(stristr(file_get_contents('/etc/SuSE-release'), '11.0')) {
            $distname = 'openSUSE';
            $distver = '11.0';
            $distid = 'opensuse110';
            $distbaseid = 'opensuse';
            swriteln("Operating System: openSUSE 11.0 or compatible\n");
        } elseif(stristr(file_get_contents('/etc/SuSE-release'), '11.1')) {
            $distname = 'openSUSE';
            $distver = '11.1';
            $distid = 'opensuse110';
            $distbaseid = 'opensuse';
            swriteln("Operating System: openSUSE 11.1 or compatible\n");
        } elseif(stristr(file_get_contents('/etc/SuSE-release'), '11.2')) {
            $distname = 'openSUSE';
            $distver = '11.2';
            $distid = 'opensuse112';
            $distbaseid = 'opensuse';
            swriteln("Operating System: openSUSE 11.2 or compatible\n");
        }  else {
            $distname = 'openSUSE';
            $distver = 'Unknown';
            $distid = 'opensuse112';
            $distbaseid = 'opensuse';
            swriteln("Operating System: openSUSE or compatible, unknown version.\n");
        }
    }
    //** Redhat
    elseif(file_exists('/etc/redhat-release')) {
        $content = file_get_contents('/etc/redhat-release');
        if(stristr($content, 'Fedora release 9 (Sulphur)')) {
            $distname = 'Fedora';
            $distver = '9';
            $distid = 'fedora9';
            $distbaseid = 'fedora';
            swriteln("Operating System: Fedora 9 or compatible\n");
        } elseif(stristr($content, 'Fedora release 10 (Cambridge)')) {
            $distname = 'Fedora';
            $distver = '10';
            $distid = 'fedora9';
            $distbaseid = 'fedora';
            swriteln("Operating System: Fedora 10 or compatible\n");
        } elseif(stristr($content, 'Fedora release 10')) {
            $distname = 'Fedora';
            $distver = '11';
            $distid = 'fedora9';
            $distbaseid = 'fedora';
            swriteln("Operating System: Fedora 11 or compatible\n");
        } elseif(stristr($content, 'CentOS release 5.2 (Final)')) {
            $distname = 'CentOS';
            $distver = '5.2';
            $distid = 'centos52';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 5.2 or compatible\n");
        } elseif(stristr($content, 'CentOS release 5.3 (Final)')) {
            $distname = 'CentOS';
            $distver = '5.3';
            $distid = 'centos53';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 5.3 or compatible\n");
        } elseif(stristr($content, 'CentOS release 5')) {
            $distname = 'CentOS';
            $distver = 'Unknown';
            $distid = 'centos53';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 5 or compatible\n");
        } elseif(stristr($content, 'CentOS Linux release 6')) {
            $distname = 'CentOS';
            $distver = 'Unknown';
            $distid = 'centos53';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 6 or compatible\n");
        } elseif(stristr($content, 'CentOS Linux release 7.2')) {
            $distname = 'CentOS';
            $distver = 'Unknown';
            $distid = 'centos70';
            $distconfid = 'centos72';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 7.2\n");
        } elseif(stristr($content, 'CentOS Linux release 7')) {
            $distname = 'CentOS';
            $distver = 'Unknown';
            $distid = 'centos70';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 7 or compatible\n");
        } else {
            $distname = 'Redhat';
            $distver = 'Unknown';
            $distid = 'fedora9';
            $distbaseid = 'fedora';
            swriteln("Operating System: Redhat or compatible, unknown version.\n");
        }
    }
    //** Gentoo
    elseif(file_exists('/etc/gentoo-release')) {
        $content = file_get_contents('/etc/gentoo-release');
        preg_match_all('/([0-9]{1,2})/', $content, $version);
        $distname = 'Gentoo';
        $distver = $version[0][0].$version[0][1];
        $distid = 'gentoo';
        $distbaseid = 'gentoo';
        swriteln("Operating System: Gentoo $distver or compatible\n");
    } else {
        die('Unrecognized GNU/Linux distribution');
    }
    // Set $distconfid to distid, if no different id for the config is defined
    if(!isset($distconfid)) $distconfid = $distid;
    return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'confid' => $distconfid, 'baseid' => $distbaseid);
    }
    // this function remains in the tools class, because it is used by cron AND rescue