From f4ae604d35ffd4c3ec44eae1fc6a54d66458d8d6 Mon Sep 17 00:00:00 2001 From: Schamper <1254028+Schamper@users.noreply.github.com> Date: Fri, 24 May 2024 17:38:02 +0200 Subject: [PATCH 1/2] Compatibility with cstruct v4 --- dissect/regf/c_regf.py | 7 +++---- pyproject.toml | 4 ++-- tox.ini | 7 +++++++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/dissect/regf/c_regf.py b/dissect/regf/c_regf.py index 30e1d2c..4bdb4b5 100644 --- a/dissect/regf/c_regf.py +++ b/dissect/regf/c_regf.py @@ -1,6 +1,6 @@ -from dissect import cstruct +from dissect.cstruct import cstruct -c_regf_def = """ +regf_def = """ struct REGF_HEADER { uint32 signature; uint32 primary_sequence; @@ -137,8 +137,7 @@ }; """ -c_regf = cstruct.cstruct() -c_regf.load(c_regf_def) +c_regf = cstruct().load(regf_def) REG_NONE = 0x0 diff --git a/pyproject.toml b/pyproject.toml index f1416a0..d2dab55 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,8 +25,8 @@ classifiers = [ "Topic :: Utilities", ] dependencies = [ - "dissect.cstruct>=3.0.dev,<4.0.dev", - "dissect.util>=3.0.dev,<4.0.dev", + "dissect.cstruct>3,<5", + "dissect.util>2,<4", ] dynamic = ["version"] diff --git a/tox.ini b/tox.ini index 67e8e8a..badc32c 100644 --- a/tox.ini +++ b/tox.ini @@ -15,6 +15,13 @@ deps = pytest pytest-cov coverage +# Unfortunately, tox does not allow separate installation flags for the project +# dependencies and the test dependencies. When running tox, we want to install the +# project dependencies with the --pre flag, so that we get the latest version of all +# dependencies. We do the installation step ourselves for this reason. +skip_install = true +commands_pre = + pip install --pre -e . commands = pytest --basetemp="{envtmpdir}" {posargs:--color=yes --cov=dissect --cov-report=term-missing -v tests} coverage report From 6cdb1dbe71eec2268a199b93cc3732b9da05f8b6 Mon Sep 17 00:00:00 2001 From: pyrco <105293448+pyrco@users.noreply.github.com> Date: Thu, 30 May 2024 14:04:30 +0200 Subject: [PATCH 2/2] Use a dev extra instead of installing with --pre --- pyproject.toml | 10 ++++++++-- tox.ini | 8 +------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d2dab55..7faad4d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,8 +25,8 @@ classifiers = [ "Topic :: Utilities", ] dependencies = [ - "dissect.cstruct>3,<5", - "dissect.util>2,<4", + "dissect.cstruct>=4.dev,<5", + "dissect.util>=3,<4", ] dynamic = ["version"] @@ -35,6 +35,12 @@ homepage = "https://dissect.tools" documentation = "https://docs.dissect.tools/en/latest/projects/dissect.regf" repository = "https://github.com/fox-it/dissect.regf" +[project.optional-dependencies] +dev = [ + "dissect.cstruct>=4.0.dev,<5.0.dev", + "dissect.util>=3.0.dev,<4.0.dev", +] + [tool.black] line-length = 120 diff --git a/tox.ini b/tox.ini index badc32c..7bd2890 100644 --- a/tox.ini +++ b/tox.ini @@ -11,17 +11,11 @@ minversion = 4.4.3 requires = virtualenv>=20.16.6 [testenv] +extras = dev deps = pytest pytest-cov coverage -# Unfortunately, tox does not allow separate installation flags for the project -# dependencies and the test dependencies. When running tox, we want to install the -# project dependencies with the --pre flag, so that we get the latest version of all -# dependencies. We do the installation step ourselves for this reason. -skip_install = true -commands_pre = - pip install --pre -e . commands = pytest --basetemp="{envtmpdir}" {posargs:--color=yes --cov=dissect --cov-report=term-missing -v tests} coverage report