[Fedora-security-commits] fedora-security/tools/scripts add-tracking-bugs, 1.1.2.2, 1.1.2.3

fedora-security-commits at redhat.com fedora-security-commits at redhat.com
Wed Jan 9 21:42:42 UTC 2008


Author: lkundrak

Update of /cvs/fedora/fedora-security/tools/scripts
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv23949/scripts

Modified Files:
      Tag: lkundrak-tools-ng
	add-tracking-bugs 
Log Message:
Finally commiting the splitoff of the tracking bug routines to the library
12:17 <thoger> kto necommituje, bude pocas dlhych zimnych vecerov riesit konflikty...
And hopefuly merging in tomas' change... :}



Index: add-tracking-bugs
===================================================================
RCS file: /cvs/fedora/fedora-security/tools/scripts/Attic/add-tracking-bugs,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- add-tracking-bugs	7 Jan 2008 16:52:18 -0000	1.1.2.2
+++ add-tracking-bugs	9 Jan 2008 21:42:38 -0000	1.1.2.3
@@ -21,72 +21,11 @@
 
 use Libexig::Util;
 use Libexig::Bugzilla;
+use Libexig::Fedora;
 
 use warnings;
 use strict;
 
-my $comment_head = 
-	'This is an automatically created tracking bug! '.
-	'It was created to ensure that one or more security '.
-	'vulnerabilities are fixed in all affected branches.'.
-	"\n\n".
-	'You should *not* refer to this bug publicly, as it is a '.
-	'private "Fedora Project Contributors" bug.'.
-	"\n\n".
-	'For comments that are specific to the vulnerability please use bugs '.
-	'filed against "Security Response" product referenced in "Blocks" '.
-	'field.'.
-	"\n\n";
-
-my $comment_tail = 
-	'For more information see: '.
-	'http://fedoraproject.org/wiki/Security/TrackingBugs';
-
-my $comment_update = 
-	# Following the list of parent bugs
-	"\n".
-	'When creating an update for the version this this bug is reported '.
-	'against please include the bug IDs of respective bugs filed '.
-	'against "Security Response" product as well as of this bug and let the '.
-	'update system close them. Please '.
-	'note that the update announcement will (and should) contain only '.
-	'references to "Security Response" bugs as long as the tracking '.
-	'bug is restricted to "Fedora Project Contributors".'.
-	"\n\n";
-
-my $comment_rawhide = 
-	"\n".
-	'Please close this bug with RAWHIDE (referencing appropriate N-V-R in '.
-	'Fixed In field if possible) once is it fixed in devel branch. '.
-	'Do *not* include the bug id of this bug in the RPM changelog and the '.
-	'commit message.'.
-	"\n\n";
-
-
-my %impact = (
-	'urgent',	=> 4,
-	'high',		=> 3,
-        'medium',	=> 2,
-	'low'		=> 1,
-);
-
-# Valid versions
-my %versions = (
-	'6',		=> '6',
-	'f6',		=> '6',
-	'fc6',		=> '6',
-	'7',		=> '7',
-	'f7',		=> '7',
-	'fc7',		=> '7',
-	'8',		=> '8',
-	'f8',		=> '8',
-	'fc8',		=> '8',
-	'9',		=> 'rawhide',
-	'f9',		=> 'rawhide',
-	'fc9',		=> 'rawhide',
-	'devel',	=> 'rawhide',
-);
-
 # Command line options
 my (@bugs, @versions, $dryrun, $debug,
 	$username, $password, $component);
@@ -115,14 +54,17 @@
 
 $options{'versions'} or die 'versions argument is mandatory';
 @versions = split (/,/, $options{'versions'});
-$versions{$_} or die "Invalid version: $_" foreach (@versions);
+#XXX
+##$versions{$_} or die "Invalid version: $_" foreach (@versions);
 
 $component	= $options{'component'}	or die 'component argument is mandatory';
 $dryrun		= ($options{'dryrun'}	or 0);
 $debug		= ($options{'debug'}	or 0);
 $username	= ($options{'username'}	or $ENV{'LOGNAME'}.'@redhat.com');
