From b32480f0f975e80caa0b87a0001c9343e258f987 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Tue, 23 Jan 2018 10:49:37 +0000
Subject: [PATCH] build: Ensure that pm_to_blib finishes before rewriting
 shebang lines

Otherwise, rewriting shebang lines can race with pm_to_blib,
potentially resulting in files being corrupt or empty.
---
 CHANGELOG   | 1 +
 Makefile.PL | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG b/CHANGELOG
index 69721498f..22d9a3660 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -7,6 +7,7 @@ ikiwiki (3.20180106) UNRELEASED; urgency=medium
   * build: `set -e` before each `for` loop, so that errors are reliably
     trapped
   * build: Use if/then instead of `||` so that the `-e` flag works
+  * build: Ensure that pm_to_blib finishes before rewriting shebang lines
 
  -- Simon McVittie <smcv@debian.org>  Mon, 08 Jan 2018 10:51:10 +0000
 
diff --git a/Makefile.PL b/Makefile.PL
index 907ff30c9..6f1724697 100755
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -61,7 +61,7 @@ extra_build: perl_shebangs $(outprogs) ikiwiki.setup docwiki sysconfdir
 docwiki:
 	$(PERL) -Iblib/lib $(extramodules) $(tflag) ikiwiki.in --setup docwiki.setup --refresh
 
-perl_shebangs:
+perl_shebangs: pm_to_blib
 ifneq "$(PERL)" "/usr/bin/perl"
 	set -e; \
 	for file in $(shebang_scripts); do \
-- 
2.39.5