From 6a9e6be024bfeeff3831792de6af85c130f0900c Mon Sep 17 00:00:00 2001 From: Dmitry Selyutin Date: Sun, 1 Oct 2017 20:29:13 +0300 Subject: [PATCH] pygnulib.py: fetch ac_version if not present --- pygnulib.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pygnulib.py b/pygnulib.py index e1d8d25c14..e261b7b79e 100755 --- a/pygnulib.py +++ b/pygnulib.py @@ -5,6 +5,7 @@ import codecs import os +import re import stat import sys import traceback @@ -25,6 +26,7 @@ from pygnulib.filesystem import GnulibGit as GnulibGitFS +AC_VERSION_PATTERN = re.compile(r"AC_PREREQ\(\[(.*?)\]\)", re.S | re.M) IGNORED_LICENSES = { "GPLed build tool", "public domain", @@ -59,6 +61,14 @@ def extract_hook(program, gnulib, mode, namespace, *args, **kwargs): def import_hook(script, gnulib, namespace, verbosity, options, *args, **kwargs): (_, _) = (args, kwargs) config = BaseConfig(**namespace) + if "ac_version" not in namespace: + configure = os.path.join(config.root, "configure.ac") + if not os.path.exists(configure): + configure = os.path.join(config.root, "configure.in") + if os.path.exists(configure): + with codecs.open(configure, "rb", "UTF-8") as stream: + match = AC_VERSION_PATTERN.findall(stream.read()) + config.ac_version = float(match[-1]) if match else 2.59 (base, full, main, final, tests) = transitive_closure(gnulib.module, config.modules, config.options) # Print some information about modules. -- 2.39.5