Yeni üstdüzey dağıtım (gerçekçi)

Paketleri Debian arşivi için hazırlarken, oluşan paketleri ayrıntılı bir şekilde kontrol etmelisiniz. Burada bunun daha gerçekçi bir örneği var:

  1. Yeni üstdüzey kaynaktaki değişiklikleri doğrulayın:

    • Yeni üstdüzey sürümün changelog, NEWS ve yeni sürümle birlikte dağıtılmış her ne başka belgelesi varsa okuyunuz.

    • diff -urN'yi kullanarak eski ve yeni sürüm arasındaki değişikliklerin esas olarak nerelerde yapılmış olduğunu anlamaya çalışın ve ayrıca, şüpheli gördüğünüz herşeye bir göz atın.

  2. Eski Debian paketini yenisine uyarlayın:

    • Kaynak tar paketini açın ve kaynak ağacının kökünü <paketismi>-<üstdüzey_sürümü>/ olarak yeniden isimlendirin, cd ile dizinin içine girin.

    • Sıkıştırılmış tar dosyasını üst dizine kopyalayın ve ismini <paketismi>_<üstdüzey_sürümü>.orig.tar.gz olarak değiştirin.

    • Eski kaynak ağacına yaptığınız benzer değişiklikleri yeni kaynak ağacına da yapın. Olası yöntemler şunlar olabilir:

      • zcat /dosya/yolu/<paketismi>_<eski_sürüm>.diff.gz | patch -p1 komutu,
      • uupdate komutu,
      • Eğer kaynak kod yönetimi için bir Subversion deposunu kullanıyorsanız, svn merge komutu kullanın veya
      • eğer dpatch veya quilt ile paketlendiyse basitçe eski kaynak kodundaki debian/ dizinini kopyalayın

    • Eski changelog kayıtlarını koruyun (sesler geliyor... ama bazen kazalar olabiliyor...)

    • Yeni paket sürümü, üstdüzey sürüm numarasına -1 Debian yayım numarası eklenmesiyle elde edilen yeni sürüm numarası olacaktır, örn., 0.9.13-1.

    • debian/changelog dosyasının başına bu yeni sürümü "New Upstream Release" (Yeni üstdüzey dağıtım) şeklinde bir girdi olarak ekleyin. Örneğin, dch -v 0.9.13-1.

    • Özlü bir şekilde, yeni sürümde bildirilmiş hataları gidermek üzere yaptığınız değişiklikleri açıklayın ve changelog dosyasında bu hataları kapatın.

    • Özlü bir şekilde, yeni sürümde bildirilmiş hataları gidermek üzere üstdüzey geliştiricinin yaptığı değişiklikleri açıklayın ve changelog dosyasında bu hataları kapatın.

    • Eğer yama/birleştir (patch/merge) temiz bir şekilde uygulanmazsa, neyin hatalı gitmiş olabileceğini araştırın (ipuçları .rej dosyalarındadır). Genellikle sorun, yaptığınız yamanın üstdüzey kodlara zaten uygulanmış olması nedeniye yamanın ilgisiz kalmasıdır.

    • Yeni sürüme geçiş sessiz ve rahatsız etmeden olmalıdır (var olan kullanıcılar yeni sürüme geçişi, eski hataların düzeltildiğini ve yeni özelliklerinin eklendiğini farketmeleri dışında farketmemelidir).[49]

    • Eğer silinmiş şablon dosyaları herhangi bir nedenle eklemek ihtiyacı duyarsanız, dh_make komutunu -o seçeneği ile zaten debianlaşmış dizinde çalıştırıp daha sonra da bunları düzenleyiniz.

    • Mevcut Debian değişiklikleri yeniden değerlendirilmelidir; aksini zorlayan nedenler olmadıkça üstdüzey sürümün (öyla ya da böyle) zaten sağladığı elemanları atın, yoksa onları saklamayı unutmayın.

    • Eğer derleme sistemine özgü herhangi bir değişiklik yapıldıysa (bunu 1. adımdan bileceksiniz), debian/rules ve debian/control dosyalarını derleme bağımlılıkları açısından gerekliyse güncelleyin.

  3. Yeni paketi debuild komutu veya pbuilder paketi bölümünde açıklandığı gibi derleyiniz. Bunun için pbuilder kullanımı da tercih edilebilir.

  4. Yeni paketlerin olması gerektiği gibi derlendiğini doğrulayın:

    • Paketin hatalara karşı denetimi bölümündekileri uygulayın.
    • Paket yükseltiminin doğrulanması bölümündekileri uygulayın.
    • Debian Hata İzleme Sisteminde hala açık olan fakat giderilmiş hatalar var mı diye tekrar kontrol edin.
    • Paketin doğru dağıtıma gönderildiğinden, uygun hata kapatmalarının Closes: alanında listelendiğinden, Maintainer: ve Changed-By: alanlarının eşleştiğinden ve dosyanın GPG imzalı olduğundan, v.s. emin olmak için .changes dosyasının içeriğini kontrol edin.

  5. Paketleme sırasında birşeyi düzeltmek için bir değişiklik yaparsanız, 2. adıma dönerek herşey aklınıza yatana kadar işlemleri tekrarlayın.

  6. Eğer paketinizin sponsorlarca desteklenmesi gerekiyorsa, derleme aşamasında özel seçenekler kullanılması gerekliyse (dpkg-buildpackage -sa -v ... gibi) bunları not alın ve sponsorlarınızın paketi düzgün şekilde oluşturmaları için onları bilgilendirin.

  7. Paketi arşive kendiniz gönderecekseniz, Paketin Debian'a gönderilmesi bölümünde açıklananları uygulayın.



[49] İyi tasarlanmış postinst kullanarak paketinizin, güncellemeleri yapılandırma dosyalarında doğru olarak yenileştirmesini sağlayın, kullanıcının istemeyeceği değişiklikleri yapmayın! Bunlar insanların neden Debian'ı seçtiklerini daha iyi açıklamaktadır. Eğer güncelleme zorunlu değişiklikler gerektirirse (örneğin, yapılandırma dosyalarının tamamen farklı bir yapıda çeşitli ev dizinlerine dağıtılması), paketi varsayılan güvelinir duruma ayarlayabilirsiniz (örneğin, devredışı kalmış hizmet) ve son çare olarak politika (README.Debian and NEWS.Debian ) gereği gerekli dökümanları hazırlayabilirsiniz. Fakat debconf notunu değiştirmeyin.