Aşağıda, kaynağın açık (örneğin Python scriptleri) olduğu ve bu nedenle herhangi bir mimariye bağlı olmayan (örn. Amd64 veya i386), dolayısıyla "tümü" olduğunu farz ediyorum. C kaynağınız varsa Architecture: amd64 i386, kaynak controldosyanızda kullanmanız gerekir .
Launchpad için hazır paket oluşturma
Bu, nihayetinde bir dizi bireysel fırlatıcı PPA paketi olacak.
Tercih ettiğim (ancak başaramayacağım ...) ambalajımı minimumda tutmak - bir şablondan bir dizi paket oluşturmak ve en düşük seviyeyi ayarlamak (changelog etc + tar dosyası).
Launchpad sadece kaynak paketleri kabul eder, bu yüzden rulesdosyaları doğru yerlere yükleyen bir tane oluşturun . Kolaylık sağlamak için debhelper kullanacağım . Dosyalarınızın bulunduğu dizin şöyle görünmelidir:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
Bir debian/copyrightdosya ayrıca kullanıcıları paketle ilgili lisanslar hakkında bilgilendirmek için de yararlı olabilir. Bir postinstbetiğe ihtiyacın olduğunu sanmıyorum çünkü sadece bazı dosyaları çıkarman gerekiyor. compat"8" deyince debhelper uyumluluk seviyesini içermelidir. ( Daha fazla bilgi için lütfen debhelper kılavuz sayfasına bakınız)
changelogDosya ile düzenlenebilir dchtemin komuta, devscriptspaketin. rules(Kullanarak debhelper) içermelidir:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Kullanılabilir hale getirin chmod 755 debian/rules. Bir kaynak paketi kullanılarak oluşturulabilir debuild -S. Adlı bir dizinde bulunduğunuzdan emin olun <package-name>-<version>. override_Davranış ve dhkomut hakkında daha fazla bilgiyi kılavuz sayfasında bulabilirsiniz .
Debian Bakımcılarının Kılavuzu beni bu anlamak için çok değerli, bu tavsiye edilen okuma bu. Örnek paketleme https://github.com/Bumblebee-Project/bumblebee-ppa adresinde bulunabilir .
varolan dosya ağacından paket oluşturma
dpkg-deb -bMevcut bir dosya ağacından tarball'lar oluşturmak için kullanılabilir. İlk olarak, paketinizden sonra adlandırılması gereken bir dizin oluşturmaya başlayın. Adını vermek mypluginve koymak istediğinizi varsayalım /usr/share/rhythmbox/plugins/mypluginfolder. Ek olarak, DEBIANpaket bilgisini depolamak için dizini (büyük harf!) Oluşturun :
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
Dosyalarınızın üzerine kopyalayın:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
Daha sonra , paketi tanımlayan bir kontrol dosyasına ihtiyacınız olacak myplugin/DEBIAN/control. Böyle bir dosyanın içeriği aşağıda verilmiştir:
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.
Şimdi, isteğe bağlı olarak paketinizin içeriğini doğrulayabilirsiniz. Bir sonraki komut dosya ve dizin girişlerinin içeriğini listeler myplugin:
find myplugin -ls
Memnunsanız, paketi geçerli dizinde oluşturun:
dpkg-deb -b myplugin .
<package>_<version>_<architecture>.debBu örnekte olduğu gibi adlandırılmış yeni bir dosya görünecektir myplugin_1.0-1_all.deb. lessDosyayı gözetlemek için programı kullanabilirsiniz . Örneğin, less myplugin_1.0-1_all.deb.