Xây dựng một gói cập nhật từ một chi nhánh bzr có xu hướng khác nhau một số tiền hợp lý tùy thuộc vào người duy trì các chi nhánh hoặc cách thức hoạt động của gói nói chung. Tuy nhiên, dưới đây là một vài hướng dẫn để cập nhật nhanh chóng và bẩn về bất kỳ gói nào, được đẩy lên PPA:
Lấy chi nhánh:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
Sau đó chuyển sang nó và cập nhật thay đổi:
dch -i
dch -i đơn giản sẽ mở một mục mới trong debian / changelog, tăng phiên bản sửa đổi thêm một. Nếu bạn muốn thêm một bản vá, điều đó thật hoàn hảo, nhưng nếu bạn muốn cập nhật lên phiên bản mới hơn của phần mềm ngược dòng, bạn sẽ cần cập nhật số phiên bản trước dấu gạch ngang (-). Giả sử, một phiên bản trong 1.2-0ubfox1 , nếu bạn bắt đầu dch -i, nó sẽ thay đổi thành 1.2-0ubfox2 , rất tốt để vá nhưng nếu bạn cần một phiên bản mới, bạn có thể muốn thay đổi thành 1.3-0ubfox1 .
Nếu bạn cần vá, bây giờ là thời gian để thêm các thay đổi của bạn. Trong các nhánh chỉ có debian / thư mục, bạn có thể sử dụng bzr bd-do (yêu cầu gói bzr-builddeb) để chuyển sang cây công việc nơi bạn có thể thay đổi, sử dụng quilt hoặc bất kỳ hệ thống vá lỗi nào, sau đó "thoát 0" để có những thay đổi của bạn được sao chép lại.
Nếu bạn muốn có một phiên bản ngược dòng mới, một khi thay đổi đã được thay đổi, bạn có thể chạy một lệnh tương tự như lệnh này:
debian/rules get-orig-source
Điều này thường sẽ tải xuống tarball đúng từ nhà xuất bản ngược dòng để giúp bạn bắt đầu. Nếu cần thay đổi thêm, hãy tiến hành như trên để "vá" hoặc thay đổi các tệp khác trong thư mục debian / , nếu không bạn đã gần hoàn tất:
bzr bd -S
bzr bd sẽ chăm sóc xây dựng. Gọi nó không có đối số bắt đầu xây dựng trên hệ thống của bạn, trong khi gọi nó bằng -S bảo nó chuẩn bị gói nguồn, sẽ bao gồm tệp ..._ source.changes , đó là những gì bạn muốn tải lên PPA của mình (sử dụng dput ppa: <yourname> / <tên của ppa của bạn> <thay đổi tệp> để làm điều đó).
Đối với các gói NetworkManager, nó hơi khác một chút. Chúng ta hãy xem openconnect cụ thể:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head network-manager-openconnect
Hãy chắc chắn rằng bạn cũng có tất cả các phụ thuộc của bản dựng: sudo get-build-deps
Với chi nhánh được truy xuất, điều này sẽ đọc tệp debian / control và cố gắng tải xuống mọi thứ bạn cần để xây dựng trình quản lý mạng-openconnect. Bạn có thể cần git quá mặc dù. Khi đã xong, hãy chạy get-orig-source để chỉ lấy tarball của ảnh chụp nhanh mới nhất từ git:
debian/rules get-orig-source
Bạn sẽ thấy văn bản bay qua và một tarball có số phiên bản dài xuất hiện. Đó là mã mới nhất mà bạn có thể nhận được cho bước sóng.
Sau đó, bạn sẽ cần cập nhật thay đổi với số phiên bản từ tarball, chỉ cần giữ nguyên hậu tố -0ubfox1 .
Hoặc, thay đổi debian / changelog với số phiên bản cụ thể bạn muốn, sau đó chạy: debian / quy tắc get-current-source
Vì các plugin không thay đổi nhiều, bạn có thể chỉ cần xây dựng gói từ đó, sử dụng bzr bd như trên. Nếu không, áp dụng bất kỳ thay đổi cần thiết như trên.
Đừng quên cam kết bzr sau khi bạn đã thay đổi.
Trước tiên tôi quên thêm, đừng ngần ngại sử dụng hệ thống đề xuất hợp nhất ( Đề xuất hợp nhất liên kết trang của chi nhánh của bạn trên LP) khi những thay đổi bạn thực hiện có thể mang lại lợi ích cho người khác. Thông thường, bạn chỉ có thể đề xuất hợp nhất với chi nhánh mà bạn dựa trên (ví dụ: lp: ~ quản lý mạng / quản lý mạng / openconnect-ub Ubuntu.head trong trường hợp này).