[Gelistirici] Paket adları

Fatih Aşıcı fatih at pardus.org.tr
1 Tem 2010 Per 08:47:27 EEST


On Wednesday 30 June 2010 20:23:42 Gökçen Eraslan wrote:
> >  - Bence bu kadar standartlaşmışken, paket isimlerinin hepsinin küçük
> > harfli olması gerek. Paket isminde acaba büyük-küçük harf var mıydı
> > diye uğraşmak bana saçma geliyor. Aynısını korumanın görebildiğim tek
> > yararı, pisi'nin çalışma dizinini otomatik ayarlaması ve actions.py'de
> > özel takla atılması gerekmemesi. Bence ya bundan feragat edilebilir
> > (actions.py'ye bir kere paketin arşivdeki dizin ismini yazıyoruz
> > sonuçta), ya da belki pisi büyük-küçük harf ayrımı yapmadan dizin
> > ismini arayabilir diye düşünüyorum.
>
> Bir yandan kolaylık sağlayacak olduğunu düşünsem de bundan tam emin
> olamadım ben. Zira SuSE, Fedora ve Mandriva gibi dağıtımlar, kendi
> aralarından tutarlılık göstermeyebilseler de (örneğin paket birinde
> ConsoleKit iken, bir diğerinde consolekit), genelde upstreamin koyduğu
> isimlere saygı göstermeye çalışıyorlar. Bunu tamamen es geçmek pek aklıma
> yatmadı.

Bazı upstream geliştiricileri bu konuda çok hassas. Fedora'nın belgesinde de 
geliştiricilerin tercihlerine saygı gösterilmesi gerektiğini belirtmiş. Bunun 
dışında eğer bir seçim yapılması gerekiyorsa tercihinizi küçün harften yana 
kullanın demiş. Eninde sonunda büyük-küçük harf karışık paket isimleri 
olacağı için bence tutarlılık açısından arşiv adına sadık kalsak daha iyi 
olur.

> >  - Apache'nin modül paketlerini apache-module-php, çekirdek modül
> > paketlerini de kernel-module-alsa olarak isimlendirsek, paket isminden
> > ne olduğu anlaşılabilir. Hatta module kısmını da tamamen atıp
> > (diğerlerinde belirtmiyoruz, niye bunlarda belirtiyoruz), apache-php ve
> > kernel-alsa da olabilir paket ismi. mod'la başlarsa Apache, module'le
> > başlarsa çekirdek diye bir ayrım akılda tutmaya çalışmak anlamlı değil
> > bence.
>
> Buna +1.

apache, php ve nss modülleri için çok alışılmış bir format aslında mod_foo. 
Upstream hep bu şekilde kullanmış. Herkes böyle düşünüyorsa değiştirebiliriz 
tabi.

kernel paketleri için bir de flavor kısmı var. 
kernel-pae-module-nvidia-current-common gibi isimler çıkacak ortaya :) 
module- prefix'inin tek başına yetmediğine ben de katılıyorum; ama kısa bir 
şey bulursak daha iyi olur. Bazı dağıtımların kullandığı gibi kmod-foo mu 
kullansak acaba? Abartılı örneğim bu durumda kmod-pae-nvidia-current-common 
olur. DKMS kullanan dağıtımlar da dkms- önekini kullanıyor bu arada.

> Bir de şöyle bir durum var, örneğin soprano paketinden sesame2, 
> virtuoso ve redland backend'leri çıkıyor. Burda sadece:
>
>      - foo-bar
>      - foo-addon-bar
>      - foo-applet-bar
>      - foo-extension-bar
>      - foo-plugin-bar
>
> sınırları içinde bir isim mi koymalıyım (soprano-plugin-sesame2 gibi)
> yoksa, soprano-backend-sesame2 şeklinde pakete özgü çözümler de yer yer
> yapılmalı mı? Yoksa foo-backend-bar eklemesi mi yapmalıyız belgeye?

Belki de listelemek yerine daha generic bir ifade bulmalıyız. backend 
kullanılması daha doğru o pakette. Ekledim belgeye.

> >  - Alttan çizgi yerine hep tire kullanalım (ya da tersi), paketin
> > ismindeki ayraç neydi diye düşünmeyelim.

Bence buna müdahele etmemeliyiz.

> Alttan çizgi genelde tire kullanamadığımız zaman zorunluluktan
> kullandığımız bir şey. Örneğin docbook-xml4_2 ya da polkit-qt_1
> paketlerinde aslında nokta ya da tire kullanamadığımız için alttan çizgi
> kullanıyoruz. Fatih gerekli açıklamayı yapar tabi :)

Bunun nedeni de pisi'nin dosya adını parse etmeye çalışması. Hız kazanmak için 
dosya içindeki metadata'yı okumak yerine dosya adını parse ediyor. Orada da 
sürüm ve release numaralarını ayırt edebilmesi için paket adındaki tireden 
sonra rakam gelmemeli. Dosya adının parse edilmesi bence güzel bir şey değil. 
Pisi'nin dosyayı okumasını sağlayıp bu sınırlamayı da kaldırmayı düşünüyorum.



Gelistirici mesaj listesiyle ilgili daha fazla bilgi