read ()) { if (is_file ($d->path.$f) && preg_match ("/DVBLinux-([^_]+)(_([a-z]{2}))?_([^_]*?)(-\d.*)\.(iso|zip)/", $f, $erg)) { $autor = $erg[3]; $name = $erg[4]; $ver = $erg[1].$erg[5]; $mlds[$name][$autor][descript] = $desc[mld][$name][desc]; $mlds[$name][$autor][url] = $desc[mld][$name][url]; $mlds[$name][$autor][href] = $d->path.$f; $mlds[$name][$autor][filename] = $f; $mlds[$name][$autor][version] = $ver; $mlds[$name][$autor][size] = round (filesize ($d->path.$f) / 1024); $mlds[$name][$autor][neu] = (((time () - filemtime ($d->path.$f)) / 60 / 60 / 24) < $NEW) ? "new!" : ""; $mlds[$name][$autor][ftime] = date ("j.n.y", filemtime ($d->path.$f2)); $mlds[$name][$autor][klick] = $zugriff[$f]; $newest = (filemtime ($d->path.$f) > $newest) ? filemtime ($d->path.$f) : $newest; } } $d->close(); // MakeAddons $d = dir ("mld/"); while ($f = $d->read ()) { if (is_file ($d->path.$f) && preg_match ("/addons(_([a-z]{2}))?_([^_]*?)-(\d.*)(\.tgz)?/", $f, $erg)) { $autor = $erg[2]; $name = $erg[3]; $ver = $erg[4]; $makes[$name][$autor][descript] = $desc[make][$name][desc]; $makes[$name][$autor][url] = $desc[make][$name][url]; $makes[$name][$autor][href] = $d->path.$f; $makes[$name][$autor][filename] = $f; $makes[$name][$autor][version] = $ver; $makes[$name][$autor][size] = round (filesize ($d->path.$f) / 1024); $makes[$name][$autor][neu] = (((time () - filemtime ($d->path.$f)) / 60 / 60 / 24) < $NEW) ? "new!" : ""; $makes[$name][$autor][ftime] = date ("j.n.y", filemtime ($d->path.$f2)); $makes[$name][$autor][klick] = $zugriff[$f]; $newest = (filemtime ($d->path.$f) > $newest) ? filemtime ($d->path.$f) : $newest; } } $d->close(); // Addons $d1 = dir ("addons/"); while ($f1 = $d1->read ()) { if (is_dir ($d1->path.$f1) && $f1!="." && $f1!="..") { $d2 = dir ($d1->path.$f1."/"); while ($f2 = $d2->read ()){ if (is_file ($d2->path.$f2) && preg_match ("/(\d{3})DVBLinux-[^_]+(_([a-z]{2}))?(_.*)?_([^_]+?)-(\d.*)\.tgz/", $f2, $erg)) { $nr = $erg[1]; $autor = $erg[3]; $name = $erg[5]; $ver = $erg[6]; $addons[$f1][$f2][$autor][name] = $name; $addons[$f1][$f2][$autor][descript] = $desc[addon][$name][desc]; $addons[$f1][$f2][$autor][readme] = (file_exists ("docs/README.$name")) ? "docs/README.$name" : ""; $addons[$f1][$f2][$autor][url] = $desc[addon][$name][url]; $addons[$f1][$f2][$autor][href] = $d2->path.$f2; $addons[$f1][$f2][$autor][filename] = $f2; $addons[$f1][$f2][$autor][version] = $ver; $addons[$f1][$f2][$autor][size] = round (filesize ($d2->path.$f2) / 1024); $addons[$f1][$f2][$autor][neu] = (((time () - filemtime ($d2->path.$f2)) / 60 / 60 / 24) < $NEW) ? "new!" : ""; $addons[$f1][$f2][$autor][ftime] = date ("j.n.y", filemtime ($d2->path.$f2)); $addons[$f1][$f2][$autor][klick] = $zugriff[$f2]; $newest = (filemtime ($d2->path.$f2) > $newest) ? filemtime ($d2->path.$f2) : $newest; } if (is_file ($d2->path.$f2) && preg_match ("/HISTORY(.+)?/", $f2, $erg)) { $historys[$f1][$f2][name] = "his" . $erg[1]; $historys[$f1][$f2][href] = $d2->path.$f2; $historys[$f1][$f2][filename] = $f2; } } $d2->close(); } } $d1->close(); //@implode ('\n', @file ("docs/README.$name")); // Addons Sortieren function cmp ($a, $b) { $va = preg_match ("/^vdr(-.+)?$/", $a); $vb = preg_match ("/^vdr(-.+)?$/", $b); if ($va && !$vb) return -1; if (!$va && $vb) return 1; return strcmp (strtoupper ($a), strtoupper ($b)); } ksort ($addons); foreach ($addons as $typ => $addon) { uksort ($addons[$typ], cmp); } $newest = date ("j.n.Y", $newest); ?> MiniDVBLinux
Letzte Aktualesierung am
MiniDVBLinux Distribution (MLD 0.2.3)

