On 08/03/19 07:20 +0530, Y Giridhar Appaji Nag said ...
> > The current list mentions 'testing' while that is not supposed to be
> > reported against ftp.debian.org, but requested on the -release list
> 
> ftp.debian.org for 'testing', but only a template mail is generated
> indicating the user to send it to debain-release.

The RM request format 'subject' is displayed to the user after the
dialog and we exit saying that a mail should be send to debian-release
with the subject to request a removal.

> > instead. Additionally it would be good if there would for bugs regarding
> > testing-proposed-updates, stable-proposed-updates,
> > oldstable-proposed-updates, stable and oldstable be mentioned to also
> > contact the -release list.
> 
> I'll deal with it like we handle WNPP ITPs (CC:ing debian-devel).

A X-Debbugs-CC: debian-release@lists.debian.org header is added for all
suites except unstable, testing and experimental.

Updated patch attached, please comment (I will prepare an NMU including
this patch in couple of days).

Giridhar

-- 
Y Giridhar Appaji Nag | http://www.appaji.net/
diff -Nur reportbug-3.39.orig/debianbts.py reportbug-3.39/debianbts.py
--- reportbug-3.39.orig/debianbts.py	2007-04-20 02:03:09.000000000 +0530
+++ reportbug-3.39/debianbts.py	2008-03-22 00:19:28.000000000 +0530
@@ -155,7 +155,7 @@
     'cdrom' : 'Problems with installation from CD-ROMs',
 # dpkg-iwj -- The dpkg branch maintained by Ian Jackson
     'debian-policy' : 'Proposed changes in the Debian policy documentation',
-    'ftp.debian.org' : 'Problems with the FTP site',
+    'ftp.debian.org' : 'Problems with the FTP site and Package removal requests',
     'general' : 'General problems (e.g., that many manpages are mode 755)',
 #    'install' : 'Problems with the sarge installer.',
 #    'installation' : 'General installation problems not covered otherwise.',
@@ -182,6 +182,125 @@
     'debian-general' : 'Any non-package-specific bug',
     }
 
+def handle_debian_ftp(package, bts, ui, fromaddr, online=True, http_proxy=None):
+    body = reason = archs = ''
+    suite = 'unstable'
+    headers = []
+    pseudos = []
+    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.)', {
+        'ROM' :
+        "Package removal - Request Of Maintainer.",
+        'RoQA' :
+        "Package removal - Requested by the QA team.",
+        'ROP' :
+        "Package removal - Request of Porter.",
+        'ROSRM' :
+        "Package removal - Request of Stable Release Manager.",
+        'NBS' :
+        "Package removal - Not Built [by] Source.",
+        'NPOASR' :
+        "Package removal - Never Part Of A Stable Release.",
+        'NVIU' :
+        "Package removal - Newer Version In Unstable.",
+        'ANAIS' :
+        "Package removal - Architecture Not Allowed In Source.",
+        'ICE' :
+        "Package removal - Internal Compiler Error.",
+        '[cruft-report]' :
+        "Package removal - detected by the cruft finder script.",
+        'other' :
+        "Not a package removal request, report other problems.",
+        }, '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 ftp.debian.org.\n')
+        raise SystemExit
+
+    severity = 'normal'
+    if tag == 'other':
+        return
+    else:
+        prompt = 'Please enter the name of the package: '
+        package = ui.get_string(prompt)
+        if not package:
+            ui.ewrite('You seem to want to report a generic bug, not request a removal\n')
+            return
+
+        ui.ewrite('Checking status database...\n')
+        info = reportbug.get_package_status(package)
+        available = info[1]
+
+        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)
+        else:
+            package = info[12] or package
+
+        suite = ui.menu('Is the removal to be done in a suite other than'
+                        ' "unstable"?  Please press Enter for "unstable"', {
+            'oldstable' : "Old stable.",
+            'oldstable-proposed-updates' : "Old stable proposed updates.",
+            'stable' : "Stable.",
+            'stable-proposed-updates' : "Stable proposed updates.",
+            'testing' : "Testing",
+	    'testing-proposed-updates' : "Testing proposed updates",
+            'experimental' : "Experimental.",
+        }, 'Choose the suite: ', empty_ok=True)
+        if not suite:
+            suite = 'unstable'
+
+        if suite not in ('testing', 'unstable', 'experimental'):
+            headers.append('X-Debbugs-CC: debian-release@lists.debian.org')
+            ui.ewrite('Your report will be carbon-copied to debian-release.\n')
+
+        why = 'Please enter the reason for removal: '
+        reason = ui.get_string(why)
+        if not reason: return
+
+        partial = ui.select_options(
+            "Is this removal request for specific architectures?",
+            'yN', {'y': 'This is a partial (specific architectures) removal.',
+                   'n': 'This removal is for all architectures.' })
+        if partial == 'y':
+            prompt = 'Please enter the arch list separated by a space: '
+            archs = ui.get_string(prompt)
+            if not archs:
+                ui.long_message('Partial removal requests must have a list of architectures.\n')
+                raise SystemExit
+
+    if archs:
+        if suite != 'unstable':
+            subject = 'RM: %s/%s [%s] -- %s; %s' % (package, suite, archs, tag, reason)
+        else:
+            subject = 'RM: %s [%s] -- %s; %s' % (package, archs, tag, reason)
+    else:
+        if suite != 'unstable':
+            subject = 'RM: %s/%s -- %s; %s' % (package, suite, tag, reason)
+        else:
+            subject = 'RM: %s -- %s; %s' % (package, tag, reason)
+
+    if suite == 'testing':
+        ui.ewrite('Please use the following subject and send a mail to '
+                  'debian-release@lists.debian.org to request removal.\n')
+        ui.ewrite(subject)
+        sys.exit(1)
+
+    return (subject, severity, headers, pseudos, body, query)
+
 def handle_wnpp(package, bts, ui, fromaddr, online=True, http_proxy=None):
     desc = body = ''
     headers = []
@@ -310,7 +429,9 @@
               'btsroot' : 'http://www.debian.org/Bugs/',
               'otherpkgs' : debother,
               'nonvirtual' : ['linux-image', 'kernel-image'],
-              'specials' : { 'wnpp': handle_wnpp },
+              'specials' :
+                { 'wnpp': handle_wnpp,
+                  'ftp.debian.org': handle_debian_ftp },
               # Dependency packages
               'deppkgs' : ('gcc', 'g++', 'cpp', 'gcj', 'gpc', 'gobjc',
                            'chill', 'gij', 'g77', 'python', 'python-base',
diff -Nur reportbug-3.39.orig/reportbug reportbug-3.39/reportbug
--- reportbug-3.39.orig/reportbug	2007-08-17 04:10:37.000000000 +0530
+++ reportbug-3.39/reportbug	2008-03-18 23:48:52.000000000 +0530
@@ -344,6 +344,14 @@
                 False):
                 return get_package_name(bts, mode)
 
+        if package == 'ftp.debian.org':
+            if not ui.yes_no(
+                'Are you sure you want to file a bug on ftp.debian.org?',
+                'Yes, I am a developer or know what I\'m doing.',
+                'No, I am not a developer and I don\'t know what ftp.debian.org is.',
+                False):
+                return get_package_name(bts, mode)
+
     return package
 
 def special_prompts(package, bts, ui, fromaddr):

Attachment: signature.asc
Description: Digital signature

Reply via email to