More utils cleanup.
authorRich Salz <rsalz@openssl.org>
Fri, 3 Jun 2016 18:49:20 +0000 (14:49 -0400)
committerRich Salz <rsalz@openssl.org>
Sat, 4 Jun 2016 11:06:31 +0000 (07:06 -0400)
Remove some unused files.
Rename doc-nit-check to be consistent.
Add check for multiple #include in synopsis.

Reviewed-by: Richard Levitte <levitte@openssl.org>
util/copy-if-different.pl [deleted file]
util/dirname.pl [deleted file]
util/extract-names.pl [deleted file]
util/extract-section.pl [deleted file]
util/find-doc-nits.pl [moved from util/doc-nit-check.pl with 61% similarity]
util/perlpath.pl [deleted file]

diff --git a/util/copy-if-different.pl b/util/copy-if-different.pl
deleted file mode 100755 (executable)
index 2bf7835..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#! /usr/bin/env perl
-# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-use strict;
-
-use Fcntl;
-
-# copy-if-different.pl
-
-# Copy to the destination if the source is not the same as it.
-
-my @filelist;
-
-foreach my $arg (@ARGV) {
-       $arg =~ s|\\|/|g;       # compensate for bug/feature in cygwin glob...
-       foreach (glob qq("$arg"))
-               {
-               push @filelist, $_;
-               }
-}
-
-my $fnum = @filelist;
-
-if ($fnum <= 1)
-       {
-       die "Need at least two filenames";
-       }
-
-my $dest = pop @filelist;
-
-if ($fnum > 2 && ! -d $dest)
-       {
-       die "Destination must be a directory";
-       }
-
-foreach (@filelist)
-       {
-        my $dfile;
-       if (-d $dest)
-               {
-               $dfile = $_;
-               $dfile =~ s|^.*[/\\]([^/\\]*)$|$1|;
-               $dfile = "$dest/$dfile";
-               }
-       else
-               {
-               $dfile = $dest;
-               }
-
-       my $buf;
-       if (-f $dfile)
-               {
-               sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_";
-               sysopen(OUT, $dfile, O_RDONLY|O_BINARY)
-                 || die "Can't Open $dfile";
-               while (sysread IN, $buf, 10240)
-                       {
-                       my $b2;
-                       goto copy if !sysread(OUT, $b2, 10240) || $buf ne $b2;
-                       }
-               goto copy if sysread(OUT, $buf, 1);
-               close(IN);
-               close(OUT);
-               print "NOT copying: $_ to $dfile\n";
-               next;
-               }
-      copy:
-       sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_";
-       sysopen(OUT, $dfile, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY)
-                                       || die "Can't Open $dfile";
-       while (sysread IN, $buf, 10240)
-               {
-               syswrite(OUT, $buf, length($buf));
-               }
-       close(IN);
-       close(OUT);
-       print "Copying: $_ to $dfile\n";
-       }
-
diff --git a/util/dirname.pl b/util/dirname.pl
deleted file mode 100644 (file)
index 9838e19..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env perl
-# Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-if ($#ARGV < 0) {
-    die "dirname.pl: too few arguments\n";
-} elsif ($#ARGV > 0) {
-    die "dirname.pl: too many arguments\n";
-}
-
-my $d = $ARGV[0];
-
-if ($d =~ m|.*/.*|) {
-    $d =~ s|/[^/]*$||;
-} else {
-    $d = ".";
-}
-
-print $d,"\n";
-exit(0);
diff --git a/util/extract-names.pl b/util/extract-names.pl
deleted file mode 100644 (file)
index 2a24e1a..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env perl
-# Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-
-$/ = "";                       # Eat a paragraph at once.
-while(<STDIN>) {
-    s|\R$||;
-    s/\n/ /gm;
-    if (/^=head1 /) {
-       $name = 0;
-    } elsif ($name) {
-       if (/ - /) {
-           s/ - .*//;
-           s/,\s+/,/g;
-           s/\s+,/,/g;
-           s/^\s+//g;
-           s/\s+$//g;
-           s/\s/_/g;
-           push @words, split ',';
-       }
-    }
-    if (/^=head1 *NAME *$/) {
-       $name = 1;
-    }
-}
-
-print join("\n", @words),"\n";
-
diff --git a/util/extract-section.pl b/util/extract-section.pl
deleted file mode 100644 (file)
index 08b1a12..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /usr/bin/env perl
-# Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-while(<STDIN>) {
-       if (/=for\s+comment\s+openssl_manual_section:(\S+)/)
-               {
-               print "$1\n";
-               exit 0;
-               }
-}
-
-print "$ARGV[0]\n";
-
similarity index 61%
rename from util/doc-nit-check.pl
rename to util/find-doc-nits.pl
index 29599f3..26754d1 100644 (file)
@@ -32,6 +32,7 @@ sub check()
 {
     my $filename = shift;
     my $dirname = basename(dirname($filename));
+
     my $contents = '';
     {
         local $/ = undef;
@@ -39,26 +40,48 @@ sub check()
         $contents = <POD>;
         close POD;
     }
-    print $OUT "$filename doesn't start with =pod\n"
+
+    my $id = "${filename}:1:";
+    print $OUT "$id doesn't start with =pod\n"
         if $contents !~ /^=pod/;
-    print $OUT "$filename doesn't end with =cut\n"
+    print $OUT "$id doesn't end with =cut\n"
         if $contents !~ /=cut\n$/;
-    print $OUT "$filename more than one cut line.\n"
+    print $OUT "$id more than one cut line.\n"
         if $contents =~ /=cut.*=cut/ms;
-    print $OUT "$filename missing copyright\n"
+    print $OUT "$id missing copyright\n"
         if $contents !~ /Copyright .* The OpenSSL Project Authors/;
-    print $OUT "$filename copyright not last\n"
+    print $OUT "$id copyright not last\n"
         if $contents =~ /head1 COPYRIGHT.*=head/ms;
-    print $OUT "$filename head2 in All uppercase\n"
-        if $contents =~ /head2.*[A-Z ]+\n/;
+    print $OUT "$id head2 in All uppercase\n"
+        if $contents =~ /head2\s+[A-Z ]+\n/;
+
+    # Look for multiple consecutive openssl #include lines.
+    # Consecutive because of files like md5.pod. Sometimes it's okay
+    # or necessary, as in ssl/SSL_set1_host.pod
+    if ( $contents !~ /=for comment multiple includes/ ) {
+        if ( $contents =~ /=head1 SYNOPSIS(.*)=head1 DESCRIPTION/ms ) {
+            my $count = 0;
+            foreach my $line ( split /\n+/, $1 ) {
+                if ( $line =~ m@include <openssl/@ ) {
+                    if ( ++$count == 2 ) {
+                        print $OUT "$id has multiple includes\n";
+                    }
+                } else {
+                    $count = 0;
+                }
+            }
+        }
+    }
 
-    my $section = $default_sections{$dirname};
+    # Find what section this page is in.  If run from "." assume
+    # section 3.
+    my $section = $default_sections{$dirname} || 3;
     if ($contents =~ /^=for\s+comment\s+openssl_manual_section:\s*(\d+)\s*$/m) {
         $section = $1;
     }
 
     foreach ((@{$mandatory_sections{'*'}}, @{$mandatory_sections{$section}})) {
-        print $OUT "$filename doesn't have a head1 section matching $_\n"
+        print $OUT "$id doesn't have a head1 section matching $_\n"
             if $contents !~ /^=head1\s+${_}\s*$/m;
     }
 
diff --git a/util/perlpath.pl b/util/perlpath.pl
deleted file mode 100755 (executable)
index 80388e2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /usr/bin/env perl
-# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-# modify the '#!/usr/local/bin/perl'
-# line in all scripts that rely on perl.
-
-require "find.pl";
-
-$#ARGV == 0 || print STDERR "usage: perlpath newpath  (eg /usr/bin)\n";
-&find(".");
-
-sub wanted
-       {
-       return unless /\.pl$/ || /^[Cc]onfigur/;
-
-       open(IN,"<$_") || die "unable to open $dir/$_:$!\n";
-       @a=<IN>;
-       close(IN);
-
-       if (-d $ARGV[0]) {
-               $a[0]="#!$ARGV[0]/perl\n";
-       }
-       else {
-               $a[0]="#!$ARGV[0]\n";
-       }
-
-       # Playing it safe...
-       $new="$_.new";
-       open(OUT,">$new") || die "unable to open $dir/$new:$!\n";
-       print OUT @a;
-       close(OUT);
-
-       rename($new,$_) || die "unable to rename $dir/$new:$!\n";
-       chmod(0755,$_) || die "unable to chmod $dir/$new:$!\n";
-       }