Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package reportbug

This is the final upload for stretch: it contains several bugfixes and
improvement that would make reportbug in stretch much more robust for our users.

A source packages diff is attached

unblock reportbug/7.1.7

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.2.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE= 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru reportbug-7.1.6/bin/querybts reportbug-7.1.7/bin/querybts
--- reportbug-7.1.6/bin/querybts        2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/bin/querybts        2017-05-29 16:00:17.000000000 -0400
@@ -168,16 +168,16 @@
                     url = debbugs.get_report_url(options.system, num, 
options.archived, mbox=True)
                     try:
                         report = urlutils.open_url(url, 
timeout=options.timeout)
-                        sys.stdout.write(report.read())
-                    except urlutils.urllib2.URLError as ex:
+                        sys.stdout.write(report)
+                    except NoNetwork as ex:
                         print("Error while accessing mbox report (%s)." % ex, 
file=sys.stderr)
             else:
                 num = int(m.group(1))
                 url = debbugs.get_report_url(options.system, num, 
options.archived, mbox=True)
                 try:
                     report = urlutils.open_url(url, timeout=options.timeout)
-                    sys.stdout.write(report.read())
-                except urlutils.urllib2.URLError as ex:
+                    sys.stdout.write(report)
+                except NoNetwork as ex:
                     print("Error while accessing mbox report (%s)." % ex, 
file=sys.stderr)
                     sys.exit(1)
         return
diff -Nru reportbug-7.1.6/bin/reportbug reportbug-7.1.7/bin/reportbug
--- reportbug-7.1.6/bin/reportbug       2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/bin/reportbug       2017-05-29 16:00:17.000000000 -0400
@@ -1051,7 +1051,7 @@
     if options.draftpath:
         options.draftpath = os.path.expanduser(options.draftpath)
         if not os.path.exists(options.draftpath):
-            print("The directory % does not exist; exiting." % 
options.draftpath)
+            ewrite("The directory %s does not exist; exiting.\n" % 
options.draftpath)
             sys.exit(1)
 
     if options.mua and not options.template:
diff -Nru reportbug-7.1.6/debian/changelog reportbug-7.1.7/debian/changelog
--- reportbug-7.1.6/debian/changelog    2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/debian/changelog    2017-05-29 16:00:17.000000000 -0400
@@ -1,3 +1,51 @@
+reportbug (7.1.7) unstable; urgency=medium
+
+  * reportbug/utils.py
+    - fix description regex to match only textual description (and not the 
MD5);
+      patch by Nis Martensen; Closes: #863322
+    - switch to use apt-cache instead of dpkg --print-avail; patch by Nis
+      Martensen
+    - get_command_output() doesnt strip a trailing new-line, so deal with that
+      behavior when running lsb_release and dpkg --print-architecture; patch by
+      Nis Martensen; Closes: #861153
+    - update suites names: fade out squeeze (wheezy is now oldoldstable) and
+      introduce buster (testing), bullseye (next-testing); Closes: #862801
+    - in search_path_for, split PATH directories using ':'; patch by Kamaraju
+      Kusumanchi; Closes: #827088
+    - strip arch-qualifier when looking up dependencies information; patch by
+      Nis Martensen; Closes: #749884
+    - fix a crash when parsing the config files lines in the package
+      information; patch by Nis Martensen; Closes: #857013, #846053, #826534
+  * reportbug/debbugs.py
+    - add manpages.debian.org to pseudo-packages list; Closes: #861859
+  * debian/control
+    - update emacs dependencies to emacs24 (default) and emacs25 (alternative)
+    - remove Chris Lawrence from Uploaders, thanks for all you've done for
+      reportbug!!
+    - switch Vcs-* URLs to HTTPS
+  * remove double imports
+  * debian/desktop
+    - add Danish translation to desktop file; patch by scootergrisen;
+      Closes: #855973
+  * reportbug/bugreport.py
+    - add LANGUAGE env var to locales bugreport section; Closes: #840898
+  * bin/querybts
+    - url_open() now returns a string, no need to read() it anymore; also
+      replace URLError exception handling with NoNetwork; Closes: #859274
+  * reportbug/debbugs.py, reportbug/utils.py
+    - Finish open_url return type conversion: url_open() now returns a string
+      and no longer an HTTPRespons object; patch by Nis Martensen; extends the
+      fix for #859274
+  * bin/reportbug
+    - fix error formatting when printing the error for draft directory
+      non-existing; patch by Gaetano Guerriero; Closes: #816375
+  * doc/README.source
+    - update README.source to the current source layout; Closes: #827002
+  * debian/copyright
+    - switch the Format field to the URL in the packaging-manuals
+
+ -- Sandro Tosi <mo...@debian.org>  Mon, 29 May 2017 16:00:17 -0400
+
 reportbug (7.1.6) unstable; urgency=medium
 
   * reportbug/utils.py
