Chương 9. Tải gói phần mềm lên

Mục lục

9.1. Tải nó lên kho lưu trữ Debian
9.2. Đính kèm orig.tar.gz cho việc tải lên
9.3. Những lần tải lên bị bỏ qua

Giờ bạn đã kiểm tra gói phần mềm mới của bạn kỹ càng, bạn muốn phát hành nó trên kho công cộng để chia sẻ nó.

Khi bạn trở thành một nhà phát triển chính thức, [83] bạn có thể tải gói phần mềm lên kho lưu trữ Debian. [84] Bạn có thể làm điều này bằng tay, nhưng sẽ dễ hơn nếu bạn sử dụng các công cụ tự động sẵn có như dupload(1) hay dput(1). Chúng tôi sẽ mô tả công việc sẽ được thực hiện ra sao với dupload. [85]

Đầu tiên bạn phải tạo tập tin cấu hình của dupload. Bạn có thể chọn sửa tập tin cấu hình tầm hệ thống /etc/dupload.conf, hoặc tạo tập tin ~/.dupload.conf riêng của bạn vượt quyền cấp trên ở những cài đặt bạn muốn thay đổi.

Bạn có thể đọc trang tham khảo dupload.conf(5) để hiểu ý nghĩa của từng tham số ở đây.

Tham số $default_host quyết định hàng đợi tải lên nào sẽ được sử dụng ngầm định. anonymous-ftp-master là hàng đợi chính, nhưng có thể bạn sẽ muốn sử dụng một hàng đợi khác. [86]

Khi được kết nối tới Internet, bạn có thể tải gói phần mềm của bạn lên như sau:

$ dupload gentoo_0.9.12-1_i386.changes

dupload kiểm tra rằng các mã tập tin SHA1/SHA256 khớp với các mã được liệt kê trong tập tin .changes. Nếu chúng không khớp, nó sẽ cảnh báo bạn để tái biên dịch như mô tả ở Phần 6.1, “(Tái) biên dịch toàn bộ” để nó có thể được tải lên đúng cách.

Nếu bạn gặp phải một vấn đề tải lên tại ftp://ftp.upload.debian.org/pub/UploadQueue/, bạn có thể sửa nó bằng việc tải lên bằng tay một tập tin *.commands ký theo kiểu GPG với ftp. [87] Ví dụ, dùng hello.commands:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Uploader: Foo Bar <Foo.Bar@example.org>
Commands: 
 rm hello_1.0-1_i386.deb
 mv hello_1.0-1.dsx hello_1.0-1.dsc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

[...]
-----END PGP SIGNATURE-----

Khi bạn tải gói phần mềm lên kho lưu trữ lần đầu tiên, bạn cũng cần đính kèm tập tin nguồn nguyên gốc orig.tar.gz. Nếu mã phiên bản Debian của gói phần mềm này không phải là 1 hay 0, bạn phải cung cấp tham số -sa của dòng lệnh dpkg-buildpackage.

Đối với dòng lệnh dpkg-buildpackage:

$ dpkg-buildpackage -sa

Đối với dòng lệnh debuild:

$ debuild -sa

For the pdebuild command:

$ pdebuild --debbuildopts -sa

Ngược lại, tham số -sd sẽ buộc việc loại trừ tập tin nguồn nguyên gốc orig.tar.gz.

Nếu bạn tạo quá nhiều mục trong tập tin debian/changelog bắng việc bỏ qua các lần tải lên, bạn phải tạo một tập tin đúng quy định *_.changes bao gồm tất cả những thay đổi từ lần tải lên cuối cùng. Điều này có thể được thực hiện bằng việc đặt giá trị phiên bản cho tham số -v của lệnh dpkg-buildpackage, ví dụ, 1.2.

Đối với dòng lệnh dpkg-buildpackage:

$ dpkg-buildpackage -v1.2

Đối với dòng lệnh debuild:

$ debuild -v1.2

For the pdebuild command:

$ pdebuild --debbuildopts "-v1.2"


[84] Có các kho lưu trữ truy cập công cộng như là http://mentors.debian.net/ vốn hoạt động gần như không khác gì với kho lưu trữ Debian và cung cấp một khu vực tải lên cho những người không phải DD(nhà phát triển Debian). Bạn có thể tự tạo một kho tương tự sử dụng các công cụ tại http://wiki.debian.org/HowToSetupADebianRepository. Vì thể phần này cũng sẽ hữu dụng cho những người không phải DD.

[85] Gói phần mềm dput có vẻ đến với nhiều tính năng và có vẻ đang trở nên thông dụng hơn gói phần mềm dupload. Nó sử dụng tập tin /etc/dput cho việc cấu hình mọi nơi của nó và tập tin ~/.dput.cf cho việc cấu hình từng người dùng. Nó cũng hỗ trợ đầy đủ các dịch vụ liên quan đến Ubuntu.

[87] Xem ftp://ftp.upload.debian.org/pub/UploadQueue/README. Ngoài ra, bạn có thể dùng lệnh dcut từ gói phần mềm dput.