/usr/share/perl5/Pristine/Tar/DeltaTools.pm is in pristine-tar 1.38.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #!/usr/bin/perl
# Wrappers around delta computing programs
# the following naming is used:
# - try_* : tries to run the command
# and returns the return code
# - do_* : runs the command and fails if it failed
package Pristine::Tar::DeltaTools;
use Pristine::Tar;
use warnings;
use strict;
use Exporter q{import};
our @EXPORT = qw(try_xdelta_patch do_xdelta_patch try_xdelta_diff do_xdelta_diff
try_xdelta3_patch do_xdelta3_patch try_xdelta3_diff do_xdelta3_diff);
#
# xdelta
#
sub try_xdelta_patch {
my ($fromfile, $diff, $tofile) = @_;
return try_doit("xdelta", "patch", "--pristine", $diff, $fromfile, $tofile)
>> 8;
}
sub do_xdelta_patch {
die "xdelta patch failed!" if (try_xdelta_patch(@_) != 0);
}
sub try_xdelta_diff {
my ($fromfile, $tofile, $diff) = @_;
my $ret =
try_doit("xdelta", "delta", "-0", "--pristine", $fromfile, $tofile, $diff)
>> 8;
# xdelta delta returns either 0 or 1 on success
return ($ret == 1 || $ret == 0) ? 0 : $ret;
}
sub do_xdelta_diff {
die "xdelta delta failed!" if (try_xdelta_diff(@_) != 0);
}
#
# xdelta3
#
sub try_xdelta3_patch {
my ($fromfile, $diff, $tofile) = @_;
return try_doit("xdelta3", "decode", "-f", "-D", "-s",
$fromfile, $diff, $tofile) >> 8;
}
sub do_xdelta3_patch {
die "xdelta3 decode failed!" if (try_xdelta3_patch(@_) != 0);
}
sub try_xdelta3_diff {
my ($fromfile, $tofile, $diff) = @_;
return try_doit("xdelta3", "encode", "-0", "-f", "-D", "-s",
$fromfile, $tofile, $diff) >> 8;
}
sub do_xdelta3_diff {
die "xdelta3 encode failed!" if (try_xdelta3_diff(@_) != 0);
}
1;
|