Ambalaj tarifleri buraya gitmenin yolu gibi görünüyor . Temel olarak, ambalaj tarifleri otomatik olarak Ubuntu kaynak paketlerini oluşturabilir ve Launchpad'deki bir bzr dalı değiştiğinde bunları bir PPA'ya yükleyebilir. Çevrimiçi belgeleri oldukça iyidir, ama birkaç örnek vereceğiz ...
İlk olarak, izlenecek bir dal belirtin (örneğin, lp:gtk3
) ve ardından kendi Debian paketleme dalınızı o dalın içine yerleştirmek için bir komut ekleyin. Inkscape'in günlük yapımları için oluşturduğum bu tarife bir göz atın .
# bzr-builder format 0.4 deb-version 1:0.48+devel+{revno}+{revno:packaging}
lp:inkscape
nest packaging lp:~inkscape.dev/inkscape/debian-packaging debian
Bu tarif, Inkscape için en son yukarı akış kaynağını kullanarak her gün bir Ubuntu paketi oluşturur, ancak özelleştirilmiş Debian paketleme talimatlarını lp:~inkscape.dev/inkscape/debian-packaging
şubeden " debian
" adlı bir alt klasöre kopyalar .
Launchpad'deki ambalaj tarifi sayfası, paketlerinizin otomatik olarak yükleneceği PPA'yı belirtmenize olanak tanır. Bizim durumumuzda, buraya yüklenir .
Alternatif bir yaklaşım olarak, tarifinizi doğrudan yukarı akış kaynağından ziyade mevcut bir Ubuntu paketine dayandırabilirsiniz. Örneğin lp:ubuntu/gtk+3.0
,. Daha sonra bu kodun bir dalını oluşturmanız ve istediğiniz değişiklikleri yapmanız gerekir. lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
Örneğin diyelim . Daha sonra , yuva paketleme talimatları yerine değişikliklerinizi otomatik olarak birleştirmek için bir tarif oluşturacaksınız . Tarif şöyle görünecektir:
# bzr-builder format 0.4 deb-version {debversion}+{date}
lp:ubuntu/gtk+3.0
merge my-custom-build lp:~myaccount/ubuntu/saucy/gtk+3.0/my-custom-build
Bu tarif, bu nedenle otomatik olarak özel bir Ubuntu kaynak paketi oluşturur ve resmi Ubuntu paketinde her değişiklik olduğunda PPA'nıza yükler.
Bu "birleştirme" yaklaşımını kullanırsanız, yamalarınızı uygulamak için iki seçeneğiniz vardır. Ya yukarı akış kaynak kodunu doğrudan şubenizde düzenler ve bzr'nin birleştirilmesini sağlarsınız ya da debian/
yorgan kullanarak klasör içinde yama dosyaları oluşturabilirsiniz . Her birinin kendi avantajları / dezavantajları vardır. Eski yaklaşım biraz daha akıllıdır ... yamalarınızdan biri yukarı akım geliştirici tarafından benimsenirse, birleştirme genellikle hala çalışır ve Ubuntu paketi tamamlanır. İkinci yaklaşım, paket kodunu yukarı akış kodundan ayrı tutmak için standart Debian tabanlı yaklaşımı kullanarak yamalarınızı ele almanızı sağlar ... ancak, yukarı akış geliştirici yamalarınızdan birini benimserse, yorgan uygulayamaz (kopya) yama ve paket oluşturulamaz.
lp:ubuntu/gtk+3.0
izliyor? Mevcut kararlı veya mevcut geliştirme sürümü?