[Gelistirici] Depo sorunları - distribution.xml / component.xml

Ekin Meroğlu ekin at pardus.org.tr
2 Nis 2009 Per 01:01:53 EEST


Merhaba;

Thursday 02 April 2009 tarihinde, Ozan Çağlayan şunları yazmıştı: 
> Ekin Meroğlu wrote:
> > Merhaba;
> >
> >
> > Tabii pisi index yaparken bu  ana dosyayı göstermek gerekecek, bir
> > avantaj ise şu anda ikili depo index'i oluştururken component bilgisi
> > için tüm kaynak depoyu geziyoruz, buna gerek olmayacak.
>
> Şu anki pisi index komutunu inceledim:
>
> pisi index /root/2008/ . --skip-signing --skip-sources
>
> Verilen iki depoyu da baştan aşağı rekürsif olarak geziyor kod ve her dosya
> için component.xml mi, distribution.xml mi, pspec.xml mi, delta mı, normal
> pisi mi diye bakıyor. Yani verilen dizinler için ikili/kaynak ayrımı yok.

Evet, hatta belki bu tartışmaya eklenmesi gereken bir ayrıntı, verilen ilk 
depo kaynak değilse (içinde distribution.xml yok ise) pisi paketleri indekse 
eklenirken obsolete'ler gözardı ediliyor - ikili paketlerini gezerken henüz 
obosolete listesini görmedi çünkü PiSi. 

> Bu iki rekürsif gezinti totalde 120 saniye sürüyor 1.2GB'lık bir ikili
> depoda. Depo kökündeki bir components.xml --skip-sources'lı bir index
> oluşturma da yarı yarıya bu zamanı azaltacak.

Şimdi farmda ölçtüm, kararlı deponun index'inin oluşturulması 4:11 sürdü, 
bunun 1.01'i kaynak depoda component.xml gezmesi, 3:10'u ikili paketlerin 
indekse eklenmesi - dörtte bir kısalıyor gibi görünüyor.
 
> Ayrıca, indeks oluşturduğumuz ikili depoyu(dizini) rekürsif gezmeye gerek
> var mı? Dizin yapısında bir ikili depo tutuyor muyuz? Eğer yoksa doğrudan
> os.listdir() ile *.pisi listesi anında alınabilir..

Bu çok çok farkedecek mi ? Zaten alt dizin yok, ikili depo için 
os.walk(repo_uri) tüm paketler, deltalar ve 4 adet index dosyasını getiriyor. 
Bu arada eğer dosya pisi veya delta.pisi ise aşağıdaki if'lere girmemesi daha 
doğru değil mi ? Sanki hepsi elif olsa daha iyi o bloğun...
  
Şimdi tekrar baktım da orada özellikle büyük paketlerde zaman alan işlem 
metadata okumak veya index.xml yazmak değil, dosyanın sha1sum'ini hesaplamak 
gibi görünüyor, ondan da kaçışımız yok index'i her seferinde baştan 
oluşturduğumuz sürece.
--
İyi Çalışmalar;
Ekin Meroglu <ekin_at_pardus.org.tr>

... did i listen to pop music because i was miserable, or was i miserable
because i listened to pop music?... - rob [nick hornby / hi fi]



Gelistirici mesaj listesiyle ilgili daha fazla bilgi