Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 May 1996 14:56:47 -0700
From:      Paul Traina <pst@shockwave.com>
To:        Wolfram Schneider <wosch@cs.tu-berlin.de>
Cc:        freebsd-bugs@freefall.freebsd.org
Subject:   Re: active bugs 
Message-ID:  <199605132156.OAA11500@precipice.shockwave.com>
In-Reply-To: Your message of "Mon, 13 May 1996 18:48:54 %2B0200." <199605131648.SAA01588@campa.panke.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
I'll change the sort order.

Paul

  From: Wolfram Schneider <wosch@campa.panke.de>
  Subject: active bugs
  Paul Traina writes:
  >Current FreeBSD problem reports
  [nice list deleted]
  
  I prefer sorted by Tracker and S(tatus) instead by date.
  
  E.g.:
  
  S  Submitted   Tracker    Engr.    Description
  -----------------------------------------------------------------------------
>>--
  f [1995/11/11] bin/817    fenner   Wrong route to remote network
  o [1996/02/23] bin/1040   wollman  with certain flags, route can reboot your
  a [1995/01/11] i386/105   bde      Distributed libm (msun) has non-standard 
  a [1996/01/22] kern/965   bde      2.0.5: system crashes daily because of "m
  a [1996/03/04] kern/1059  hsu      null fs panics system
  f [1995/05/28] kern/452   davidg   vnode swapping panics
  f [1995/11/27] kern/840   peter    Kernel page directory invalid
  o [1995/12/03] kern/863   davidg   panic on kernel page fault, NULL curproc
  o [1995/12/08] kern/876   mpp      NFS allows bogus accesses to cached data
  o [1996/01/29] kern/978   se       Three deadlocks in row
  o [1996/04/06] kern/1121  dyson    System crashes on boot up just after the 
  o [1996/04/27] kern/1159  dyson    NFS Client hangs in vm_object_terminate()
  o [1996/01/09] kern/940            panic:  free vnode isn't
  o [1996/02/08] kern/1008           Daily crash while writing network backups
  o [1996/04/29] kern/1163           2.2-960323-SNAP: fatal trap 12
  o [1996/05/07] kern/1177           Machine hangs with message "vm_fork: no p
  o [1996/01/13] ports/944  pst      Security fixes for Fvwm 1.24r
  [...]
  
  Here is the perl script. It works for the 'List of open Problem
  Reports' too.
  
  #!/usr/bin/perl
  # (c) Wolfram Schneider, Berlin. May 1996.
  #
  # bugreports - sort bugreports
  #
  # $Id: bugreports.pl,v 1.3 1996/05/13 16:32:29 wosch Exp $
  
  
  # S  Submitted   Tracker    Engr.    Description
  # -----------------------------------------------------------------------
  # a [1995/01/11] i386/105   bde      Distributed libm (msun) has non-standard
>> 
  #
  # Sort Order:
  # 1. Tracker, without number: i386 before kern
  # 2. S: a before o
  # 3. Engr: non-empty entries on bottom
  # 4. Tracker ID
  #
  sub active_bugs {
      $S = 0;
      $Submitted = 1;
      $Tracker = 2;
      $Engr = 3;
      $Description = 4;
      
      @alist = split($", $a);
      @blist = split($", $b);
  
      ($atrackertype, $anumber) = split('/', $alist[$Tracker]);
      ($btrackertype, $bnumber) = split('/', $blist[$Tracker]);
  
  
      # fix empty Engr
      if (substr($a, 26, 1) eq ' ') {
  	$alist[$Engr] = ' ';
      }
      if (substr($b, 26, 1) eq ' ') {
  	$blist[$Engr] = ' ';
      }
  
      # Tracker not equal
      if ($res = $atrackertype cmp $btrackertype) {
  	# warn "$res $atrackertype $btrackertype\n";
  	return $res;
      }
  
      # S not equal
      if ($res = $alist[$S] cmp $blist[$S]) {
  	return $res;
      }
  
      # Empty Engr.
      if ($alist[$Engr] eq ' ') {
  	return ($anumber <=> $bnumber) if $blist[$Engr] eq ' ';
  	return +1;		# ' ' is greater, at bottom
      } elsif ($blist[$Engr] eq ' ') {
  	return -1;		# ' ' is greater, at bottom
      }
      
      # Sort by Tracker ID
      $anumber <=> $bnumber;
  }
  
  # List of open Problem Reports
  # [1994/11/30] kern/34       nullfs and union mounts can result in wild 
  # Sort Order:
  # 1. Tracker, without number: i386 before kern
  # 2. Tracker ID
  
  sub List_of_open_Problem_Reports {
      $Submitted = 0;
      $Tracker = 1;
      
      @alist = split($", $a);
      @blist = split($", $b);
  
      ($atrackertype, $anumber) = split('/', $alist[$Tracker]);
      ($btrackertype, $bnumber) = split('/', $blist[$Tracker]);
  
      # Tracker not equal
      if ($res = $atrackertype cmp $btrackertype) {
  	# warn "$res $atrackertype $btrackertype\n";
  	return $res;
      }
  
      # Sort by Tracker ID
      $anumber <=> $bnumber;
  }
  
  sub parse {
      local($flag) = 0;		# List_of_open_Problem_Reports or active_bugs
      local(@list);
  
      while(<>) {
      
  	# bug line
  	if (/^([a-z]\s)?\[[^\]]+\]\s/) {
  	    push(@list, $_);
  
  	    if (!$flag) {
  		if (/^[a-z]/) { 
  		    $flag = 'active_bugs'; 
  		} else { 
  		    $flag = 'List_of_open_Problem_Reports'; 
  		}
  	    }
  	}
  
  	# something else
  	else {
  	    # sort bugs and print 
  	    if ($#list >= 0) {
  		print sort $flag @list;
  		undef @list;
  		$flag = 0;
  	    }
  
  	    # print rest
  	    print;
  	}
      }
  }
  
  ### Main
  &parse;
  



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605132156.OAA11500>