Chà, có vẻ như công thức đóng gói là cách để đi đến đây. Về cơ bản, các công thức đóng gói có thể tự động tạo các gói nguồn Ubuntu và tải chúng lên PPA bất cứ khi nào chi nhánh bzr trên Launchpad thay đổi. Các tài liệu trực tuyến là khá tốt, nhưng tôi sẽ đưa ra một vài ví dụ ...
Đầu tiên, bạn chỉ định một nhánh để theo dõi (ví dụ lp:gtk3
:) và sau đó thêm một lệnh để lồng nhánh bao bì Debian của riêng bạn vào nhánh đó. Hãy xem công thức này tôi đã tạo cho các bản dựng Inkscape hàng ngày.
# bzr-builder format 0.4 deb-version 1:0.48+devel+{revno}+{revno:packaging}
lp:inkscape
nest packaging lp:~inkscape.dev/inkscape/debian-packaging debian
Công thức này tạo ra một gói Ubuntu mỗi ngày bằng cách sử dụng nguồn ngược dòng mới nhất cho Inkscape, nhưng sao chép các hướng dẫn đóng gói Debian tùy chỉnh từ lp:~inkscape.dev/inkscape/debian-packaging
nhánh vào thư mục con có tên là " debian
".
Trang công thức đóng gói trên Launchpad cho phép bạn chỉ định PPA nào sẽ tự động tải các gói của bạn lên. Trong trường hợp của chúng tôi, nó được tải lên ở đây .
Là một cách tiếp cận khác, bạn có thể dựa vào công thức của mình trên gói Ubuntu hiện tại thay vì trực tiếp trên nguồn ngược dòng. Ví dụ , lp:ubuntu/gtk+3.0
. Sau đó, bạn cần tạo một nhánh của mã này và cam kết mọi sửa đổi bạn yêu cầu. Hãy gọi nó là lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
ví dụ. Sau đó, bạn sẽ tạo một công thức để tự động hợp nhất các thay đổi của mình thay vì hướng dẫn đóng gói lồng. Công thức sẽ trông giống như:
# bzr-builder format 0.4 deb-version {debversion}+{date}
lp:ubuntu/gtk+3.0
merge my-custom-build lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
Do đó, công thức này sẽ tự động xây dựng gói nguồn Ubuntu tùy chỉnh và tải nó lên PPA của bạn bất cứ khi nào có thay đổi trong gói Ubuntu chính thức.
Nếu bạn thực hiện phương pháp "hợp nhất" này, thì bạn có hai tùy chọn để áp dụng các bản vá của mình. Hoặc bạn chỉ cần chỉnh sửa mã nguồn ngược dòng trực tiếp trong chi nhánh của mình và để bzr đảm nhiệm việc hợp nhất nó hoặc bạn có thể tạo các tệp vá trong debian/
thư mục bằng quilt. Mỗi cái đều có ưu điểm / nhược điểm riêng. Cách tiếp cận trước đây thông minh hơn một chút ... nếu một trong các bản vá của bạn được nhà phát triển ngược dòng chấp nhận, thì việc hợp nhất thường sẽ vẫn hoạt động và gói Ubuntu sẽ xây dựng OK. Cách tiếp cận thứ hai cho phép bạn xử lý các bản vá của mình bằng cách sử dụng cách tiếp cận dựa trên Debian tiêu chuẩn để tách mã đóng gói khỏi mã ngược dòng ... tuy nhiên, nếu nhà phát triển ngược dòng chấp nhận một trong các bản vá của bạn thì quilt sẽ không thể áp dụng (trùng lặp) Bản vá và gói sẽ không thể xây dựng.
lp:ubuntu/gtk+3.0
theo dõi? Phiên bản phát triển ổn định hay hiện tại?