[Gelistirici] component yapisi ve paket agaci taslagi
Fatih Aşıcı
fatih at pardus.org.tr
7 Şub 2009 Cmt 03:20:08 EET
Öncelikle eline sağlık :) Uğraşıp güzel bir inceleme yaptığın için. Çok
faydalı oldu.
Cumartesi 07 Şubat 2009 tarihinde, Necmettin Begiter şunları yazmıştı:
> Bir de şunu söyleyeyim, depoda birbiriyle ilgili paketlerin birbirine yakın
> durmasının geliştirici açısından kolaylık sağladığı görüşü söylenmişti daha
> önce, burada da bahsi geçen birkaç önermem sonucunda. Eğer o görüş
> geçerliliğini koruyorsa, o library bileşenleri kökten kaldırmak lazım
> bence. Yok korumuyorsa, o zaman library'leri o kadar aşağılara çekmemeli,
> kökün hemen altına koymalı.
Bence geliştiriciye hiç acımayalım :) Bileşenler tamamen grafik arayüzde nasıl
görüneceği dikkate alınarak, kullanıcının bakış açısı düşünülerek
belirlenmeli.
> - Öncelikle, documentation diye bir bileşen olmalı, tamam, ama
> belgelendirme ile ilgisi olmayan, daha çok belge düzenleme vb işler için
> uygulamaları, kütüphaneleri vb içeren bir bileşen olmamalı.
+1
Önceki mailimde belirttiğim gibi taslakta yer alan hali office, publishing
gibi üst bileşenlere dağıtılmalı.
> - desktop.gnome.library altında libglade2 ve libglademm kardeşleri ve
> cairo'yu görüyoruz fakat cairo'nun kardeşi cairomm desktop.gnome.extras
> altında; cairomm'in yeri cairo'nun yanıdır.
Bunlar artık GNOME'a özgü değil anladığım kadarıyla. desktop.gnome altında
sadece gnome paketleri olsun. gtk, qt, vs hepsi desktop.library gibi bir
bileşene gitmeli.
> - gtk2-docs desktop.gnome.base altında duruyor. Bu bir belgelendirme
> paketi, taban paketlerin arasında olmamalı.
>
> - gtk2-demo, GTK+2 için örnek kaynak kodların yer aldığı bir paket (değil
> mi?); dekstop.gnome.base altında olmamalı. documentation çok daha anlamlı
> bence bu paket için.
Bunları yeri documentation olur bence de.
> - QtCurve-Gtk2, bir cilt/tema/adınısizkoyun paketi. Paketleri işlevlerine
> göre yerleştiriyorsak, desktop.gnome.extras altında olmamalı. Zira GTK2
> başka şey, GNOME başka şey, Qt başka şey, KDE başka şey. Kök noktaya
> eklenen bir skins bana hoş bir isim olur gibi geliyor, duvar kâğıtları,
> pencere şeyleri, grafik atraksiyonları, fare temaları ve diğer bilimum
> (bilumum da olabilir) paket için.
Bu da desktop.theme bileşenine gitmeli. Hatta bu bileşen altında
/style
/icon
/decorator
gibi alt bileşenler olabilir. gtk veya qt teması olmasına hiç bakmıyoruz.
QtCurve-gtk2 ile lipstik aynı bileşende olabilirler. İkisinin de işlevi aynı.
> - Ya extras ve libraries olmalı, ya da extra ve library.
+1
> - i18n desktop'un dışına (ana dala) taşınabilir.
+1
l10n veya locale de olabilir. Hangisi daha kapsamlıysa onu seçelim bence.
> - kdelib-apidox, KDE kütüphanelerinin kullanımını belgelendiren bir paket.
> documentation bu paket için çok daha anlamlı bence. Değilse bile,
> kdelibs-apidox bir desktop.kde.library değil. (Bir de niye apidox, apidocs
> değil?)
Bu paketi uçurdu Gökçen :) Olsaydı yeri documentation tabi ki.
> - PolicyKit-kde PolicyKit ile KDE arasındaki boşluğu dolduran bir paket
> ise, desktop.kde.extras doğru yer değil, desktop.kde.library olabilir.
KDE4'de ilerde birlikte gelecek sanırım. O yüzden +1.
> - basket bir ofis uygulaması, desktop.kde.extras değil utility.office
> içinde olmalı. (Öte yandan utility deyince benim aklıma küçük uygulamalar
> geliyor, openoffice gibi uygulamalar değil.)
+1 (+1)
> - artwork-pardus-release, QtCurve*, desktop.kde.base.artwork paketlerinin,
> eğer işlevlerine bakarak yerleştiriyorsak, ayrı bileşenlerde olması anlamlı
> değil. cilt/tema/x bileşenine taşınmalılar.
Yukarda söylediğim desktop.theme bileşenine girmeli bunlar da.
> - PyKDE ve PyKDEeXtensions KDE'nin kendi temel zorunlu bileşenlerinden
> değil, bizim KDE için yazdığımız uygulamalar nedeniyle temel paketlerden
> olmuşlar. Kütüphaneler arasına taşınmalı.
KDE4'te artık öyle değil. Paketi ayırırsak python modüllerinin yanına
koymalıyız bence.
> - kdeartwork* olmadan da KDE gayet güzel çalışıyor, bu paketler de tema
> altına taşınmalı.
+1
Bu paket parçalanabilir de aslında.
> - kdebase-beagle'ın desktop.kde.base altında olmaması gerekir, Beagle Mono
> ile yazılmış bir uygulama, kdebase-beagle da Beagle ile KDE'nin
> anlaşabilmesi için var; belki desktop.kde.extra olabilir yeri.
Bu olmayacak zaten ilerde.
> - kdegames* (ve belki kdetoys) da aslında games altında olmalı.
Evet, olabilir. Şöyle de olabilir: Source paket desktop.kde altındayken
içinden çıkanları (oyunları ayrı paket yaparsak diye söylüyorum) games altına
alabiliriz.
> - İlgisiz bir soru, niye tulliana ve tulliana2 diye iki paket var?
> Tulliana2'nin açıklamasında "Tulliana2 is the default icon theme of Pardus
> Linux 2007" yazıyor, tulliana2 release 4 build 2, tulliana ise release 1
> build 1. Tulliana fazla mı, unutulmuş mu nedir?
Unutulan birşey olduğu kesin :)
> - Milky bir simge seti değil mi? desktop.kde.themes içinde ne işi var (ya
> da diğer durumda tulliana* niye desktop.kde.base içinde)?
Bunu sadece KDE değil diğer ortamlar da kullanabilir zaten.
desktop.theme[.icon[set]]
> - Font uygulamaları (fontforge, gbdfed) desktop.fonts altından çıkarılmalı.
graphics olabilir belki?
> - freedesktop.fonts altında sadece uygulamalar var, fontforge ve gbdfed
> buraya taşınmalı ya da bunlar fontforge ve gbdfed ile aynı yere taşınmalı.
fontconfig bir library. Diğerleri sadece X tarafından kullanılıyor.
Kullanıcının kullanacağı şeyler değil. freedesktop bileşeni olmamalı. Yerine
desktop.library kullanılmalı. Xorg için system.x11 düşünüyorum.
> - xorg-doc Xorg belgelendirmesi olduğuna göre ilgili yere gitmeli.
+1
> - xcursor-themes freedesktop.xorg.theme altında iken grounation-xcursors ve
> jimmac-xcursor freedesktop.misc altında. (Ayrıca biri xcursor iken diğer
> xcursors?)
İsimlerde standartlaşmaya gitmemiz lazım aslında. hede-cursor-theme gibi.
Bunların yeri de desktop.theme[.cursor]
> - synaptics bir sürücü paketi olmasına rağmen desktop.freedesktop.misc
> altında.
Bu diğer x sürücülerinin yanına gidecek. system.x11.driver gibi.
> - GUI kütüphaneleri ayrı bir sınıfta olmalı. Qt ve GTK'nın dağınık olması
> bir yana, örneğin wxGTK desktop.freedesktop.library altında duruyor.
desktop.library benim görüşüm.
> - Belgelendirme paketleri ayrı bir yere taşınmalı, game.library içinde
> clanlib-docs, ogre-doc, cel-doc gibi paketler var. Bunlar kütüphane değil.
+1
> - rougelike diye bir oyun türü yok. O bildiğin RPG.
>
> - game.simulation altındaki lincity, opencity ve simutrans strateji oyunu,
> benzetim değil. (Şehir kurma ya da trenle taşımacılık şirketi üzerinden
> dünyayı ele geçirme oyunları benzetim oyunları değildir :p)
>
> - games.strategy altındaki freegiv'in doğrusu freeciv :)
Pek bilgim yok :/
> - hardware altındaki cdr'yi gördüğümde ne olduğunu paketleri görünceye
> kadar anlamadım. storage veya discs olabilir adı (diğer dağıtımlarda cdr
> diye bir bileşen var mı?).
+1. Daha açık olmalı burası. Bazı dağıtımlar Archiving içine alıyor.
> - sane-backends tarayıcılarla (scanner) ilgili bir paket, hardware.graphics
> altında olması bir an düşündürdü.
Bunu bilemedim.
> - hardware.mobile altındaki libopensync telefon ya da PDA'lara özel bir
> kütüphane değil. Paket isimlerinden de görebileceğiniz gibi, PIM
> uygulamanızın LDAP ya Google Calendar gibi sistemlerle çalışabilmesi
> içinler. Dolayısıyla hardware.library altına taşınmalı. Aynı şekilde,
> obexftp ve wbxml2 de birer kütüphane.
Dediğin gibiyse +1 tabi ki.
> - hplip-doc paketinin hardware.printing yerine documentation gibi bir
> bileşende olması gerekir.
+1
> - strigi hardware.disks değil. Donanımla ilgili birşey değil en azından.
> Bir indeksleme uygulaması (Google Desktop ve Beagle gibi).
Bunlar için desktop.[misc,extra,accessory,tool] düşünülebilir.
> - hal-doc hardare.misc'den documentation'a taşınmalı.
+1
> - Çoklu ortam kütüphanelerini (multimedia.library) audio, video, graphics
> diye ayırmak anlamlı olabilir (?)
.library bileşenlerini ayırmaya gerek yok bence.
> - multimedia.graphics altındaki graphviz-docs ve tuxpaint-doc
> documentation'a taşınmalı. (doc-docs konusunda da bir eşgüdüm sağlanmalı,
> ya doc, ya docs ya da dox olmalı -do* olan paketler)
+2
> - amarok-docs -> documentation
+1
> - multimedia.sound altındaki sunucuların (jack-audio-connection-kit,
> pulseaudio*, timidity) yerlerinin orası olduğundan şüpheliyim.
Bence uygun görünüyor.
> - network.browser altındaki firefox*, lynx, opera, arora network.webbrowser
> olsa mesela..
Olabilir.
> - network.client altındaki wpa_supplicant bir kütüphane, network.library'ye
> çekilmeli.
Bundan emin değilim. wpa_supplicant uygulama sayılabilir. Hatta içinden wpa-
cli ve wpa-gui çıkıyor bildiğim kadarıyla.
> - network.client altındaki network-manager network.connection altına
> taşınabilir
administration bileşenine mi alsak acaba bunu?
> - Öte yandan network.connection altındakiler de birer uygulama,
> network.client'ları (wpa_supplicant hariç) ve network.connection'ları
> network.applications yapmak daha anlamlı geliyor.
applications ismini hiç kullanmayalım bence.
> - mod_dav_svn de bir apache modülü, apache için yeni bir bileşen açmak
> gerekliyse mod_dav_svn de diğer mod*'larla birlikte olmalı. Ya da bunun
> yerine mod*'ları server.web'e çekmeli.
server'ın olduğu bileşene çekilmeli.
> - server.ftp altındaki kftpgrabber, ncftp, gftk ve netkit-ftp, sunucu
> değil, istemci.
+1
network altında ilgili yerlere gitmeleri gerekiyor.
> - avahi bir server.dns uygulaması değil, paket açıklamasına bakılırsa
> servis keşif uygulaması. Aynı zamanda da ağda yerel bilgisayar tarafından
> sunulan servisleri yayınlıyor, fakat server.dns değil.
Doğrudan network altına da konabilir belki.
> - bind-tools da bir server.dns değil, sorgu uygulamaları içeriyor.
+1
> - openldap-client server.authentication uygulaması değil, bir istemci.
>
> - ntp-client bir server.ntp değil, bir istemci.
+1
> - programming.library bana hiçbir zaman anlamlı gelmedi. Programlama
> kütüphanesi dediğimiz şey, düz kütüphane değil midir?
Bunları olabildiğince diğer bileşenlere dağıtmamız lazım. Eğer bileşen
bulamıyorsak. utility.library gibi bir bileşene gidebilir.
> - programming.environment -> programming.ide
+1
> - programming.putyourfavouritelanguagenamehere ile programming altında ayrı
> bir ağaç yaratıyoruz.
Doğru. Bunları da ayırabiliriz. Ancak bileşen derinliği gittikçe artıyor :)
O yüzden bu dil bileşenlerinin altında da alt bileşenler yapmasak iyi olur.
> - programming.cpp.library (programming.)library altına taşınmalı.
Genel amaçlı c++ kitaplıkları için programming.language.cpp yeter bence.
Ayrıca bir de library bileşenine gerek yok.
> programming.qt programming.library altına taşınmalı (ya da isterseniz,
> jargona uyar, programming.toolkit deriz). iki farklı tasnifi tek bileşen
> altına koymak (programming.diladı, programming.environment/library vb)
> arama süreçlerini zorlaştırıyor. her dile yönelik kütüphaneleri ayrı
> kütüphanelere koymak da tam bir kullanılabilirlik kabusuna neden oluyor. Bu
> programming için başka türlü bir önerim var, aşağıda, inceleyiniz.
>
> - PyQt* niye programming.python altında? programming.python.libs olsun en
> azından. Programming'in altı insanın kabuslarına girecek kadar karışık
> görünüyor :)
python modüllerini python bileşenine almamızda bir sorun yok bence. Dilleri
içine alan bir language bileşeni yaptığımızda karışıklık yeterince
giderilmeyecek mi?
> - Söylenmiş ama, erlang ve nasm'nin embedded içinde olmaması gerekir.
> Mevcut düzene uyulacaksa programming içinde olması gerekir.
Ya programming ya da programming.language.
> - Ana bileşenlerin bazılarının altında library bileşeni olması bana hiç
> anlamlı gelmiyor. Örneğin gmm, bir C++ şablon (template) kütüphanesi, onun
> science altında ne işi var diye düşünüyorum. Bir bilim uygulaması
> tarafından kullanılıyor, tamam, ama bu onu bir bilim kütüphanesi yapmıyor.
> Mesele geliştiricinin ilgili paketlere kolay erişmesi için o ilgili
> paketleri birbirine yakın yere koymaksa, gmm büyük ihtimalle sadece x
> uygulaması tarafından kullanılıyordur, onu o uygulamayla aynı yere koymak
> lazım. Yok birden fazla uygulama tarafından kullanılıyorsa, herhangi bir
> kütüphanenin bir bilim kütüphanesi olduğuna nasıl karar verilir? Diğer
> bileşenlerdeki paketlerin herhangi biri tarafından da kullanılıyorsa ne
> yapılacak?
gmm bilimsel amaçlı bir kütüphane. Yeri doğru bence.
> - hesap makinesi uygulamalarının (örneğin qalculate) science.mathematics
> altına konması anlamlı gelmiyor. Uygulamayı kurmadım, ne kadar derin
> bilimsel hesaplar yapabiliyor bilmiyorum ama multi-purpose desktop
> calculator dediğine göre çok da derin değildir sanırım ;)
Yok aslında basit bir hesap makinesi değil bildiğim kadarıyla.
> - antiword, kchmviewer, bookreader, tidy gibi uygulamaların documentation
> altında olmaması gerekir. Aslında documentation altındaki paketlerin büyük
> çoğunluğunun (-do* diye bitenler hariç) documentation ile ilgisi yok.
+1
> - her yerden kütüphane fışkırıyor :) Bir de utility.archive altında,
> utility.crypt altında, utility.dictionary altında varmış. Bun kütüphaneleri
> bir araya toplamak şart.
Aslında ayrı da olabilirler; ama küçük bileşenler olduğu için dediğin gibi
olabilir.
> - gfxtheme-pardus-* utility.admin değil, tema.
desktop.theme diyeceğim; ama masaüstü ile ilgili değil aslında. Kullanıcıya
burada tema seçem lüksü de vermiyoruz sanırım. O yüzden kullanıcıya
göstermesek iyi olabilir.
> - *zemberek*'ın utility.dictionary.library /
> utility.dictionary.spellchecker altında olması gerekir.
+1. Ancak bu utility altındakilerin ana bileşen olmasınu ciddi ciddi düşünmeye
başladım.
> - Paket yöneticisinde arama yapacak kişiyle SVN depoda bileşenlerin içinde
> bir paketi bulmaya çalışan kullanıcıyı çok da farklı düşünmemek lazım.
> -docs, -doc ve -dox'ların hangisinin nerede olduğu belli değil (kendi adıma
> konuşayım, ister depo olsun ister paket, kde-docs diye bir paket olsaydı,
> ben onu desktop.kde.base altında aramazdım, doğrudan documentation
> bileşenine bakardım. Depoda bir kütüphane arıyorsam ve aradığım
> kütüphanenin de hangi tür işlerde kullanıldığını çok iyi bilmiyorsam (veya
> örneğin çok amaçlı bir kütüphane olsun) bulana kadar depodan ümidimi
> keserdim. (Yeri gelmişken, -i18n* paketleri nasıl oluyor da paket
> yöneticisinde uygulama olarak kabul ediliyor, bunu kimse fark etmedi mi
> yahu?)
Ben script kullanıyorum. Hiç aramıyorum paketleri. svn tarafında arama işi o
kadar önemli değil bence.
> library
> bir derleyici ya da yorumlayıcının kurulu olmasını gerektirmeyen (bir dile
> bağımlı olmayan tüm kütüphaneler) programming
> compilers
> gcc, gfortran vb
> interpreters
> python, perl, php vb
> ides
> eric, idle vb
> template enginleri
> smarty vb
> modules
> python*, perl*, django* tüm modüller buraya (isterseniz burayı dillere
> göre ayırırsınız, ama bence gerekli değil)
Hmm. Bu da fena değil. Olabilir bence.
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20090207/40b254cb/attachment-0002.pgp>
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi