PPA & Bao bì: Có phiên bản gói cho nhiều bản phát hành


36

(trích dẫn từ trò chuyện)

Có PPA trên launchpad cho các gói nguồn cho dự án bot IRC mà tôi liên kết (vì tất cả các bao bì trung gian cho nội dung giữa các bản phát hành, nó được phân loại là PPA "thử nghiệm"). Câu hỏi: Tôi đã đóng gói các công cụ cho một bản dựng sáng suốt. Bất kỳ manh mối nào làm thế nào tôi có thể tạo ra cùng một bao bì, ngoại trừ gói nó cho maverick, và đặt nó lên cùng một PPA mà tôi đã đặt bao bì sáng suốt?

Câu trả lời:


42

Có lẽ cách dễ nhất là chỉ cần sao chép các tệp nhị phân trên Launchpad:

  1. Chuyển đến PPA của bạn và nhấp vào 'Xem chi tiết gói':

    nhập mô tả hình ảnh ở đây

  2. Nhấp vào 'Sao chép gói':

    nhập mô tả hình ảnh ở đây

  3. Chọn các gói Lucid:

    nhập mô tả hình ảnh ở đây

  4. Chọn 'Maverick' cho sê-ri và chọn 'sao chép các tệp nhị phân hiện có':

    nhập mô tả hình ảnh ở đây

  5. Nhấp vào 'sao chép các gói' và đó là nó!


Cảm ơn nhiều. Hướng dẫn của bạn là tại chỗ . Cảm ơn rất nhiều vì đã phản hồi nhanh chóng.
Thomas Ward

@Evil: Không vấn đề gì. Rất vui vì tôi có thể giúp!
Nathan Osman

4
LƯU Ý CHO CÁC CÂU HỎI KHÁC LIÊN KẾT ĐẾN ĐÂY !!! Sao chép các tệp nhị phân hiện có KHÔNG LUÔN LÀM VIỆC cho các chương trình dành cho các phiên bản khác của Ubuntu! Xem PPA rkhunter của tôi và các thay đổi cho phiên bản Lucid để hiểu ý của tôi: launchpad.net/~trekcaptainusa-tw/+archive/rkhunter/+packages
Thomas Ward

@ThomasWard: Điểm hay - không phải lúc nào cũng hoạt động.
Nathan Osman

2
@KhurshidAlam Xin lỗi vì phản hồi siêu siêu muộn. Điều đó sẽ thất bại với "Changelog không hợp lệ" và do đó, bạn phải gắn thẻ riêng từng thẻ khi sử dụng PPA với một phiên bản khác. [ launchpad.net/~nginx/+archive/urdy ] ( launchpad.net/~nginx/+archive/urdy ) là một ví dụ hay về điều này, vì để tạo bản dựng, tôi phải thêm bản phân phối vào phiên bản để nó xây dựng chính xác với tất cả các thư viện khác nhau. (Tôi duy trì PPA đội nginx của bây giờ vì vậy tôi sử dụng đó như một ví dụ.)
Thomas Ward

11

Nếu sao chép các tệp nhị phân cho gói bạn đang xây dựng không hoạt động, bạn sẽ cần tải lên gói nguồn cho mỗi phiên bản phân phối bằng cách chỉnh sửa debian/changelogtệp.

Cách gói lại cho phiên bản phân phối khác

  1. Chỉnh sửa debian/changelogtệp trong thư mục gói nguồn của bạn
  2. Thay đổi cả các phiên bảnphân phối mục tiêu để phản ánh mà distro bạn đang xây dựng cho

    Ví dụ:nginx (1:1.4.1-0ubuntu1~preciseppa1) precise; urgency=low
  3. Xây dựng lại gói nguồn: debuild -S
  4. Tải .changestệp lên PPA của bạn:dput ppa:teward/nginx-stable-testing ../nginx_1.4.1-0ubuntu1~preciseppa1_source.changes

Nếu quá trình xây dựng thành công thì xin chúc mừng bạn vừa xây dựng một gói cho bản phân phối đó! Nếu không, bạn sẽ phải kiểm tra nhật ký xây dựng trên Launchpad và giải quyết mọi vấn đề bạn tìm thấy.

Tài liệu tham khảo:


Đây là những gì tôi làm! : D Các Bộ GTVT (vị thần của kho vũ trụ) đã giải thích điều này khi tôi cần thực hiện các bản dựng khác nhau nginxvà các chương trình khác trong PPA, và chúng đã giúp giải quyết rất nhiều vấn đề của tôi. Cảm ơn bạn đã đăng bài này! :)
Thomas Ward

Vâng, tôi nghĩ rằng đây sẽ là thông tin hữu ích để ghi lại và cung cấp cho các nhà đóng gói mới, vì có thể có một đường cong học tập dốc để sử dụng tất cả các công cụ đóng gói debian, tải lên PPA, quy ước và gỡ lỗi các bản dựng không thành công.
TrinitronX

Thật. Tôi không thay đổi câu trả lời được chấp nhận, bởi vì tại thời điểm của câu hỏi này, không cần phải lo lắng về các thư viện khác nhau có sẵn trong các phiên bản khác nhau của Ubuntu. Với nginxhoặc rkhunterhoặc các gói khác mà tôi thường xuyên nhập, có một vấn đề phụ thuộc rất lớn để giải quyết (khác nhau depends:trong tệp điều khiển và như vậy), vì vậy tôi luôn sử dụng programversion-1~RELEASE0trong đó ~ RELEASE0 luôn là một số với bản phát hành đã cho. Thông thường khi tôi nhập từ Đó là trường hợp của Debian với Ubuntu :)
Thomas Ward

Vâng, phụ thuộc chắc chắn là một điểm đau cho việc nhập dữ liệu ;-) Tôi đồng ý, câu trả lời được chấp nhận sẽ đủ trong hầu hết các trường hợp và đối với người dùng repos kiểm soát nguồn bazaar, sử dụng công thức bzr-builder của Launchpad cũng hấp dẫn. Tuy nhiên, khi nói đến các gói có nhiều phụ thuộc, đôi khi bạn phải xây dựng gói tùy chỉnh cho bản phân phối mục tiêu của mình.
TrinitronX 16/12/13

Và tôi chuyển nginxtừ Debian Không ổn định sang Chính xác, Định lượng, Tăng tốc và Saucy (và Trusty trong PPA, nhưng tôi cũng đảm bảo Trusty, cho đến khi Debian đóng băng, sẽ có bản mới nhất được Debian sáp nhập vào: P), cho nhóm NGINX, nhưng than ôi đôi khi có những lỗi mà tôi không thể sửa và Debian phải xử lý ... đây là lý do tại sao tôi có mối quan hệ tốt với những người bảo trì Debian :)
Thomas Ward
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.