Die Ordnerstruktur der V2 ist anders aufgebaut (build, log etc.), um das Kompilieren auf verschiedenen Systemen zu vereinfachen.
Kompilieren des aktuellen und stabilen IPCop v1.4.x Den IPCop-Code laden Der Sourcecode für IPCop kann auf zwei Arten geladen werden.
Manueller Download aus dem Source-tgz , der mit jeder Version geliefert wird.
Direktzugriff auf das CVS-Repository
Es wird ein CVS-Client benötigt!
Der Checkout des Codes aus dem IPCop CVS-Repository kann anonym (durch pserver) erfolgen.
Das gewünschte Modul (Die Namen können aus dem oben erwähnten Source-tgz ausgelesen werden) muss als modulename angegeben werden. Bei der Passwortabfrage einfach Enter drücken.
Updates von innerhalb der Modulordner benötigen den -d-Parameter nicht.
Im CVS muss der gewünschte Zweig der 1.4-Version angegeben werden. '-r IPCOP_v1_4_0' holt den kontinuierlich aktualisierten Code. Eine spezifische Version lässt sich mit '-r IPCOP_v1_4_<version>_FINAL' holen.
Ohne die -r-Option würde ein veralteter Hauptzweig geladen werden.
Beispiele:
Checkout des Zweigs für die neueste Version von 1.4.x (inklusive Modifikationen seit dem letzten Release):
Unterschiede zwischen der momentanen Kopie und dem CVS-Repository anzeigen:
Code:
CD ipcop (oder wie auch immer dein Ordner heißt)
cvs diff -u (-u ist nicht erforderlich, aber der Output ist dann leserlicher)
Beispiel anhand v1.4.18 (ipcop-1.4.18-sources.tgz package):
Extrahieren:
Code:
tar xvfz ipcop-1.4.18-sources.tgz
Zum Kompilieren sind Root-Rechte erforderlich. Diese erhält man - sofern man noch nicht root ist - durch das Öffnen eines Terminals und das Eingeben von:
Ausführen des Kommandos ls sollte verschiedene Ordner (zB doc, config, src usw.) anzeigen.
Die Datei make.sh muss ausführbar gemacht werden:
Code:
chmod 755 make.sh
make.sh lässt sich jetzt ausführen, um verschieden Aufgaben zu erledigen.
Andere Sourcen laden
IPCop benötigt viele andere source packages zum kompilieren. Diese werden aus dem Internet geladen und in einem Cache-Ordner gespeichert werden (Geschieht nur einmal).
Es wird empfohlen alle benötigten Dateien vor dem Kompilieren zu laden, da es sonst zu Fehlern/und oder Abbrüchen während des Kompilierens kommen kann.
Auch hier gibt es wieder zwei Möglichkeiten:
Seit v1.4.12 können alle benötigten Files in einem großen (255MB) package von Sourceforge geladen werden
Code:
./make.sh getothersrc
Die einzelnen source packages von ihren jeweiligen Seiten laden
Code:
./make.sh prefetch
Normalerweise ist der erste Befehl schneller (da die Mirror von Sourceforge generell hohen Speed ermöglichen, während die verschiedenen Source-Seiten unterschiedlichen Speed ermöglichen), außerdem kann man sich sicher sein, dass alle benötigten packages geladen werden. Beim zweiten Befehl besteht die Möglichkeit, dass Dateien verschoben wurden und nicht unter der verwendeten URL gefunden werden können. In diesem Falle gibt make.sh einen Fehler aus. Eine Google-Suche oder ein Blick auf http://ipcop.ath.cx können dann hilfreich sein.
./make.sh prefetch kann empfehlenswert sein, wenn man mit einem CVS-Zweig arbeitet, da das othersrc-package vor jedem größeren Versionrelease hochgeladen wird und bereits für das nächste größere Release hinzugefügte Dateien nicht im othersrc-package enthalten sein können.
Erforderliche Binaries make.sh führt beim Kompilieren einige Befehle aus, die auf dem System verfügbar sein müssen. Die Verfügbarkeit sichert man normalerweise durch das Installieren einer Entwicklungsumgebung. Informationen für das Installieren der Entwicklungsumgebung könnt ihr den Hilfeseiten eures Systems entnehmen.
Es gibt auch die Möglichkeit eine prekompilierte toolchain zu verwenden, wenn das System nicht fähig ist, diesen ersten Schritt des Kompilierens zu machen.
Die prekompilierte toolchain erhält man mit:
Code:
./make.sh gettoolchain
Für v1.4.x von IPCop hängt das geladene toolchain-package von der CPU ab. Toolchain-packages sind verfügbar für i586 und i686 sowie alpha und powerpc.
Andere häufig verwendete make.sh Befehle
Code:
./make.sh
gibt eine Erklärung der verfügbaren Befehle aus.
Die eigentliche Kompilierung startet man mit:
Code:
./make.sh build
Der ccache-Kompiler Cache ist in den Kompilierungsprozess integriert, daher sind erneute Builds schneller als der Erste.
Die Kompilierungsgeschwindigkeit ist abhängig von der CPU-Leistung und dem Festplattenspeed. Die installierte Memory kann einen großen Effekt auf das Ergebnis haben.
Das Nutzen der prekompilierten toolchain kann die Kompilierungsdauer um 20% verkürzen.
Diese lädt man entweder mit ./make.sh gettoolchain oder kompiliert sie selbst mit:
Code:
./make.sh clean ./make.sh toolchain
Eine erneute, saubere Kompilierung nach einigen Änderungen macht man mit:
Code:
./make.sh clean ./make.sh build
Kompilieren des experimentellen IPCop v2
Folgt demnächst
Alle Angaben ohne Gewähr, mein Englisch ist nicht perfekt, demnach kann die Übersetzung Fehler enthalten. Die Übersetzung ist nicht 100% komplett, da ich mir erlaubt habe Sachen wie den selektive Rebuild nach kleineren Changes (Weil mMn fortgeschrittenes Zeugs und als Fortgeschrittener sollte man genug englisch können) und die Fehlermeldung der ersten Versionen wegzulassen.
Quellen: Übergeordnete Info v1.4.x v2
__________________
Küss mich, ich bin ein verzauberter Kaktus!
Ich repariere keine Gewehre, die sich aufgrund meiner Antworten nicht mehr nutzen lassen
Ge?ndert von june (21.04.2011 um 14:09 Uhr).
Grund: Doofer Absatz will ken Absatz bleiben