[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Discussion of uscan enhancement 1 (Was: uscan enhancement take 3: script hook)



Hi Nicolas,

On Wed, Sep 05, 2012 at 01:17:47AM +0200, Nicolas Boulenguez wrote:
> 
> diff --git a/scripts/uscan.pl b/scripts/uscan.pl
> index 649f822..34e31a9 100755
> --- a/scripts/uscan.pl
> +++ b/scripts/uscan.pl
> @@ -1494,17 +1494,9 @@ EOF
>                  print STDERR "Error: $main_source_dir is no directory";
>              }
>              my $nfiles_before = `find $main_source_dir | wc -l`;
> -            foreach (grep {/\//} split /\s+/, $data->{"files-excluded"}) {
> -                # delete trailing '/' because otherwise find -path will fail
> -                s?/+$?? ;
> -                # use rm -rf to enable deleting non-empty directories
> +            foreach (split /\s+/, $data->{"files-excluded"}) {
>                  `find "$main_source_dir" -path "$main_source_dir/$_" -print0 | xargs -0 rm -rf`;
>              };
> -            foreach (grep {/^[^\/]+$/} split /\s+/, $data->{"files-excluded"}) {
> -                `find "$main_source_dir" -type f -name "$_" -delete`;
> -                # the statement above does not delete directories - just do it now
> -                `rm -rf "$main_source_dir/$_" ` if ( -d "$main_source_dir/$_" ) ;
> -            };
>              my $nfiles_after = `find $main_source_dir | wc -l`;
>              if ( $nfiles_before == $nfiles_after && ! $exclude__MACOSX ) {
>                  print "-- Source tree remains identical - no need for repacking.\n" if $verbose;

I tested this patch and I have a problem with

   svn://svn.debian.org/svn/debian-med/trunk/packages/rdp-classifier/trunk/debian

It specifies:

Files-Excluded:
    __MACOSX
    [a-z]*.jar

with the purpose to save ReadSeq.jar inside the source package.  This works with the
old method:

$ find . -name "[a-z]*.jar"
./rdp_classifier_2.5/lib/junit.jar
./rdp_classifier_2.5/lib/commons-cli.jar
./rdp_classifier_2.5/rdp_classifier-2.5.jar

but failes when trying your patch:

$ find . -path "./[a-z]*.jar"
./rdp_classifier_2.5/lib/junit.jar
./rdp_classifier_2.5/lib/commons-cli.jar
./rdp_classifier_2.5/lib/ReadSeq.jar
./rdp_classifier_2.5/rdp_classifier-2.5.jar

I admit I did also not followed the DEP5 discussion very closely but the
current code could deal nicely with the specific removal which is not
the case with your proposal and I have no clue how to reasonably specify
the fact that all *.jars except one should be removed (besides
specifying every single file).

Kind regards

        Andreas.

-- 
http://fam-tille.de


Reply to: