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 control
dosyanı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 rules
dosyaları 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/copyright
dosya ayrıca kullanıcıları paketle ilgili lisanslar hakkında bilgilendirmek için de yararlı olabilir. Bir postinst
betiğ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)
changelog
Dosya ile düzenlenebilir dch
temin komuta, devscripts
paketin. 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 dh
komut 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 -b
Mevcut 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 myplugin
ve koymak istediğinizi varsayalım /usr/share/rhythmbox/plugins/mypluginfolder
. Ek olarak, DEBIAN
paket 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>.deb
Bu örnekte olduğu gibi adlandırılmış yeni bir dosya görünecektir myplugin_1.0-1_all.deb
. less
Dosyayı gözetlemek için programı kullanabilirsiniz . Örneğin, less myplugin_1.0-1_all.deb
.