summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/texinfo/package.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/texinfo/package.py b/var/spack/repos/builtin/packages/texinfo/package.py
index a21cf9ec27..052dee4b4d 100644
--- a/var/spack/repos/builtin/packages/texinfo/package.py
+++ b/var/spack/repos/builtin/packages/texinfo/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
import re
from spack.package import *
@@ -69,6 +70,13 @@ class Texinfo(AutotoolsPackage, GNUMirrorPackage):
@classmethod
def determine_version(cls, exe):
+ # On CentOS and Ubuntu, the OS package info installs "info",
+ # which satisfies spack external find, but "makeinfo" comes
+ # from texinfo and may not be installed (and vice versa).
+ (texinfo_path, info_exe) = os.path.split(exe)
+ makeinfo_exe = os.path.join(texinfo_path, "makeinfo")
+ if not os.path.exists(makeinfo_exe):
+ return None
output = Executable(exe)("--version", output=str, error=str)
match = re.search(r"info \(GNU texinfo\)\s+(\S+)", output)
return match.group(1) if match else None