[Gelistirici] Checklib betiği

Fatih Arslan farslan at pardus.org.tr
7 Eki 2010 Per 11:53:05 EEST


Merhaba,

uludag/trunk/scripts/ altında bulunan checklib betiğine göz atmıştım. 
Ozan'ın yazdığı bu betiği baştan aşağı değiştirdim, yeni fonksiyonlar
yazdım ve biraz daha düzenli ve anlaşılır hale geldi. Genel olarak
Ozan'ın betiğini "düzenlenmiş" hali diyebiliriz. Yeni ek özellikler
kolayca ekleyebilirsiniz bu sayede. Betiği yine uludag/trunk/scripts
altında "checklib2" adında bulabilirsiniz.

Eklediğim ek özelliklerin bazıları şu şekilde:

-u, --unused

Bu seçenek ile sadece doğrudan kullanılmayan kitaplıklar
gösterilecektir (unused direct dependencies).

-f, --undefined

Bu seçenek ile sadece tanımsız semboller gösterilecktir (undefined
symbols)

-m, --missing

Bu seçenek ile, paket'deki ELF dosyalarından yola çıkarak size lazım
olan bağımlıkları gösterecektir. Bu bağımlılıkların hangi pakete ait
olduğunu bulup, pspec.xml'de yazılan bağımlılıklar ile karşılaştırıp
size bir tablo halinde gösterecektir. 

-s, --systembase

Gösterilen bağımlıklarda system.base bileşenine ait paketler otomatik
olarak eleniyor. Bunları gösterilmesini istiyorsanız bu seçeneği
kullanarak gösterebilirsiniz. Bileşenler (*) işareti ve kırmızı renkle
gösterilecektir.  

-n, --no-color

Renk seçeneğini tamamen kapatır. Konsol'da pipe üzerinden çıktı alırken
ASCI renk karakter tanımlamaları böylelikle dahil etmemiş oluyoruz.
Aldığımız çıktı bu sayede temiz gözükecektir.

Gelelim checklib2'deki kullanım ve -d,-r seçeneklerine. Checklib2 ile
kurulan herhangi bir paketi, ya da pisi paketine bakabilirsiniz. Bunun
dışında var olan bir klasördeki tüm pisi paketlerine de bakabilirsiniz.
Burada güzel olan ise, tüm bu seçenekleri aynı anda kullanabilirsiniz.
Örnek vermek gerekirse:

$ checklib2 gcc chromium-browser -d testdir/ Publican-2.1-1.pisi
Burada kurulu olan gcc ve chromium-browser paketlerini, testdir/
dizinindeki tüm pisi paketlerini ve Publican pisi paketini test etmiş
oluyoruz. Her biri sıralı halde ekrana yansıyacaktır.

$ checklib2 Publican-2.1-1.pisi -s -m -n
Publican pisi paketinde, system.base'e de bağlı olan tüm eksik
bağımlıkları renksiz bir şekilde gösterecektir. 

$ checklib2 
Bu şekilde hiç bir seçenek gösterilmeksizin çalıştırıldığında,
bulunduğunuz klasörlerdeki pisi paketlerini inceleyecektir. 

Herhangi bir seçenek kullanılmadığında, -u, -f, -m seçeneklerin her
biri aktif şekilde geliyor. Son olarak -r seçeneğini de -d seçeneği ile
beraber kullanabilirsiniz. Klasörlerin içinde recursive olarak diğer
tüm klasörlerin içindeki pisi paketlerini kontrol edecektir. 

checklib2 --help yazarak yukarıda saydığım bilgilere tekrar
ulaşabilirsiniz. Checklib betiğini yoğun olarak kullananlar, bu betiği
de beraberinde deneyip görüşlerini bildirirlerse sevinirim :) Bunun
dışında istediğiniz başka özellik varsa, ya da şu özellike şekilde
olsa, şurası tamamen yanlış keşke böyle olmasaydı dediğiniz her türlü
görüşü de seve seve dinlerim :)

Kolay gelsin

-- 
Fatih Arslan 



Gelistirici mesaj listesiyle ilgili daha fazla bilgi