diff -Nru reportbug-7.1.6/debian/control reportbug-7.1.7/debian/control
--- reportbug-7.1.6/debian/control      2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/debian/control      2017-05-29 16:00:17.000000000 -0400
@@ -2,18 +2,18 @@
 Section: utils
 Priority: standard
 Maintainer: Reportbug Maintainers <reportbug-ma...@lists.alioth.debian.org>
-Uploaders: Sandro Tosi <mo...@debian.org>, Chris Lawrence <lawre...@debian.org>
+Uploaders: Sandro Tosi <mo...@debian.org>
 Standards-Version: 3.9.8
 Build-Depends: debhelper (>= 9), python3, dh-python
 Build-Depends-Indep: python3-nose, python3-setuptools, python3-mock
-Vcs-Git: git://anonscm.debian.org/reportbug/reportbug.git
-Vcs-Browser: http://anonscm.debian.org/gitweb/?p=reportbug/reportbug.git
+Vcs-Git: https://anonscm.debian.org/git/reportbug/reportbug.git
+Vcs-Browser: https://anonscm.debian.org/cgit/reportbug/reportbug.git
 Homepage: http://alioth.debian.org/projects/reportbug/
 
 Package: reportbug
 Architecture: all
 Depends: ${misc:Depends}, ${python3:Depends}, apt, python3-reportbug (= 
${source:Version})
-Suggests: postfix | exim4 | mail-transport-agent, gnupg | pgp, debconf-utils 
(>> 1.1.0), debsums (>= 2.0.47), file (>> 1.30), dlocate, python3-urwid, 
python3-gi, python3-gi-cairo, gir1.2-gtk-3.0, gir1.2-vte-2.91, 
python3-gtkspellcheck, xdg-utils, emacs23-bin-common | emacs24-bin-common, 
claws-mail (>= 3.8.0)
+Suggests: postfix | exim4 | mail-transport-agent, gnupg | pgp, debconf-utils 
(>> 1.1.0), debsums (>= 2.0.47), file (>> 1.30), dlocate, python3-urwid, 
python3-gi, python3-gi-cairo, gir1.2-gtk-3.0, gir1.2-vte-2.91, 
python3-gtkspellcheck, xdg-utils, emacs24-bin-common | emacs25-bin-common, 
claws-mail (>= 3.8.0)
 Description: reports bugs in the Debian distribution
  reportbug is a tool designed to make the reporting of bugs in Debian
  and derived distributions relatively painless.  Its features include:
diff -Nru reportbug-7.1.6/debian/copyright reportbug-7.1.7/debian/copyright
--- reportbug-7.1.6/debian/copyright    2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/debian/copyright    2017-05-29 16:00:17.000000000 -0400
@@ -1,4 +1,4 @@
-Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat
+Format-Specification: 
https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Author: Chris Lawrence <lawre...@debian.org>
 Upstream-Author: Sandro Tosi <mo...@debian.org>
 Packaged-By: Chris Lawrence <lawre...@debian.org>
