[Gelistirici] unpisi & comar/ dizini

Ozan Çağlayan ozan at pardus.org.tr
17 Haz 2009 Çar 14:35:16 EEST


Selam,

İçinde comar/package.py olan *.pisi dosyalarını unpisi ile açamıyoruz:

mecbuk tmp # unpisi tetex-3.0-19-3.pisi    
Traceback (most recent call last):         
  File "/usr/bin/unpisi", line 60, in <module>
    sys.exit(main())                         
  File "/usr/bin/unpisi", line 48, in main   
    arc.unpack_dir_flat('comar','comar')     
  File "/usr/lib/pardus/pisi/archive.py", line 436, in unpack_dir_flat
    self.unpack_file_cond(lambda f:util.subpath(path, f), target_dir, path)
  File "/usr/lib/pardus/pisi/archive.py", line 427, in unpack_file_cond   
    os.chmod(ofile, perm)                                                 
OSError: [Errno 2] No such file or directory: 'comar/package.py'

Hem unpisi'de sorun var, hem de archive.py'de. Unpisi comar/package.py'yi

comar/comar/package.py

diye açıyor, böyle yapınca yukarıdaki OSError'da görüldüğü gibi
comar/package.py bulunamıyor.

unpisi'ye aşağıdaki yamayı yapınca:

- arc.unpack_dir_flat('comar', 'comar')
+ arc.unpack_dir_flat('comar', '.')

Bu sefer düzgün yere açmaya başlıyor ancak yine exception alıyoruz:

mecbuk tetex # unpisi ../tetex-3.0-19-3.pisi
Traceback (most recent call last):
  File "/usr/bin/unpisi", line 60, in <module>
    sys.exit(main())
  File "/usr/bin/unpisi", line 48, in main
    arc.unpack_dir_flat('comar','.')
  File "/usr/lib/pardus/pisi/archive.py", line 436, in unpack_dir_flat
    self.unpack_file_cond(lambda f:util.subpath(path, f), target_dir, path)
  File "/usr/lib/pardus/pisi/archive.py", line 427, in unpack_file_cond
    os.chmod(ofile, perm)
OSError: [Errno 2] No such file or directory: './package.py'

Çünkü bu sefer de chmod o dizinde aramaya başlıyor package.py'yi, comar/
eklemeden..

Sonuçta hem unpisiye hem archive.py'ye yama yaparak sorunu çözdüm ancak
archive.py kritik bir dosya olduğu için dokunmayıp Faik'e bırakayım dedim:

--- pisi/archive.py     2009-06-06 10:16:03.030925068 +0300
+++ /usr/lib/pardus/pisi/archive.py     2009-06-17 11:31:47.764892726 +0300
@@ -424,7 +424,7 @@
                         zip_obj.decompressToFile(info.filename, ofile)
                     else:
                         zip_obj.extract(info.filename, target_dir)
-                    os.chmod(ofile, perm)
+                    os.chmod(os.path.join(target_dir, info.filename), perm)

     def unpack_files(self, paths, target_dir):
         self.unpack_file_cond(lambda f:f in paths, target_dir)




Gelistirici mesaj listesiyle ilgili daha fazla bilgi