[fpaste] Patch! Patch! Patch!

Ankur Sinha ankursinha at fedoraproject.org
Thu Jan 23 06:27:53 UTC 2014


commit 0046216ed2e01f170eec688d6afd4f4de2c90b7a
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur at gmail.com>
Date:   Thu Jan 23 17:26:23 2014 +1100

    Patch! Patch! Patch!
    
    Fixes a number of bugs and updates the package to work better with the
    sticky server. The nick and passwords are now working. Since sticky
    server doesn't support a description, I got rid of that completely.
    
    The language list has now been updated to what the sticky notes server
    supports.

 0006-fpaste-0.3.7.1-correct-syntax-options.patch   |  215 ++++++++++++++++++++
 0007-fpaste-0.3.7.1-correct-expire-options.patch   |   21 ++
 ...-fpaste-0.3.7.1-remove-description-option.patch |   70 +++++++
 ...e-0.3.7.1-better-check-for-kde-and-plasma.patch |   11 +
 ...fpaste-0.3.7.1-correct-paste-error-return.patch |   29 +++
 ...-0.3.7.1-reactivate-nick-password-options.patch |   99 +++++++++
 fpaste.spec                                        |   36 ++++-
 7 files changed, 480 insertions(+), 1 deletions(-)
---
diff --git a/0006-fpaste-0.3.7.1-correct-syntax-options.patch b/0006-fpaste-0.3.7.1-correct-syntax-options.patch
new file mode 100644
index 0000000..a880d11
--- /dev/null
+++ b/0006-fpaste-0.3.7.1-correct-syntax-options.patch
@@ -0,0 +1,215 @@
+--- fpaste	2013-07-14 01:41:33.990948757 +0100
++++ fpaste.syn-patch	2013-07-14 01:39:13.848014651 +0100
+@@ -260,10 +260,210 @@
+ 
+ def main():
+     validExpiresOpts = [ '3600', '10800', '43200', '86400' ]
+-    validSyntaxOpts = [ 'abap', 'antlr', 'antlr-as', 'antlr-cpp', 'antlr-csharp', 'antlr-java', 'antlr-objc', 'antlr-perl', 'antlr-python', 'antlr-ruby', 'apacheconf', 'applescript', 'as', 'as3', 'aspx-cs', 'aspx-vb', 'basemake', 'bash', 'bat', 'bbcode', 'befunge', 'boo', 'brainfuck', 'c', 'c-objdump', 'cheetah', 'clojure', 'common-lisp', 'console', 'control', 'cpp', 'cpp-objdump', 'csharp', 'css', 'css+django', 'css+erb', 'css+genshitext', 'css+mako', 'css+myghty', 'css+php', 'css+smarty', 'cython', 'd', 'd-objdump', 'delphi', 'diff', 'django', 'dpatch', 'dylan', 'erb', 'erl', 'erlang', 'evoque', 'fortran', 'gas', 'genshi', 'genshitext', 'glsl', 'gnuplot', 'groff', 'haskell', 'html', 'html+cheetah', 'html+django', 'html+evoque', 'html+genshi', 'html+mako', 'html+myghty', 'html+php', 'html+smarty', 'ini', 'io', 'irc', 'java', 'js', 'js+cheetah', 'js+django', 'js+erb', 'js+genshitext', 'js+mako', 'js+myghty', 'js+php', 'js+smarty', 'jsp', 'lhs', 'lighty', 'llvm', 'logtalk', 
 'lua', 'make', 'mako', 'matlab', 'matlabsession', 'minid', 'modelica', 'moocode', 'mupad', 'mxml', 'myghty', 'mysql', 'nasm', 'newspeak', 'nginx', 'numpy', 'objdump', 'objective-c', 'ocaml', 'perl', 'php', 'pot', 'pov', 'prolog', 'py3tb', 'pycon', 'pytb', 'python', 'python3', 'ragel', 'ragel-c', 'ragel-cpp', 'ragel-d', 'ragel-em', 'ragel-java', 'ragel-objc', 'ragel-ruby', 'raw', 'rb', 'rbcon', 'rebol', 'redcode', 'rhtml', 'rst', 'scala', 'scheme', 'smalltalk', 'smarty', 'sourceslist', 'splus', 'sql', 'sqlite3', 'squidconf', 'tcl', 'tcsh', 'tex', 'text', 'trac-wiki', 'vala', 'vb.net', 'vim', 'xml', 'xml+cheetah', 'xml+django', 'xml+erb', 'xml+evoque', 'xml+mako', 'xml+myghty', 'xml+php', 'xml+smarty', 'xslt', 'yaml' ]
