require-package.txt - Version 1.0, 18.11.2004 -------------------------------------------------------------------- Ist-Zustand: - Als Tag-Inhalt ist bisher erlaubt: RELATIVER-PFAD-ZU-PAKETNAME [VERSION] ABSOLUTER-PFAD-ZU-PAKETNAME [VERSION] Soll-Zustand: - Als Erweiterung ist zukünftig zusätzlich erlaubt: PAKETNAME [VERSION] Beispiel: eiskernel 1.0.13 Realisierung: A. Damit eisfair dieses Paket ohne Pfadangabe finden kann, gibt es ein neues Tag in eis-list.txt, nämlich: # PFAD-ZU-INDEXDATEI Beispiel für eis-list.txt: # index.txt Diese kann auch in allen davon abgeleiteten xxxx.txt-Dateien stehen, wobei der Pfad zur Index-Datei immer auf dieselbe Index-Datei zeigen sollte, damit man nur eine Index-Datei pflegen muss. Beispiel für updates/update.txt: # ../index.txt B. Die Index-Datei hat folgendes Format: PAKETNAME VERSION STATUS PFAD eiskernel 1.0.13 stable updates/eiskernel.tar.gz.info eiskernel 1.1.0 unstable dev/eiskernel.tar.gz.info ... ... ... ... Bis pack-eis eine solche Datei automatisch generieren kann, kann ich ein Shell-Script erstellen, welches diese Index-Datei automatisch für eisfair.org erstellt. C. Gründe für das obige Format: a) pack-eis kann die Index-Datei sehr leicht erzeugen und auf dem Download-Server ablegen. Ebenso kann es den -Tag in dynamisch generierte eis-list.txt-Dateien einbauen. b) Es ist weiterhin möglich, einen Abzug von download.eisfair.org auf die eisfair-installer-CD zu kopieren. eisfair kann dann die auf der CD vorliegende Index-Datei offline benutzen, ohne online pack-eis abfragen zu müssen. D. Beispiele aus der Realität (pfade für download.eisfair.org): packages/updates/update.txt: # Package list of www.eisfair.org # Copyright Frank Meyer # Welcome to the offical eisfair package server www.eisfair.org # # It is strongly recommended to upgrade your eisfair server to 1.0.7 + # ../index.txt # update.tar.gz.info # # eiskernel.tar.gz.info # eiskernel-smp.tar.gz.info # # # Last update 2004/07/31 14:20 fm packages/index.txt: eiskernel 1.0.13 stable updates/eiskernel.tar.gz.info eiskernel 1.1.0 unstable dev/eiskernel.tar.gz.info Steht nun in der info-Datei des zu installierenden Pakets folgendes: 1. eiskernel dann wird in der Index-Datei nach dem Stable-Paket mit der höchsten Nummmer gesucht. 2. eiskernel 1.0.12 dann wird in der Index-Datei nach dem Stable-Paket mit der höchsten Nummmer gesucht. Genügt diese Version der gewünschten, wird die stable-Version installiert. Wenn nicht, wird die non-stable-Version installiert. Zu entscheiden wäre noch, ob eisfair in diesem Fall fragen sollte: Found 2 packages: 1. eiskernel version 1.0.13 stable 2. eiskernel version 1.1.0 unstable Please enter number (1-2): _ Meinetwegen könnte man auf so eine Abfrage verzichten. Wenn der User eine unstable-Version eines Paketes installieren will, dann sollte er dies ausdrücklich über die Installation dieses Paketes selbst tun. 3. eiskernel 1.1.0 Es wird die unstable-Version installiert, da die stable-Version den Anforderungen nicht genügt. Ich werde das so am Wochenende in die 1.0.8 einbauen, wenn keine Gegenargumente kommen. Analog dazu implementiere ich . Jetzt kommt das dicke Ende: Alte eisfair-Versionen verstehen das Ganze nicht und werden deshalb voll auf die Nase fliegen. Hier muss man die Vorab-Installation von 1.0.8 erzwingen (was wiederum bedeutet, daß updates/update.txt für das Base-Update _auf_ _jeden_ _Fall_ einen Pfad beinhalten muss. Vorschläge zur Abwärtskompatibilität? Ich schlage vor, eine dicke Meldung in eis-list.txt einzubauen, daß man als allererstes updaten muss. Es gäbe aber auch noch einen anderen Weg: Wir ändern eis-list.txt folgendermaßen ab: # Package list of www.eisfair.org # Copyright Frank Meyer # Welcome to the official eisfair package server www.eisfair.org # # Packages will be only visible if you upgrade to eisfair 1.0.8! # index.txt # updates/update.txt eisfair system updates and kernel # web.txt Apache / Squid # inet-mail-news.txt Inet / Mail / News # plang.txt Programming Languages and modules # dns.txt DNS / DHCP # printer-file.txt Printer / File Services # eisfax/eisfax.txt FAX services # db.txt Database packages # dev/dev.txt Developer Packages - unstable! # etc.txt Other packages # http://www.pack-eis.de/vieweislist.php Pack-Eis uploaded user-packages # # Last update 2004/10/08 21:34 fabian Alte eisfair-Versionen verstehen den neuen Tag # nicht und werden daher diese Zeilen gar nicht anzeigen. Dadurch wird der User gezwungen, zunächst das Update zu installieren. Hier steht ja noch der alte Tag . Ich baue in das eisfair-setup dann ein, daß es auch den Tag versteht, wobei es dann nur Links anzeigt, dessen Nummer kleiner oder gleich der aktuellen Version ist. So kann man Setup-Menüs versionsabhängig aufbauen. Ebenso sinnvoll wäre vielleicht diese Erweiterung für den Tag , also # eiskernel.tar.gz.info