Update of /cvsroot/fink/experimental/beren12/finkinfo/devel
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12536

Modified Files:
        reportbug.info reportbug.patch 
Log Message:
ok, works well during testing...checking in


Index: reportbug.info
===================================================================
RCS file: /cvsroot/fink/experimental/beren12/finkinfo/devel/reportbug.info,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- reportbug.info      12 Oct 2004 17:46:37 -0000      1.4
+++ reportbug.info      22 Oct 2004 00:06:15 -0000      1.5
@@ -1,9 +1,9 @@
 Package: reportbug
-Version: 2.99.5
+Version: 2.99.6
 Revision: 1
 Source: mirror:debian:/pool/main/r/%n/%n_%v.tar.gz
 SourceDirectory: %n
-PatchScript: sed -e s,@FINKPREFIX@,%p, %a/%n.patch | patch -p1
+PatchScript: sed -e s,@FINKPREFIX@,%p,g %a/%n.patch | patch -p1
 Depends: python23
 CompileScript: <<
   echo :-P~
@@ -47,8 +47,6 @@
 
 DocFiles: TODO debian/NEWS debian/changelog debian/copyright README.developers
 PostInstScript: <<
-#!/bin/sh -e
-
 # postinst script for Debian python packages.
 # Written 1998 by Gregor Hoffleit <[EMAIL PROTECTED]>.
 #
@@ -79,8 +77,6 @@
 <<
 
 PreRmScript: <<
-#!/bin/sh -e
-#
 # sample prerm script for Debian python packages.
 # Written 1998 by Gregor Hoffleit <[EMAIL PROTECTED]>.
 #
@@ -118,4 +114,4 @@
 License: GPL
 Maintainer: Chris Zubrzycki <[EMAIL PROTECTED]>
 Homepage: http://packages.qa.debian.org/r/reportbug.html
-Source-MD5: c0a2bccadcd3676666b70a217669f39b
+Source-MD5: 63b8955dbc0b57c09d61a6bc1a054adb

Index: reportbug.patch
===================================================================
RCS file: /cvsroot/fink/experimental/beren12/finkinfo/devel/reportbug.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- reportbug.patch     13 Oct 2004 16:38:46 -0000      1.3
+++ reportbug.patch     22 Oct 2004 00:06:15 -0000      1.4
@@ -1,4 +1,4 @@
-diff -ruN reportbug/README.developers reportbug.new/README.developers
+diff -ruN -x *~ reportbug/README.developers reportbug.new/README.developers
 --- reportbug/README.developers        Fri Oct  1 04:09:29 2004
 +++ reportbug.new/README.developers    Sat Oct  9 22:48:23 2004
 @@ -10,7 +10,7 @@
@@ -69,7 +69,7 @@
  handling script written in Python.  You can also write bug handlers in
  many other languages that allow direct access to file descriptors,
  including Perl and C/C++.
-diff -ruN reportbug/checkbuildd.py reportbug.new/checkbuildd.py
+diff -ruN -x *~ reportbug/checkbuildd.py reportbug.new/checkbuildd.py
 --- reportbug/checkbuildd.py   Wed Feb  4 23:29:10 2004
 +++ reportbug.new/checkbuildd.py       Sat Oct  9 22:59:13 2004
 @@ -26,7 +26,7 @@
@@ -91,7 +91,7 @@
      except NoNetwork:
          return {}
      if not page:
-diff -ruN reportbug/checkversions.py reportbug.new/checkversions.py
+diff -ruN -x *~ reportbug/checkversions.py reportbug.new/checkversions.py
 --- reportbug/checkversions.py Thu Sep 30 05:20:46 2004
 +++ reportbug.new/checkversions.py     Sat Oct  9 23:00:37 2004
 @@ -125,7 +125,7 @@
@@ -103,7 +103,7 @@
  
      try:
          page = open_url(PACKAGES_URL % package, http_proxy)
-diff -ruN reportbug/debian/copyright reportbug.new/debian/copyright
+diff -ruN -x *~ reportbug/debian/copyright reportbug.new/debian/copyright
 --- reportbug/debian/copyright Wed Feb  4 23:29:12 2004
 +++ reportbug.new/debian/copyright     Tue Oct 12 00:16:51 2004
 @@ -23,4 +23,4 @@
@@ -112,7 +112,7 @@
  The "handle_bugscript" script is subject to the GNU General Public
 -License.  See /usr/share/common-licenses/GPL.
 +License.  See @FINKPREFIX@/share/common-licenses/GPL.
-diff -ruN reportbug/debian/install-sed reportbug.new/debian/install-sed
+diff -ruN -x *~ reportbug/debian/install-sed reportbug.new/debian/install-sed
 --- reportbug/debian/install-sed       Mon Jul 12 14:30:56 2004
 +++ reportbug.new/debian/install-sed   Tue Oct 12 10:51:14 2004
 @@ -4,5 +4,5 @@
@@ -122,21 +122,9 @@
 -    sed -f sed-script < $filename > `pwd`/debian/reportbug/$dir/$filename
 +    sed -f sed-script < $filename > $dir/$filename
  done
-diff -ruN reportbug/debian/install-sed~ reportbug.new/debian/install-sed~
---- reportbug/debian/install-sed~      Wed Dec 31 19:00:00 1969
-+++ reportbug.new/debian/install-sed~  Mon Jul 12 14:30:56 2004
-@@ -0,0 +1,8 @@
-+#!/bin/sh
-+
-+dir=$1
-+shift
-+
-+for filename in $@; do
-+    sed -f sed-script < $filename > `pwd`/debian/reportbug/$dir/$filename
-+done
-diff -ruN reportbug/debianbts.py reportbug.new/debianbts.py
+diff -ruN -x *~ reportbug/debianbts.py reportbug.new/debianbts.py
 --- reportbug/debianbts.py     Fri Oct  1 04:12:02 2004
-+++ reportbug.new/debianbts.py Wed Oct 13 10:00:07 2004
++++ reportbug.new/debianbts.py Thu Oct 21 15:42:52 2004
 @@ -40,7 +40,7 @@
      'grave' : """makes the package in question unusable by most or all users,
      or causes data loss, or introduces a security hole allowing access 
@@ -146,13 +134,14 @@
      the problem is a violation of a 'must' or 'required' directive);
      may or may not affect the usability of the package.  Note that non-severe
      policy violations may be 'normal,' 'minor,' or 'wishlist' bugs.
-@@ -131,39 +131,25 @@
+@@ -131,39 +131,45 @@
      else:
          return severity
  
 -# These packages are virtual in Debian; we don't look them up...
+-debother = {
 +# These packages are virtual in Fink; we don't look them up...
- debother = {
++finkother = {
      'base' : 'General bugs in the base system',
 -# Actually a real package, but most people don't have boot-floppies installed for 
good reason
 -    'boot-floppy' : '(Obsolete, please use boot-floppies instead.)',
@@ -165,7 +154,6 @@
 -    'ftp.debian.org' : 'Problems with the FTP site',
 +    'bugs.finkproject.org' : 'The bug tracking system, @bugs.finkproject.org',
 +    'fink-policy' : 'Proposed changes in the Fink policy documentation',
-+    'ftp.finkproject.org' : 'Problems with the FTP site',
      'general' : 'General problems (e.g., that many manpages are mode 755)',
 -    'install' : 'Problems with the sarge installer.',
 +    'install' : 'Problems with the fink installer.',
@@ -186,7 +174,28 @@
 -    'security.debian.org' : 'Problems with the security updates server',
 -    'wnpp' : 'Work-Needing and Prospective Packages list',
 -    'www.debian.org' : 'Problems with the WWW site (including other *.debian.org 
sites)'
-+    'fink.sourceforge.net' : 'Problems with the WWW site (including other 
*.finkproject.org sites)'
++    'fink.sourceforge.net' : 'Problems with the WWW site (including other 
*.finkproject.org sites)',
++    'broken-gcc' : 'Problems with the broken-gcc virtual package',
++    'cctools' : 'Problems with the cctools virtual package',
++    'cctools-single-module' : 'Problems with the cctools-single-module virtual 
package',
++    'darwin' : 'Problems with the darwin virtual package',
++    'gcc2' : 'Problems with the gcc2 virtual package',
++    'gcc2.95' : 'Problems with the gcc2.95 virtual package',
++    'gcc3.1' : 'Problems with the gcc3.1 virtual package',
++    'gcc3.3' : 'Problems with the gcc3.3 virtual package',
++    'gimp-print-shlibs' : 'Problems with the gimp-print-shlibs virtual package',
++    'macosx' : 'Problems with the macosx virtual package',
++    'system-java' : 'Problems with the system-java virtual package',
++    'system-java-dev' : 'Problems with the system-java-dev virtual package',
++    'system-java12' : 'Problems with the system-java12 virtual package',
++    'system-java13' : 'Problems with the system-java13 virtual package',
++    'system-java13-dev' : 'Problems with the system-java13-dev virtual package',
++    'system-java14' : 'Problems with the system-java14 virtual package',
++    'system-java14-dev' : 'Problems with the system-java14-dev virtual package',
++    'system-java15' : 'Problems with the system-java15 virtual package',
++    'system-java3d' : 'Problems with the system-java3d virtual package',
++    'system-javaai' : 'Problems with the system-javaai virtual package',
++    'system-perl' : 'Problems with the system-perl virtual package',
      }
  
  progenyother = {
@@ -195,7 +204,7 @@
      }
  
  def handle_wnpp(package, bts, ui, online=True, http_proxy=None):
-@@ -184,7 +170,7 @@
+@@ -184,7 +190,7 @@
          'ITP' :
          "This is an `Intent To Package'. Please submit a package description along 
with copyright and URL in such a report.",
          'RFP' :
@@ -204,7 +213,7 @@
          }, 'Choose the request type: ', empty_ok=True)
      if not tag:
          ui.long_message('To report a bug in a package, use the name of the package, 
not wnpp.\n')
-@@ -223,9 +209,9 @@
+@@ -223,9 +229,9 @@
              return
  
          if tag == 'ITP':
@@ -217,7 +226,7 @@
  
          body = """* Package name    : %s
    Version         : x.y.z
-@@ -262,9 +248,9 @@
+@@ -262,9 +268,9 @@
              severity = 'important'
  
          if tag == 'RFH':
@@ -230,7 +239,7 @@
  
          if fulldesc:
              orphstr = 'intend to orphan'
-@@ -287,17 +273,14 @@
+@@ -287,17 +293,14 @@
  # Supported servers
  # Theoretically support for GNATS and Jitterbug could be added here.
  
@@ -243,7 +252,7 @@
                'query-dpkg' : 1, 'type' : 'debbugs',
 -              'otherpkgs' : debother, 'nonvirtual' : ['kernel-image'],
 -              'specials' : { 'wnpp': handle_wnpp },
