chiark / gitweb /
changelog: document further make-release changes
[otter.git] / usvg-processor
index 4e7b1af275bfc346aeb2382fc106347457f48b27..41db5d3fa57ed2d1e6db962ae64174161780755d 100755 (executable)
@@ -9,10 +9,15 @@ open STDOUT, '>', "$out.tmp" or die $!;
 open L, '<', $lic or die $!;
 open STDIN, "<", $in or die $!;
 
+$!=0; my $git = `git rev-parse HEAD`;       die "$? $!" if $! || $?;
+$!=0; my $plus = `git status --porcelain`;  die "$? $!" if $! || $?;
+chomp $git; chomp $plus;
+$git .= "+" if length $plus;
+
 sub add_lic () {
   while (<L>) {
     next unless m{^\s*SPDX-License-Identifier:\s+(\S.*?)\s*$};
-    print "<!-- $out $1, see $lic -->\n" or die $!;
+    print "<!-- otter.git#$git $out $1, see $lic -->\n" or die $!;
     return;
   }
   die "no spdx in $lic ?";
@@ -21,5 +26,19 @@ sub add_lic () {
 add_lic();
 
 flush STDOUT or die $!;
-$!=0; $?=0; system qw(sh -ec), "exec $usvg -c -" and die "exec usvg: $? $!";
-rename "$out.tmp", $out or die $!;
+my $cmd = "$usvg";
+
+open OPTS, "src/USVG_DEFAULT_ARGS.txt" or die $!;
+while (<OPTS>) {
+  s/^\s*$//; s/\s*$//;
+  next unless m/^[^#]/;
+  $cmd .= " '$_'";
+}
+
+$cmd .= " - -c";
+
+my $cmd_m = "$cmd <$in >$out.tmp";
+print STDERR "+ $cmd_m\n";
+
+$!=0; $?=0; system qw(sh -ec), "exec $cmd" and die "exec usvg: $cmd_m: $? $!";
+rename "$out.tmp", $out or die "'$cmd_m': $!";