PISI
(Packages Installed Successfully as Intended)

Barış Metin

(Alpha)

4  PİSİ Tasarımı

PİSİ paket sisteminin tasarımı gerekler bölümünde anlatılan kriterlere uygun bir şekilde yapılmıştır. Bu gerekler burada tekrar açıklanmayacak yalnızca PİSİ'nin temel parçaları anlatılacaktır.

Paket sistemi doğrudan ikili (derlenmiş) paketler üzerinde çalışacak bir şekilde tasarlanmıştır. Bununla birlikte kaynak paketler üzerinden çalışmanın da mümkün olmasına dikkat edilmiştir. PİSİ ikili paketler üzerinden temel paket işlevlerini (paket kurma/kaldırma) yerine getirir. İkili paketler ise kaynak paketlerin PİSİ ile derlenmesi ile oluşturulur.

Bu bağlamda, PİSİ kaynak ve ikili paketlere farklı davranmaktadır. Kaynak ve ikili paketlerin görünümü de farklılık sergiler. Bu bölüm içerisinde kaynak paketler ve ikili paketler ile ilgili detaylı bir anlatım yer alıyor. Fakat önce PİSİ'nin temelini oluşturan PİSİ çekirdeği/kütüphanesinin temel işlevlerinden bahsedeceğiz.

Paket sisteminin ana işlevleri bir kütüphane (python package) tarafından sağlanmaktadır. Arayüzler ve yardımcı araçlar bu kütüphanenin sağladığı işlevleri kullanarak görevlerini yerine getirirler. Kütüphanenin temel görevleri aşağıdaki liste ile özetlenebilir.
  • Paket deposu işlevleri
    • depo ekleme
    • depo silme
    • aktif depoları listeleme
    • depodan kuruluma hazır paketleri listeleme
  • İkili paket işlevleri
    • Paket kurulumu
      • tek bir (bağımsız) paketi sisteme kurma
      • depo üzerinden paket indirme ve kurma
    • Paket kaldırma
      • kurulu bir paketi kaldırma
    • İkili paket üzerinde yapılan diğer işlemler
      • paket hakkında bilgisi alma
      • ikili paketin içeriğini açma
      • ikili paket içerisinden yalnızca istenen dosya/dizini çıkarma
  • Kaynak paket işlevleri
    • kaynak paket üzerinden, tanım dosyasını vererek, paket oluşturma
    • paket tanım dosyalarını (PSPEC) okuma/işleme
    • tanım dosyasında belirtilen uygulama kaynağını çekme
    • farklı dosya tiplerini (zip, tar, tar.gz, tar.bz2) açma
    • paket oluşturma betiklerini (actions.py) çalıştırma
  • Diğer işlevler
    • Bağımlılık çözümleme
    • Uzak bağlantılar ile çalışma (ftp, http, https, vb.): paket kurma, tanım dosyası üzerinden paket oluşturma, vb.
    • Kurulu paketler veritabanını güncelleme (yeni girdi ekleme, girdi silme veya bir girdiyi güncelleme)
    • Dosya sistemini paket işlemleri için sorgulama (bir paketin kurulumu için diskte yeteri kadar boş yer bulunuyor mu?)
    • Dosya özetlerini (hash) oluşturma ve doğruluklarını kontrol etme.
    • Paketi imzalama ve imzanın doğruluğunu kontrol etme.
    • ÇOMAR sistemi ile iletişim kurma (CSL betiklerinin ÇOMAR'a bildirilmesi, betiklerin ÇOMAR'dan kaldırılması)
PİSİ işlevlerini kullanmak isteyen bir geliştirici basitçe PİSİ ile sağlanan pisi Python paketini kullanarak yukarıdaki işlevlere sahip olabilir.

Bu web sitesinde bulunan bilgi ve belgelerin, kaynak gösterilmek koşulu ile kullanılması serbesttir.
Pardus markası ve logotipi TÜBİTAK'ın tescilli markasıdır. Kullanım koşulları için Yasal Uyarı bölümünü inceleyiniz.
Pardus hakkında merak ettikleriniz için lütfen yardım sayfasına başvurun. TÜBİTAK - UEKAE, PK.74 41470, Gebze / Kocaeli.

Copyright 2007 Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü. Tüm Hakkı Saklıdır. Görüşleriniz