Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-0.8.git;a=commitdiff;h=63a13eb2b8e511eece5ffe1607a94cede99df2ce

commit 63a13eb2b8e511eece5ffe1607a94cede99df2ce
Author: Miklos Vajna <[EMAIL PROTECTED]>
Date:   Sat Apr 12 15:35:05 2008 +0200

comix-3.6.4-2kalgan1-i686
- added comix-3.6.4-command-argument-closure.patch and
comix-3.6.4-tmpfile.patch
- squashed 81879e724cb97e8bd76c0aa3e95042867c1c6945 and
20a5c9665920e0ae455f583b74c97594c8385062 from current
- closes #2923

diff --git a/source/xapps-extra/comix/FrugalBuild 
b/source/xapps-extra/comix/FrugalBuild
index f44c922..e28f737 100644
--- a/source/xapps-extra/comix/FrugalBuild
+++ b/source/xapps-extra/comix/FrugalBuild
@@ -3,7 +3,7 @@

pkgname=comix
pkgver=3.6.4
-pkgrel=1
+pkgrel=2kalgan1
pkgdesc="Comix is a user-friendly, customizable image viewer."
depends=('pygtk' 'imaging' 'python')
rodepends=('unrar' 'shared-mime-info' 'libjpeg')
@@ -12,16 +12,19 @@ groups=('xapps-extra')
archs=('i686')
_F_sourceforge_broken_up2date=1
Finclude sourceforge
-
+source=($source comix-3.6.4-command-argument-closure.patch  
comix-3.6.4-tmpfile.patch)
## gconf schemas could be added but I won't add this depend. The schemas isn't 
even installed by default.

build()
{
Fcd
+       Fpatchall
Fmkdir usr
python install.py install --no-mime --installdir $Fdestdir/usr || Fdie
Fexerel mime/comix.xml /usr/share/mime/packages/comix.xml
Fexerel mime/comicthumb /usr/bin/comicthumb
Fexerel mime/comicthumb.1.gz /usr/share/man/man1/comicthumb.1.gz
}
-sha1sums=('c14a1ba9d931436eb7215f8065f1bbda22f00409')
+sha1sums=('c14a1ba9d931436eb7215f8065f1bbda22f00409' \
+          'fd89c8b23fb96b4d69a165398ff8b36f103b1e70' \
+          'ed850cb5af7dd39207f2db324c25ca142020e5f5')
diff --git 
a/source/xapps-extra/comix/comix-3.6.4-command-argument-closure.patch 
b/source/xapps-extra/comix/comix-3.6.4-command-argument-closure.patch
new file mode 100644
index 0000000..ec8d2a3
--- /dev/null
+++ b/source/xapps-extra/comix/comix-3.6.4-command-argument-closure.patch
@@ -0,0 +1,158 @@
+--- comix-3.6.4/comix.debug    2007-05-27 01:30:16.000000000 +0900
++++ comix-3.6.4/comix  2008-04-02 20:11:53.000000000 +0900
+@@ -44,6 +44,9 @@
+ import pwd
+ import cPickle
+
++import subprocess
++import string
++
+ try:
+     import pygtk
+     pygtk.require('2.0')
+@@ -6277,9 +6280,12 @@
+                         archive = tarfile.open(path, 'r')
+                         files = archive.getnames()
+                     elif type == 'rar':
++                        #files = \
++                            #os.popen(self.rar + ' vb "' + path +
++                                #'"').readlines()
+                         files = \
+-                            os.popen(self.rar + ' vb "' + path +
+-                                '"').readlines()
++                             subprocess.Popen([self.rar, 'vb', path],
++                             
stdout=subprocess.PIPE).communicate()[0].splitlines()
+                         files = [file.rstrip('\n') for file in files]
+                     cover = None
+                     files.sort()
+@@ -6302,9 +6308,20 @@
+                                 break
+                     if cover != None:
+                         if type == 'rar':
+-                            os.popen(self.rar + ' p -inul -- "' + path + '" 
"' +
+-                                cover + '" > "' + thumb_dir +
+-                                '/temp" 2>/dev/null', "r").close()
++                            #os.popen(self.rar + ' p -inul -- "' + path + '" 
"' +
++                                #cover + '" > "' + thumb_dir +
++                                #'/temp" 2>/dev/null', "r").close()
++                            filen = thumb_dir + '/temp'
++                            try:
++                                os.remove(filen)
++                            except:
++                                pass
++                            fp = open(filen, 'w')
++                            fdp = fp.fileno()
++                            p = subprocess.Popen(
++                                [self.rar, 'p', '-inul', '--', path,
++                                 cover ],  stdout = fdp).wait()
++                            fp.close()
+                             image = Image.open(thumb_dir + '/temp')
+                             os.remove(thumb_dir + '/temp')
+                         elif type == 'zip':
+@@ -8733,8 +8750,10 @@
+             # =======================================================
+             elif archive_type == 'rar':
+                 if self.rar:
+-                    os.popen(
+-                        self.rar + ' x "' + src_path + '" "' + dst_path + '"')
++                    #os.popen(
++                        #self.rar + ' x "' + src_path + '" "' + dst_path + 
'"')
++                    subprocess.Popen(
++                        [self.rar, 'x', src_path, 
dst_path],stdout=sys.stdout).wait()
+                 else:
+                     self.statusbar.push(0,
+                         _('Could not find the unrar executable. Please 
install it if you wish to open RAR archives.'))
+@@ -9168,9 +9187,37 @@
+         self.are_you_sure_dialog.hide()
+         if response != -5:
+             return
+-        os.popen(self.jpegtran + ' -copy all -trim ' + operation +
+-            ' -outfile "' + self.file[self.file_number] + '" "' +
+-            self.file[self.file_number] + '"')
++        #os.popen(self.jpegtran + ' -copy all -trim ' + operation +
++            #' -outfile "' + self.file[self.file_number] + '" "' +
++            #self.file[self.file_number] + '"')
++        op = operation.split()
++        op_len = len(op)
++
++        i=1
++        filen = self.file[self.file_number]
++        while (1):
++            tmp_file = filen + '.tmp' + 'z' * i
++            if os.path.exists(tmp_file):
++                i += 1
++            else:
++                break
++
++        # Ugly hack :(
++        if op_len == 2:
++            p = subprocess.Popen(
++              [self.jpegtran, '-copy', 'all', '-trim', op[0], op[1],
++               '-outfile', tmp_file, filen],
++               stdin=sys.stdin, stdout=sys.stdout)
++        else:
++            p = subprocess.Popen(
++              [self.jpegtran, '-copy', 'all', '-trim', op[0],
++               '-outfile', tmp_file, filen],
++               stdin=sys.stdin, stdout=sys.stdout)
++        p.wait()
++        if p.returncode == 0:
++            shutil.copymode(filen, tmp_file)
++            shutil.copy(tmp_file, filen)
++        os.remove(tmp_file)
+         try:
+             uri = 'file://' + urllib.pathname2url(self.file[self.file_number])
+             thumb_path = md5.new()
+--- comix-3.6.4/mime/comicthumb.debug  2007-05-27 01:30:16.000000000 +0900
++++ comix-3.6.4/mime/comicthumb        2008-04-02 21:11:10.000000000 +0900
+@@ -22,6 +22,9 @@
+ import StringIO
+ import re
+ import shutil
++
++import subprocess
++
+ try:
+     import Image
+ except:
+@@ -138,19 +141,35 @@
+         if not rar:
+             print "You must install unrar or rar to thumbnail RAR archives."
+             sys.exit(1)
+-        rarfiles = os.popen('%s vb "%s"' % (rar, compressed_file)).readlines()
++        #rarfiles = os.popen('%s vb "%s"' % (rar, 
compressed_file)).readlines()
++        rarfiles = subprocess.Popen([rar, 'vb', compressed_file],
++                     stdout=subprocess.PIPE).communicate()[0].splitlines()
+         for i in range(len(rarfiles)):
+             rarfiles[i] = rarfiles[i].rstrip("\n")
+         rarfiles.sort()
+         cover = guessCover(rarfiles)
+         if cover:
+-            picture = StringIO.StringIO(os.popen('%s p -inul -- "%s" "%s"'
+-                % (rar, compressed_file, cover), "r").read())
++            #picture = StringIO.StringIO(os.popen('%s p -inul -- "%s" "%s"'
++                #% (rar, compressed_file, cover), "r").read())
++            picture = StringIO.StringIO(subprocess.Popen(
++                [rar, 'p', '-inul', '--', compressed_file, cover],
++                 stdout=subprocess.PIPE).stdout.read())
+         else:
+             subarchive = first_archive(rarfiles)
+             if subarchive:
+-                os.popen('%s p -inul -- "%s" "%s" > 
"/tmp/comicthumb/archive%d"'
+-                    % (rar, compressed_file, subarchive, depth), "r")
++                #os.popen('%s p -inul -- "%s" "%s" > 
"/tmp/comicthumb/archive%d"'
++                    #% (rar, compressed_file, subarchive, depth), "r")
++                filen = "/tmp/comicthumb/archive%d"%(depth)
++                try:
++                   os.remove(filen)
++                except:
++                   pass
++                fp = open(filen, 'w')
++                fdp = fp.fileno()
++                subprocess.Popen(
++                    [rar, 'p', '-inul', '--', compressed_file, subarchive],
++                    stdout = fdp).wait()
++                fp.close()
+                 return get_image("/tmp/comicthumb/archive%d" % (depth),
+                     depth + 1)
+     return picture
diff --git a/source/xapps-extra/comix/comix-3.6.4-tmpfile.patch 
b/source/xapps-extra/comix/comix-3.6.4-tmpfile.patch
new file mode 100644
index 0000000..e25cbf3
--- /dev/null
+++ b/source/xapps-extra/comix/comix-3.6.4-tmpfile.patch
@@ -0,0 +1,163 @@
+--- comix-3.6.4/comix.tmpfile  2008-04-03 01:23:35.000000000 +0900
++++ comix-3.6.4/comix  2008-04-03 01:23:35.000000000 +0900
+@@ -47,6 +47,8 @@
+ import subprocess
+ import string
+
++import tempfile
++
+ try:
+     import pygtk
+     pygtk.require('2.0')
+@@ -257,6 +259,8 @@
+     window_height = 0
+     colour_adjust_signal_kill = False
+     colour_adjust_dialog_displayed = False
++
++    _tmp_dir = None
+
+     def close_application(self, widget, event=None):
+
+@@ -270,8 +274,8 @@
+         self.prefs['page of last file'] = self.file_number
+         if os.path.exists(self.base_dir):
+             shutil.rmtree(self.base_dir)
+-            if len(os.listdir('/tmp/comix')) == 0:
+-                shutil.rmtree('/tmp/comix')
++            if len(os.listdir(self._tmp_dir)) == 0:
++                shutil.rmtree(self._tmp_dir)
+         self.exit = True
+
+         # =======================================================
+@@ -369,9 +373,9 @@
+         # =======================================================
+         if os.path.exists(self.base_dir):
+             shutil.rmtree(self.base_dir)
+-        if os.path.isdir('/tmp/comix'):
+-            if len(os.listdir('/tmp/comix')) == 0:
+-                shutil.rmtree('/tmp/comix')
++        if os.path.isdir(self._tmp_dir):
++            if len(os.listdir(self._tmp_dir)) == 0:
++                shutil.rmtree(self._tmp_dir)
+
+
+         # =======================================================
+@@ -8027,7 +8031,7 @@
+             return False
+
+         # We don't want to open files from our selves.
+-        if selection.data.startswith('file:///tmp/comix/'):
++        if selection.data.startswith('file://' + self._tmp_dir):
+             return
+
+         uri = selection.data.strip()
+@@ -10543,15 +10547,20 @@
+         # The dir is /tmp/comix/<num> where <num> is 1 or higher
+         # depending on the number of Comix sessions opened.
+         # =======================================================
+-        if not os.path.exists('/tmp/comix/'):
+-            os.makedirs('/tmp/comix/')
+-            os.chmod('/tmp/comix/', 0700)
++        #if not os.path.exists('/tmp/comix/'):
++        #    os.makedirs('/tmp/comix/')
++        #    os.chmod('/tmp/comix/', 0700)
++
++        self._tmp_dir = tempfile.mkdtemp(prefix='comix.', suffix=os.sep,
++             dir = '/tmp')
++        self._tmp_dir += "/"
++
+         dir_number = 1
+         while 1:
+-            if not os.path.exists('/tmp/comix/' + str(dir_number)):
+-                os.mkdir('/tmp/comix/' + str(dir_number))
+-                os.chmod('/tmp/comix/' + str(dir_number), 0700)
+-                self.base_dir = '/tmp/comix/' + str(dir_number) + '/'
++            if not os.path.exists(self._tmp_dir + str(dir_number)):
++                os.mkdir(self._tmp_dir + str(dir_number))
++                os.chmod(self._tmp_dir + str(dir_number), 0700)
++                self.base_dir = self._tmp_dir + str(dir_number) + '/'
+                 break
+             dir_number += 1
+
+--- comix-3.6.4/mime/comicthumb.tmpfile        2008-04-03 01:23:35.000000000 
+0900
++++ comix-3.6.4/mime/comicthumb        2008-04-03 01:29:52.000000000 +0900
+@@ -24,6 +24,7 @@
+ import shutil
+
+ import subprocess
++import tempfile
+
+ try:
+     import Image
+@@ -51,9 +52,13 @@
+     sys.exit(1)
+
+ # temp directory needed for multiple archives
+-if not os.path.exists('/tmp/comicthumb/'):
+-    os.makedirs('/tmp/comicthumb/')
+-    os.chmod('/tmp/comicthumb/', 0700)
++#if not os.path.exists('/tmp/comicthumb/'):
++#    os.makedirs('/tmp/comicthumb/')
++#    os.chmod('/tmp/comicthumb/', 0700)
++_tmp_dir = tempfile.mkdtemp(prefix='comixthumb', suffix=os.sep,
++        dir = '/tmp')
++_tmp_dir += "/"
++
+
+ # return the first image in the list
+ def first_image (filelist):
+@@ -104,10 +109,10 @@
+         else:
+             subarchive = first_archive(zipfiles)
+             if subarchive:
+-                output = open("/tmp/comicthumb/archive%d" % (depth), "wb")
++                output = open( _tmp_dir + "archive%d" % (depth), "wb")
+                 output.write(zip.read(subarchive))
+                 output.close()
+-                return get_image("/tmp/comicthumb/archive%d" % (depth),
++                return get_image( _tmp_dir + "archive%d" % (depth),
+                     depth + 1)
+     elif tarfile.is_tarfile(compressed_file):
+         TYPE = TYPE or 'cbt'
+@@ -122,10 +127,10 @@
+         else:
+             subarchive = first_archive(tarfiles)
+             if subarchive:
+-                output = open("/tmp/comicthumb/archive%d" % (depth), "wb")
++                output = open( _tmp_dir + "archive%d" % (depth), "wb")
+                 output.write(tar.extractfile(subarchive).read())
+                 output.close()
+-                return get_image("/tmp/comicthumb/archive%d" % (depth),
++                return get_image( _tmp_dir + "archive%d" % (depth),
+                     depth + 1)
+     elif open(compressed_file, 'rb').read(4) == 'Rar!':
+         TYPE = TYPE or 'cbr'
+@@ -159,7 +164,7 @@
+             if subarchive:
+                 #os.popen('%s p -inul -- "%s" "%s" > 
"/tmp/comicthumb/archive%d"'
+                     #% (rar, compressed_file, subarchive, depth), "r")
+-                filen = "/tmp/comicthumb/archive%d"%(depth)
++                filen = _tmp_dir + "archive%d"%(depth)
+                 try:
+                    os.remove(filen)
+                 except:
+@@ -170,7 +175,7 @@
+                     [rar, 'p', '-inul', '--', compressed_file, subarchive],
+                     stdout = fdp).wait()
+                 fp.close()
+-                return get_image("/tmp/comicthumb/archive%d" % (depth),
++                return get_image( _tmp_dir + "archive%d" % (depth),
+                     depth + 1)
+     return picture
+
+@@ -226,8 +231,8 @@
+     exit_flag = 1
+
+ # remove tempory stuff
+-if os.path.isdir('/tmp/comicthumb/'):
+-    shutil.rmtree('/tmp/comicthumb/')
++if os.path.isdir(_tmp_dir):
++    shutil.rmtree(_tmp_dir)
+
+ # and exit
+ sys.exit(exit_flag)
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to