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):
signature.asc
Description: Digital signature