Initial perl script to filter out unneeded files for a fips tarball.
This commit is contained in:
parent
83dfcd727b
commit
94a0a96cd8
44
util/fipsdist.pl
Normal file
44
util/fipsdist.pl
Normal file
@ -0,0 +1,44 @@
|
||||
|
||||
# FIPS distribution filter.
|
||||
# Takes tarball listing and removes unnecessary files and directories.
|
||||
#
|
||||
|
||||
|
||||
my $objs = "";
|
||||
foreach (split / /, "FIPS_EX_OBJ AES_ENC BN_ASM DES_ENC SHA1_ASM_OBJ MODES_ASM_OBJ")
|
||||
{
|
||||
$objs .= " $ENV{$_}";
|
||||
}
|
||||
|
||||
|
||||
my @objlist = split / /, $objs;
|
||||
|
||||
foreach (@objlist) { $tarobjs{"$1.c"} = 1 if /([^\/]+).o$/};
|
||||
|
||||
$tarobjs{"ncbc_enc.c"} = 1;
|
||||
|
||||
foreach (split / /, $ENV{LINKDIRS} ) { $cdirs{$_} = 1 };
|
||||
|
||||
$cdirs{perlasm} = 1;
|
||||
|
||||
foreach (keys %cdirs) { print STDERR "CDIR: $_\n";}
|
||||
|
||||
while (<STDIN>)
|
||||
{
|
||||
chomp;
|
||||
# Skip directories but leave top level files.
|
||||
next unless (/^(fips\/|crypto|util|test|include)/ || (!/\// && -f $_));
|
||||
if (/^crypto\/([^\/]+)/)
|
||||
{
|
||||
# Skip unused directories under crypto/
|
||||
next if -d "crypto/$1" && !exists $cdirs{$1};
|
||||
# Keep assembly language dir, Makefile or certain extensions
|
||||
if (!/\/asm\// && !/\/Makefile$/ && && !/\.(in|pl|h)$/)
|
||||
{
|
||||
# If C source file must be on list.
|
||||
next if !/(\w+\.c)$/ || !exists $tarobjs{$1};
|
||||
}
|
||||
}
|
||||
print "$_\n";
|
||||
}
|
||||
exit 1;
|
Loading…
x
Reference in New Issue
Block a user