Update of /cvsroot/fink/fink/perlmod/Fink In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27958
Modified Files: PkgVersion.pm ChangeLog Log Message: DocFiles handles conditionals, recursive copying of dirs, and implicit renaming dir1/dir2/file: to file.dir1.dir2 Index: PkgVersion.pm =================================================================== RCS file: /cvsroot/fink/fink/perlmod/Fink/PkgVersion.pm,v retrieving revision 1.466 retrieving revision 1.467 diff -u -d -r1.466 -r1.467 --- PkgVersion.pm 14 Sep 2005 20:23:20 -0000 1.466 +++ PkgVersion.pm 22 Sep 2005 03:04:23 -0000 1.467 @@ -3211,20 +3211,34 @@ # generate commands to install documentation files if ($self->has_param("DocFiles")) { - my (@docfiles, $docfile, $docfilelist); + my $files = $self->param_expanded("DocFiles"); + $files =~ s/\s+/ /g; # Make it one line + $files = $self->conditional_space_list($files, + "DocFiles of ".$self->get_fullname()." in ".$self->get_info_filename + ); + $install_script .= "\n/usr/bin/install -d -m 755 %i/share/doc/%n"; - @docfiles = split(/\s+/, $self->param("DocFiles")); - $docfilelist = ""; - foreach $docfile (@docfiles) { - if ($docfile =~ /^(.+)\:(.+)$/) { - $install_script .= "\n/usr/bin/install -c -p -m 644 $1 %i/share/doc/%n/$2"; + my ($file, $source, $target); + foreach $file (split /\s+/, $files) { + $file =~ s/\%/\%\%/g; # reprotect for later %-expansion + if ($file =~ /^(.+)\:(.+)$/) { + # simple renaming + # globs in source okay, dirs in target not auto-created + $source = $1; + $target = $2; + } elsif ($file =~ /^(.+):$/) { + # flatten declared nesting with automatic renaming + # (dir1/dir2/.../foo => foo.dir1.dir2....) + $source = $1; + my @dirs = split /\//, $source; + $target = join '.', (pop @dirs), @dirs; } else { - $docfilelist .= " $docfile"; + # simple copying (nesting maintained, globs okay) + $source = $file; + $target = ''; } - } - if ($docfilelist ne "") { - $install_script .= "\n/usr/bin/install -c -p -m 644$docfilelist %i/share/doc/%n/"; + $install_script .= "\n/bin/cp -r $source %i/share/doc/%n/$target"; } } Index: ChangeLog =================================================================== RCS file: /cvsroot/fink/fink/perlmod/Fink/ChangeLog,v retrieving revision 1.1143 retrieving revision 1.1144 diff -u -d -r1.1143 -r1.1144 --- ChangeLog 21 Sep 2005 18:20:22 -0000 1.1143 +++ ChangeLog 22 Sep 2005 03:04:23 -0000 1.1144 @@ -1,4 +1,9 @@ -2005-09-21 Alexander Hansen <[EMAIL PROTECTED]> +2005-09-21 Daniel Macks <[EMAIL PROTECTED]> + + * PkgVersion.pm: DocFiles handles conditionals, recursive copying + of dirs, and implicit renaming dir1/dir2/file: to file.dir1.dir2 + +2005-09-21 Alexander Hansen <[EMAIL PROTECTED]> * NetAccess.pm: wget versions >= 1.10 use -no-verbose instead of --non-verbose (arguably more GNU-standard). In order that we may release ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-commits