Tôi sẽ tập trung vào câu hỏi số 2 -
Bạn đã nói "Tôi đã thử với jhbuild chỉ mới hôm qua và chỉ một số mô-đun được xây dựng, nhưng gnome-shell và gtk3 không được bao gồm trong các mô-đun được xây dựng" và sau đó hỏi
"Kịch bản cài đặt jhbuild gnome-shell có thể được sửa để cho phép xây dựng sạch không?"
Tôi sẽ nghĩ như vậy. Đầu tiên, http://live.gnome.org/JhbuildDependencies/Ub Ubuntu cho bạn biết những gói Ubuntu bạn cần cài đặt - sử dụng cài đặt Lucid, ghi nhớ các nhận xét từ phần Maverick.
Vậy thì - mô-đun trong bạn là gì .jhbuildrc? Mặc định là gnome-3.0 nên tôi sẽ giả sử như vậy. Tệp RC trỏ đến mô-đun bạn sẽ sử dụng.
Thông thường, những người thực hiện "xây dựng jhbuild" đầy đủ bỏ qua các gói nhất định và bỏ qua trong .jhbuildrc của họ. Bạn có thể đọc ở nơi khác, nhưng xây dựng mozilla trong một môi trường chỉ để kiểm tra gnome là điều mà hầu hết mọi người bỏ qua.
Trên thực tế, nếu bạn gặp vấn đề, tôi khuyên bạn không nên thực hiện "xây dựng jhbuild" không có đối số. "jhbuild build" không có đối số sẽ xây dựng mọi thứ trong mô-đun của bạn, mà tôi sẽ giả sử là gnome-3.0 (hãy xem .jhbuildrc của bạn để xem). Tốt hơn để làm "jhbuild build gnome-shell", chỉ xây dựng gnome-shell và các phụ thuộc của nó (tôi tin rằng gnome-shell hiện có tổng cộng 36 phụ thuộc trong jhbuild - bao gồm số lượng không chỉ phụ thuộc, mà còn phụ thuộc vào phụ thuộc và vv). Khi nó được xây dựng, bạn có thể thực hiện "jhbuild run gnome-shell" để chạy gnome-shell bằng các thư viện, v.v. bạn đã xây dựng.
Tôi nên lưu ý, nếu bạn đang thực hiện một đoạn mã gần đây, thì đó có thể là một hành trình khó khăn, mặc dù đây vẫn là cách dễ nhất để đi nếu không có PPA cho Ubuntu mà bạn thích. Tôi vừa làm một jhbuild mới. gtk + đã phá vỡ một số cuộc gọi, vì vậy tôi đã duyệt git, thấy rằng nó đã bị thay đổi vào ngày trước khi tôi cài đặt git, vì vậy tôi git đặt lại thư mục đó thành một từ 24 giờ trước. Sau đó tôi đã làm việc. Ngoài ra, gói tôi muốn xây dựng sẽ không xây dựng. Tôi đã tìm kiếm trang Bugzilla để tìm các bản vá cập nhật một số cuộc gọi đã bị từ chối từ lâu và gần đây đã bị xóa bởi phụ thuộc gtk +. Tôi đã áp dụng chúng và nó được xây dựng phụ thuộc gtk + 3 của tôi. Vì vậy, nó không tự động, tôi đã phải sửa hai bản dựng bị hỏng. Nhưng cuối cùng nó đã được xây dựng.