++    validSyntaxOpts = [ "cpp",
++                        "diff",
++                        "gdb",
++                        "javascript",
++                        "text",
++                        "perl",
++                        "php",
++                        "python",
++                        "ruby",
++                        "xml",
++                        "abap",
++                        "6502acme",
++                        "actionscript",
++                        "actionscript3",
++                        "ada",
++                        "algol68",
++                        "apache",
++                        "applescript",
++                        "apt_sources",
++                        "asm",
++                        "asp",
++                        "autoconf",
++                        "autohotkey",
++                        "autoit",
++                        "avisynth",
++                        "awk",
++                        "bash",
++                        "basic4gl",
++                        "bf",
++                        "bibtex",
++                        "blitzbasic",
++                        "bnf",
++                        "boo",
++                        "c",
++                        "c_loadrunner",
++                        "c_mac",
++                        "caddcl",
++                        "cadlisp",
++                        "cfdg",
++                        "cfm",
++                        "chaiscript",
++                        "cil",
++                        "clojure",
++                        "cmake",
++                        "cobol",
++                        "cpp",
++                        "cpp-qt",
++                        "csharp",
++                        "css",
++                        "cuesheet",
++                        "d",
++                        "dcs",
++                        "delphi",
++                        "diff",
++                        "div",
++                        "dos",
++                        "dot",
++                        "e",
++                        "ecmascript",
++                        "eiffel",
++                        "email",
++                        "epc",
++                        "erlang",
++                        "f1",
++                        "falcon",
++                        "fo",
++                        "fortran",
++                        "freebasic",
++                        "fsharp",
++                        "4cs",
++                        "gambas",
++                        "gdb",
++                        "genero",
++                        "genie",
++                        "gettext",
++                        "glsl",
++                        "gml",
++                        "gnuplot",
++                        "go",
++                        "groovy",
++                        "gwbasic",
++                        "haskell",
++                        "hicest",
++                        "68000devpac",
++                        "hq9plus",
++                        "html4strict",
++                        "icon",
++                        "idl",
++                        "ini",
++                        "inno",
++                        "intercal",
++                        "io",
++                        "j",
++                        "java",
++                        "java5",
++                        "javascript",
++                        "jquery",
++                        "6502kickass",
++                        "kixtart",
++                        "klonec",
++                        "klonecpp",
++                        "latex",
++                        "lb",
++                        "lisp",
++                        "locobasic",
++                        "logtalk",
++                        "lolcode",
++                        "lotusformulas",
++                        "lotusscript",
++                        "lscript",
++                        "lsl2",
++                        "lua",
++                        "m68k",
++                        "magiksf",
++                        "make",
++                        "mapbasic",
++                        "matlab",
++                        "mirc",
++                        "mmix",
++                        "modula2",
++                        "modula3",
++                        "mpasm",
++                        "mxml",
++                        "mysql",
++                        "newlisp",
++                        "nsis",
++                        "oberon2",
++                        "objc",
++                        "objeck",
++                        "ocaml",
++                        "ocaml-brief" ,
++                        "oobas",
++                        "oracle11",
++                        "oracle8",
++                        "oxygene",
++                        "oz",
++                        "pascal",
++                        "pcre",
++                        "per",
++                        "perl",
++                        "perl6",
++                        "pf",
++                        "php",
++                        "php-brief",
++                        "pic16",
++                        "pike",
++                        "pixelbender",
++                        "plsql",
++                        "postgresql",
++                        "povray",
++                        "powerbuilder",
++                        "powershell",
++                        "progress",
++                        "prolog",
++                        "properties",
++                        "providex",
++                        "purebasic",
++                        "python",
++                        "q",
++                        "qbasic",
++                        "rails",
++                        "rebol",
++                        "reg",
++                        "robots",
++                        "rpmspec",
++                        "rsplus",
++                        "ruby",
++                        "sas",
++                        "scala",
++                        "scheme",
++                        "scilab",
++                        "sdlbasic",
++                        "smalltalk",
++                        "smarty",
++                        "sql",
++                        "systemverilog",
++                        "6502tasm",
++                        "tcl",
++                        "teraterm",
++                        "text",
++                        "thinbasic",
++                        "tsql",
++                        "typoscript",
++                        "unicon",
++                        "vala",
++                        "vb",
++                        "vbnet",
++                        "verilog",
++                        "vhdl",
++                        "vim",
++                        "visualfoxpro",
++                        "visualprolog",
++                        "whitespace",
++                        "whois",
++                        "winbatch",
++                        "xbasic",
++                        "xml",
++                        "xorg_conf",
++                        "xpp",
++                        "z80",
++                        "zxbasic" ]
+     validClipboardSelectionOpts = [ 'primary', 'secondary', 'clipboard' ]
+     validPrivateOpts = [ 'yes', 'no']
+-    ext2lang_map = { 'sh':'bash', 'bash':'bash', 'bat':'bat', 'c':'c', 'h':'c', 'cpp':'cpp', 'css':'css', 'html':'html', 'htm':'html', 'ini':'ini', 'java':'java', 'js':'js', 'jsp':'jsp', 'pl':'perl', 'php':'php', 'php3':'php', 'py':'python', 'rb':'rb', 'rhtml':'rhtml', 'sql':'sql', 'sqlite':'sqlite3', 'tcl':'tcl', 'vim':'vim', 'xml':'xml' }
++    ext2lang_map = { 'sh':'bash', 'bash':'bash', 'bat':'bat', 'c':'c', 'h':'c', 'cpp':'cpp', 'css':'css', 'html':'html4strict', 'htm':'html4strict', 'ini':'ini', 'java':'java', 'js':'javascript', 'jsp':'java', 'pl':'perl', 'php':'php', 'php3':'php', 'py':'python', 'rb':'ruby', 'rhtml':'html4strict', 'sql':'sql', 'sqlite':'sql', 'tcl':'tcl', 'vim':'vim', 'xml':'xml' }
+ 
+     usage = """\
+ Usage: %%prog [OPTION]... [FILE]...
diff --git a/0007-fpaste-0.3.7.1-correct-expire-options.patch b/0007-fpaste-0.3.7.1-correct-expire-options.patch
new file mode 100644
index 0000000..052d6bc
--- /dev/null
+++ b/0007-fpaste-0.3.7.1-correct-expire-options.patch
@@ -0,0 +1,21 @@
+--- fpaste.orig	2014-01-23 15:10:14.966463373 +1100
++++ fpaste	2014-01-23 15:39:25.037951793 +1100
+@@ -259,7 +259,7 @@
+ 
+ 
+ def main():
+-    validExpiresOpts = [ '3600', '10800', '43200', '86400' ]
++    validExpiresOpts = [ '1800', '21600', '86400', '604800', '2592000']
+     validSyntaxOpts = [ "cpp",
+                         "diff",
+                         "gdb",
+@@ -503,7 +503,8 @@
+     fpasteProg_group.add_option('', '--confirm', dest='confirm', help='print paste, and prompt for confirmation before sending', action="store_true", default=False)
+     parser.add_option_group(fpasteProg_group)
+ 
+-    parser.set_defaults(desc='', nick='', lang='text', make_private='yes', expires=max(validExpiresOpts), selection='primary', url=FPASTE_URL )
++    parser.set_defaults(desc='', nick='', lang='text', make_private='yes',
++                        expires='2592000', selection='primary', url=FPASTE_URL )
+     (options, args) = parser.parse_args()
+ 
+     # Check for trailing slash
diff --git a/0008-fpaste-0.3.7.1-remove-description-option.patch b/0008-fpaste-0.3.7.1-remove-description-option.patch
new file mode 100644
index 0000000..1db968f
--- /dev/null
+++ b/0008-fpaste-0.3.7.1-remove-description-option.patch
@@ -0,0 +1,70 @@
+--- fpaste.orig	2014-01-23 16:13:28.427862452 +1100
++++ fpaste	2014-01-23 16:14:07.518576961 +1100
+@@ -86,7 +86,6 @@
+ 
+     # if sent data exceeds maxlength, server dies without error returned, so, we'll truncate the input here,
+     # until the server decides to truncate instead of die
+-    title = options.desc
+     author = options.nick
+     if len(title) > 120:  # limits from maxlength attr of fpaste.org form
+         title = title[0:120-3] + "..."
+@@ -483,7 +482,6 @@
+     # pastebin-specific options first
+     fpasteOrg_group = OptionGroup(parser, "fpaste.org Options")
+     fpasteOrg_group.add_option('-n', dest='nick', help='your nickname; default is "%default"', metavar='"NICKNAME"')
+-    fpasteOrg_group.add_option('-d', dest='desc', help='description of paste; default appends filename(s)', metavar='"DESCRIPTION"')
+     fpasteOrg_group.add_option('-l', dest='lang', help='language of content for syntax highlighting; default is "%default"; use "list" to show all ' + str(len(validSyntaxOpts)) + ' supported langs', metavar='"LANGUAGE"')
+     fpasteOrg_group.add_option('-x', dest='expires', help='time before paste is removed; default is %default seconds; valid options: ' + ', '.join(validExpiresOpts), metavar='EXPIRES')
+     #fpasteOrg_group.add_option('-P', dest='paste_private', help='make paste private; default is %default', + ', '.join(validPrivateOpts), metavar='"PRIVATE"')
+@@ -503,7 +501,7 @@
+     fpasteProg_group.add_option('', '--confirm', dest='confirm', help='print paste, and prompt for confirmation before sending', action="store_true", default=False)
+     parser.add_option_group(fpasteProg_group)
+ 
+-    parser.set_defaults(desc='', nick='', lang='text', make_private='yes',
++    parser.set_defaults(nick='', lang='text', make_private='yes',
+                         expires='2592000', selection='primary', url=FPASTE_URL )
+     (options, args) = parser.parse_args()
+ 
+@@ -558,31 +556,19 @@
+             parser.error("'xsel' failure. this usually means you're not running X")
+         if not text:
+             parser.error("%s clipboard is empty" % options.selection)
+-        if SET_DESCRIPTION_IF_EMPTY and not options.desc:
+-            #options.desc = '%s clipboard' % options.selection
+-            options.desc = summarize_text(text)
+     elif options.pasteself:
+         text = open(sys.argv[0]).read()
+-        options.desc = 'fpaste-' + VERSION
+         options.lang = 'python'
+         options.nick = 'Fedora Unity'
+     elif options.sysinfo:
+         text = sysinfo(options.debug)
+-        if SET_DESCRIPTION_IF_EMPTY and not options.desc:
+-            options.desc = 'fpaste --sysinfo'
+     elif not args:   # read from stdin if no file args supplied
+         try:
+             text += sys.stdin.read()
+         except KeyboardInterrupt:
+             print >> sys.stderr, "\nUSAGE REMINDER:\n   fpaste waits for input when run without file arguments.\n   Paste your text, then press <Ctrl-D> on a new line to upload.\n   Try `fpaste --help' for more information.\nExiting..."
+             sys.exit(1)
+-        if SET_DESCRIPTION_IF_EMPTY and not options.desc:
+-            options.desc = summarize_text(text)
+     else:
+-        if not options.desc:
+-            options.desc = '%s' % (' + '.join(fileargs))
+-        else:
+-            options.desc = '%s: %s' % (options.desc, ' + '.join(fileargs))
+         for i, f in enumerate(args):
+             if not os.access(f, os.R_OK):
+                 parser.error("file '%s' is not readable" % f)
+@@ -591,10 +577,8 @@
+                 text += '### file %d of %d: %s\n' % (i+1, len(args), fileargs[i])
+                 text += '#' * 78 + '\n'
+             text += open(f).read()
+-
+     if options.debug:
+         print 'nick: "%s"' % options.nick
+-        print 'desc: "%s"' % options.desc
+         print 'lang: "%s"' % options.lang
+         print 'text (%d): "%s ..."' % (len(text), text[:80])
+ 
diff --git a/0009-fpaste-0.3.7.1-better-check-for-kde-and-plasma.patch b/0009-fpaste-0.3.7.1-better-check-for-kde-and-plasma.patch
new file mode 100644
index 0000000..091ef96
--- /dev/null
+++ b/0009-fpaste-0.3.7.1-better-check-for-kde-and-plasma.patch
@@ -0,0 +1,11 @@
+--- fpaste.orig	2014-01-23 16:14:31.606400916 +1100
++++ fpaste	2014-01-23 16:15:04.841157892 +1100
+@@ -161,7 +161,7 @@
+     cmdlist = [
+         ('OS Release',         '''lsb_release -ds''', '''cat /etc/*-release | uniq''', 'cat /etc/issue', 'cat /etc/motd'),
+         ('Kernel',             '''uname -r ; cat /proc/cmdline'''),
+-        ('Desktop(s) Running', '''ps -eo comm= | egrep '(gnome-session|kdeinit|xfce.?-session|fluxbox|blackbox|hackedbox|ratpoison|enlightenment|icewm-session|od-session|wmaker|wmx|openbox-lxde|openbox-gnome-session|openbox-kde-session|mwm|e16|fvwm|xmonad|sugar-session)' '''),
++        ('Desktop(s) Running', '''ps -eo comm= | egrep '(gnome-session|startkde|startactive|xfce.?-session|fluxbox|blackbox|hackedbox|ratpoison|enlightenment|icewm-session|od-session|wmaker|wmx|openbox-lxde|openbox-gnome-session|openbox-kde-session|mwm|e16|fvwm|xmonad|sugar-session)' '''),
+         ('Desktop(s) Installed', '''ls -m /usr/share/xsessions/ | sed 's/\.desktop//g' '''),
+         ('SELinux Status',      '''sestatus''', '''/usr/sbin/sestatus''', '''getenforce''', '''grep -v '^#' /etc/sysconfig/selinux'''),
+         ('SELinux Error Count', '''selinuxenabled && (grep avc: /var/log/messages; ausearch -m avc -ts today)2>/dev/null|egrep -o "comm=\\"[^ ]+"|sort|uniq -c|sort -rn'''),
diff --git a/0010-fpaste-0.3.7.1-correct-paste-error-return.patch b/0010-fpaste-0.3.7.1-correct-paste-error-return.patch
new file mode 100644
index 0000000..e477607
--- /dev/null
+++ b/0010-fpaste-0.3.7.1-correct-paste-error-return.patch
@@ -0,0 +1,29 @@
+--- fpaste.orig	2014-01-23 16:22:05.048073376 +1100
++++ fpaste	2014-01-23 16:26:21.389182939 +1100
+@@ -82,7 +82,7 @@
+     import re
+     if not text:
+         print >> sys.stderr, "No text to send."
+-        return False
++        return [False,False]
+ 
+     # if sent data exceeds maxlength, server dies without error returned, so, we'll truncate the input here,
+     # until the server decides to truncate instead of die
+@@ -101,7 +101,7 @@
+     if not is_text(text):
+         print >> sys.stderr, "WARNING: your paste looks a lot like binary data instead of text."
+         if not confirm("Send binary data anyway?"):
+-            return False
++            return [False,False]
+ 
+     req = urllib2.Request(url=options.url, data=params, headers={'User-agent': USER_AGENT})
+     if options.proxy:
+@@ -120,7 +120,7 @@
+             print >> sys.stderr, "Server Error: %d - %s" % (e.code, e.msg)
+             if options.debug:
+                 print f.read()
+-        return False
++        return [False, False]
+ 
+ #    response = f.read()
+     response = json.loads(f.read())
diff --git a/0011-fpaste-0.3.7.1-reactivate-nick-password-options.patch b/0011-fpaste-0.3.7.1-reactivate-nick-password-options.patch
new file mode 100644
index 0000000..2505c3d
--- /dev/null
+++ b/0011-fpaste-0.3.7.1-reactivate-nick-password-options.patch
@@ -0,0 +1,99 @@
+--- fpaste.orig	2014-01-23 16:32:30.722416350 +1100
++++ fpaste	2014-01-23 17:20:19.905213882 +1100
+@@ -64,9 +64,16 @@
+     else:
+         return False
+ 
+-def get_shortened_url(long_url):
++def get_shortened_url(long_url, password):
+     """Get shortened URL from paste data"""
+-    req = urllib2.Request(url=long_url+'/', data='mode=json')
++
++    # NOTE: this uses password, not paste_password
++    if password:
++        params = urllib.urlencode({'mode':'json', 'password': password})
++    else:
++        params = 'mode=json'
++
++    req = urllib2.Request(url=long_url+'/', data=params)
+     try:
+         f = urllib2.urlopen(req)
+     except urllib2.URLError: 
+@@ -87,12 +94,15 @@
+     # if sent data exceeds maxlength, server dies without error returned, so, we'll truncate the input here,
+     # until the server decides to truncate instead of die
+     author = options.nick
+-    if len(title) > 120:  # limits from maxlength attr of fpaste.org form
+-        title = title[0:120-3] + "..."
+-    if len(author) > 30:
+-        author = author[0:30-3] + "..."
++    if len(author) > 50:
++        author = author[0:50-3] + "..."
+ 
+-    params = urllib.urlencode({'paste_lang': options.lang, 'paste_data': text, 'paste_private': options.make_private, 'paste_expire': options.expires, 'api_submit': 'true', 'mode': 'json'})
++    params = urllib.urlencode({'paste_lang': options.lang, 'paste_data': text,
++                               'paste_private': options.make_private,
++                               'paste_expire': options.expires,
++                               'paste_password': options.password,
++                               'paste_user': author,
++                               'api_submit': 'true', 'mode': 'json'})
+     pasteSizeKiB = len(params)/1024.0
+ 
+     if pasteSizeKiB >= 512:   # 512KiB appears to be the current hard limit (20110404); old limit was 16MiB
+@@ -133,11 +143,11 @@
+     else:
+         url = "{0}{1}".format(options.url, id)
+ 
+-    short_url = get_shortened_url(url)
++    short_url = get_shortened_url(url, options.password)
+     if short_url:
+         return [url, short_url]
+     else:
+-        return [url, url]
++        return [url, False]
+ 
+ #    url = f.geturl()
+ #    if re.match(FPASTE_URL + '?.+', url):
+@@ -481,12 +491,12 @@
+ 
+     # pastebin-specific options first
+     fpasteOrg_group = OptionGroup(parser, "fpaste.org Options")
+-    fpasteOrg_group.add_option('-n', dest='nick', help='your nickname; default is "%default"', metavar='"NICKNAME"')
++    fpasteOrg_group.add_option('-n', dest='nick', help='your nickname; default is "%default";', metavar='"NICKNAME"')
+     fpasteOrg_group.add_option('-l', dest='lang', help='language of content for syntax highlighting; default is "%default"; use "list" to show all ' + str(len(validSyntaxOpts)) + ' supported langs', metavar='"LANGUAGE"')
+     fpasteOrg_group.add_option('-x', dest='expires', help='time before paste is removed; default is %default seconds; valid options: ' + ', '.join(validExpiresOpts), metavar='EXPIRES')
+-    #fpasteOrg_group.add_option('-P', dest='paste_private', help='make paste private; default is %default', + ', '.join(validPrivateOpts), metavar='"PRIVATE"')
+     fpasteOrg_group.add_option('-P', '--private', help='make paste private; default is %default; valid options: ' + ', '.join(validPrivateOpts), dest='make_private', metavar='"PRIVATE"')
+     fpasteOrg_group.add_option('-U', '--URL', help='URL of fpaste server; default is %default', dest='url', metavar='"FPASTE URL"')
++    fpasteOrg_group.add_option('-d', '--password', help='password for paste; default is %default', dest='password', metavar='"PASSWORD"')
+ 
+     parser.add_option_group(fpasteOrg_group)
+     # other options
+@@ -501,8 +511,15 @@
+     fpasteProg_group.add_option('', '--confirm', dest='confirm', help='print paste, and prompt for confirmation before sending', action="store_true", default=False)
+     parser.add_option_group(fpasteProg_group)
+ 
+-    parser.set_defaults(nick='', lang='text', make_private='yes',
+-                        expires='2592000', selection='primary', url=FPASTE_URL )
++# Let default be anonymous.
++#    p = subprocess.Popen('whoami', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
++#    (out, err) = p.communicate ()
++#    if p.returncode == 0 and out:
++#        user = out[0:-1]
++#    else:
++#        print >> sys.stderr, "WARNING Could not run whoami. Posting anonymously."
++
++    parser.set_defaults(nick='', lang='text', make_private='yes', expires='2592000', selection='primary', password='', url=FPASTE_URL )
+     (options, args) = parser.parse_args()
+ 
+     # Check for trailing slash
+@@ -610,7 +627,8 @@
+                 #parser.error("'xsel' failure. this usually means you're not running X")
+                 print >> sys.stderr, "WARNING: URL not saved to clipboard"
+ 
+-        if url == short_url:
++        if not short_url:
++            print >> sys.stderr, "WARNING: Could not shorten URL"
+             print url
+         else:
+             print short_url +  " -> " +  url
diff --git a/fpaste.spec b/fpaste.spec
index bb24fdc..b09a815 100644
--- a/fpaste.spec
+++ b/fpaste.spec
@@ -1,6 +1,6 @@
 Name:		fpaste
 Version:	0.3.7.1
-Release:	9%{?dist}
+Release:	10%{?dist}
 Summary:	A simple tool for pasting info onto sticky notes instances
 BuildArch:	noarch
 Group:		Applications/Internet
@@ -28,6 +28,25 @@ Patch3:     0004-%{name}-0.3.7.1-add-url-option.patch
 # Checks fpaste server instance url for trailing slash
 Patch4:     0005-%{name}-0.3.7.1-enable-shortened-urls.patch
 
+# Updates the language list to match what sticky server supports
+Patch5:     0006-%{name}-0.3.7.1-correct-syntax-options.patch
+
+# Updates the expiry options to match sticky server, sets default to 30 days
+# also
+Patch6:     0007-%{name}-0.3.7.1-correct-expire-options.patch
+
+# Remove description option since sticky notes does not support it
+Patch7:     0008-%{name}-0.3.7.1-remove-description-option.patch
+
+# Better kde/plasma detection
+Patch8:     0009-%{name}-0.3.7.1-better-check-for-kde-and-plasma.patch
+
+# Correct the return value for empty or errored inputs
+Patch9:     0010-%{name}-0.3.7.1-correct-paste-error-return.patch
+
+# Reactivate the nick and password options
+Patch10:    0011-%{name}-0.3.7.1-reactivate-nick-password-options.patch
+
 %description
 It is often useful to be able to easily paste text to the Fedora
 Pastebin at http://paste.fedoraproject.org and this simple script 
@@ -45,6 +64,12 @@ reason they may be unable to paste something into the pastebin
 %patch2
 %patch3 -p1
 %patch4
+%patch5
+%patch6
+%patch7
+%patch8
+%patch9
+%patch10
 
 %build
 #nothing required
@@ -64,6 +89,15 @@ rm -rf %{buildroot}
 %{_mandir}/man1/fpaste.1.gz
 
 %changelog
+* Thu Jan 23 2014 Ankur Sinha <ankursinha AT fedoraproject DOT org> 0.3.7.1-10
+- new patches
+- correct syntax options
+- correct expiry options
+- remove description option
+- better kde/plasma detection
+- Correct return code of paste method
+- Enable nick and password options
+
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.3.7.1-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 


More information about the scm-commits mailing list