]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix "srcid" on Windows
authorMichał Kępień <michal@isc.org>
Wed, 15 Apr 2020 09:38:40 +0000 (11:38 +0200)
committerMichał Kępień <michal@isc.org>
Wed, 15 Apr 2020 09:39:50 +0000 (11:39 +0200)
Windows BIND releases produced by GitLab CI are built from Git
repositories, not from release tarballs, which means the "srcid" file is
not present in the top source directory when MSBuild is invoked.  This
causes the Git commit hash for such builds to be set to "unset_id".
Enable win32utils/Configure to try determining the commit hash for a
build by invoking Git on the build host if the "srcid" file is not
present (which is what its Unix counterpart does).

(cherry picked from commit 05e13e7cafaff48b5e3bb098114225df89f3e59c)

win32utils/Configure

index 5492310d044dfe1e5d636fa3b9f55fa2c2e6a325..85e8e8edfc7e3b709d73b2362e071d71e2cb115a 100644 (file)
@@ -2725,6 +2725,13 @@ sub makesrcid {
         close SIN;
     }
 
+    if ($srcid eq "unset_id" and -d "..\\.git") {
+        $data = `git rev-list --max-count=1 HEAD`;
+        if (length($data) > 0) {
+            $srcid = substr($data, 0, 7);
+        }
+    }
+
     # Now set up the output version file
 
     my $ThisDate = scalar localtime();