Dưới đây, tôi giả sử rằng nguồn là mở (ví dụ: tập lệnh Python) do đó không bị ràng buộc với bất kỳ kiến trúc nào (ví dụ: amd64 hoặc i386), do đó "tất cả". Nếu bạn có một số nguồn C, bạn cần sử dụng Architecture: amd64 i386
trong control
tệp nguồn của mình .
tạo gói sẵn sàng cho Launchpad
Điều này cuối cùng sẽ trở thành một loạt các gói PPA launchpad riêng lẻ.
Điều tôi thích (nhưng có thể không đạt được ...) là giữ cho bao bì của tôi ở mức tối thiểu - tạo một loạt các gói từ một mẫu và điều chỉnh mức tối thiểu trần (changelog, v.v. + tệp tar).
Launchpad chỉ chấp nhận các gói nguồn, vì vậy hãy tạo một rules
cài đặt các tệp ở đúng nơi. Để thuận tiện, tôi sẽ sử dụng debrcper . Thư mục chứa các tệp của bạn sẽ trông như sau:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
Một debian/copyright
tệp cũng có thể hữu ích để thông báo cho người dùng về các giấy phép liên quan đến gói. Tôi không nghĩ rằng bạn cần một postinst
tập lệnh vì bạn chỉ cần giải nén một số tệp. compat
nên chứa mức độ tương thích gỡ lỗi, nói "8". (vui lòng tham khảo trang hướng dẫn sử dụng trình gỡ lỗi để biết thêm chi tiết)
Các changelog
tập tin có thể được chỉnh sửa bằng dch
lệnh, có sẵn từ devscripts
gói. Các rules
(sử dụng debhelper) nên chứa:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Làm cho nó thực thi bằng cách sử dụng chmod 755 debian/rules
. Một gói nguồn có thể được xây dựng bằng cách sử dụng debuild -S
. Hãy chắc chắn là trong một thư mục có tên <package-name>-<version>
. Thông tin thêm về override_
hành vi và dh
lệnh có thể được tìm thấy trên trang hướng dẫn của nó .
Các Hướng dẫn Debian bảo trì mới là rất có giá trị đối với tôi để hiểu được điều này, đó là khuyến cáo đọc. Ví dụ bao bì có thể được tìm thấy trên https://github.com/Bumblebee-Project/bumblebee-ppa .
tạo gói từ cây tập tin hiện có
dpkg-deb -b
có thể được sử dụng để tạo tarball từ cây tập tin hiện có. Đầu tiên, bắt đầu với việc tạo một thư mục nên được đặt tên theo gói của bạn. Tôi sẽ cho rằng bạn muốn đặt tên cho nó myplugin
, và đặt nó vào /usr/share/rhythmbox/plugins/mypluginfolder
. Ngoài ra, tạo DEBIAN
thư mục (chữ hoa!) Để lưu trữ thông tin gói:
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
Sao chép tập tin của bạn:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
Tiếp theo, bạn sẽ cần một tệp điều khiển được gọi là myplugin/DEBIAN/control
mô tả gói đó. Nội dung của một tập tin như vậy được đặt dưới đây:
Package: myplugin
Version: 1.0-1
Maintainer: You <whatever@contact.address>
Architecture: all
Description: plugins for Rhythmbox
Longer description here
.
As you can see, new paragraph are split by a single dot,
and lines have to be indented by one space.
Bây giờ, bạn có thể tùy chọn xác minh nội dung của gói của bạn. Lệnh tiếp theo liệt kê các mục nhập tệp và thư mục của myplugin
:
find myplugin -ls
Nếu bạn hài lòng, hãy xây dựng gói trong thư mục hiện tại:
dpkg-deb -b myplugin .
Một tệp mới sẽ xuất hiện, được đặt tên giống như <package>_<version>_<architecture>.deb
trong ví dụ này myplugin_1.0-1_all.deb
. Bạn có thể sử dụng less
chương trình để nhìn trộm trong tập tin. Ví dụ , less myplugin_1.0-1_all.deb
.