Linux Source Code auf Windows Rechnern runterladen - Endlich geschafft ...

  • Wer kennt das nicht: zu Hause habe ich einen Linux Rechner, aber nur ein 56k Modem. Ich weiss aber, wo ein schneller Internetanschluss ist, da hängt aber ein Windows Rechner dran, wo ich keine Admin Rechte habe (also nichts installieren kann). Noch ein Problem: der CVS Client erkennt normalerweise automatisch auf was für einem Rechner er läuft, mit einem Windows Rechner wird der Sourcecode automatisch auf Windows konfiguriert, zu Hause auf Linux kann ich dann also nicht mehr viel damit anfangen.


    Im Prinzip gibt es zwei Lösungen, die eine heisst Cygwin (muss ich aber installieren und hat noch dazu einen Online Installer, ist also für zu Hause mit einem 56k Modem noch teurer als gleich den SourceCode zwei Stunden lang über 56k runterzuladen), die zweite Lösung heisst MSYS und ist ein Minimal-System eigentlich für MinGW, einen GNU GCC Compiler für Windows (http://www.mingw.org).


    Nach unzähligen Fehlversuchen ist es mir jetzt endlich gelungen eine Audacity Source Code Version auf Windows runterzuladen, auf einen USB Stick zu kopieren, zu Hause wieder in umgekehrter Reihenfolge auf den Linux Rechner draufzukopieren und dort ohne Probleme durchzukompilieren (mal was ganz was neues).


    Wie das geht:


    Erstmal von http://www.mingw.org/download.shtml zwei Pakete runterladen: unter "MSYS" den aktuellen MSYS Installer (MSYS-1.0.10.exe oder neuere Version) und das MSYS "Developer Tool Kit" (msysDTK-1.0.1.exe oder neuere Version), da ist der CVS Client drin.


    Vorbereitungen: Erstmal MSYS installieren. Wo genau ist eigentlich egal, wichtig ist aber, dass am Ende MSYS und msysDTK im gleichen Verzeichnis installiert sind.


    Während der Installation: Der Installer will unbedingt eine msys.ini Datei auf der Bootpartition anlegen, und fängt an zu jammern, wenn er das nicht kann - msys.ini brauchen wir aber gar nicht, also können wir ruhig auf "Abbrechen" klicken, falls diese Meldung erscheint.


    Nach der Installation von MSYS erscheint ein DOS Fenster, in dem MSYS einen Post-Install durchführen will. Es geht eigentlich nur darum herauszufinden, wo MinGW installiert ist. Da wir das aber nicht installieren wollen, können wir uns den Post-Install sparen und schon in der ersten Frage "n" für nein eingeben. Der Post-Install bricht dann von alleine ab.


    Danach installieren wir msysDTK und achten darauf, dass wir es ins gleiche Verzeichnis wie MSYS installieren.


    Es spricht natürlich nichts dagegen MSYS als Komplettsystem zu verwenden, da ich es aber auf einem USB Stick installieren will, nehme ich natürlich nur die Dateien, die ich wirklich brauche.


    Code
    - msys\ --- bin\ --> cvs.exe
             |             mkdir.exe
             |             msys-1.0.dll
             |             sh.exe
             |
             \--- etc\ --> profile


    "etc\profile" brauchen wir eigentlich nicht, der Bildschirm sieht ohne profile aber viel chaotischer aus. Das "etc" Verzeichnis brauchen wir auf jeden Fall, selbst wenn es leer ist, ohne "etc" Verzeichnis weigert sich MSYS zu starten. Wichtig ist auch, dass "bin" und "etc" in der gleichen Verzeichnisebene liegen. Wo das "msys" Verzeichnis liegt ist dann eigentlich egal.


    Ich habe z.B. MSYS auf "[USB-Stick]:\Utilities\msys\..." installiert.


    Das Spiel geht jetzt folgendermassen: erstmal ein DOS Fenster aufmachen (Im Zweifelsfall in Windows Startmenü > Ausführen... "cmd" eingeben)


    Code
    C:\> [USB-Stick]:
    [USB-Stick]:\> cd utilities\msys\bin
    [USB-Stick]:\Utilities\msys\bin> sh --login -i


    [USB-Stick]: ist natürlich der Laufwerksbuchstabe des USB-Sticks.


    sh.exe ist zusammen mit der msys.dll ein Linux bash Emulator, deshalb haben wir danach plötzlich einen bash prompt:


    Code
    [Username]@[Computername]
    $


    Jetzt können wir den Source Code runterladen:


    Code
    [Username]@[Computername]
    $ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/audacity co audacity


    MSYS legt neben dem "bin" und dem "etc" Verzeichnis auf der gleichen Verzeichnisebene automatisch ein "home" Verzeichnis an (deshalb brauchen wir mkdir.exe) und lädt den SourceCode dort hinein.


    Tip: je nach Geschwindigkeit des Internet-Anschlusses kann es sinnvoller sein, das komplette msys Verzeichnis vor dem SourceCode Download irgendwo auf die Festplatte zu kopieren und den Sourcecode nach dem Download dort erstmal in ein zip oder besser noch in ein tar.gz-file zu packen (http://www.7-zip.org). Der Audacity SourceCode besteht (inclusive allen Libraries und Docs) aus mehreren tausend Dateien, wenn WinXP dann auf die Idee kommt diese alle auf eventuell versteckte Bildchen oder mp3-Dateien zu untersuchen kann es passieren, dass das Überspielen auf den USB Stick 40 bis 50 Minuten dauert. Ist mir tatsächlich schon passiert. Deshalb wichtig zu wissen: WinXP kennt kein tar.gz und lässt es deshalb in Ruhe.