From dada@localhost.tu-graz.ac.at  Mon Jan  5 09:39:23 1998
Received: from mbox.tu-graz.ac.at (mbox.tu-graz.ac.at [129.27.2.6])
          by hub.freebsd.org (8.8.7/8.8.7) with SMTP id JAA22337
          for <FreeBSD-gnats-submit@freebsd.org>; Mon, 5 Jan 1998 09:39:18 -0800 (PST)
          (envelope-from dada@localhost.tu-graz.ac.at)
Received: from fcggsg07.icg.tu-graz.ac.at by mbox.tu-graz.ac.at with SMTP id AA03750
  (5.67c/IDA-1.5t for <FreeBSD-gnats-submit@freebsd.org>); Mon, 5 Jan 1998 18:39:24 +0100
Received: from localhost.tu-graz.ac.at (isdn019.tu-graz.ac.at [129.27.240.19])
	by fcggsg07.icg.tu-graz.ac.at (8.8.8/8.8.8) with ESMTP id SAA26610
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 5 Jan 1998 18:38:21 +0100 (MET)
Received: (from dada@localhost)
	by localhost.tu-graz.ac.at (8.8.8/8.8.5) id SAA07190;
	Mon, 5 Jan 1998 18:37:32 +0100 (CET)
Message-Id: <199801051737.SAA07190@localhost.tu-graz.ac.at>
Date: Mon, 5 Jan 1998 18:37:32 +0100 (CET)
From: Martin Kammerhofer <dada@sbox.tu-graz.ac.at>
Reply-To: dada@sbox.tu-graz.ac.at
To: FreeBSD-gnats-submit@freebsd.org
Subject: catman -r deletes perl manpages
X-Send-Pr-Version: 3.2

>Number:         5439
>Category:       bin
>Synopsis:       [PATCH] catman -r deletes perl manpages
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan  8 14:31:03 PST 1998
>Closed-Date:    Fri May 1 06:33:32 PDT 1998
>Last-Modified:  Fri May  1 06:34:13 PDT 1998
>Originator:     Martin Kammerhofer
>Release:        FreeBSD 2.2.5-STABLE i386
>Organization:
Graz University of Technology
>Environment:

nothing special

>Description:

The manpage states that option -r of catman:
     -r, -remove
             Remove garbage, e. g. catpage without manpage, uncompressed cat-
             page but a compressed catpage exist, filenames with non-alphanu-
             meric characters, uncompressed manpage but a compressed manpage
             exist.

Actually catman accepts [.+-[] in filenames but no colons.
As a consequence catman - a perl script - will happily delete lots of
manpages in /usr/local/lib/perl5/man/man3 because their filenames
contain the string ``::''.

>How-To-Repeat:

catman -r /usr/local/lib/perl5/man/man3

>Fix:
	
Index: catman.perl
===================================================================
RCS file: /home/dada/cvsroot/scripts/catman.perl,v
retrieving revision 2.1
retrieving revision 2.4
diff -u -r2.1 -r2.4
--- catman.perl	1998/01/05 13:37:34	2.1
+++ catman.perl	1998/01/05 15:55:10	2.4
@@ -228,7 +228,7 @@
 	next if $file eq "." || $file eq "..";
 
 	# fo_09-o.bar0
-	if ($file !~ /^[\w\-\+\[\.]+\.\w+$/) {
+	if ($file !~ /^[\w-+[.:]+\.\w+$/) {
 	    &garbage("$mandir/$file", "Assume garbage")
 		unless -d "$mandir/$file";
 	    next;
@@ -285,7 +285,7 @@
     foreach $file (readdir(D)) {
 	next if $file =~ /^(\.|\.\.)$/;	# skip current and parent directory
 
-	if ($file !~ /^[\w\-\+\[\.]+\.\w+$/) {
+	if ($file !~ /^[\w-+[.:]+\.\w+$/) {
 	    &garbage("$catdir/$file", "Assume garbage")
 		unless -d "$catdir/$file";
 	    next;

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->suspended 
State-Changed-By: phk 
State-Changed-When: Thu Apr 30 22:39:57 PDT 1998 
State-Changed-Why:  
waiting for a committer 
State-Changed-From-To: suspended->closed 
State-Changed-By: des 
State-Changed-When: Fri May 1 06:33:32 PDT 1998 
State-Changed-Why:  
Fixed in -current and -stable, thanks. 
>Unformatted:
