2
# pristine-tar delta files formatted as tarballs
3
package Pristine::Tar::Delta::Tarball;
6
use Pristine::Tar::Delta;
16
my $tempdir=tempdir();
18
foreach my $field (keys %$delta) {
19
if (Pristine::Tar::Delta::is_filename($field)) {
20
link($delta->{$field}, "$tempdir/$field") || die "link $tempdir/$field: $!";
23
open (my $out, ">", "$tempdir/$field") || die "$tempdir/$field: $!";
24
print $out $delta->{$field}."\n";
29
doit("tar", "czf", $deltafile, "-C", $tempdir, keys %$delta);
38
my $tempdir=tempdir();
39
doit("tar", "xf", File::Spec->rel2abs($deltafile), "-C", $tempdir);
42
foreach my $file (glob("$tempdir/*")) {
44
my $field=basename($file);
45
if (Pristine::Tar::Delta::is_filename($field)) {
49
open (my $in, "<", $file) || die "$file: $!";