diff -Nru reportbug-7.1.6/debian/desktop reportbug-7.1.7/debian/desktop
--- reportbug-7.1.6/debian/desktop      2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/debian/desktop      2017-05-29 16:00:17.000000000 -0400
@@ -1,14 +1,18 @@
 [Desktop Entry]
 Type=Application
 Name=Reportbug
+Name[da]=Reportbug
 Name[ru]=Reportbug
 Name[zh_CN]=报告漏洞
 Comment=Report bugs to the Debian BTS
+Comment[da]=Rapportér fejl til Debian fejlrapporteringssystem
 Comment[ru]=Создание и отправка отчёта об ошибке в Debian BTS
 Comment[zh_CN]=向 Debian 缺陷跟踪系统报告漏洞
 GenericName=Debian bug reporting tool
+GenericName[da]=Debian fejlrapporteringsværktøj
 GenericName[ru]=Отчёт об ошибке Reportbug
 GenericName[zh_CN]=Debian 缺陷报告工具
+X-GNOME-FullName[da]=Debian fejlrapporteringsværktøj
 X-GNOME-FullName[ru]=Отчёт об ошибке Reportbug
 X-GNOME-FullName[zh_CN]=Debian 缺陷报告工具
 Icon=debian-swirl
@@ -16,4 +20,5 @@
 Exec=reportbug --exit-prompt --ui gtk2
 Categories=System;
 Keywords=Debian;Bug;Bugs;BTS;
+Keywords[da]=Debian;Bug;Bugs;BTS;Fejlrapporteringssystem;Fejl;
 Keywords[zh_CN]=漏洞;报告;缺陷;
diff -Nru reportbug-7.1.6/doc/README.source reportbug-7.1.7/doc/README.source
--- reportbug-7.1.6/doc/README.source   2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/doc/README.source   2017-05-29 16:00:17.000000000 -0400
@@ -5,7 +5,7 @@
 
 * Top level
 
-  * Manual pages.
+  * Installation tools
 
 * Debian packaging
 
@@ -25,18 +25,16 @@
 * `Unit testing framework`_
 
   * ``test/`` contains the unit test suite. Unit test modules are
-    discovered and run using the ``nosetests`` program, and are named
+    discovered and run using the ``nosetests3`` program, and are named
     as ``test_*.py``.
 
-* Internal checking framework
+* Documentation
 
-  * ``checks/`` contains various scripts that ensure reportbug's
-    internals are up-to-date with the Debian BTS.
+  * ``doc/`` contains documentation for both users and developers.
 
-* Internationalisation and localisation
+* Manual pages
 
-  * ``po4a/`` contains configuration and data for localisation of
-    source files using the ``po4a`` tool.
+  * ``man/`` contains the manual pages for the programs.
 
 Unit testing framework
 ======================
@@ -47,14 +45,13 @@
 files. New unit test modules should be added to this directory and
 named ``test_*.py``.
 
-The unit test suite depends on the `python-nose` package being
-installed, to make the ``nosetests`` command available. The unit tests
-themselves can be written using either the `unittest` or `doctest`
-modules in the standard Python library.
-
-The `scaffold` module (from the ``test/scaffold.py`` file) contains
-some helper functionality for unit tests, including an extended
-`TestCase` class.
+The unit test suite depends on the `python3-nose` package being
+installed, to make the ``nosetests3`` command available. The unit tests
+themselves can be written using the `unittest` modules in the standard
+Python library.
+
+The ``data/`` contains some additional files required by tests, such as
+control files, scripts, etc.
 
 ``make`` targets for testing and quality checks
 -----------------------------------------------
@@ -62,29 +59,24 @@
 The following ``make`` targets are useful for testing and related
 tasks.
 
-* ``make test`` runs the unit test suite, preceded by a timestamp
+* ``make tests`` runs the unit test suite, preceded by a timestamp
   banner, and reports any test failures or "OK" if all tests pass.
 
-* ``make test-continuous`` starts a loop which clears the screen, runs
-  ``make test``, then waits for any of the tests or source code to
-  change, and starts the loop again.
-
-  This is useful to run in a separate terminal during a development
-  session, so that whenever a change is made the test suite will be
-  run automatically. You might want to keep the window hidden while
-  actually editing files, and only look at it when you've created or
-  modified a file and want to check its effect on the test run.
-
-  This uses the ``inotifywait`` command from the `inotify-tools`
-  package to wait for `create` and `modify` events.
+* ``make quicktests`` runs the unit test suite, but only for those
+  tests that dont require network access, which can be slow sometimes
+  (hence the name)
 
 * ``make coverage`` runs the test suite and collects test coverage
   information, then reports the current statement coverage of the test
   suite.
 
-  This requires the `python-coverage` package to be installed. See its
+  This requires the `python3-coverage` package to be installed. See its
   documentation for more about its operation.
 
+* ``make coverhtml`` runs  the test suite and collects test coverage
+  information, then reports the current statement coverage using an HTML
+  output format.
+
 * ``make pyflakes`` runs the `pyflakes` static code checker on all
   Python files found in the project tree.
 
@@ -97,6 +89,9 @@
   This requires the `pylint` package to be installed. See its
   documentation for more about its operation.
 
+* ``make pep8`` runs the `pep8` static code checker.
+
+  This requires the `pep8` package to be installed.
 
 ..
     Local Variables:
diff -Nru reportbug-7.1.6/.idea/workspace.xml 
reportbug-7.1.7/.idea/workspace.xml
--- reportbug-7.1.6/.idea/workspace.xml 2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/.idea/workspace.xml 2017-05-29 16:00:17.000000000 -0400
@@ -23,8 +23,8 @@
       <file leaf-file-name="utils.py" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/reportbug/utils.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="5472">
-              <caret line="307" column="52" lean-forward="false" 
selection-start-line="307" selection-start-column="52" selection-end-line="307" 
selection-end-column="52" />
+            <state relative-caret-position="5598">
+              <caret line="314" column="52" lean-forward="false" 
selection-start-line="314" selection-start-column="52" selection-end-line="314" 
selection-end-column="52" />
               <folding />
             </state>
           </provider>
@@ -45,8 +45,8 @@
       <file leaf-file-name="gtk2_ui.py" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/reportbug/ui/gtk2_ui.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="23976">
-              <caret line="1332" column="62" lean-forward="false" 
selection-start-line="1332" selection-start-column="62" 
selection-end-line="1332" selection-end-column="62" />
+            <state relative-caret-position="24084">
+              <caret line="1338" column="62" lean-forward="false" 
selection-start-line="1338" selection-start-column="62" 
selection-end-line="1338" selection-end-column="62" />
               <folding />
             </state>
           </provider>
@@ -88,8 +88,11 @@
         <entry file="file://$PROJECT_DIR$/reportbug/submit.py">
           <provider selected="true" editor-type-id="text-editor">
             <state relative-caret-position="2862">
-              <caret line="183" column="9" lean-forward="false" 
selection-start-line="183" selection-start-column="9" selection-end-line="183" 
selection-end-column="9" />
-              <folding />
+              <caret line="189" column="9" lean-forward="false" 
selection-start-line="189" selection-start-column="9" selection-end-line="189" 
selection-end-column="9" />
+              <folding>
+                <marker date="1492563722401" expanded="true" 
signature="5349:5362" ph="..." />
+                <marker date="1492563722401" expanded="true" 
signature="6422:6449" ph="..." />
+              </folding>
             </state>
           </provider>
         </entry>
@@ -166,6 +169,7 @@
         <option value="$PROJECT_DIR$/reportbug/utils.py" />
         <option value="$PROJECT_DIR$/share/script" />
         <option value="$PROJECT_DIR$/reportbug/ui/gtk2_ui.py" />
+        <option value="$PROJECT_DIR$/debian/control" />
       </list>
     </option>
   </component>
@@ -488,7 +492,7 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="28" width="1366" height="713" extended-state="0" />
-    <editor active="false" />
+    <editor active="true" />
     <layout>
       <window_info id="Project" active="false" anchor="left" auto_hide="false" 
internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" 
weight="0.2522388" sideWeight="0.5" order="0" side_tool="false" 
content_ui="combo" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" 
internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" 
weight="0.32864675" sideWeight="0.5" order="6" side_tool="false" 
content_ui="tabs" />
@@ -760,8 +764,8 @@
     <entry file="file://$PROJECT_DIR$/test/test_utils.py" />
     <entry file="file://$PROJECT_DIR$/reportbug/utils.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="5472">
-          <caret line="307" column="52" lean-forward="false" 
selection-start-line="307" selection-start-column="52" selection-end-line="307" 
selection-end-column="52" />
+        <state relative-caret-position="5598">
+          <caret line="314" column="52" lean-forward="false" 
selection-start-line="314" selection-start-column="52" selection-end-line="314" 
selection-end-column="52" />
           <folding />
         </state>
       </provider>
@@ -778,8 +782,8 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/reportbug/ui/gtk2_ui.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="23976">
-          <caret line="1332" column="62" lean-forward="false" 
selection-start-line="1332" selection-start-column="62" 
selection-end-line="1332" selection-end-column="62" />
+        <state relative-caret-position="24084">
+          <caret line="1338" column="62" lean-forward="false" 
selection-start-line="1338" selection-start-column="62" 
selection-end-line="1338" selection-end-column="62" />
           <folding />
         </state>
       </provider>
@@ -813,8 +817,11 @@
     <entry file="file://$PROJECT_DIR$/reportbug/submit.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="2862">
-          <caret line="183" column="9" lean-forward="false" 
selection-start-line="183" selection-start-column="9" selection-end-line="183" 
selection-end-column="9" />
-          <folding />
+          <caret line="189" column="9" lean-forward="false" 
selection-start-line="189" selection-start-column="9" selection-end-line="189" 
selection-end-column="9" />
+          <folding>
+            <marker date="1492563722401" expanded="true" signature="5349:5362" 
ph="..." />
+            <marker date="1492563722401" expanded="true" signature="6422:6449" 
ph="..." />
+          </folding>
         </state>
       </provider>
     </entry>
diff -Nru reportbug-7.1.6/reportbug/bugreport.py 
reportbug-7.1.7/reportbug/bugreport.py
--- reportbug-7.1.6/reportbug/bugreport.py      2017-04-18 21:12:02.000000000 
-0400
+++ reportbug-7.1.7/reportbug/bugreport.py      2017-05-29 16:00:17.000000000 
-0400
@@ -86,7 +86,7 @@
         locinfo = []
         langsetting = os.environ.get('LANG', 'C')
         allsetting = os.environ.get('LC_ALL', '')
-        for setting in ('LANG', 'LC_CTYPE'):
+        for setting in ('LANG', 'LC_CTYPE', 'LANGUAGE'):
             if setting == 'LANG':
                 env = langsetting
             else:
diff -Nru reportbug-7.1.6/reportbug/debbugs.py 
reportbug-7.1.7/reportbug/debbugs.py
--- reportbug-7.1.6/reportbug/debbugs.py        2017-04-18 21:12:02.000000000 
-0400
+++ reportbug-7.1.7/reportbug/debbugs.py        2017-05-29 16:00:17.000000000 
-0400
@@ -180,6 +180,7 @@
     'installation-reports': 'Reports of installation problems with stable & 
testing',
     'jenkins.debian.org': 'Issues with the jenkins.debian.org service',
     'lists.debian.org': 'The mailing lists, debian-*@lists.debian.org',
+    'manpages.debian.org': 'Issues with the Debian Manpages Website and 
coordination of maintenance',
     'mirrors': 'Problems with the official mirrors',
     'nm.debian.org': 'New Member process and nm.debian.org webpages',
     'pet.debian.net': 'The Debian Package Entropy Tracker',
@@ -967,16 +968,10 @@
         return None
 
     parser = BTSParser(cgi=cgi, followups=followups)
-    for line in page:
+    for line in page.splitlines():
         parser.feed(line)
     parser.close()
 
-    try:
-        page.fp._sock.recv = None
-    except:
-        pass
-    page.close()
-
     items = parser.preblock
     title = "#%d: %s" % (number, parser.title)
 
@@ -1011,13 +1006,7 @@
         return None
 
     # Make this seekable
-    wholefile = io.StringIO(page.read())
-
-    try:
-        page.fp._sock.recv = None
-    except:
-        pass
-    page.close()
+    wholefile = io.StringIO(page)
 
     mbox = mailbox.UnixMailbox(wholefile, msgfactory)
     title = ''
@@ -1131,14 +1120,9 @@
         #    return (0, None, None)
 
         parser = BTSParser()
-        for line in page:
+        for line in page.splitlines():
             parser.feed(line)
         parser.close()
-        try:
-            page.fp._sock.recv = None
-        except:
-            pass
-        page.close()
 
         return parser.bugcount, parser.title, parser.hierarchy
 
diff -Nru reportbug-7.1.6/reportbug/__init__.py 
reportbug-7.1.7/reportbug/__init__.py
--- reportbug-7.1.6/reportbug/__init__.py       2017-04-18 21:12:02.000000000 
-0400
+++ reportbug-7.1.7/reportbug/__init__.py       2017-05-29 16:00:17.000000000 
-0400
@@ -25,7 +25,7 @@
 __all__ = ['bugreport', 'utils', 'urlutils', 'checkbuildd', 'checkversions',
            'debbugs', 'exceptions', 'submit', 'tempfile']
 
-VERSION_NUMBER = "7.1.6"
+VERSION_NUMBER = "7.1.7"
 
 VERSION = "reportbug " + VERSION_NUMBER
 COPYRIGHT = VERSION + '\nCopyright (C) 1999-2008 Chris Lawrence 
<lawre...@debian.org>' + \
Binary files /tmp/1d7AWlZJLo/reportbug-7.1.6/reportbug/__init__.pyc and 
/tmp/1IujpqUNfa/reportbug-7.1.7/reportbug/__init__.pyc differ
Binary files 
/tmp/1d7AWlZJLo/reportbug-7.1.6/reportbug/__pycache__/bugreport.cpython-35.pyc 
and 
/tmp/1IujpqUNfa/reportbug-7.1.7/reportbug/__pycache__/bugreport.cpython-35.pyc 
differ
Binary files 
/tmp/1d7AWlZJLo/reportbug-7.1.6/reportbug/__pycache__/debbugs.cpython-35.pyc 
and 
/tmp/1IujpqUNfa/reportbug-7.1.7/reportbug/__pycache__/debbugs.cpython-35.pyc 
differ
Binary files 
/tmp/1d7AWlZJLo/reportbug-7.1.6/reportbug/__pycache__/__init__.cpython-35.pyc 
and 
/tmp/1IujpqUNfa/reportbug-7.1.7/reportbug/__pycache__/__init__.cpython-35.pyc 
differ
Binary files 
/tmp/1d7AWlZJLo/reportbug-7.1.6/reportbug/__pycache__/submit.cpython-35.pyc and 
/tmp/1IujpqUNfa/reportbug-7.1.7/reportbug/__pycache__/submit.cpython-35.pyc 
differ
Binary files 
/tmp/1d7AWlZJLo/reportbug-7.1.6/reportbug/__pycache__/utils.cpython-35.pyc and 
/tmp/1IujpqUNfa/reportbug-7.1.7/reportbug/__pycache__/utils.cpython-35.pyc 
differ
diff -Nru reportbug-7.1.6/reportbug/submit.py 
reportbug-7.1.7/reportbug/submit.py
--- reportbug-7.1.6/reportbug/submit.py 2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/reportbug/submit.py 2017-05-29 16:00:17.000000000 -0400
@@ -27,7 +27,6 @@
 import email
 import smtplib
 import socket
