diff options
author | Olivier Blin <oblin@mandriva.com> | 2007-05-16 20:18:15 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2007-05-16 20:18:15 +0000 |
commit | da381f63e51554a17932c37ff0406abd9650a239 (patch) | |
tree | 94dc8b76a99067b1f8a838bb069dfd57dec76026 | |
parent | 63b1b7c168bf0838982905bf38431dba4a1ede21 (diff) | |
download | draklive-da381f63e51554a17932c37ff0406abd9650a239.tar draklive-da381f63e51554a17932c37ff0406abd9650a239.tar.gz draklive-da381f63e51554a17932c37ff0406abd9650a239.tar.bz2 draklive-da381f63e51554a17932c37ff0406abd9650a239.tar.xz draklive-da381f63e51554a17932c37ff0406abd9650a239.zip |
add hardlink_filtered function to hardlink recursively file list to a directory (using rsync --files-from --link-dest)
-rwxr-xr-x | draklive | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -752,6 +752,20 @@ sub expand_file_list { } @files; } +#- hardlink recursively file list to a directory +sub hardlink_filtered { + my ($src, $dest, $files) = @_; + mkdir_p($dest); + my $pwd = $ENV{PWD}; + chdir($src); + my $list_file = tmpnam(); + output_p($list_file, map { "$_\n" } grep { -e $src . $_ } @$files); + #- cpio -pldm won't copy recursively, use rsync -r instead + system('rsync', '-ar', '--files-from=' . $list_file, '--link-dest=' . $src, $src, $dest); + unlink $list_file; + chdir($pwd); +} + sub create_loopback_files { my ($live) = @_; # umount filesystem in the live before creating the loopback |