NASIL:Paket deposu hazırlamak

PardusWiki, özgür ansiklopedi

Git ve: kullan, ara

Bu belge, yazılımlarını PİSİ paketi olarak dağıtan geliştiricilere, bu paketleri içeren bir depoyu hazırlayarak yayınlamak için gerekecek adımları özetlemektedir. Geliştirdiğiniz veya dağıttığınız yazılımları PiSi paketi olarak da sağlıyorsanız, tüm paketleri bir PiSi Paket Deposu olarak dağıtmak size birçok kolaylık sağlayabilir.

Konu başlıkları

[değiştir] Paket deposu nedir ?

Paket deposu, paketlenerek sisteme kurulmaya hazır hale getirilmiş yazılımlar ve bu paketleri tanımlayan indeks dosyalarının birlikte sunulduğu yapılardır. Depolar, indeks dosyaları sayesinde depoda yapılan güncelleme, depodan paket çıkarılması gibi değişiklik kayıtlarını merkezi bir şekilde tutar, sistem güncelleme ve bakım sürecinin büyük oranda otomatikleşmesini sağlar.

[değiştir] Neden bir paket deposu ?

Geliştirdiğiniz (veya dağıttığınız) yazılımları PiSi paketi haline getirerek dağıtmak, her seviyedeki Pardus kullanıcısının bu yazılımları sorunsuzca kurmasını, kullanmasını hatta isterse kaldırabilmesini sağlar. Fakat geliştiriciler ve kullanıcılar genellikle daha fazlasını isterler : yazılımların güncelleme ve bağımlılık takibinin otomatikleşmesi, tek tıkla kurulum, yeni yazılımları kolayca görebilme vs...

Bu tip istekler için -sadece tek bir paket dağıtıyor da olsanız- bu paketleri bir Paket Deposu olarak sunmak hem sizin (yani geliştiricinin) hem de kullanıcının işini kolaylaştıracaktır. Kullanıcı istemine sadece bir depo ekleyerek güncelleme, yeni paket ve bağımlılık takibinin PiSi / Paket Yöneticisi altyapısı tarafından otomatik olarak yapılmasını sağlayacak, geliştirici ise güncellemeleri, yeni paket ve bağımlılıkların ayrıca duyurulması ve dağıtılması gibi ek işlerden kurtulacaktır.

[değiştir] Deponun bileşenleri

Bir PiSi Paket Deposu, iki tip bileşenden oluşur : Paketler ve Depo İndeks Dosyaları. Depoyu kullanıcılara sunmak için paketleri ve depo indeksini içeren bir klasörü herhangi bir yöntemle (http, ftp..) kullanıcıların erişimine açmak yeterlidir.

[değiştir] Dikkat!

Yayınlayacağınız yeni depo, kullanıcının sisteminde kurulu olabilecek depolarla ortak paket içermemelidir : PiSi, henüz "overlay" olarak adlandırılan bu tip ortak paketlere sahip depoları desteklemiyor. Bu nedenle ;

  • Deponuzda Pardus kararlı deposu ile ortak paket olmamalı - Pardus kurulumda öntanımlı olarak sisteme kurulan Pardus Kararlı Deposu, Pardus dağıtımının güncel ve güvenli kalmasını sağlayan ana dağıtım deposudur ve özel amaçlı kurulumlar dışında tüm Pardus sistemlerde öncelikli depo olarak kullanılmaktadır. Dolayısıyla hazırladığınız depoda kararlı depoda olan bir paket bulunduramazsınız. Bu kural, çoğu kullanıcın yararlandığı Katkıcı deposu (contrib) için de geçerlidir.
  • Birden fazla depo yayınlıyorsanız, bu depolar arasında ortak paket olmamasını, zorunlu durumlarda ise ortak paket içeren bu tip depoların kullanıcının sistemine aynı anda kurulmamasını sağlamalısınız.

[değiştir] Depoyu hazırlamak

  • Deponun içereceği paketleri hazırlayın, tüm paketleri depo klasöründe toplayın.
 $ mkdir yenidepo
 $ cp ~/paketler/A_paket-1.0-1.pisi ~/paketler/B_paket-1.0-1.pisi ~/paketler/C_paket-1.0-1.pisi yenidepo/
 $ ll yenidepo/
 total 32
 -rw-r--r-- 1 ekin users 2258 2007-12-26 11:41 A_paket-1.0-1.pisi
 -rw-r--r-- 1 ekin users 2261 2007-12-26 11:41 B_paket-1.0-1.pisi
 -rw-r--r-- 1 ekin users 2258 2007-12-26 11:41 C_paket-1.0-1.pisi
 $
 

