[Gelistirici] PiSi: run_batch
S.Çağlar Onur
caglar at uludag.org.tr
22 Nis 2006 Cmt 04:35:38 EEST
Selamlar;
Buildfarm'ın arada bir verdiği "argument 2 to map() must support iteration"
tarzı hataları debug ederken run_batch ile ilgili bir problem farkettim.
if p.returncode:
# Non-zero means failed.
ctx.ui.error(_('Failed command: %s\n%s') % (cmd, out))
ile çalıştırdığı işlemlerini kendi kontrol ediyor ve dönüş değerine göre hata
mesajı veriyordu fakat bunun yapılması gereken yerin run_batch'in içi değil
run_batch'i çağıran kimse olmalı diye düşünüyorum, böylece hem çağrı yapan
yerlerde dönüş değerini almaya zorlamış (ve doğru bir iş yapmış, yoksa neden
return ediyoruz) hemde aynı bilgiyi ekrana/log'a v.s'ye 2 kere basmamış
oluyoruz.
Ekteki yama PiSi genelindeki tüm run_batch çağrılarının geridönüş değerini
kontrol etmesini aksi halde hata raise etmelerini ve do_patch fonksiyonunun
stdout/stderr başka bir yere yönlendirilmişken (mesela buildfarm tarafından,
ki bu durumda None oluyorlar) ekrana "... BUILD işlemi sırasında hata: Yama
(hede/...../a.patch) başarısız: None" gibi anlamsız bir hata mesajı yazmasını
engeliyor ve "argument 2 to map() must support iteration" sorunun çözüyor.
Yamanın uygulanmış hali ile buildfarm ve pisi build çıktıları şu şekili
alıyor;
caglar at zangetsu buildfarm $ sudo python main.py
Work Queue: ['system/base/bc/pspec.xml']
Compiling source bc (1 of 1)
PiSi API init ediliyor
/home/caglar/svn/pardus/devel/system/base/bc/pspec.xml için PiSi Build
çağırılıyor
....
* Yama uygulanıyor: bc-1.06-info-fix.diff
'system/base/bc/pspec.xml' için BUILD işlemi sırasında hata: ERROR: patch
(/home/caglar/svn/pardus/devel/system/base/bc/files/bc-1.06-info-fix.diff)
failed
Herhangi bir SMTP kullanıcı ve parolası çifti tanımlanmadığı için e-posta
gönderilmiyor.
PiSi API finalize ediliyor
Wait Queue: ['system/base/bc/pspec.xml']
caglar at zangetsu bc $ sudo pisi build pspec.xml
Outputting packages in the working directory.
...
* Yama uygulanıyor: bc-1.06-info-fix.diff
Program sonlandırıldı.
Yama
(/home/caglar/svn/pardus/devel/system/base/bc/files/bc-1.06-info-fix.diff)
başarısız: patch: **** malformed patch at line 9: deasd
Genel yardım için lütfen 'pisi help' komutunu kullanınız.
Bir geri iz (traceback) görmek için lütfen --debug seçeneğini kullanın.
Faik uygunsa commit eder misin/edebilir miyim?
Saygılar
--
S.Çağlar Onur <caglar at uludag.org.tr>
http://cekirdek.uludag.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: run_batch.patch
Type: text/x-diff
Size: 3148 bytes
Desc: kullanılamıyor
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20060422/59a1a765/attachment.patch>
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 191 bytes
Desc: kullanılamıyor
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20060422/59a1a765/attachment-0002.pgp>
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi