[Gelistirici] paketler arayüzü kararları
Oğuz Yarımtepe
oguzy at comu.edu.tr
9 Mayıs 2007 Çar 20:50:14 EEST
Selam,
Uygulamayı geliştirmeden önce bir takım kararlar aldım. Danışayım, paylaşayım,
sorayım.
Meren'in olması gerekenleri belirten listedeki epostası, şenlik ve jabberdeki
konuşmalarımızı dikkate alarak sırayla gideyim.
* Tüm veriler arasında arama özelliği
Tüm verilerin içine yama, paketçi, bağımlılıklar girdiğinden kendi tablolarıma
verileri yazacağım. Yama bilgisi almak için pspec.xml dosyalarını okuyacağım
(pisi api ile bunu alamadım), alacağım bir bilgi de paketin source kısmındaki
name bilgisi olacak. paketin adından hareketle pspec dosyasındaki bilgileri
kendi tablolarıma yazmayı düşünüyorum. Yazacağım bilgileri pisi api ile
almayı düşünüyorum.
Şöyle tablolarım olsun diye düşünüyorum:
DepoUpdate(lastupdatetime, lastedittime) -- bunu en son anlattım
DepoAdıPackages(name, reponame, summary?, description?, isa, partof,
archieveaddr, builddep, builddepversion) (devel, contrib ve 2007 için ayrı
ayrı toplam 3 tablo)
Bu tablodaki name'i yabancı anahtar alıp ona bağlı 3 tablo daha düşündüm:
Packager(name, email)
Patch(filename)
Package(conflicts, provides, requieres, runtimedep, componentdep?)
History(updatetype, date)
Burada bir iki konu var aklıma takılan. summary ve description kısımlarına
gerek var mı yok mu diye düşünürken aklıma ingilizce arama yapılıp
yapılamadığı sorusu takıldı. pisi sr messaging bir sonuç döndürmeyince
yapılamıyor dedim. Bir ihtimal summaryeng descriptioneng gibi iki alan
koymak, pspec dosyasından o kısımları eklemek ve ingilizce aramada bundan
yararlanmak, Türkçe de ise zaten var olan pisi apinin search'ünden
yararlanmak. Bu nokta danışmak istediğim noktalardan biri.
Diğeri, componentdependency kısmı. İkilik paketle ilgili Conflicts,
RuntimeDep, Provides ve Requires bilgileri yanında bunu da göstermeli miyim?
Bir diğeri ArchieveAddress kısmı var pspeclerde, kaynak adresini veren. Bunu
da alsam ve sayfada bunu da göstersem diyorum. pisi api ile bu bilgiyi de
alamadım.
Yukarıdaki tablolar ile paketçi, tarihe göre paket (son eklenen paketleri
tipine göre veya şu-şu tarihler arasında depoya eklenenleri göster),
bağımlıklara göre (örn. derleme bağımlılığı şu olan paketleri göster), yama
(yama dosyalarının isimlerinde geçen stringleri aratıcam) aramaları yapmak
mümkün.
* RSS
Her depo için şunları içeren bir xml kaynağı yayınlansın diye düşündüm:
* Güvenlik yükseltmeleri: paketin adı, sürümü, güvenlik yükseltmesini yapan
paketçi ve summary kısmı
* Yeni eklenen paketler: paket adı, paketçisi, summary kısmı
* Yenilenen paketler: Bunlar da hata düzeltmelerini ve iyileştirmeleri
kapsayacak ama bunları nasıl tespit edip ayrırım konusunda genel bir çözümüm
yok.
Yeni eklenen paketleri bulmak için düzenli çalışan bir programa gereksinimim
olacak (yapacağı DepoUpdate tablosunu güncellemek olacak, Django uygulaması
çalışırken yeni eklenen paket bilgisini veya son yapılan düzenlemeyi buradaki
tarihe göre bulabilir). Uygulamanın bir kısmı düzenli çalışıp tabloları
güncellerken django kısmı da oradan veriler alıp gösterecek.
* transparan dil desteği: Bu da olacak
Paketlerle ilgili mümkün olduğunca çok bilgi göstermek istiyorum. Meren'in
söylediği gibi installedsize, packagesize bilgilerini de pisi api ile
göstermeyi planlıyorum.
isa ve partof kısımlarını da tabloda sakladığımdan app:gui olanları göster,
app:networking olanları bir sırala demek mümkün olacak.
İşte böyle. Durumu netleştirelim, ben de en geç haftaya kodlamasına
başlıyayım.
Yorumlar, öneriler?
--
Oğuz Yarımtepe
Çanakkale Onsekiz Mart Üniversitesi
Bilgisayar Mühendisliği
http://www.yarimtepe.com
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi