diff options
-rwxr-xr-x | draklive | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -779,12 +779,15 @@ sub create_loopback_files { } if (@excluded_files) { - my $exclude_file = tmpnam(); - output_p($exclude_file, map { s|^/||; "$_\n"; } @excluded_files); + my $excluded_tree = get_system_root($live) . "/tmp/draklive/excluded/all"; + eval { rm_rf($excluded_tree) }; + hardlink_filtered(get_system_root($live), $excluded_tree, \@excluded_files); + mkdir_p(get_builddir($live) . $live->{prefix}{build}{tarballs}); - run_('tar', 'cj', '-C', get_system_root($live), '-T', $exclude_file, - '-f', get_builddir($live) . $live->{prefix}{build}{tarballs} . "/excluded.tar.bz2"); - unlink $exclude_file; + run_('tar', 'cjf', get_builddir($live) . $live->{prefix}{build}{tarballs} . "/excluded.tar.bz2", + '-C', $excluded_tree, '.'); + + eval { rm_rf($excluded_tree) }; } } |