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 :)
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 :)
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ıtlaSilEllerine sağlık Anıl abi. Çok güzel bir anlatım olmuş.
YanıtlaSilMerhaba Anıl abi,
YanıtlaSilPaketleme 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/
Eksik bir bağımlılık yazmışım sanırım, onu ekledim, oyunalanımdaki paketi tekrar dener misiniz?
YanıtlaSilHata 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.
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?
YanıtlaSilTesekkurler
ıyı aksamlar
Bağımlılıklar için bakabileceğin birkaç yer var:
YanıtlaSil$ 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.
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ıtlaSilNeden teknik. amd, ati, fglrx...
YanıtlaSilAti'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