Ich werde mich auf Frage 2 konzentrieren -
Sie sagten "Ich habe es erst gestern mit jhbuild versucht und nur einige Module wurden gebaut, aber gnome-shell und gtk3 waren nicht in denen enthalten, die gebaut haben" und fragten dann
"Kann das Installationsskript für jhbuild gnome-shell behoben werden, um einen sauberen Build zu ermöglichen?"
Ich würde es mir denken. Zunächst erfahren Sie unter http://live.gnome.org/JhbuildDependencies/Ubuntu , welche Ubuntu-Pakete Sie installieren müssen. Verwenden Sie die Lucid-Installation, und beachten Sie dabei die Kommentare aus dem Abschnitt Maverick.
Dann - was ist das Modulset in Ihrer .jhbuildrc? Der Standardwert ist gnome-3.0, also gehe ich davon aus, dass dies der Fall ist. Die RC-Datei zeigt auf das Modul-Set, das Sie verwenden werden.
Normalerweise überspringen Leute, die einen vollständigen "jhbuild build" ausführen, bestimmte Pakete und fügen dieses Überspringen in ihre .jhbuildrc ein. Sie können an anderer Stelle lesen, aber Mozilla in einer Umgebung zu bauen, nur um den Gnom zu testen, ist etwas, das die meisten Leute überspringen.
Wenn Sie Probleme haben, würde ich Ihnen empfehlen, überhaupt kein argumentloses "jhbuild build" durchzuführen. "jhbuild build" ohne Argumente erstellt alles in Ihrem Modulset, von dem ich annehme, dass es gnome-3.0 ist (sehen Sie in Ihrem .jhbuildrc nach). Besser "jhbuild build gnome-shell", bei dem nur die gnome-shell und ihre Abhängigkeiten erstellt werden (ich glaube, die gnome-shell hat derzeit insgesamt 36 Abhängigkeiten in jhbuild - dies umfasst nicht nur die Anzahl der Abhängigkeiten, sondern auch die Abhängigkeiten der Abhängigkeiten und so weiter). Sobald es erstellt ist, können Sie eine "jhbuild run gnome-shell" ausführen, um gnome-shell unter Verwendung der von Ihnen erstellten Bibliotheken usw. auszuführen.
Ich sollte beachten, wenn Sie ein jhbuild aus aktuellem Code machen, kann es raues Segeln sein, obwohl es immer noch der einfachste Weg ist, wenn es kein PPA für Ubuntu gibt, das Sie mögen. Ich habe gerade einen neuen Jhbuild gemacht. gtk + hat einige Anrufe abgebrochen, also habe ich git durchsucht und festgestellt, dass dies am Tag vor der Installation von git geändert wurde. Deshalb habe ich git dieses Verzeichnis von 24 Stunden zuvor auf eins zurückgesetzt. Ich habe dann gearbeitet. Außerdem würde das Paket, das ich erstellen wollte, nicht erstellt. Ich habe die Bugzilla-Seite nach Patches durchsucht, mit denen einige Aufrufe aktualisiert wurden, die vor langer Zeit veraltet waren und kürzlich durch die Abhängigkeit von gtk + entfernt wurden. Ich habe sie angewendet und dann mein gtk + 3 abhängig gebaut. Es war also nicht automagisch, ich musste zwei kaputte Builds reparieren. Aber es wurde endlich gebaut.