File: calculate-sum

package info (click to toggle)
debmirror 1%3A2.26
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 432 kB
  • sloc: perl: 2,491; sh: 79; makefile: 15
file content (21 lines) | stat: -rwxr-xr-x 658 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl
use warnings;
use strict;
use integer;

# This script prints a checksum in Debian-Release or -Sources format.

our $field_width = 8;

die "usage: $0 [Release|Sources] [SUMMING-COMMAND] [FILE]\n" unless @ARGV == 3;
my ($style, $summing_command, $infile) = @ARGV;

$infile =~ s%^\./%%; # optional
my $sum_output = `$summing_command $infile`;
my ($sum, $filename) = $sum_output =~ /(\S+)\s+(\S+)/;
my @stat = stat $infile;
my $size0 = $stat[7];
my $size = $style eq 'Sources' ? $size0 : sprintf "%${field_width}d", $size0;
my ($basename) = $filename =~ m%/([^/]+)$%;
print " $sum $size " . ($style eq 'Sources' ? $basename : $filename) . "\n";