wpt-get | Repository System für AutoIt

  • Moin.

    Ich stelle euch mal wpt-get vor. Dies ist eine Konsolenanwendung und ähnelt dem apt-get unter linux.

    System
    Im Nutzerordner liegt eine Datei (die beim ersten Start automatisch erstellt wird), in der die Paketquellen liegen. Dort ist von Anfang an mein Rep. eingetragen. Wenn nun über wpt-get ein Paket installiert werden soll, werden die Paketquellen befragt, ob sie das Paket haben, wenn ja, wird es installiert.

    Nutzung
    Zur Nutzung steht natürlich CMD bereit. Windowstaste, "CMD" eingeben und Enter drücken. Da ist die Konsole.

    Code
    wpt-get install Paketname


    Installiert das Paket Paketname. Diese Pakete sind Source Code Pakete, sie werden in den Ordner Paketname im UserDir installiert.

    Code
    wpt-get .install Paketname


    Installiert das Paket Paketname. Diese Pakete enthalten nur Includes und werden in den Includeordner von AutoIt installiert.

    Code
    wpt-get add http://reposito.ry/


    Fügt das Rep. http://reposito.ry/ zur Quellenliste hinzu.

    Code
    wpt-get list available


    Listet alle verfügbaren Pakete auf

    Code
    wpt-get list rep


    Listet alle Quellen auf

    Code
    wpt-get remove Paketname


    Entfernt das Paket Paketname. Includepakete können nicht entfernt werden!

    Repository einrichten
    Wer für sich selbst oder für andere ein Repository einrichten will hat es eigentlich leicht:

    • Einen Server finden (Zum Beispiel von BPlaced, Square7 ...)
    • Pakete als .ZIP hochladen (Includepakete dürfen nur .au3s enthalten, bei normalen ist das egal)
    • Eine Datei auf dem Server erstellen, die "packets.txt" heißt. Dort werden die verfügbaren Pakete aufgelistet. Ein Paket pro Zeile. Der Name entspricht dem Dateinamen der ZIP, ohne die Endung (z.B. "test.zip" ist in der packets.txt als "test" gelistet)
    • Die Rep-Adresse weitergeben, das wars!

    Den Sourcecode als Konsolenanwendung kompilieren (bei AuToExe den Haken bei "Console?" setzen) und als wpt-get.exe in System32 einfügen, damit CMD von jedem Ordner darauf Zugriff hat.
    Das wars, schon ist wpt installiert!

    Testen
    Wer es mal ausprobieren möchte kann mal folgendes ausprobieren:

    Code
    wpt-get install TrayIRC

    Installiert ein Testpaket aus meinem Rep. Kann einfach wieder gelöscht werden.

  • Hey,

    Sagen wir mal, Du bist mit deiner Repository die Hauptzentrale
    Und jeder der ein Repository in die sources.list (Ich glaub Ich hab zuviel mit Linux zutuen) eintragen will,
    holt sich bei dir ein Zertifikat.

    wpt-get prüft nun auf deinem Server, ob man der Repository vertrauen kann,

    Wenn Ja: Repo hinzufügen und Zertifikat runterladen (falls es ändert, wurde die Rep. manipuliert)
    Wenn Nein: Garnicht erst hinzufügen

    Also sowas wie ein Fingerprint der Repository

    Mal ne kleine Idee :)

  • Dann würde es doch auch reichen, die URL der Repository in der "Hauptzentrale" zu hinterlegen und es damit beim Hinzufügen abzugleichen. Dann brächte man nicht mal Zertifikate...

  • Das stimmt. Es reicht eigentlich eine List von "bekannten Quellen" auf der Zentrale.

    Ich würde dem User trotzdem ermöglichen "unzertifizierte" Quellen hinzuzufügen (mit ner Warnung). Es gibt ja auch private Reps, die nur man selbst nutzt.

  • Aber warum eine solche Abfrage?
    Erstens wird eine Quelle dadurch nicht vertrauenswürdiger und zweitens, was passiert wenn die zentrale Verwaltungsstelle nicht erreichbar ist?

    "Entschuldigung! Der Hauptserver ist nicht erreichbar. Wr können Ihnen nicht sagen, ob wir diese Quelle kennen.Aber egal - ob sie sicher ist, könnten wir sowieso nicht garantieren"

    :)

  • Das und jeder kann die Überprüfung ja einfach entfernen, bevor er das Programm kompiliert...

    Ich implementiere noch ein paar Befehle, aber das Zertifikatesystem nicht.