Я сосредоточусь на вопросе № 2 -
Вы сказали: «Я пробовал с jhbuild только вчера, и были собраны только некоторые модули, но gnome-shell и gtk3 не были включены в те, которые собирались», а затем спросили
"Можно ли исправить скрипт установки jhbuild gnome-shell, чтобы разрешить чистую сборку?"
Я бы так подумал. Во-первых, http://live.gnome.org/JhbuildDependencies/Ubuntu сообщает вам, какие пакеты Ubuntu вам нужно установить - используйте установку Lucid, учитывая комментарии из раздела Maverick.
Тогда - что такое модуль в вашем .jhbuildrc? По умолчанию используется gnome-3.0, поэтому я предполагаю, что это так. Файл rc указывает на набор модулей, который вы будете использовать.
Обычно люди, делающие полную «сборку jhbuild», пропускают определенные пакеты и помещают этот пропуск в свой .jhbuildrc. Вы можете прочитать в другом месте, но большинство людей пропускают сборку mozilla в среде только для тестирования gnome.
На самом деле, если у вас возникли проблемы, я бы посоветовал вам вообще не делать «jhbuild build» без аргументов. "jhbuild build" без аргументов собирает все в вашем наборе модулей, который я предполагаю, что это gnome-3.0 (посмотрите в вашем .jhbuildrc, чтобы увидеть). Лучше сделать «jhbuild build gnome-shell», который собирает только gnome-shell и его зависимости (я считаю, что gnome-shell в настоящее время имеет в общей сложности 36 зависимостей в jhbuild - что включает в себя количество не только зависимостей, но и зависимостей зависимости и пр.). После того, как он собран, вы можете выполнить "jhbuild run gnome-shell", чтобы запустить gnome-shell с использованием созданных вами библиотек и т. Д.
Должен заметить, что если вы делаете jhbuild из недавнего кода, это может быть сложно, хотя это все же самый простой способ, если нет PPA для Ubuntu, который вам нравится. Я только что сделал новый jhbuild. При некоторых вызовах gtk + прервался, поэтому я просмотрел git и увидел, что это изменилось за день до установки git, поэтому я изменил этот каталог на 24 часа назад. Я тогда работал. Кроме того, пакет, который я хотел собрать, не собирался. Я искал на странице Bugzilla патчи, которые обновляли некоторые вызовы, которые давно устарели и недавно были удалены зависимостью gtk +. Я применил их, и тогда мой gtk + 3 зависимых построен. Так что это не было автоматическим, мне пришлось исправить две сломанные сборки. Но это наконец построено.