Auto configure for fips is from restricted tarball.
authorDr. Stephen Henson <steve@openssl.org>
Sun, 10 Apr 2011 16:18:19 +0000 (16:18 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Sun, 10 Apr 2011 16:18:19 +0000 (16:18 +0000)
Remove more unnecessary files form fips tarball.

Configure
Makefile.fips
util/fipsdist.pl

index beb5694..5c9e347 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -693,6 +693,16 @@ my $default_ranlib;
 my $perl;
 my $fips=0;
 
+# If ssl directory missing assume truncated FIPS tarball
+if (! -d ssl)
+       {
+       print STDERR "Auto Configuring fipsonly\n";
+       $fips = 1;
+       $nofipscanistercheck = 1;
+       $fipslibdir="";
+       $fipscanisterinternal="y";
+       $fipscanisteronly = 1;
+       }
 
 # All of the following is disabled by default (RC5 was enabled before 0.9.8):
 
index cfe7d1b..8fc9ddc 100644 (file)
@@ -487,7 +487,7 @@ openssl.pc: Makefile
            echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
            echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
 
-Makefile: Makefile.org Configure config
+Makefile: Makefile.fips Configure config
        @echo "Makefile is older than Makefile.org, Configure or config."
        @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
        @false
index 20c3999..621f904 100644 (file)
@@ -21,11 +21,29 @@ foreach (split / /, $ENV{LINKDIRS} ) { $cdirs{$_} = 1 };
 
 $cdirs{perlasm} = 1;
 
+my %keep = 
+       (
+       "Makefile.fips" => 1,
+       "Makefile.shared" => 1,
+       "README.FIPS" => 1,
+       "e_os.h" => 1,
+       "e_os2.h" => 1,
+       "Configure" => 1,
+       "config" => 1,
+       );
+
 while (<STDIN>)
        {
        chomp;
-       # Skip directories but leave top level files.
-       next unless (/^(fips\/|crypto|util|test|include|ms)/ || (!/\// && -f $_));
+       # Keep top level files in list
+       if (!/\// && -f $_)
+               {
+               next unless exists $keep{$_};
+               }
+       else
+               {
+               next unless (/^(fips\/|crypto|util|test|include|ms)/);
+               }
        if (/^crypto\/([^\/]+)/)
                {
                # Skip unused directories under crypto/
@@ -37,6 +55,10 @@ while (<STDIN>)
                        next if !/(\w+\.c)$/ || !exists $tarobjs{$1};
                        }
                }
+       if (/^test\//)
+               {
+               next unless /Makefile/ || /dummytest.c/;
+               }
        print "$_\n";
        }
 exit 1;