>   +        (my $generated = $File::Find::name) =~ s/\.in$//;
>   +        push @need_update, $generated 
>   +            unless -e $generated && -M $generated < -M $File::Find::name;

>   -    if (my $extra_conf = $self->generate_extra_conf) {
>   -        for my $file (@$extra_conf) {
>   -            push @reasons, "$file.in is newer than $file"
>   -                if -e $file && -M "$file.in" < -M $file;
>   -        }

you flipped the logic here.  it needs to be

  unless -e $generated && -M $generated > -M $File::Find::name

which is equivalent to

  if (! -e extra.conf || ! (extra.conf > extra.conf.in))

right now it reconfigures all the time:

[warning] forcing re-configuration:
[warning]       - t/conf/extra.conf.in is newer than t/conf/extra.conf.

-rw-rw-r--    1 geoff    geoff        1283 Feb 19 09:42 extra.conf
-rw-rw-r--    1 geoff    geoff         353 Feb 19 09:36 extra.conf.in

--Geoff

Reply via email to