-+              'otherpkgs' : debother, 
++              'otherpkgs' : finkother, 
 +              #'specials' : { 'wnpp': handle_wnpp },
                # Dependency packages
 -              'deppkgs' : ('gcc', 'g++', 'cpp', 'gcj', 'gpc', 'gobjc',
@@ -254,7 +263,7 @@
                'mirrors' : {} },
              'kde' :
              { 'name' : 'KDE Project', 'email': '[EMAIL PROTECTED]',
-@@ -350,7 +333,7 @@
+@@ -350,7 +353,7 @@
  CLASSLIST = ['sw-bug', 'doc-bug', 'change-request']
  
  CRITICAL_TAGS = {
@@ -263,7 +272,7 @@
  }
  
  TAGS = {
-@@ -361,12 +344,12 @@
+@@ -361,12 +364,12 @@
  ##    'sarge' : 'This bug only applies to the sarge release (Debian 3.1).',
  ##    'sid' : 'This bug only applies to the unstable branch of Debian.',
      'experimental' : 'This bug only applies to a package in the experimental '
@@ -278,7 +287,7 @@
  
  TAGLIST = ['l10n', 'patch', 'experimental']
  CRITICAL_TAGLIST = ['security']
-@@ -432,7 +415,7 @@
+@@ -432,7 +435,7 @@
      return type, loc
  
  # Dynamically add any additional systems found
@@ -287,7 +296,7 @@
      try:
          fp = file(origin)
          system = os.path.basename(origin)
-@@ -613,7 +596,7 @@
+@@ -613,7 +616,7 @@
  
      return (title, output)
  
@@ -296,7 +305,7 @@
                      source=False):
      page = open_url(cgi_package_url(system, package, archived, source),
                      http_proxy)
-@@ -630,7 +613,7 @@
+@@ -630,7 +633,7 @@
  
      return parser.bugcount, parser.title, parser.hierarchy
  
@@ -305,7 +314,7 @@
                     followups=False):
      number = int(number)
  
-@@ -645,7 +628,7 @@
+@@ -645,7 +648,7 @@
                  return alternates[mirror]
      return SYSTEMS[system]['btsroot']
  
@@ -314,7 +323,7 @@
                  http_proxy='', archived=False, source=False):
      if isinstance(package, StringTypes):
          if SYSTEMS[system]['cgiroot']:
-@@ -685,7 +668,7 @@
+@@ -685,7 +688,7 @@
  
      return bugcount, title, hierarchy
  
@@ -323,692 +332,7 @@
                 http_proxy='', archived=False, followups=False):
      number = int(number)
      if SYSTEMS[system]['cgiroot']:
-diff -ruN reportbug/debianbts.py~ reportbug.new/debianbts.py~
---- reportbug/debianbts.py~    Wed Dec 31 19:00:00 1969
-+++ reportbug.new/debianbts.py~        Wed Oct 13 09:58:25 2004
-@@ -0,0 +1,681 @@
-+#
-+# debianbts.py - Routines to deal with the debbugs web pages
-+#
-+#   Written by Chris Lawrence <[EMAIL PROTECTED]>
-+#   (C) 1999-2004 Chris Lawrence
-+#
-+# This program is freely distributable per the following license:
-+#
-+##  Permission to use, copy, modify, and distribute this software and its
-+##  documentation for any purpose and without fee is hereby granted,
-+##  provided that the above copyright notice appears in all copies and that
-+##  both that copyright notice and this permission notice appear in
-+##  supporting documentation.
-+##
-+##  I DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
-+##  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL I
-+##  BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
-+##  DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-+##  WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-+##  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-+##  SOFTWARE.
-+#
-+# Version ##VERSION##; see changelog for revision history
-+#
-+# $Id$
-+
-+import sgmllib, glob, os, re, reportbug, rfc822, time, urllib, checkversions
-+from urlutils import open_url
-+from types import StringTypes
-+import sys
-+
-+class Error(Exception):
-+    pass
-+
-+# Severity levels
-+SEVERITIES = {
-+    'critical' : """makes unrelated software on the system (or the
-+    whole system) break, or causes serious data loss, or introduces a
-+    security hole on systems where you install the package.""",
-+    'grave' : """makes the package in question unusable by most or all users,
-+    or causes data loss, or introduces a security hole allowing access 
-+    to the accounts of users who use the package.""",
-+    'serious' : """is a severe violation of Fink policy (that is,
-+    the problem is a violation of a 'must' or 'required' directive);
-+    may or may not affect the usability of the package.  Note that non-severe
-+    policy violations may be 'normal,' 'minor,' or 'wishlist' bugs.
-+    (Package maintainers may also designate other bugs as 'serious' and thus
-+    release-critical; however, end users should not do so.)""",
-+    'important' : """a bug which has a major effect on the usability
-+    of a package, without rendering it completely unusable to
-+    everyone.""",
-+    'does-not-build' : """a bug that stops the package from being built
-+    from source.  (This is a 'virtual severity'.)""",
-+    'normal' : """a bug that does not undermine the usability of the
-+    whole package; for example, a problem with a particular option or
-+    menu item.""",
-+    'minor' : """things like spelling mistakes and other minor
-+    cosmetic errors that do not affect the core functionality of the
-+    package.""",
-+    'wishlist' : "suggestions and requests for new features.",
-+    }
-+
-+# justifications for critical bugs
-+JUSTIFICATIONS = {
-+    'critical' : (
-+    ('breaks unrelated software', """breaks unrelated software on the system
-+    (packages that have a dependency relationship are not unrelated)"""),
-+    ('breaks the whole system', """renders the entire system unusable (e.g.,
-+    unbootable, unable to reach a multiuser runlevel, etc.)"""),
-+    ('causes serious data loss', """causes loss of important, irreplaceable
-+    data"""),
-+    ('root security hole', """introduces a security hole allowing access to
-+    root (or another privileged system account), or data normally
-+    accessible only by such accounts"""),
-+    ('unknown', """not sure, or none of the above"""),
-+    ),
-+    'grave' : (
-+    ('renders package unusable', """renders the package unusable, or mostly
-+    so, on all or nearly all possible systems on which it could be installed
-+    (i.e., not a hardware-specific bug); or renders package uninstallable
-+    or unremovable without special effort"""),
-+    ('causes non-serious data loss', """causes the loss of data on the system
-+    that is unimportant, or restorable without resorting to backup media"""),
-+    ('user security hole', """introduces a security hole allowing access to
-+    user accounts or data not normally accessible"""),
-+    ('unknown', """not sure, or none of the above"""),
-+    )
-+    }
-+
-+
-+# Ordering for justifications
-+JUSTORDER = {
-+    'critical' :  ['breaks unrelated software',
-+                   'breaks the whole system',
-+                   'causes serious data loss',
-+                   'root security hole',
-+                   'unknown'],
-+    'grave' : ['renders package unusable',
-+               'causes non-serious data loss',
-+               'user security hole',
-+               'unknown']
-+    }
-+
-+SEVERITIES_gnats = {
-+    'critical' : 'The product, component or concept is completely'
-+    'non-operational or some essential functionality is missing.  No'
-+    'workaround is known.',
-+    'serious' : 'The product, component or concept is not working'
-+    'properly or significant functionality is missing.  Problems that'
-+    'would otherwise be considered ''critical'' are rated ''serious'' when'
-+    'a workaround is known.',
-+    'non-critical' : 'The product, component or concept is working'
-+    'in general, but lacks features, has irritating behavior, does'
-+    'something wrong, or doesn''t match its documentation.',
-+    }
-+
-+# Rank order of severities, for sorting
-+SEVLIST = ['critical', 'grave', 'serious', 'important', 'does-not-build',
-+           'normal', 'non-critical', 'minor', 'wishlist', 'fixed']
-+
-+def convert_severity(severity, type='debbugs'):
-+    "Convert severity names if needed."
-+    if type == 'debbugs':
-+        return {'non-critical' : 'normal'}.get(severity, severity)
-+    elif type == 'gnats':
-+        return {'grave' : 'critical',
-+                'important' : 'serious',
-+                'normal' : 'non-critical',
-+                'minor' : 'non-critical',
-+                'wishlist' : 'non-critical'}.get(severity, severity)
-+    else:
-+        return severity
-+
-+# These packages are virtual in Fink; we don't look them up...
-+debother = {
-+    'base' : 'General bugs in the base system',
-+    'bugs.finkproject.org' : 'The bug tracking system, @bugs.finkproject.org',
-+    'fink-policy' : 'Proposed changes in the Fink policy documentation',
-+    'ftp.finkproject.org' : 'Problems with the FTP site',
-+    'general' : 'General problems (e.g., that many manpages are mode 755)',
-+    'install' : 'Problems with the fink installer.',
-+    'installation' : 'General installation problems not covered otherwise.',
-+    'listarchives' :  'Problems with the WWW mailing list archives',
-+    'lists.finkproject.org' : 'The mailing lists, [EMAIL PROTECTED]',
-+    'mirrors' : 'Problems with Fink archive mirrors.',
-+    'press' : 'Press release issues',
-+    'project' : 'Problems related to Project administration',
-+    'fink.sourceforge.net' : 'Problems with the WWW site (including other 
*.finkproject.org sites)'
-+    }
-+
-+progenyother = {
-+    'fink-general' : 'Any non-package-specific bug',
-+    }
-+
-+def handle_wnpp(package, bts, ui, online=True, http_proxy=None):
-+    desc = body = ''
-+    headers = []
-+    query = True
-+    
-+    tag = ui.menu('What sort of request is this?  (If none of these '
-+                  'things mean anything to you, or you are trying to report '
-+                  'a bug in an existing package, please press Enter to '
-+                  'exit reportbug.)', {
-+        'O' :
-+        "The package has been `Orphaned'. It needs a new maintainer as soon as 
possible.",
-+        'RFA' :
-+        "This is a `Request for Adoption'. Due to lack of time, resources, interest 
or something similar, the current maintainer is asking for someone else to maintain 
this package. He/she will maintain it in the meantime, but perhaps not in the best 
possible way. In short: the package needs a new maintainer.",
-+        'RFH' :
-+        "This is a `Request For Help'. The current maintainer wants to continue to 
maintain this package, but he/she needs some help to do this, because his/her time is 
limited or the package is quite big and needs several maintainers.",
-+        'ITP' :
-+        "This is an `Intent To Package'. Please submit a package description along 
with copyright and URL in such a report.",
-+        'RFP' :
-+        "This is a `Request For Package'. You have found an interesting piece of 
software and would like someone else to maintain it for Fink. Please submit a package 
description along with copyright and URL in such a report.",
-+        }, 'Choose the request type: ', empty_ok=True)
-+    if not tag:
-+        ui.long_message('To report a bug in a package, use the name of the package, 
not wnpp.\n')
-+        raise SystemExit
-+
-+    if tag in ('RFP', 'ITP'):
-+        prompt = 'Please enter the proposed package name: '
-+    else:
-+        prompt = 'Please enter the name of the package: '
-+    package = ui.get_string(prompt)
-+    if not package: return
-+
-+    ui.ewrite('Checking status database...\n')
-+    info = reportbug.get_package_status(package)
-+    available = info[1]
-+
-+    severity = 'normal'
-+    if tag in ('ITP', 'RFP'):
-+        if available and (not online or checkversions.check_available(
-+            package, '0', http_proxy=http_proxy)):
-+            if not ui.yes_no(
-+                ('A package called %s already appears to exist (at least on '
-+                 'your system); continue?' % package),
-+                'Ignore this problem and continue.  If you have '
-+                'already locally created a package with this name, this '
-+                'warning message may have been produced in error.',
-+                'Exit without filing a report.', default=0):
-+                sys.exit(1)
-+            
-+        severity = 'wishlist'
-+
-+        desc = ui.get_string(
-+            'Please briefly describe this package; this should be an '
-+            'appropriate short description for the eventual package: ')
-+        if not desc:
-+            return
-+
-+        if tag == 'ITP':
-+            headers.append('X-Debbugs-CC: [EMAIL PROTECTED]')
-+            ui.ewrite('Your report will be carbon-copied to fink-devel, '
-+                      'per Fink policy.\n')
-+
-+        body = """* Package name    : %s
-+  Version         : x.y.z
-+  Upstream Author : Name <[EMAIL PROTECTED]>
-+* URL             : http://www.example.org/
-+* License         : (GPL, LGPL, BSD, MIT/X, etc.)
-+  Description     : %s
-+
-+(Include the long description here.)
-+""" % (package, desc)
-+    elif tag in ('O', 'RFA', 'RFH'):
-+        severity = 'normal'
-+        query = False
-+        if not available:
-+            info = reportbug.get_source_package(package)
-+            if info:
-+                info = reportbug.get_package_status(info[0][0])
-+
-+        if not info:
-+            cont = ui.select_options(
-+                "This package doesn't appear to exist; continue?",
-+                'yN', {'y': 'Ignore this problem and continue.',
-+                       'n': 'Exit without filing a report.' })
-+            if cont == 'n':
-+                sys.exit(1)
-+            desc = fulldesc = ''
-+        else:
-+            desc = info[10] or ''
-+            package = info[11] or package
-+            fulldesc = info[12]
-+
-+        if tag == 'O' and info and info[9] in \
-+               ('required', 'important', 'standard'):
-+            severity = 'important'
-+
-+        if tag == 'RFH':
-+            headers.append('X-Debbugs-CC: [EMAIL PROTECTED]')
-+            ui.ewrite('Your request will be carbon-copied to fink-devel, '
-+                      'per Fink policy.\n')
-+
-+        if fulldesc:
-+            orphstr = 'intend to orphan'
-+            if tag == 'RFA':
-+                orphstr = 'request an adopter for'
-+            elif tag == 'RFH':
-+                orphstr = 'request assistance with maintaining'
-+                
-+            body = ('I %s the %s package.\n\n'
-+                    'The package description is:\n') % (orphstr, package)
-+            body = body + fulldesc + '\n'
-+        
-+    if desc:
-+        subject = '%s: %s -- %s' % (tag, package, desc)
-+    else:
-+        subject = '%s: %s' % (tag, package)
-+
-+    return (subject, severity, headers, body, query)
-+
-+# Supported servers
-+# Theoretically support for GNATS and Jitterbug could be added here.
-+
-+SYSTEMS = { 'fink' :
-+            { 'name' : 'Fink', 'email': '[EMAIL PROTECTED]',
-+              'btsroot' : 'http://bugs.finkproject.org'
-+              'query-dpkg' : 1, 'type' : 'debbugs',
-+              'otherpkgs' : debother, 
-+              #'specials' : { 'wnpp': handle_wnpp },
-+              # Dependency packages
-+              'cgiroot' : 'http://bugs.finkproject.org/cgi-bin/',
-+              'mirrors' : {} },
-+            'kde' :
-+            { 'name' : 'KDE Project', 'email': '[EMAIL PROTECTED]',
-+              'btsroot': 'http://bugs.kde.org/', 'type' : 'debbugs',
-+              'query-dpkg' : 1, 'otherpkgs' : {}, 'cgiroot' : None,
-+              'mirrors' : {} },
-+            'mandrake' :
-+            { 'name' : 'Linux-Mandrake', 'email': '[EMAIL PROTECTED]',
-+              'btsroot': None,
-+              'type' : 'debbugs', 'query-dpkg' : 0, 'otherpkgs' : {},
-+              'cgiroot' : None, 'mirrors' : {} },
-+            'gnome' :
-+            { 'name' : 'GNOME Project', 'email': '[EMAIL PROTECTED]',
-+              'type' : 'mailto', 'mirrors' : {}, 'cgiroot' : None,
-+              'query-dpkg' : 0, 'otherpkgs' : {} },
-+            'ximian' :
-+            { 'name' : 'Ximian', 'email': '[EMAIL PROTECTED]',
-+              'type' : 'mailto', 'mirrors' : {}, 'cgiroot' : None,
-+              'query-dpkg' : 1, 'otherpkgs' : {} },
-+            'progeny' :
-+            { 'name' : 'Progeny', 'email' : '[EMAIL PROTECTED]',
-+              'type' : 'gnats', 'mirrors' : {}, 'cgiroot' : None,
-+              'query-dpkg' : 1, 'otherpkgs' : progenyother },
-+            'ubuntu' :
-+            { 'name' : 'Ubuntu',
-+              'email' : '[EMAIL PROTECTED]',
-+              'type' : 'mailto', 'mirrors' : {}, 'cgiroot' : None,
-+              'query-dpkg' : 1, 'otherpkgs' : {} },
-+            'guug' :
-+            { 'name' : 'GUUG (German Unix User Group)',
-+              'email' : '[EMAIL PROTECTED]',
-+              'type' : 'debbugs', 'mirrors' : {}, 'cgiroot' : None,
-+              'query-dpkg' : 0, 'otherpkgs' : {} },
-+            }
-+
-+SYSTEMS['helixcode'] = SYSTEMS['ximian']
-+
-+CLASSES = {
-+    'sw-bug' : 'The problem is a bug in the software or code.  For'
-+    'example, a crash would be a sw-bug.',
-+    'doc-bug' : 'The problem is in the documentation.  For example,'
-+    'an error in a man page would be a doc-bug.',
-+    'change-request' : 'You are requesting a new feature or a change'
-+    'in the behavior of software, or are making a suggestion.  For'
-+    'example, if you wanted reportbug to be able to get your local'
-+    'weather forecast, as well as report bugs, that would be a'
-+    'change-request.',
-+    }
-+
-+CLASSLIST = ['sw-bug', 'doc-bug', 'change-request']
-+
-+CRITICAL_TAGS = {
-+    'security' : 'This problem is a security vulnerability in Fink.',
-+}
-+
-+TAGS = {
-+    'patch' : 'You are including a patch to fix this problem.',
-+##    'upstream' : 'You believe this problem is not specific to Debian.',
-+##    'potato' : 'This bug only applies to the potato release (Debian 2.2).',
-+##    'woody' : 'This bug only applies to the woody release (Debian 3.0).',
-+##    'sarge' : 'This bug only applies to the sarge release (Debian 3.1).',
-+##    'sid' : 'This bug only applies to the unstable branch of Debian.',
-+    'experimental' : 'This bug only applies to a package in the experimental '
-+    'branch of Fink.',
-+    "l10n" : "This bug reports a localization/internationalization issue.",
-+##    'done' : 'No more tags.',
-+    }
-+
-+EXTRA_TAGS = ['stable', 'unstable', 'upstream']
-+
-+TAGLIST = ['l10n', 'patch', 'experimental']
-+CRITICAL_TAGLIST = ['security']
-+
-+def yn_bool(setting):
-+    if setting:
-+        if str(setting) == 'no':
-+            return 'no'
-+        return 'yes'
-+    else:
-+        return 'no'
-+
-+def cgi_report_url(system, number, archived=False, mbox=False):
-+    root = SYSTEMS[system].get('cgiroot')
-+    if root:
-+        return '%sbugreport.cgi?bug=%d&archive=%s&mbox=%s' % (
-+            root, number, archived, yn_bool(mbox))
-+    return None
-+
-+def cgi_package_url(system, package, archived=False, source=False,
-+                    repeatmerged=True):
-+    root = SYSTEMS[system].get('cgiroot')
-+    if not root: return None
-+    
-+    package = urllib.quote_plus(package.lower())
-+    qtype = "pkg"
-+    if source:
-+        qtype = "src"
-+        
-+    repeat = yn_bool(repeatmerged)
-+    archive = yn_bool(archived)
-+
-+    return 
'%spkgreport.cgi?%s=%s&archive=%s&repeatmerged=%s&show_list_header=no&show_list_footer=no'
 % (root, qtype, package, archive, repeat)
-+
-+def package_url(system, package, mirrors=None, source=False,
-+                repeatmerged=True):
-+    btsroot=get_btsroot(system, mirrors)
-+    package = urllib.quote_plus(package.lower())
-+    return btsroot+('db/pa/l%s.html' % package) 
-+
-+def report_url(system, number, mirrors=None):
-+    number = str(number)
-+    if len(number) < 2: return None
-+    btsroot=get_btsroot(system, mirrors)
-+    return btsroot+('db/%s/%s.html' % (number[:2], number))
-+
-+def get_package_url(system, package, mirrors=None, source=False,
-+                    archived=False, repeatmerged=True):
-+    return (cgi_package_url(system, package, archived, source, repeatmerged) or
-+            package_url(system, package, mirrors, source, repeatmerged))
-+
-+def get_report_url(system, number, mirrors=None, archived=False, mbox=False):
-+    return (cgi_report_url(system, number, archived, mbox) or
-+            report_url(system, number, mirrors))
-+
-+def parse_bts_url(url):
-+    bits = url.split(':', 1)
-+    if len(bits) != 2: return None
-+
-+    type, loc = bits
-+    if loc.startswith('//'): loc = loc[2:]
-+    while loc.endswith('/'): loc = loc[:-1]
-+    return type, loc
-+
-+# Dynamically add any additional systems found
-+for origin in glob.glob('@FINKPREFIX@/etc/dpkg/origins/*'):
-+    try:
-+        fp = file(origin)
-+        system = os.path.basename(origin)
-+        SYSTEMS[system] = SYSTEMS.get(system, { 'otherpkgs' : {},
-+                                                'query-dpkg' : 1,
-+                                                'mirrors' : {},
-+                                                'cgiroot' : None } )
-+        for line in fp:
-+            try:
-+                (header, content) = line.split(': ', 1)
-+                header = header.lower()
-+                content = content.strip()
-+                if header == 'vendor':
-+                    SYSTEMS[system]['name'] = content
-+                elif header == 'bugs':
-+                    (type, root) = parse_bts_url(content)
-+                    SYSTEMS[system]['type'] = type
-+                    if type == 'debbugs':
-+                        SYSTEMS[system]['btsroot'] = 'http://'+root+'/'
-+                        SYSTEMS[system]['email'] = '%s@'+root
-+                    elif type == 'mailto':
-+                        SYSTEMS[system]['btsroot'] = None
-+                        SYSTEMS[system]['email'] = root
-+                    else:
-+                        # We don't know what to do...
-+                        pass
-+            except ValueError:
-+                pass
-+        fp.close()
-+    except IOError:
-+        pass
-+
-+# For summary pages, we want to keep:
-+#
-+# - Contents of <title>...</title>
-+# - Contents of <h2>...</h2>
-+# - Contents of each <li>
-+#
-+# For individual bugs, we want to keep:
-+# - Contents of <title>...</title>
-+# - Contents of every <pre>...</pre> after a <h2>....</h2> tag.
-+
-+class BTSParser(sgmllib.SGMLParser):
-+    def __init__(self, mode='summary', cgi=False, followups=False):
-+        sgmllib.SGMLParser.__init__(self)
-+        self.hierarchy = []
-+        self.lidata = None
-+        self.lidatalist = None
-+        self.savedata = None
-+        self.title = None
-+        self.bugcount = 0
-+        self.mode = mode
-+        self.cgi = cgi
-+        self.followups = followups
-+        if followups:
-+            self.preblock = []
-+        else:
-+            self.preblock = ''
-+        self.endh2 = False
-+
-+    # --- Formatter interface, taking care of 'savedata' mode;
-+    # shouldn't need to be overridden
-+
-+    def handle_data(self, data):
-+        if self.savedata is not None:
-+            self.savedata = self.savedata + data
-+
-+    # --- Hooks to save data; shouldn't need to be overridden
-+
-+    def save_bgn(self):
-+        self.savedata = ''
-+
-+    def save_end(self, mode=False):
-+        data = self.savedata
-+        self.savedata = None
-+        if not mode: data = ' '.join(data.split())
-+        return data
-+
-+    def check_li(self):
-+        if self.mode == 'summary':
-+            data = self.save_end()
-+            if data:
-+                self.lidatalist.append(data)
-+                self.bugcount = self.bugcount + 1
-+
-+            self.lidata = False
-+
-+    def start_h1(self, attrs):
-+        self.save_bgn()
-+        self.oldmode = self.mode
-+        self.mode = 'title'
-+
-+    def end_h1(self):
-+        self.title = self.save_end()
-+        self.mode = self.oldmode
-+
-+    def start_h2(self, attrs):
-+        if self.lidata: self.check_li()
-+
-+        self.save_bgn()
-+
-+    def end_h2(self):
-+        if self.mode == 'summary':
-+            self.hierarchy.append( (self.save_end(), []) )
-+        self.endh2 = True # We are at the end of a title, flag <pre>
-+
-+    def do_br(self, attrs):
-+        if self.lidata and self.mode == 'summary': self.check_li()
-+
-+        if self.mode == 'title':
-+            self.savedata = ""
-+        
-+    def do_li(self, attrs):
-+        if self.mode == 'summary':
-+            if self.lidata: self.check_li()
-+
-+            self.lidata = True
-+            if self.hierarchy:
-+                self.lidatalist = self.hierarchy[-1][1]
-+            else:
-+                self.lidatalist = []
-+            self.save_bgn()
-+
-+    def start_pre(self, attrs):
-+        "Save <pre> when we follow a </h2>"
-+        if self.followups:
-+            if not self.endh2: return
-+        else:
-+            if self.cgi and self.preblock: return
-+        
-+        self.save_bgn()
-+
-+    def end_pre(self):
-+        if self.followups:
-+            if not self.endh2: return
-+            self.endh2 = False        # Done with a report, reset </h2>.
-+            stuff = self.save_end(1)
-+            if not self.cgi:
-+                self.preblock.insert(0, stuff)
-+            else:
-+                self.preblock.append(stuff)
-+        elif not (self.preblock and self.cgi):
-+            self.preblock = self.save_end(1)
-+
-+def parse_html_report(number, url, http_proxy, followups=False, cgi=True):
-+    page = open_url(url, http_proxy)
-+    if not page:
-+        return None
-+
-+    content = page.read()
-+    parser = BTSParser(cgi=cgi, followups=followups)
-+    parser.feed(content)
-+    parser.close()
-+
-+    items = parser.preblock
-+    title = "#%d: %s" % (number, parser.title)
-+
-+    if not followups:
-+        items = [items]
-+
-+    output = []
-+    for stuff in items:
-+        parts = stuff.split('\n\n')
-+        match = re.search('^Date: (.*)$', parts[0], re.M | re.I)
-+        date_submitted = ''
-+        if match:
-+            date_submitted = 'Date: %s\n' % match.group(1)
-+
-+        stuff = ('\n\n'.join(parts[1:])).rstrip()
-+        if not stuff:
-+            continue
-+
-+        item = date_submitted+stuff+os.linesep
-+        output.append(item)
-+
-+    if not output:
-+        return None
-+
-+    return (title, output)
-+
-+def get_cgi_reports(package, system='fink', http_proxy='', archived=False,
-+                    source=False):
-+    page = open_url(cgi_package_url(system, package, archived, source),
-+                    http_proxy)
-+    if not page:
-+        return (0, None, None)
-+
-+    content = page.read()
-+    if 'Maintainer' not in content:
-+        return (0, None, None)
-+    
-+    parser = BTSParser(cgi=True)
-+    parser.feed(content)
-+    parser.close()
-+
-+    return parser.bugcount, parser.title, parser.hierarchy
-+
-+def get_cgi_report(number, system='fink', http_proxy='', archived=False,
-+                   followups=False):
-+    number = int(number)
-+
-+    url = cgi_report_url(system, number, archived='no')
-+    return parse_html_report(number, url, http_proxy, followups, cgi=True)
-+
-+def get_btsroot(system, mirrors=None):
-+    if mirrors:
-+        alternates = SYSTEMS[system]['mirrors']
-+        for mirror in mirrors:
-+            if alternates.has_key(mirror):
-+                return alternates[mirror]
-+    return SYSTEMS[system]['btsroot']
-+
-+def get_reports(package, system='fink', mirrors=None,
-+                http_proxy='', archived=False, source=False):
-+    if isinstance(package, StringTypes):
-+        if SYSTEMS[system]['cgiroot']:
-+            result = get_cgi_reports(package, system, http_proxy, archived,
-+                                     source)
-+            if result: return result
-+
-+        url = package_url(system, package, mirrors, source)
-+        page = open_url(url, http_proxy)
-+        if not page:
-+            return (0, None, None)
-+
-+        content = page.read()
-+        if 'Maintainer' not in content:
-+            return (0, None, None)
-+
-+        parser = BTSParser()
-+        parser.feed(content)
-+        parser.close()
-+
-+        return parser.bugcount, parser.title, parser.hierarchy
-+
-+    # A list of bug numbers
-+    this_hierarchy = []
-+    package = [int(x) for x in package]
-+    package.sort()
-+    for bug in package:
-+        result = get_report(bug, system, mirrors, http_proxy, archived)
-+        if result:
-+            title, body = result
-+            this_hierarchy.append(title)
-+            #print title
-+    
-+    title = "Multiple bug reports"
-+    bugcount = len(this_hierarchy)
-+    hierarchy = [('Reports', this_hierarchy)]
-+
-+    return bugcount, title, hierarchy
-+
-+def get_report(number, system='fink', mirrors=None,
-+               http_proxy='', archived=False, followups=False):
-+    number = int(number)
-+    if SYSTEMS[system]['cgiroot']:
-+        result = get_cgi_report(number, system, http_proxy, archived,followups)
-+        if result: return result
-+        
-+    url = report_url(system, number, mirrors)
-+    if not url: return None
-+
-+    return parse_html_report(number, url, http_proxy, followups, cgi=False)
-diff -ruN reportbug/querybts reportbug.new/querybts
+diff -ruN -x *~ reportbug/querybts reportbug.new/querybts
 --- reportbug/querybts Mon Mar 15 03:59:39 2004
 +++ reportbug.new/querybts     Sat Oct  9 23:35:38 2004
 @@ -1,4 +1,4 @@
@@ -1035,7 +359,7 @@
      archived = False
      http_proxy = interface = ''
      use_browser = source = False
-diff -ruN reportbug/reportbug reportbug.new/reportbug
+diff -ruN -x *~ reportbug/reportbug reportbug.new/reportbug
 --- reportbug/reportbug        Fri Oct  1 04:22:17 2004
 +++ reportbug.new/reportbug    Mon Oct 11 22:03:14 2004
 @@ -1,4 +1,4 @@
@@ -1270,7 +594,7 @@
      try:
          main()
      except KeyboardInterrupt:
-diff -ruN reportbug/reportbug.conf reportbug.new/reportbug.conf
+diff -ruN -x *~ reportbug/reportbug.conf reportbug.new/reportbug.conf
 --- reportbug/reportbug.conf   Fri Oct  1 03:32:12 2004
 +++ reportbug.new/reportbug.conf       Sat Oct  9 23:40:50 2004
 @@ -6,7 +6,7 @@
@@ -1291,7 +615,7 @@
  # should be OK with the default.
  # mta /usr/sbin/sendmail
  
-diff -ruN reportbug/reportbug.el reportbug.new/reportbug.el
+diff -ruN -x *~ reportbug/reportbug.el reportbug.new/reportbug.el
 --- reportbug/reportbug.el     Wed Feb  4 23:29:11 2004
 +++ reportbug.new/reportbug.el Sat Oct  9 23:41:23 2004
 @@ -15,7 +15,7 @@
@@ -1303,7 +627,7 @@
      (gnus-narrow-to-body)
      (let ((body (or (buffer-string) "")))
        (gnus-summary-mail-other-window)
-diff -ruN reportbug/reportbug.py reportbug.new/reportbug.py
+diff -ruN -x *~ reportbug/reportbug.py reportbug.new/reportbug.py
 --- reportbug/reportbug.py     Thu Sep 30 01:26:14 2004
 +++ reportbug.new/reportbug.py Sat Oct  9 23:49:57 2004
 @@ -33,7 +33,7 @@
@@ -1379,7 +703,7 @@
      }
  MUA['nmh'] = MUA['mh']
  
-diff -ruN reportbug/reportbug_submit.py reportbug.new/reportbug_submit.py
+diff -ruN -x *~ reportbug/reportbug_submit.py reportbug.new/reportbug_submit.py
 --- reportbug/reportbug_submit.py      Sun Sep 19 04:27:16 2004
 +++ reportbug.new/reportbug_submit.py  Mon Oct 11 21:57:25 2004
 @@ -30,7 +30,7 @@
@@ -1400,7 +724,7 @@
      try:
          main()
      except KeyboardInterrupt:
-diff -ruN reportbug/reportbug_ui_gnome.py reportbug.new/reportbug_ui_gnome.py
+diff -ruN -x *~ reportbug/reportbug_ui_gnome.py reportbug.new/reportbug_ui_gnome.py
 --- reportbug/reportbug_ui_gnome.py    Wed Feb  4 23:29:10 2004
 +++ reportbug.new/reportbug_ui_gnome.py        Mon Oct 11 21:58:50 2004
 @@ -19,7 +19,7 @@
@@ -1430,7 +754,7 @@
                self.my_screen.connect("next", callback_next)
                self.my_screen.set_bg_color(logo_bgcolor)
                self.my_screen.set_logo_bg_color(logo_bgcolor)
-diff -ruN reportbug/script reportbug.new/script
+diff -ruN -x *~ reportbug/script reportbug.new/script
 --- reportbug/script   Wed Feb  4 23:29:11 2004
 +++ reportbug.new/script       Mon Oct 11 22:03:38 2004
 @@ -1,4 +1,4 @@



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Fink-commits mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to