[Gelistirici] autoxml ve pisi upgrade sorunu

Faik Uygur faik at pardus.org.tr
14 Mayıs 2007 Pzt 12:13:45 EEST


Selam,

pisi ve package-manager upgrade testleri yapıyorum. pisi sürüm 66 ve sürüm 67 
paketlerini oluşturdum. Sürüm 66, 1.1.3 versiyonu olacak, sürüm 67 ise 
a_target ın çıkarıldığı upgrade test paketi.

Sürüm 66 yı kuruyorum, autoxml içinde iki print debug ını açıyorum...

Sürüm 67 install'ı sırasında olanlar aşağıda:

Anlayamadıklarım:

* pisi ilk çalıştığında, import pisi.specfile ve benzeri metaclass içeren 
modüller ile metaclass ları generate ediliyor. pisi reload edildiğinde bu 
modüller yeniden import edilmesine rağmen metaclasslar yeniden generate
edilmiyor. Neden olabilir?

* autoxml __init__ çalışıyor (sonlandığı yer: gen_attr_member) bu akışta, ama
"generation class X" debug print'i basılmıyor.

* Sorun yine bir şekilde inspect modül kodu ile alakalı görünüyor. Sırayı 
belirleyen inspect kodunu kaldırdığımda sorun kalmıyor. Nasıl bir ilişkisi 
olduğunu anlayamadım.

Soru:

autopiksemel'e trunk da geçebiliriz. Ama uzun bir süre branch'a taşınmayabilir 
bu kod. Kodlanması ve testi uzun sürecektir. Bir de çok ciddi bir değişiklik.

Sonuçta upgrade'i engellediği için Gürer ile konuştuk ve inspect kodunu 
kaldırabiliriz dedik. Ama bu durumda xml dosyaları yazılırken sıralama işi 
yapılmıyor olacak. 

Ne dersiniz? Sıralı yazma özelliği şu an nerede kullanılıyor ve şart mıdır? 
Autopiksemel ile ilerde bu özellik yeniden kazandırılacak.

- Faik

----------------------

faik at iago tests $ sudo pisi it -d pisi-1.1.3-67.pisi
generating class Dependency
attr: version
attr: versionFrom
attr: versionTo
attr: release
attr: releaseFrom
attr: releaseTo
generating class FileInfo
generating class Files
generating class Conflict
attr: version
attr: versionFrom
attr: versionTo
attr: release
attr: releaseFrom
attr: releaseTo
generating class Obsolete
generating class Distribution
generating class Component
generating class Packager
generating class AdditionalFile
attr: target
attr: permission
attr: owner
attr: group
generating class Patch
attr: compressionType
attr: level
attr: target
generating class Update
attr: release
attr: type
generating class Path
attr: fileType
attr: permanent
generating class ComarProvide
attr: script
generating class Archive
attr: type
attr: sha1sum
generating class Source
generating class Package
generating class SpecFile
generating class Delta
attr: buildFrom
generating class Source
generating class Package
generating class MetaData
generating class Index
DEBUG: PiSi API initialized
DEBUG: A = ['pisi-1.1.3-67.pisi']
digraph G {
pisi[ label = "pisi(1.1.3,67)" ];


}
Kurulum sırası: pisi
pisi paketi, versiyon 1.1.3, sürüm 67, inşa None kuruluyor
Yeni dağıtım sürümüne yükseltiliyor
pisi paketi kaldırılmak üzere yapılandırılıyor
DEBUG: Paketin kaldırma öncesi betiği çağrılıyor
DEBUG: Kaldırma öncesi betikleri çağrılıyor
DEBUG: comar betikleri siliniyor
pisi paketinin dosyaları arşivden çıkartılıyor
DEBUG: "lzma d /var/pisi/install.tar.lzma /var/pisi/install.tar" için dönüş 
değeri 0
pisi paketi yapılandırılıyor
DEBUG: comar betiği System.Package kayıt ediliyor
DEBUG: comar betiği System.Manager kayıt ediliyor
DEBUG: Yerleştirme sonrası betikleri çağrılıyor
DEBUG: Paketin yerleştirme sonrası betiği çağrılıyor
pisi paketi yapılandırıldı
pisi paketi yükseltildi
DEBUG: PiSi API finalized
No handlers could be found for logger "pisi"
Sistem Hatası: Program Sonlandırıldı.
exceptions.AttributeError: type object 'Patch' has no attribute 'a_target'
Genel yardım için lütfen 'pisi help' komutunu kullanınız.
Geri-iz:
  File "/usr/bin/pisi", line 89, in ?
    cli.run_command()
  File "/usr/lib/pardus/pisi/cli/pisicli.py", line 111, in run_command
    self.command.run()
  File "/usr/lib/pardus/pisi/cli/commands.py", line 672, in run
    pisi.api.install(packages, ctx.get_option('reinstall'))
  File "/usr/lib/pardus/pisi/api.py", line 561, in install
    return pisi.operations.install(*args, **kw)
  File "/usr/lib/pardus/pisi/operations.py", line 82, in install
    return install_pkg_files(packages)
  File "/usr/lib/pardus/pisi/operations.py", line 209, in install_pkg_files
    upgrade_pisi()
  File "/usr/lib/pardus/pisi/operations.py", line 68, in upgrade_pisi
    reload(pisi)
  File "/usr/lib/pardus/pisi/__init__.py", line 37, in ?
    import pisi.api
  File "/usr/lib/pardus/pisi/api.py", line 34, in ?
    import pisi.index
  File "/usr/lib/pardus/pisi/index.py", line 24, in ?
    import pisi.specfile as specfile
  File "/usr/lib/pardus/pisi/specfile.py", line 65, in ?
    class Patch:
  File "/usr/lib/pardus/pisi/pxml/autoxml.py", line 302, in __init__
    x = autoxml.gen_attr_member(cls, name)
  File "/usr/lib/pardus/pisi/pxml/autoxml.py", line 486, in gen_attr_member
    spec = getattr(cls, 'a_' + attr)



Gelistirici mesaj listesiyle ilgili daha fazla bilgi