chiark / gitweb /
ensure_eq, fix
[otter.git] / usvg-processor
1 #!/usr/bin/perl -w
2
3 use strict;
4
5 die unless @ARGV == 4;
6 our ($out, $in, $lic, $usvg) = @ARGV;
7
8 open STDOUT, '>', "$out.tmp" or die $!;
9 open L, '<', $lic or die $!;
10 open STDIN, "<", $in or die $!;
11
12 $!=0; my $git = `git rev-parse HEAD`;       die "$? $!" if $! || $?;
13 $!=0; my $plus = `git status --porcelain`;  die "$? $!" if $! || $?;
14 chomp $git; chomp $plus;
15 $git .= "+" if length $plus;
16
17 sub add_lic () {
18   while (<L>) {
19     next unless m{^\s*SPDX-License-Identifier:\s+(\S.*?)\s*$};
20     print "<!-- otter.git#$git $out $1, see $lic -->\n" or die $!;
21     return;
22   }
23   die "no spdx in $lic ?";
24 }
25
26 add_lic();
27
28 flush STDOUT or die $!;
29 $!=0; $?=0; system qw(sh -ec), "exec $usvg -c -" and die "exec usvg: $? $!";
30 rename "$out.tmp", $out or die $!;