From 1b6b1bb07276cb4247e459a1472a5df55b5d6eb2 Mon Sep 17 00:00:00 2001 From: Guillaume Rousse Date: Fri, 8 May 2009 16:36:18 +0000 Subject: fix exception handling: - exported string is now a single regexp, as automatic dependencies exceptions - don't change directory in compress_file, so as to match absolute path easily, as $File::Find::name will always be relative to $buildroot --- compress_files | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'compress_files') diff --git a/compress_files b/compress_files index 8894d73..3a05143 100755 --- a/compress_files +++ b/compress_files @@ -15,21 +15,18 @@ die "Unknown extension $ext" unless $ext =~ /^\.(?:gz|bz2|lzma|xz)$/; my $buildroot = $ENV{RPM_BUILD_ROOT}; die "No build root defined" unless $buildroot; die "Invalid build root" unless -d $buildroot; -chdir($buildroot) or die "Can't cd to $buildroot: $!"; +# normalize build root +$buildroot =~ s|/$||; -my $exclude_pattern = join('|', - map { '(:?' . quotemeta($_) . ')' } - $ENV{EXCLUDE_FROM_COMPRESS} ? - split(' ', $ENV{EXCLUDE_FROM_COMPRESS}) : () -); -$exclude_pattern = qr/$exclude_pattern/; +my $exclude_pattern = $ENV{EXCLUDE_FROM_COMPRESS} ? + qr/$ENV{EXCLUDE_FROM_COMPRESS}/ : undef; -my @sodirs = qw{ +my @sodirs = map { "$buildroot/$_" } qw{ usr/man usr/X11R6/man usr/lib/perl5/man }; -my @mandirs = qw{ +my @mandirs = map { "$buildroot/$_" } qw{ usr/info usr/share/info usr/man @@ -49,7 +46,7 @@ my $so_function = sub { # to open every man page. 1024 is arbitrary. return if -s $_ > 1024; # skip excluded files - return if $File::Find::name =~ $exclude_pattern; + return if $exclude_pattern && $File::Find::name =~ $exclude_pattern; # Test first line of file for the .so thing. my $SOTEST; @@ -86,7 +83,7 @@ my $function = sub { # skip directories return if -d $_; # skip excluded files - return if $File::Find::name =~ $exclude_pattern; + return if $exclude_pattern && $File::Find::name =~ $exclude_pattern; # skip compressed files return if $_ =~ /\.(?:gz|bz2|lzma|xz)$/; # skip particular files -- cgit v1.2.1