Elimde pdz yok, şimdi oluşturma şansımda yok. Ama sorunu anladım gibi.
pisi.api.install kurulum yapmak için depodan bir paket ismine ihtiyaç
duyuyor. direk dosyadan kurulum için nasıl bir fonksiyon var ona
bakacağım şimdi.
--
Aşkın Yollu
http://blog.yollu.com
http://askin.ws
Yanlış anlamışım, pisi.api.install direk pisi paketini kurabiliyor.
pisi api ile kurabildim. Pdz olmadığından test edip bakamıyorum.
Exception falan fırlatıyor mu?
Hatayı buraya yazar mısın?
Traceback (most recent call last):
File "odun-installer.py", line 129, in run
pisi.api.rebuild_db()
File "/usr/lib/pardus/pisi/api.py", line 69, in wrapper
ret = func(*__args,**__kw)
File "/usr/lib/pardus/pisi/api.py", line 875, in rebuild_db
pisi._cleanup()
File "/usr/lib/pardus/pisi/__init__.py", line 57, in _cleanup
ctx.disable_keyboard_interrupts()
File "/usr/lib/pardus/pisi/context.py", line 55, in
disable_keyboard_interrupts
sig and sig.disable_signal(signal.SIGINT)
File "/usr/lib/pardus/pisi/signalhandler.py", line 37, in disable_signal
signal.signal(sig, self.signal_handler)
ValueError: signal only works in main thread
Bu da install:
Traceback (most recent call last):
File "odun-installer.py", line 139, in run
pisi.api.install([os.path.join(pisi_dir, package)], True, True)
File "/usr/lib/pardus/pisi/api.py", line 69, in wrapper
ret = func(*__args,**__kw)
File "/usr/lib/pardus/pisi/api.py", line 476, in install
return pisi.operations.install.install_pkg_files(packages, reinstall)
File "/usr/lib/pardus/pisi/operations/install.py", line 252, in
install_pkg_files
atomicoperations.install_single_file(dfn[x], reinstall)
File "/usr/lib/pardus/pisi/atomicoperations.py", line 561, in
install_single_file
Install(pkg_location).install(not upgrade)
File "/usr/lib/pardus/pisi/atomicoperations.py", line 156, in install
ctx.disable_keyboard_interrupts()
File "/usr/lib/pardus/pisi/context.py", line 55, in
disable_keyboard_interrupts
sig and sig.disable_signal(signal.SIGINT)
File "/usr/lib/pardus/pisi/signalhandler.py", line 37, in disable_signal
signal.signal(sig, self.signal_handler)
ValueError: signal only works in main thread
Varsa ufaktan bi pdz yollayabilir misin bana?
Ha bu arada ramazan vesilesiyle tekrar konuya değinelim. Allah bu
QT'nin belasını versin.
GTK ile 1 kere thread kullandım. Onda da bi cinslik vardı ama bu tarz
şeyler yaşamadım hiç. Bence gide gtk için zaman kaybetme. QTyi
öğrenebildiğin kadar iyi öğren.
QT ile belli bir geçmişin var artık. Aranızda bir şekilde
anlaşıyorsunuz. Ayrıca QT piyasada bol miktarda kullanılıyor.
Ha ben gtk severim :D gönül isterki herkes gtk kullansın :D
Eğer ikisinide bilmiyor olsaydın gtk öğren derdim.
Kurulum işini api'yle yapmak yerine, DBus ile COMAR'a yaptırsak nasıl olur :D
Hem programı root yetkileriyle açmaya da gerek kalmaz.
Birazdan bi bakacağım. Döküman pek yok. Ama package-manager böyle
çalışıyor diye biliyorum. Kodlarına bakıp birşeyler yapabiliriz.
2 saat baktım, yazman gereken 3 satır kodu buldum :D
Artık öyle bir hatamız yok. Üstelik root yetkilerine ihtiyaç
duymuyoruz. Kurulum sırasında bizden yetki isteniyor.
Eğer kodu daha önce denediyseniz muhtemelen, /tmp/odun-pisi adında bir
dizin olacaktır. Denemeden önce bu dizini mutlaka silin. Öndeden root
olarak çalıştırdığımızdan dolayı bu dizinin sahibi root, normal
kullanıcı haklarıyla bu dizini silip yeniden oluşturamıyor kod ve
patlıyor.
Bi deneyin bakem, eğer sıkıntı yoksa mete güzelce kodu bi temizler
arayüze ayar verir. Bizde yeni sürüme doğru iyice ilerleriz. Kararlı
sürümün ayak sesleri duyuluyor gibi :)
Ha bu arada depoların yeniden inşa edilmesi için dbus kullanan bi
Cık, yapamayız.
Onun için bi yetki isteriz.
Benim yazdığım 1 2 fonksiyon vardır, onlarla bu taşıma işlemlerini
yaptırabiliriz.
call_command("cp bilmem ne" root=True)
Bu şekilde root olarak komut çalıştırabiliriz. Bu bize grafik ekrandan
parola soracaktır.