[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#785721: jessie-pu: package mate-terminal/1.8.1+dfsg1-4+deb8u1



Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

+  [ Martin Wimpress ]
+  * debian/patches:
+   + Add 0001_mate-terminal-wrapper.patch. Adds support for double quoted
+     strings. Adapted from gnome-terminal.wrapper. (Closes: #783000).

-> This update for mate-terminal in jessie replaces mate-terminal.wrapper
(written in Python) with one adapted from gnome-terminal.wrapper (written
in Perl) so that is now supports double quoted commands. This fixes the
following downstream (Ubuntu) issue:

    https://bugs.launchpad.net/ubuntu-mate/+bug/1445198

It may also fix the a similar issue in Debian, though untested.

About the language change (Python -> Perl). Martin and I (both of use do
a lot of Python development) both stared at the script for half a day and
could not find a simple way to support double quotes. So at the end of
the day, we chose to switch over to the Perl script (which upstream did,
as well).

light+love,
Mike


-- System Information:
Debian Release: 8.0
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru mate-terminal-1.8.1+dfsg1/debian/changelog mate-terminal-1.8.1+dfsg1/debian/changelog
--- mate-terminal-1.8.1+dfsg1/debian/changelog	2015-01-06 10:19:42.000000000 +0100
+++ mate-terminal-1.8.1+dfsg1/debian/changelog	2015-05-19 17:08:04.000000000 +0200
@@ -1,3 +1,12 @@
+mate-terminal (1.8.1+dfsg1-4+deb8u1) jessie-proposed-updates; urgency=medium
+
+  [ Martin Wimpress ]
+  * debian/patches:
+   + Add 0001_mate-terminal-wrapper.patch. Adds support for double quoted
+     strings. Adapted from gnome-terminal.wrapper. (Closes: #783000).
+
+ -- Mike Gabriel <sunweaver@debian.org>  Tue, 19 May 2015 01:42:46 +0100
+
 mate-terminal (1.8.1+dfsg1-4) unstable; urgency=medium
 
   * debian/mate-terminal.{postinst,prerm):
diff -Nru mate-terminal-1.8.1+dfsg1/debian/patches/0001_mate-terminal-wrapper.patch mate-terminal-1.8.1+dfsg1/debian/patches/0001_mate-terminal-wrapper.patch
--- mate-terminal-1.8.1+dfsg1/debian/patches/0001_mate-terminal-wrapper.patch	1970-01-01 01:00:00.000000000 +0100
+++ mate-terminal-1.8.1+dfsg1/debian/patches/0001_mate-terminal-wrapper.patch	2015-05-19 17:06:40.000000000 +0200
@@ -0,0 +1,132 @@
+Description: Adds support for double quoted strings.
+ Add 0001_mate-terminal-wrapper.patch, adapted from gnome-termnal.wrapper,
+ that adds support for double quoted strings. (Closes LP: #1445198).
+Author: Martin Wimpress <code@flexion.org>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1445198
+
+--- mate-terminal-1.8.1+dfsg1.orig/mate-terminal.wrapper
++++ mate-terminal-1.8.1+dfsg1/mate-terminal.wrapper
+@@ -1,44 +1,81 @@
+-#!/usr/bin/env python
++#!/usr/bin/perl -w
+ 
+-import sys
+-import os
+-import subprocess
++my $login=0;
+ 
+-newargs = ['mate-terminal']
+-oldargs = sys.argv[1:]
+-
+-while True:
+-    try:
+-        arg = oldargs.pop(0)
+-
+-        if arg == '-display':
+-            os.environ['DISPLAY'] = oldargs.pop(0)
+-        elif arg == '-name':
+-            newargs.append('--window-with-profile=' + oldargs.pop(0))
+-        elif arg == '-n':
+-            sys.stderr.write('Set an icon in your profile')
+-        elif arg == '-T' or arg == '-title':
+-            newargs.append('-t')
+-            newargs.append(oldargs.pop(0))
+-        elif arg == '-ls' or arg == '+ls':
+-            sys.stderr.write('Login shell not supported.  Set in your profile.')
+-        elif arg == '-geometry':
+-            newargs.append('--geometry=' + oldargs.pop(0))
+-        elif arg == '-fn':
+-            newargs.append('--font=' + oldargs.pop(0))
+-        elif arg == '-fg':
+-            newargs.append('--foreground=' + oldargs.pop(0))
+-        elif arg == '-bg':
+-            newargs.append('--background=' + oldargs.pop(0))
+-        elif arg == '-tn':
+-            newargs.append('--termname=' + oldargs.pop(0))
+-        elif arg == '-h' or arg == '--help':
+-            newargs.append('--help')
+-        elif arg == '-e':
+-            newargs.append('-x')
+-            newargs += oldargs
+-            break
+-    except IndexError:
+-        break
+-
+-subprocess.call(newargs)
++while ($opt = shift(@ARGV))
++{
++    if ($opt eq '-display')
++    {
++        $ENV{'DISPLAY'} = shift(@ARGV);
++    }
++    elsif ($opt eq '-name')
++    {
++        $arg = shift(@ARGV);
++        push(@args, "--window-with-profile=$arg");
++    }
++    elsif ($opt eq '-n')
++    {
++        # Accept but ignore
++        print STDERR "$0: to set an icon, please use -name <profile> and set a profile icon\n"
++    }
++    elsif ($opt eq '-T' || $opt eq '-title')
++    {
++        push(@args, '-t', shift(@ARGV));
++    }
++    elsif ($opt eq '-ls')
++    {
++        $login = 1;
++    }
++    elsif ($opt eq '+ls')
++    {
++        $login = 0;
++    }
++    elsif ($opt eq '-geometry')
++    {
++        $arg = shift(@ARGV);
++        push(@args, "--geometry=$arg");
++    }
++    elsif ($opt eq '-fn')
++    {
++        $arg = shift(@ARGV);
++        push(@args, "--font=$arg");
++    }
++    elsif ($opt eq '-fg')
++    {
++        $arg = shift(@ARGV);
++        push(@args, "--foreground=$arg");
++    }
++    elsif ($opt eq '-bg')
++    {
++        $arg = shift(@ARGV);
++        push(@args, "--background=$arg");
++    }
++    elsif ($opt eq '-tn')
++    {
++       $arg = shift(@ARGV);
++       push(@args, "--termname=$arg");
++    }
++    elsif ($opt eq '-e')
++    {
++        $arg = shift(@ARGV);
++        if (@ARGV)
++        {
++            push(@args, '-x', $arg, @ARGV);
++            last;
++        }
++        else
++        {
++            push(@args, '-e', $arg);
++        }
++        last;
++    }
++    elsif ($opt eq '-h' || $opt eq '--help')
++    {
++        push(@args, '--help');
++    }
++}
++if ($login == 1)
++{
++    @args = ('--login', @args);
++}
++exec('mate-terminal',@args);
diff -Nru mate-terminal-1.8.1+dfsg1/debian/patches/series mate-terminal-1.8.1+dfsg1/debian/patches/series
--- mate-terminal-1.8.1+dfsg1/debian/patches/series	2014-11-30 20:21:29.000000000 +0100
+++ mate-terminal-1.8.1+dfsg1/debian/patches/series	2015-05-19 17:06:40.000000000 +0200
@@ -1,3 +1,4 @@
+0001_mate-terminal-wrapper.patch
 1001_add-keywords-to-desktop-files.patch
 1002_fix-occasional-segfaults-at-session-startup.patch
 2001_omit-gfdl-licensed-help-files.patch

Reply to: