[Gelistirici] pisi tarZ desteği

Fatih Aşıcı fatih at pardus.org.tr
13 Haz 2010 Paz 15:15:27 EEST


Selamlar,

tar.Z arşivleri için uncompress çağırıyoruz. Çünkü bu arşivleri python 
modülleri ile açmak mümkün değil. Archive sınıflarını file-like objelerle 
kullanmak için birkaç değişiklik yapacağım; ancak tar.Z için ayrı process 
çağırdığımızdan gerçek bir dosyaya ihtiyacımız var. Dolayısıyla eklemek 
istediğim özellik üzerinde bu bir engel.

Depoları araştırdım. Hiçbir paket tarZ arşivi kullanmıyor. Yukarıda sözünü 
ettiğim özelliği şu anki haliyle de bir şekilde eklerim; ama ortaya çıkacak 
kod çok kötü olacak. Kullanılmayan bir özellik için buna değmeyeceğini 
düşünüyorum.

tarZ desteğini trunk'ta atacağım. Eğer birisi, kuvvetli bir argüman gösterir 
de atılmamasına karar verirsek geri alabiliriz; ancak şimdi üzerinde 
çalıştığım işi bir an önce bitirmek için sileceğim.

Eklemek istediğim özelliğin ne getireceğinden de bahsedeyim. Pisi'nin depodaki 
hali ile openoffice paketi kurulurken önce zip formatındaki pisi arşivi 
içinden install.tar.lzma dosyasını geçici bir dizine yazıyoruz (Paket boyutu 
kadar disk alanı kullandık ~65M). Sonra lzma komutunu çağırıp aynı dizinde 
eskisini de koruyarak install.tar dosyasını çıkartıyoruz (~250M disk alanı 
daha kullandık). En sonunda da python'un tarfile modülünü kullanarak tar 
arşivi içindeki dosyaları diske çıkarıyoruz.

pisi trunk'ta lzma binding'lerini kullanarak install.tar.lzma'dan direkt 
dosyaları çıkartmayı sağladık. Şimdi ise yukarıda ekleyeceğim özellikle hiç 
geçici dosya kullanmadan doğrudan zip arşivi içindeki install.tar.lzma'yı 
diske açmayı düşünüyorum. Tahmin edebileceğiniz gibi bu değişiklikler kurulum 
zamanındaki disk kullanımını önemli derecede düşürecek.


Gelistirici mesaj listesiyle ilgili daha fazla bilgi