-$password	= ($options{'password'}	or $dryrun or
-	read_noecho ("Bugzilla password for $username: "));
+$password	= ($options{'password'}	or read_noecho ("Bugzilla password for $username: "))
+	unless $dryrun;
+
+$dryrun = 1;
 
 my $bugzilla = new Libexig::Bugzilla ({
 	'username'	=> $username,
@@ -133,92 +75,10 @@
 
 # Get parent bugs
 
-my $bugs = $bugzilla->get_bugs (\@bugs, ['alias','keywords','priority','bug_id', 'bug_severity', 'short_short_desc']);
-print Dumper ($bugs) if $debug;
-
-# Construct a tracking bug template
-
-my %bug_tmpl = (
-	'bug_file_loc'	=> 'http://fedoraproject.org/wiki/Security/TrackingBugs',
-	'rep_platform'	=> 'All',
-	'op_sys'	=> 'Linux',
-	'short_desc'	=> '',
-	'keywords'	=> 'Security',
-	'product'	=> 'Fedora',
-	'comment'	=> $comment_head,
-	'component'	=> $component,
-	'bug_severity'	=> 'low',
-	'priority'	=> 'low',
-	'bit-58'	=> '1', # Fedora Project Contributors
-);
-
-foreach my $bug (@{$bugs}) {
-
-	# Take the highest of priorities
-	$bug_tmpl{'bug_severity'} = $bug->{'bug_severity'}
-		if ($impact{$bug->{'bug_severity'}} > $impact{$bug_tmpl{'bug_severity'}});
-	$bug_tmpl{'priority'} = $bug->{'priority'}
-		if ($impact{$bug->{'priority'}} > $impact{$bug_tmpl{'priority'}});
-
-	# This will be overwriten if we block just one parent bug
-	$bug_tmpl{'short_desc'} .= $bug->{'alias'}.' ';
-
-	# Add the parent bug to the comment
-	$bug_tmpl{'comment'} .= "\tbug #$bug->{'bug_id'}: $bug->{'short_short_desc'}\n";
-}
-
-if ($#bugs) {
-	$bug_tmpl{'short_desc'} .= "Multiple $component vulnerabilities";
-} else {
-	$bug_tmpl{'short_desc'} = $bugs->[0]->{'short_short_desc'};
-}
-
-# File for each version
-
-my $comment = "Created Fedora tracking bugs for $component:\n\n";
-
-foreach my $version (@versions) {
-	my %bug = %bug_tmpl;
-	$bug{'short_desc'} .= " [Fedora $versions{$version}]";
-	$bug{'version'} = $versions{$version};
-
-	if ($bug{'version'} eq 'rawhide') {
-		$bug{'comment'} .= $comment_rawhide;
-	} else {
-		$bug{'comment'} .= $comment_update;
-	}
-
-	$bug{'comment'} .= $comment_tail;
-
-	print Dumper (\%bug) if $debug;
-	my $bug_id = $bugzilla->file_bug (\%bug);
-
-	if ($bug{'version'} ne 'rawhide') {
-		my $tr_comment = 
-			'You can eventually use the following link to '.
-			'create the update request: '."\n".
-			'https://admin.fedoraproject.org/updates/new/'.
-			'?request=Stable'.
-			'&type=security'.
-			'&release=Fedora%20'.$bug{'version'}.
-			'&bugs='.$bug_id;
-
-		foreach my $bug (@{$bugs}) {
-			$tr_comment .= ','.$bug->{'bug_id'};
-		}
-
-		# XXX: public
-		$bugzilla->add_private_comment ($bug_id, $tr_comment);
-	}
+my $parent_bugs = $bugzilla->get_bugs (\@bugs, ['alias','keywords','priority','bug_id', 'bug_severity', 'short_short_desc']);
+print Dumper ($parent_bugs) if $debug;
 
-	$bugzilla->add_blockers ($bug_id, \@bugs);
-	$comment .= $bug{'version'}.": bug #$bug_id\n";
-}
-
-# Add comment to original bugs
-
-foreach my $bug (@bugs) {
-	$bugzilla->add_private_comment ($bug, $comment);
-}
+my $tracking_bugs = Libexig::Fedora::tracking_bugs ($parent_bugs, $component, @versions);
 
-print STDERR $comment;
+use Data::Dumper;
+print Dumper ($tracking_bugs);




More information about the Fedora-security-commits mailing list