Pardus, PiSiYap ve Airstrike

Windows'ta hiç kurulum dosyası hazırlamadığım için tam olarak nasıl işlediklerini bilmiyorum ama dışarıdan bakan biri olarak ilk önce geliştiricinin uygulamayı yazdığını, sonra bu uygulamayı derlediğini ve en sonunda da bir kurulum yazılımıyla uygulamayı ve bağımlılıklarını kurulum dosyasına çevirdiğini tahmin ediyorum.

Bu kurulum dosyalarına Windows'un paketleridir diyebiliriz sanırım. Windows'un Denetim Masası'ndaki Program Ekle / Kaldır da adeta bir paket yöneticisidir. Fakat Windows'taki bu sistem pek başarılı olmadığı için kurulan uygulamalar bazen tam olarak kaldırılamaz, aynı anda birden fazla uygulama kurulumu için önlem alınmadığı için sorunlar çıkar ve bunun gibi pek çok şey.

Bu durumlar benim aktif olarak Windows kullandığım döneme ait. Şimdi belki Windows'ta da böyle bir durum kalmamıştır.

GNU/Linux'ta ise sisteme kurulan her şey pakettir. Tüm paketler birbirinden haberdardır, hiçbiri diğerinin ayağına basmaz ve bir paketi kaldırdığınız zaman, gerçekten kaldırılmış olur.

GNU/Linux'taki süreç şöyledir özetle: geliştirici uygulama yazar, bunu arşiv dosyası olarak dağıtır, dağıtım geliştiricileri bu arşivi alarak, dağıtım için gerekli değişiklikleri ve düzeltmeleri yaparak paketler.

Bu sistem harikadır. Tam olarak eksiklik sayılmasa da eksiklik diyebileceğimiz tek noktası kullandığınız dağıtım için uygulamanın henüz paketlenmemiş olmasıdır. Bunun da iki kolay çözümü vardır, kullandığınız GNU/Linux dağıtımının geliştiricilerinden paket isteğinde bulunabilirsiniz ya da daha iyisi eğer bir paketin bakıcılığını yapabilirseniz uygulamayı kendiniz paketleyebilirsiniz.

Bu yazıda PiSiYap ile Pardus için nasıl kolayca paket yapılabileceğini göstermeye çalışacağım. Paketlemeyle ilgilenen Pardus kullanıcılarının büyük ihtimalle bildiği PiSiYap, ilk olarak Murat Şenel'in yazdığı, sanatsal işlerini Serdar Soytetir ve Murat Şenel'in yaptığı ve de Kenan Pelit, Serdar Soytetir, Mehmet Nur Olcay ve H. İbrahim Güngör'ün test ettiği, paket yapımını yeni başlayanlar için epey kolaylaştıran bir araç.

PiSiYap'ın kendisinin ve paketinin bakıcılığını kısa bir süre önce ben devraldım ve şu an bunu sürdürmeye çalışıyorum ama ileride şu videoda benden başkalarının da olmasından mutluluk duyarım.

Siz de PiSiYap'ı kullanırken karşılaştığınız durumları bildirerek, bildirilmiş durumları çözmek için yamalar göndererek, proje sahibi (owners), kod yazarı (committers) ve katkıcısı (contributors) olarak başvurarak, topluluk sitelerinde, viki'lerde ve e-dergilerde PiSiYap hakkında paket tanıtımları ve nasıl belgeleri yazarak, PiSiYap'ı diğer dillere çevirerek katkıda bulunabilirsiniz, çok da güzel olur :)

PiSiYap ile örnek olması için Airstrike'nin paketlenme sürecini video olarak kaydettim. Paket oynanabilir hale geliyor video sonunda ama bir depo için uygun olması için üzerinde hala birkaç küçük işlemin daha yapılması gerekiyor, paket yapımıyla ilgiliyseniz bunları da Pardus hata takip sistemindeki ilgili kayıttan görebilirsiniz, yorum olarak düşeceğim buraya paket üzerinde yapacağım değişiklikleri.

Oyun hakkında da küçük bir yazı hazırlamak istiyorum, onun için de zaman bulabilirsem büyük ihtimalle Penguenler de Oynar'dan okuyabilirsiniz.

Videoda anlamadığınız, size yanlış ya da saçma gelen yerleri yorum olarak belirtebilirsiniz. Paket yapımıyla ilgili karşılaştığınız sorunları da Pardus kullanıcıları listesinden, Özgürlükİçin'deki paket yapımı bölümünden ve diğer ilgili yerlerden sorabilirsiniz. Lütfen bana sadece ve en fazla PiSiYap'ın kullanımıyla ilgili soru sorun, o da gerekirse :) Hede paketini yaparken şu hatayı alıyorum ne yapmalıyım gibi sorularınız içinse belirttiğim bağlantıları kullanın. Bu daha kolay, çabuk, çok ve de en önemlisi doğru yardım alabilmeniz için önemli.

Şimdilik diyeceklerim bunlar, paket yapmak size de eğlenceli geldiyse ve Pardus üzerinde birkaç pakete bakıcılık yapmak isterseniz geliştirici başvurusunda bulunmayı unutmayın. Burada yeni geliştiriciler görmeyi çok seviyoruz :)

Yorumlar

  1. Kendimi övüyorum, evet. Bu kullanıcıları paketçi olmak için davet etmenin en güzel yollarından biri ve bunu ben yaptığım için mutluyum.

    YanıtlaSil
  2. Ellerine sağlık Anıl abi. Çok güzel bir anlatım olmuş.

    YanıtlaSil
  3. Merhaba Anıl abi,

    Paketleme ile ilgili birşey sormak istiyorum.

    Ben Fancy-tasks ı paketlerken hata alıyorum. Sizin playgroundunuzda oldugunu gördüm fakat ondada aynı hatayı alıyorum... Neden olabilir

    (https://svn.pardus.org.tr/pardus/playground/maidis/2011/desktop/kde/addon/plasma-applet-fancy-tasks/)

    hata şöyle birşey: http://sudrap.org/paste/text/8417/

    YanıtlaSil
  4. Eksik bir bağımlılık yazmışım sanırım, onu ekledim, oyunalanımdaki paketi tekrar dener misiniz?

    Hata alırsanız yine

    sudo pisi bi https://svn.pardus.org.tr/pardus/playground/maidis/2011/desktop/kde/addon/plasma-applet-fancy-tasks/pspec.xml -d

    çıktsını paylaşırsanız sevinirim.

    YanıtlaSil
  5. tesekkurler cozuldu. Bırsey sormak ısrıyorum vıdyoda ızledım ama, anlamadım. Bagımlılıklaı nasıl buluyorsunuz ve patch leme ızlemını nasıl yapıyorsunuz?

    Tesekkurler
    ıyı aksamlar

    YanıtlaSil
  6. Bağımlılıklar için bakabileceğin birkaç yer var:
    $ python checkelf plasma-applet-fancy-tasks-1.0.94-1-p11-x86_64.pisi
    http://svn.pardus.org.tr/uludag/trunk/scripts/checkelf

    diğer dağıtımların paketleri
    http://tr.pardus-wiki.org/Pardus:Paket_depo_ba%C4%9Flant%C4%B1lar%C4%B1

    depodaki benzer paketler
    http://paketler.pardus.org.tr/

    arşiv içinden çıkan README, INSTALL gibi belgeler

    uygulamanın inşa dosyasından bağlandığı kütüphanelere bakmak, kaynak kodların kullandığı başlıklara bakmak vs.

    yama:
    diff Naur dizin-veya-dosya.orig dizin-veya-dosya > yama.patch

    diff -Naur CMakeLists.txt.orig CMakeLists.txt > enable-docs.diff

    sorunlu dosyayı yedekliyoruz once sonuna ".orig" ekleyerek. sonra sorunlu dosyayı düzeltiyoruz ve farkından oluşan yamayı oluşturuyoruz.

    YanıtlaSil
  7. Hocam emekleriniz için tesekkür ederim. Fakat video hazirlarken neden ses kullanmiyorsunuz anlamiyorum? Teknik bir sebepten dolayi ise eyvallah, ama utaniyorsaniz utanmaniza gerek yok :-)

    YanıtlaSil
  8. Neden teknik. amd, ati, fglrx...

    YanıtlaSil
  9. Ati'nin açık kaynaklı sürücülerini öneririm Anıl abi. Sorunsuz tıkır tıkır çalışıyor. İşlemcim de Amd.

    YanıtlaSil

Yorum Gönder

sen de yaz yaz yaz buraya yaz bütün sözlerini

Bu blogdaki popüler yayınlar

Diğer Dillerde Hoşçakal

Mızıka Tabları Nasıl Okunur

conio.h