[Gelistirici] Pardus 2010 Staj ve GSoC Projeleri için Fikir Önerileri

Volkan Esgel vesgel at gmail.com
27 Mar 2010 Cmt 23:19:33 EET


Merhaba.

Offline Package Manager ile geçen seneki staj döneminde ben uğraşmıştım ve
şu anda gayet güzel çalışıyor.

Benim staja başladığımdaki yarım yamalak Python bilgim hem de ilk defa böyle
bir projenin içerisinde yer alarak kodları anlayıp üzerinde geliştirme
yapmanın zorluklarıyla yüzleşmem ilerlememi oldukça yavaşlatmıştı.
Staj döneminin sonunda her ne kadar projem yapması gereken işi iyi kötü
yapar hale gelip çalıştığını gösterse de birçok eksiği vardı. Staj dönemi
bittikten sonra da üzerinde oldukça zaman harcadım ve projeyi oldukça iyi
bir noktaya getirdim.

Şu anda yapabildikleri ise şunlar:

- Offline sistemde kurulu paketlerin listesini dışarı aktarıyor.
- Dışa aktarılan bu paket listesi online sistemde import edildiğinde Paket
Yöneticisi offline moda geçiyor ve offline makinanın paket listesini
gösterip onun üzerinde çalışıyor.
- Online makinada yüklenecek ve güncelenecekler paketler indirilip kurulacak
olarak, kaldırılacak olan paketler ise kaldırılacak olarak işaretleniyor.
- Online makinadaki işlemler tamamlandığında bir .offline arşivi
oluşturuluyor. Bu arşiv yapılacak işlemlerin bulunduğu pisi history benzeri
XML dosyalarını ve kurulacak paketleri içeriyor.
- pm-installer benzeri bir yapıda olan pm-offline ve ek mime-type sayesinde
.offline dosyasının üzerine çift tıklanınca bu işlemlerin sırası ile
yapılması sağlanıyor.
- Paket Yöneticisi açık iken dinamik olarak offline mode ve online mode
değişikliğini yapabiliyor. Bu geçiş hiçbir şekilde sorun oluşturmuyor ve
Paket Yöneticisi'nin normal işleyişinde herhangi bir soruna yol açmıyor.


Eksikleri ise şunlar:

- Offline makinada kurulu paketlerin listesi dışa aktarılırken bir
progress-dialog çıkartılması.
- Online makinada kurulacak ve güncellenecek paketler indirilirken durumu
gösteren bir progress-dialog çıkartılması.

- Emin değilim ama oldukça uzun süren bir kurulum işlemi olursa, bu işlem
bittikten sonra sıradaki işleme geçilirken yetkilendirme ile ilgili bir
sorun çıkabilir. Bir deneme sırasında sanırım böyle bir sorun oluşmuştu.
Çomar ve Policy-Kit hakkında çok fazla bir bilgim yok ancak uzun süren bir
işlem sırasında yetkilendirme unutuluyor olabilir, bu yetkilendirme
işleminin nasıl yapıldığına bağlı. Ama kısa süren işlemler peş peşe sorunsuz
çalışıyor. Oldukça uzun sürebilecek paket kurulumları için test edilmesi
lazım.
- Şu anda Pardus 2009 üzerinde çalışıyor ama 2009.1 sürümünde sanırım QT
paketlerinin güncellenmesi vs. dolayısı ile bir sorun oluşuyor. Zaten
üzerinde çalıştığım Paket Yöneticisi ve PiSi'nin sürümü geçen yazki sürüm.
Projenin en güncel Paket Yöneticisi ve PiSi entegrasyonu
gerçekleştirildikten sonra bu sorun ortadan kalkacaktır.
- Kod temizliği.


Artıları ve eksileri ile şu anda aklıma gelenler bunlar. Denemeye kalkan
olursa son yaptığım değişikliklerle bazı kısımlar patlamış olabilir.

Hala daha kodlarda karmaşıklık var ve son yaptığım değişikliklerden sonra
bazı kısımlarında problem oluşmuş olabilir, ancak durumu oldukça iyi. Şu
aralar pek vaktim olmadığından üzerinde çalışamıyorum ama üzerinde çok az
daha çalışırsam ana ürüne entegre edilebilir bir hale gelecektir. Eğer
izniniz olursa ben başladığım bu projeyi bitirmek istiyorum. Bitirdiğimde de
ofisinize gelerek size sunmayı ve beraber inceleyerek son kullanıcı için
uygun hale getirmeyi çok isterim. Staj döneminde ise bu projenin 2. kısmı
yapılabilir:

Projenin 2. kısmı olarak ise dışa aktarılan kurulu paket listesini paket
yöneticisi gibi import edip, kurulacak/güncellenecek/kaldırılacak paketlerin
seçilmesini ve sonrasında .offline dosyasının oluşturulmasını sağlayacak
paket yöneticisi benzeri bir web projesi düşünülüyordu (bu işin işletim
sistemi bağımsız olarak yapılabilmesi için). Uygun görürseniz bu projenin
yaz stajı projesi olarak yapılmasının daha uygun olacağını düşünüyorum.

Aslında bunu da ben yapmak istemiştim ve üzerinde düşünmeye başlamıştım,
yine de yapan olmazsa ileride ben yapabilirim. Bu konuda ise şöyle bir
düşüncem vardı:

- JQuery[1] vb. kullanılarak Paket Yöneticisi'nin kullanıcı dostu yüzü web
üzerinde de şık bir biçimde oluşturulabilir. Böylece kullanıcılar zaten
alışık olduğu arayüz ile daha rahat işlem yapabilir.


Saygılarımla.


[1] http://jqueryui.com/demos/


21 Mart 2010 23:51 tarihinde Onur Küçük <onur at pardus.org.tr> yazdı:

>
> > Pardus 2010 yaz stajı ve GSoC  projeleri için fikir topluyoruz.
> > Önerileriniz?
>
>
> * offline package manager
>
>  Bulunduğu sistemin paket bilgilerini (neler kurulu vs.) alacak,
> internet bağlantısı olan bir bilgisayarda kullanıcıya güncelleme ya da
> kurulum senaryosu oluşturtup gerekli paketleri seçilen bir dizine
> indirip indeks oluşturacak, diğer sistemde de aktif depoları kapatıp bu
> depoyu ekleyip ilgili işlemi yapıp depoyu kaldıracak


-- 
VOLKAN ESGEL
http://vesgel.blogspot.com/
-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20100327/63398bbb/attachment-0002.htm>


Gelistirici mesaj listesiyle ilgili daha fazla bilgi