Ganz neu im Downloadbereich ist die mld-0.3.0. Es handelt sich um Eine MLD auf busybox und SuSE 9.2 Basis. Da sie sich noch in der entwicklung befindet, sind bisher nur wenige Addons verfuegbar. neu!

$autors) { ?> $mld) { ?>
()  [ kB - ]


System Addons
Hierbei handelt es sich um Addons die unabh�gig vom VDR sind. Sie stellen zusetzliche Funktionen fr den MLD PC zur verfgung.

$autors) { ?> $addon) { ?>
()  [ kB - ]



DVB Treiber Addons
Es darf nur eines dvbdrv-Addons verwendet werden. Alle Weiteren Addons sind auf die dvbdrv-Version abgestimmt, laufen also nur im zusammenhang mit dem dazugeh�igen dvb-Addon.

$autors) { ?> $addon) { ?>
()  [ kB - ]



VDR Addons
Es darf nur eines der vdr-Addons verwendet werden. Alle Weiteren Addons sind auf die vdr-Version abgestimmt, laufen also nur im zusammenhang mit dem dazugeh�igen vdr-Addon.

$gruppe) { ?> $autors) { ?> $addon) { ?>
$history) { ?>
()   [ kB - ]
    



Addons erstellen
Wer selber Addons erstellen m�hte, ben�igt eine Linux-Vollinstallation (bevorzugt SuSE 8.0). Um sich dann die immer wiederkehrende Aufgabe des zippens und benennens der Addons erleichtern m�hte, der findet hier eine Untersttzung.

$autors) { ?> $make) { ?>
()  [ kB - ]
Mit hilfe des Makfiles lassen sich auf einfache weise Addons erstellen.
Das Archiv wird in den 'src' Ordner paralel zu den Ordnern vdr-1.x.x und dvb-1.x.x entpackt (typisch ist '/src'). Um Addons zu generieren muss im Ordner MLD/addons die Datei Make.conf entsprechend den wnschen angepasst werden und anschliessend 'make' aufgerufen werden. Das Makefile compeliert die ben�igten Datein und erstellt anschliessend die gew�lten Addons. Sofern eine Vorlage fr ein Addon existiert, wird diese als Basis benutzt. Die erstellten Addons landen in dem Ordner MLD/addons/[VDR-Version].

Erläuterungen
Der Autor der Addons läst sich an den Initialen hinter dem Addonnamen erkennen: $autor) { ?>
       

In den eckigen Klammern steht die Dateigr�e gefolgt von den hits.


Namenskonvention
"DVBLinux" -Version _ Autor _ Name -Revision ".*"
AddonNr "DVBLinux" -Version _ Autor _ Addonname -Version -Revision ".tgz"
AddonNr "DVBLinux" -Version _ Autor _ "vdr" -Variante -Version -Patch ".tgz"
AddonNr "DVBLinux" -Version _ Autor _ "vdr" -Version -Patch _ Pluginname -Version -Revision ".tgz"

Beispiele:
    DVBLinux-0.2.2_be_master-1.zip
    031DVBLinux-0.2.2_be_telnetd-1.0-1.tgz
    100DVBLinux-0.2.2_cm_vdr-lirc-1.2.6-kool-2-6.tgz
    110DVBLinux-0.2.2_be_vdr-1.2.6-bs_streamdev-0.3.0-1.tgz