[Gelistirici] Pisi ve xz (lzma2)

Fatih Aşıcı fatih at pardus.org.tr
20 Haz 2010 Paz 20:30:59 EEST


On Sunday 20 June 2010 20:06:40 Onur Küçük wrote:
> Fatih Aşıcı <fatih at pardus.org.tr> wrote:
> > Kötü bir hata buldum. Pisi CLI ile üretilmeyen paketlerde paket
> > formatı metadata.xml içine girmiyormuş. Farm gibi pisi API'si
> > kullanan uygulamalarda ctx.get_option("package_format") her zaman
> > None döndürdüğü için paket formatı yazılmıyor. Hatayı son yaptığım
> > değişikliklerle farkında olmadan düzeltmişim; ama 2007 deposundakiler
> > de dahil olmak üzere format bilgisi yazılmayan bir sürü paket var. Bu
> > yüzden yukarıdaki kontrolü eklemek bu aşamada bir işe yaramayacak :(
>
>  Bir betikle düzeltsek ? scripts deki change-distro-tags betiğini
> azıcık değiştirip halledebiliriz. Kurulu sistemde paket tipi sürümü
> önemli değil nasılsa, depoları da biz hallederiz.

Olabilir; fakat önce 2.3 branch'ındaki pisi'yi düzeltmem lazım. Aslında 
ekleyeceğim workaround çok da kirli görünmedi gözüme. O yüzden gerek 
kalmayabilir. Şöyle bir şey ekliyorum:

            if format is None:
                archive_name = ctx.const.install_tar + ctx.const.lzma_suffix
                if self.impl.has_file(archive_name):
                    format = "1.1"
                else:
                    format = "1.0"

Eski Pisi sürümleri, kuracağı pakette format bilgisi varsa ve bu format 1.0 
veya 1.1 sürümlerinden farklı ise hata verecek. Yeni pisi ise format bilgisi 
bulamadığında install.tar.lzma'nın varlığından hangi formatta olduğunu 
anlayabilir. 1.2 ve sonrası formatlara sahip paketlerde zaten böyle bir sorun 
olmayacak (yani sürüm bilgisi bulunacak).



Gelistirici mesaj listesiyle ilgili daha fazla bilgi