Depo içinde bir paketin birden fazla sürümünün olması önemli değildir, PiSi sadece en son sürümü depo indeksine ekler.

  • Depo klasörü içinde aşağıdaki komut ile indeks dosyalarını oluşturun.
 $ cd yenidepo
 $ pisi index . --skip-signing --skip-sources
 $ ll 
 total 32
 -rw-r--r-- 1 ekin users 2258 2007-12-26 11:41 A_paket-1.0-1.pisi
 -rw-r--r-- 1 ekin users 2261 2007-12-26 11:41 B_paket-1.0-1.pisi
 -rw-r--r-- 1 ekin users 2258 2007-12-26 11:41 C_paket-1.0-1.pisi
 -rw-r--r-- 1 ekin users 5243 2007-12-26 11:41 pisi-index.xml
 -rw-r--r-- 1 ekin users 1071 2007-12-26 11:41 pisi-index.xml.bz2
 -rw-r--r-- 1 ekin users   40 2007-12-26 11:41 pisi-index.xml.bz2.sha1sum
 -rw-r--r-- 1 ekin users   40 2007-12-26 11:41 pisi-index.xml.sha1sum
 $
 

PiSi tarafından oluşturulan depo indeksi, pisi-index.xml dosyasıdır - bu dosya sadece geriye uyumluluk amacı ile üretilmektedir, güncel tüm PiSi araçları bu dosyanın sıkıştırılmış hali olan pisi-index.xml.bz2 dosyasını kullanmaktadır. PiSi'nin oluşturduğu diğer dosyalar, bu iki indeks dosyasının özet değerleridir ve PiSi araçları tarafından depo indeksinin değişimini kontrol etmek için kullanılır.

  • Oluşturduğunuz bu klasörü isteğiniz yöntemle kullanıcıların erişimine açın.
Örnek deponun web servisi ile yayınlanmış hali
Örnek deponun web servisi ile yayınlanmış hali


  • Deponuzdaki paketler için herhangi bir güncelleme veya ekleme olduğunda ilgili paketleri depo klasörüne kopyalayıp depo indeksini tekrar oluşturmanız yeterli olacaktır. PiSi indeks dosyalarını oluştururken paketlerin en son sürümlerini dikkate alır, dolayısıyla eski paketleri silmenize gerek kalmaz. Çoğu durumda eski paketleri silmemeniz yararlı olacaktır - depo indeksini güncellemeden paket kurmaya çalışan kullanıcıların bu eski sürümleri kurabilmesi için eski paketlerin de erişilebilir olarak kalması gerekir.

[değiştir] Deponun kullanıcılar tarafından eklenmesi

Deponuzu erişilebilir hale getirdikten sonra kullanıcıların bu depoyu eklemeleri ve paketleri bu depodan kurmalarını sağlamalısınız. PiSi'ye yeni bir depo eklemek oldukça kolaydır.

  • PiSi komut satırı aracı ile :
 $ sudo pisi ar yenidepo http://cekirdek.pardus.org.tr/~ekin/yenidepo/pisi-index.xml.bz2
yenidepo isimli depo sisteme eklendi.
 yenidepo isimli depo için PiSi veritabanı güncellensin mi? (evet/hayır)e

* yenidepo deposu güncelleniyor
 pisi-index.xml.bz2.sha1sum     (40.0  B)100%      0.00 B/s [??:??:??] [bitti]
 pisi-index.xml.bz2             (1.0 KB)100%      0.00 B/s [??:??:??] [bitti]
 No signature found for http://cekirdek.pardus.org.tr/~ekin/yenidepo/pisi-index.xml.bz2
 yenidepo paket veritabanı güncelleniyor (100%) [bitti]

* Paket veritabanı güncellendi.
  • Paket Yöneticisi ile :

Paket Yöneticisi içinde Ayarlar menüsünden Paket Yöneticisi programını yapılandır seçeneği ile açılan yapılandırma penceresinde Yeni depo ekle butonu ile yeni depo ekleyebilirsiniz. Daha detaylı bilgi ve örnek bir depo ekleme işlemi için bu belgeyi inceleyebilirsiniz.

[değiştir] Deponuzu kendi haline bırakmayın !

Deponuz kullanıcıların sistemine eklendikten sonra PiSi ile yapılan tüm güncellemelerde bu depo da kontrol edilecek, varsa güncellemeler otomatik olarak yüklenecektir. Kullanıcılar da deponuza yeni eklediğiniz paketleri Paket Yöneticisi veya PiSi komut satırı aracı ile kolayca kurabilecekler. Size de güncellemeleri düzenli yapıp deponuzun bakımını yapmak kalacak - Deponuzu ihmal etmeyin, gerekli ilgiyi gösterin..