-import email
 from email.mime.multipart import MIMEMultipart
 from email.mime.text import MIMEText
 from email.mime.audio import MIMEAudio
diff -Nru reportbug-7.1.6/reportbug/ui/gtk2_ui.py 
reportbug-7.1.7/reportbug/ui/gtk2_ui.py
--- reportbug-7.1.6/reportbug/ui/gtk2_ui.py     2017-04-18 21:12:02.000000000 
-0400
+++ reportbug-7.1.7/reportbug/ui/gtk2_ui.py     2017-05-29 16:00:17.000000000 
-0400
@@ -57,7 +57,6 @@
 
 import sys
 import re
-import os
 import traceback
 from queue import Queue
 import threading
Binary files 
/tmp/1d7AWlZJLo/reportbug-7.1.6/reportbug/ui/__pycache__/gtk2_ui.cpython-35.pyc 
and 
/tmp/1IujpqUNfa/reportbug-7.1.7/reportbug/ui/__pycache__/gtk2_ui.cpython-35.pyc 
differ
diff -Nru reportbug-7.1.6/reportbug/utils.py reportbug-7.1.7/reportbug/utils.py
--- reportbug-7.1.6/reportbug/utils.py  2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/reportbug/utils.py  2017-05-29 16:00:17.000000000 -0400
@@ -92,11 +92,11 @@
                    '/usr/man', '/usr/doc', '/usr/bin']
 
 # A map between codenames and suites
-CODENAME2SUITE = {'squeeze': 'oldoldstable',
-                'wheezy': 'oldstable',
-                'jessie': 'stable',
-                'stretch': 'testing',
-                'buster': 'next-testing',
+CODENAME2SUITE = {'wheezy': 'oldoldstable',
+                'jessie': 'oldstable',
+                'stretch': 'stable',
+                'buster': 'testing',
+                'bullseye': 'next-testing',
                 'sid': 'unstable',
                 'experimental': 'experimental'}
 SUITE2CODENAME = dict([(suite, codename) for codename, suite in 
list(CODENAME2SUITE.items())])
@@ -130,7 +130,7 @@
     if d:
         return realpath(filename)
 
-    path = os.environ.get("PATH", os.defpath).split('/')
+    path = os.environ.get("PATH", os.defpath).split(':')
     for d in pathdirs:
         if d not in path:
             path.append(d)
@@ -338,7 +338,7 @@
     statusre = re.compile('Status: ')
     originre = re.compile('Origin: ')
     bugsre = re.compile('Bugs: ')
-    descre = re.compile('Description(?:-.*)?: ')
+    descre = re.compile('Description(?:-[a-zA-Z]+)?: ')
     fullre = re.compile(' ')
     srcre = re.compile('Source: ')
     sectionre = re.compile('Section: ')
@@ -351,6 +351,7 @@
     recommends = []
     suggests = []
     confmode = False
+    descmode = False
     state = ''
 
     try:
@@ -361,7 +362,7 @@
     packarg = pipes.quote(package)
     if avail:
         output = get_command_output(
-            "COLUMNS=79 dpkg --print-avail %s 2>/dev/null" % packarg)
+            "LC_ALL=C.UTF-8 apt-cache show %s 2>/dev/null" % packarg)
     else:
         output = get_command_output(
             "COLUMNS=79 dpkg --status %s 2>/dev/null" % packarg)
@@ -371,12 +372,18 @@
         if not line:
             continue
 
