Я зупинюсь на питанні №2 -
Ви сказали, що "я вчора спробував з jhbuild, і лише деякі модулі були вбудовані, але gnome-shell та gtk3 не були включені до тих, що створювали", а потім запитали
"Чи можна виправити сценарій встановлення jhbuild gnome-shell, щоб дозволити чисту збірку?"
Я би так вважав. По-перше, http://live.gnome.org/JhbuildDependitions/Ubuntu розповість, які пакунки Ubuntu потрібно встановити - використовуйте інсталяцію Lucid, маючи на увазі коментарі з розділу Maverick.
Тоді - що таке набір модулів у вас .jhbuildrc? За замовчуванням - gnome-3.0, тому я припускаю, що це. Файл rc вказує на набір модулів, який ви будете використовувати.
Зазвичай люди, які роблять повний "jhbuild build", пропускають певні пакети і додають це пропуск у свій .jhbuildrc. Можна читати в іншому місці, але побудувати мозілу в оточенні лише для тестування на гнома - це те, що більшість людей пропускає.
Насправді, якщо у вас виникають проблеми, я б запропонував вам взагалі не займатися аргументом "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, тому я git скинув цей каталог на один з 24 годин до цього. Я тоді працював. Також пакет, який я хотів скласти, не будував. Я шукав на сторінці Bugzilla патчі, які оновлювали деякі виклики, які були давно застарілі та недавно видалені залежністю gtk +. Я застосував їх, а потім побудував мій gtk + 3. Тож це не було автоматично, мені довелося виправити дві зламані конструкції. Але остаточно збудували.