summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2021-11-10 19:11:33 -0600
committerDavid Gibson <david@gibson.dropbear.id.au>2021-11-11 14:30:33 +1100
commit0b106a77dbdc34ef809526febafc490b90d79a54 (patch)
tree32479f675cf280596fb43e02080fc83a79b1a837
parentc691776ddb26acbd3674722caafacaf7b6e3e807 (diff)
downloaddevice-tree-compiler-0b106a77dbdc34ef809526febafc490b90d79a54.tar.gz
pylibfdt: Use setuptools_scm for the version
The DTC version in version_gen.h causes a warning with setuptools: setuptools/dist.py:501: UserWarning: The version specified ('1.6.1-g5454474d') \ is an invalid version, this may not work as expected with newer versions of \ setuptools, pip, and PyPI. Please see PEP 440 for more details. It also creates an unnecessary dependency on the rest of the build system(s). Switch to use setuptools_scm instead to get the version for pylibfdt. Signed-off-by: Rob Herring <robh@kernel.org> Message-Id: <20211111011135.2386773-3-robh@kernel.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--pylibfdt/Makefile.pylibfdt2
-rw-r--r--pylibfdt/meson.build1
-rwxr-xr-xpylibfdt/setup.py18
3 files changed, 5 insertions, 16 deletions
diff --git a/pylibfdt/Makefile.pylibfdt b/pylibfdt/Makefile.pylibfdt
index 1b5f236..015a05e 100644
--- a/pylibfdt/Makefile.pylibfdt
+++ b/pylibfdt/Makefile.pylibfdt
@@ -16,7 +16,7 @@ ifndef V
SETUPFLAGS += --quiet
endif
-$(PYMODULE): $(PYLIBFDT_srcs) $(LIBFDT_archive) $(SETUP) $(VERSION_FILE)
+$(PYMODULE): $(PYLIBFDT_srcs) $(LIBFDT_archive) $(SETUP)
@$(VECHO) PYMOD $@
$(PYTHON) $(SETUP) $(SETUPFLAGS) build_ext --build-lib=$(PYLIBFDT_dir)
diff --git a/pylibfdt/meson.build b/pylibfdt/meson.build
index 088f249..fad5aa1 100644
--- a/pylibfdt/meson.build
+++ b/pylibfdt/meson.build
@@ -5,7 +5,6 @@ custom_target(
'pylibfdt',
input: 'libfdt.i',
output: '_libfdt.so',
- depends: version_gen_h,
command: [setup_py, 'build_ext', '--build-lib=' + meson.current_build_dir()],
build_by_default: true,
)
diff --git a/pylibfdt/setup.py b/pylibfdt/setup.py
index f065a59..52b61b6 100755
--- a/pylibfdt/setup.py
+++ b/pylibfdt/setup.py
@@ -15,10 +15,6 @@ import os
import re
import sys
-
-VERSION_PATTERN = '^#define DTC_VERSION "DTC ([^"]*)"$'
-
-
def get_top_builddir():
if '--top-builddir' in sys.argv:
index = sys.argv.index('--top-builddir')
@@ -27,18 +23,9 @@ def get_top_builddir():
else:
return os.getcwd()
-
srcdir = os.path.dirname(os.path.abspath(sys.argv[0]))
top_builddir = get_top_builddir()
-
-def get_version():
- version_file = os.path.join(top_builddir, 'version_gen.h')
- f = open(version_file, 'rt')
- m = re.match(VERSION_PATTERN, f.readline())
- return m.group(1)
-
-
libfdt_module = Extension(
'_libfdt',
sources=[os.path.join(srcdir, 'libfdt.i')],
@@ -50,7 +37,10 @@ libfdt_module = Extension(
setup(
name='libfdt',
- version=get_version(),
+ use_scm_version={
+ "root": os.path.join(srcdir, '..'),
+ },
+ setup_requires = ['setuptools_scm'],
author='Simon Glass <sjg@chromium.org>',
description='Python binding for libfdt',
ext_modules=[libfdt_module],