+        if descmode:
+            if line[0] == ' ':
+                fulldesc.append(line)
+            else:
+                descmode = False
+
         if confmode:
             if line[:2] != ' /':
                 confmode = False
             else:
                 # re is used to identify also conffiles with spaces in the name
-                conffiles = conffiles + [re.findall(r' (.+) ([0-9a-f]+).*$', 
line)[0]]
+                conffiles += re.findall(r' (.+) ([0-9a-f]+).*$', line)
 
         if versionre.match(line):
             (crud, pkgversion) = line.split(": ", 1)
@@ -392,6 +399,7 @@
             (crud, bugs) = line.split(": ", 1)
         elif descre.match(line):
             (crud, desc) = line.split(": ", 1)
+            descmode = True
         elif dependsre.match(line):
             (crud, thisdepends) = line.split(": ", 1)
             # Remove versioning crud
@@ -419,8 +427,6 @@
             src_name = src_name.split()[0]
         elif sectionre.match(line):
             crud, section = line.split(": ", 1)
-        elif desc and line[0] == ' ':
-            fulldesc.append(line)
 
     installed = False
     if status:
@@ -519,7 +525,7 @@
 
 def available_package_description(package):
     data = get_command_output('apt-cache show ' + pipes.quote(package))
-    descre = re.compile('^Description(?:-.*)?: (.*)$')
+    descre = re.compile('^Description(?:-[a-zA-Z]+)?: (.*)$')
     for line in data.split('\n'):
         m = descre.match(line)
         if m:
@@ -593,7 +599,7 @@
     packob = re.compile('^Package: (?P<pkg>.*)$', re.MULTILINE)
     statob = re.compile('^Status: (?P<stat>.*)$', re.MULTILINE)
     versob = re.compile('^Version: (?P<vers>.*)$', re.MULTILINE)
-    descob = re.compile('^Description(?:-.*)?: (?P<desc>.*)$', re.MULTILINE)
+    descob = re.compile('^Description(?:-[a-zA-Z]+)?: (?P<desc>.*)$', 
re.MULTILINE)
 
     ret = []
     for p in packinfo:
@@ -655,6 +661,8 @@
 
     dependencies = []
     for dep in depends:
+        # drop possible architecture qualifier from package names
+        dep = [d.split(':')[0] for d in dep]
         for bit in dep:
             dependencies.append((tuple(dep), bit))
 
@@ -783,11 +791,11 @@
 
 
 def lsb_release_info():
-    return get_command_output('lsb_release -a 2>/dev/null') + '\n'
+    return get_command_output('lsb_release -a 2>/dev/null')
 
 
 def get_arch():
-    arch = get_command_output('COLUMNS=79 dpkg --print-architecture 
2>/dev/null')
+    arch = get_command_output('COLUMNS=79 dpkg --print-architecture 
2>/dev/null').strip()
     if not arch:
         un = os.uname()
         arch = un[4]
@@ -1196,7 +1204,7 @@
         return
     (fd, fname) = TempFile()
     try:
-        for line in mbox:
+        for line in mbox.splitlines():
             fd.write(line)
         fd.close()
         if cmd is not None:
Binary files 
/tmp/1d7AWlZJLo/reportbug-7.1.6/test/__pycache__/test_utils.cpython-35.pyc and 
/tmp/1IujpqUNfa/reportbug-7.1.7/test/__pycache__/test_utils.cpython-35.pyc 
differ
diff -Nru reportbug-7.1.6/test/test_utils.py reportbug-7.1.7/test/test_utils.py
--- reportbug-7.1.6/test/test_utils.py  2017-04-18 21:12:02.000000000 -0400
+++ reportbug-7.1.7/test/test_utils.py  2017-05-29 16:00:17.000000000 -0400
@@ -8,7 +8,6 @@
 import debianbts
 import mock
 import subprocess
-import subprocess
 
 
 class TestUtils(unittest.TestCase):

Reply via email to