diff --git a/.github/workflows/test_docker.yml b/.github/workflows/test_docker.yml index a6fa315..f467744 100644 --- a/.github/workflows/test_docker.yml +++ b/.github/workflows/test_docker.yml @@ -18,7 +18,7 @@ jobs: - name: Install dependencies run: | dnf copr -y enable @gift/dev - dnf install -y @development-tools python3 python3-devel libbde-python3 libcreg-python3 libewf-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-dtfabric python3-idna python3-pytsk3 python3-pyyaml python3-setuptools python3-xattr + dnf install -y @development-tools python3 python3-devel libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-dtfabric python3-idna python3-pytsk3 python3-pyyaml python3-setuptools python3-xattr - name: Run tests env: LANG: C.utf8 @@ -58,7 +58,7 @@ jobs: run: | add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential python3 python3-dev libbde-python3 libcreg-python3 libewf-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-wheel python3-xattr python3-yaml + apt-get install -y build-essential python3 python3-dev libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-wheel python3-xattr python3-yaml - name: Run tests env: LANG: en_US.UTF-8 diff --git a/.github/workflows/test_docs.yml b/.github/workflows/test_docs.yml index b54dcc3..286c756 100644 --- a/.github/workflows/test_docs.yml +++ b/.github/workflows/test_docs.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: include: - - python-version: '3.11' + - python-version: '3.12' toxenv: 'docs' container: image: ubuntu:22.04 @@ -36,7 +36,7 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml + apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml - name: Install tox run: | python3 -m pip install tox diff --git a/.github/workflows/test_tox.yml b/.github/workflows/test_tox.yml index 71d98fc..46c3420 100644 --- a/.github/workflows/test_tox.yml +++ b/.github/workflows/test_tox.yml @@ -46,7 +46,7 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml + apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml - name: Install tox run: | python3 -m pip install tox @@ -82,7 +82,7 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml + apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml - name: Install tox run: | python3 -m pip install tox @@ -98,7 +98,7 @@ jobs: strategy: matrix: include: - - python-version: '3.11' + - python-version: '3.12' toxenv: 'lint' container: image: ubuntu:22.04 @@ -120,7 +120,7 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml + apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcaes-python3 libcreg-python3 libewf-python3 libfcrypto-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml - name: Install tox run: | python3 -m pip install tox diff --git a/.pylintrc b/.pylintrc index 4f54834..08d2f6d 100644 --- a/.pylintrc +++ b/.pylintrc @@ -29,7 +29,7 @@ clear-cache-post-run=no # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code. -extension-pkg-allow-list=pybde,pycreg,pyewf,pyfsapfs,pyfsext,pyfsfat,pyfshfs,pyfsntfs,pyfsxfs,pyfvde,pyfwnt,pyluksde,pymodi,pyphdi,pyqcow,pyregf,pysigscan,pysmdev,pysmraw,pytsk3,pyvhdi,pyvmdk,pyvsapm,pyvsgpt,pyvshadow,pyvslvm,xattr +extension-pkg-allow-list=pybde,pycaes,pycreg,pyewf,pyfcrypto,pyfsapfs,pyfsext,pyfsfat,pyfshfs,pyfsntfs,pyfsxfs,pyfvde,pyfwnt,pyluksde,pymodi,pyphdi,pyqcow,pyregf,pysigscan,pysmdev,pysmraw,pytsk3,pyvhdi,pyvmdk,pyvsapm,pyvsgpt,pyvshadow,pyvslvm,xattr # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may diff --git a/appveyor.yml b/appveyor.yml index f10b274..fa80fa7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,34 +1,34 @@ environment: matrix: - - DESCRIPTION: "Run tests on Windows with 32-bit Python 3.11" + - DESCRIPTION: "Run tests on Windows with 32-bit Python 3.12" MACHINE_TYPE: "x86" APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 - PYTHON: "C:\\Python311" - PYTHON_VERSION: "3.11" + PYTHON: "C:\\Python312" + PYTHON_VERSION: "3.12" L2TBINARIES_TRACK: "dev" TARGET: tests - - DESCRIPTION: "Run tests on Windows with 64-bit Python 3.11" + - DESCRIPTION: "Run tests on Windows with 64-bit Python 3.12" MACHINE_TYPE: "amd64" APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 - PYTHON: "C:\\Python311-x64" - PYTHON_VERSION: "3.11" + PYTHON: "C:\\Python312-x64" + PYTHON_VERSION: "3.12" L2TBINARIES_TRACK: "dev" TARGET: tests - - DESCRIPTION: "Build wheel on Windows with 32-bit Python 3.11" + - DESCRIPTION: "Build wheel on Windows with 32-bit Python 3.12" MACHINE_TYPE: "amd64" APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 - PYTHON: "C:\\Python311-x64" - PYTHON_VERSION: "3.11" + PYTHON: "C:\\Python312-x64" + PYTHON_VERSION: "3.12" L2TBINARIES_TRACK: "dev" TARGET: wheel - - DESCRIPTION: "Build wheel on Windows with 64-bit Python 3.11" + - DESCRIPTION: "Build wheel on Windows with 64-bit Python 3.12" MACHINE_TYPE: "amd64" APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 - PYTHON: "C:\\Python311-x64" - PYTHON_VERSION: "3.11" + PYTHON: "C:\\Python312-x64" + PYTHON_VERSION: "3.12" L2TBINARIES_TRACK: "dev" TARGET: wheel - - DESCRIPTION: "Run tests on Mac OS with Python 3.11" + - DESCRIPTION: "Run tests on Mac OS with Python 3.12" APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey HOMEBREW_NO_INSTALL_CLEANUP: 1 TARGET: tests diff --git a/config/appveyor/install.ps1 b/config/appveyor/install.ps1 index 03b2fb0..3b696dc 100644 --- a/config/appveyor/install.ps1 +++ b/config/appveyor/install.ps1 @@ -1,6 +1,6 @@ # Script to set up tests on AppVeyor Windows. -$Dependencies = "PyYAML artifacts cffi cryptography dfdatetime dfimagetools dfvfs dfwinreg dtfabric idna libbde libcreg libewf libfsapfs libfsext libfsfat libfshfs libfsntfs libfsxfs libfvde libfwnt libluksde libmodi libphdi libqcow libregf libsigscan libsmdev libsmraw libvhdi libvmdk libvsapm libvsgpt libvshadow libvslvm pytsk3 xattr" +$Dependencies = "PyYAML artifacts cffi cryptography dfdatetime dfimagetools dfvfs dfwinreg dtfabric idna libbde libcaes libcreg libewf libfcrypto libfsapfs libfsext libfsfat libfshfs libfsntfs libfsxfs libfvde libfwnt libluksde libmodi libphdi libqcow libregf libsigscan libsmdev libsmraw libvhdi libvmdk libvsapm libvsgpt libvshadow libvslvm pytsk3 xattr" If ($Dependencies.Length -gt 0) { diff --git a/config/appveyor/install.sh b/config/appveyor/install.sh index e36de4c..42c4ab6 100755 --- a/config/appveyor/install.sh +++ b/config/appveyor/install.sh @@ -3,5 +3,5 @@ set -e brew update -q -brew install -q gettext gnu-sed python@3.11 tox || true +brew install -q gettext gnu-sed python@3.12 tox || true diff --git a/config/appveyor/runtests.sh b/config/appveyor/runtests.sh index e3bc8c3..86ba5ce 100755 --- a/config/appveyor/runtests.sh +++ b/config/appveyor/runtests.sh @@ -9,7 +9,7 @@ export LDFLAGS="-L/usr/local/lib -L/usr/local/opt/gettext/lib ${LDFLAGS}"; export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include ${CPPFLAGS}"; export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib ${LDFLAGS}"; -# Set the following environment variables to ensure tox can find Python 3.11. -export PATH="/usr/local/opt/python@3.11/bin:${PATH}"; +# Set the following environment variables to ensure tox can find Python 3.12. +export PATH="/usr/local/opt/python@3.12/bin:${PATH}"; -tox -e py311 +tox -e py312 diff --git a/config/dpkg/changelog b/config/dpkg/changelog index f81d49f..25b76d5 100644 --- a/config/dpkg/changelog +++ b/config/dpkg/changelog @@ -1,5 +1,5 @@ -winevt-kb (20231228-1) unstable; urgency=low +sqlite-kb (20240115-1) unstable; urgency=low * Auto-generated - -- Joachim Metz Thu, 28 Dec 2023 06:26:05 +0100 + -- Joachim Metz Mon, 15 Jan 2024 06:26:00 +0100 diff --git a/config/dpkg/control b/config/dpkg/control index ceb4755..d4c4a9a 100644 --- a/config/dpkg/control +++ b/config/dpkg/control @@ -7,16 +7,9 @@ Standards-Version: 4.1.4 X-Python3-Version: >= 3.6 Homepage: https://github.com/libyal/sqlite-kb -Package: sqlite-kb-data -Architecture: all -Depends: ${misc:Depends} -Description: Data files for SQLite database knowledge base - sqliterc is a Python module part of sqlite-kb to allow reuse of - SQLite database resources. - Package: python3-sqliterc Architecture: all -Depends: sqlite-kb-data (>= ${binary:Version}), libbde-python3 (>= 20220121), libcreg-python3 (>= 20200725), libewf-python3 (>= 20131210), libfsapfs-python3 (>= 20220709), libfsext-python3 (>= 20220829), libfsfat-python3 (>= 20220925), libfshfs-python3 (>= 20220831), libfsntfs-python3 (>= 20211229), libfsxfs-python3 (>= 20220829), libfvde-python3 (>= 20220121), libfwnt-python3 (>= 20210717), libluksde-python3 (>= 20220121), libmodi-python3 (>= 20210405), libphdi-python3 (>= 20220228), libqcow-python3 (>= 20201213), libregf-python3 (>= 20201002), libsigscan-python3 (>= 20230109), libsmdev-python3 (>= 20140529), libsmraw-python3 (>= 20140612), libvhdi-python3 (>= 20201014), libvmdk-python3 (>= 20140421), libvsapm-python3 (>= 20230506), libvsgpt-python3 (>= 20211115), libvshadow-python3 (>= 20160109), libvslvm-python3 (>= 20160109), python3-artifacts (>= 20220219), python3-cffi-backend (>= 1.9.1), python3-cryptography (>= 2.0.2), python3-dfdatetime (>= 20221112), python3-dfimagetools (>= 20220129), python3-dfvfs (>= 20220831), python3-dfwinreg (>= 20211207), python3-dtfabric (>= 20230518), python3-idna (>= 2.5), python3-pytsk3 (>= 20210419), python3-xattr (>= 0.7.2), python3-yaml (>= 3.10), ${misc:Depends} +Depends: libbde-python3 (>= 20220121), libcaes-python3 (>= 20240114), libcreg-python3 (>= 20200725), libewf-python3 (>= 20131210), libfcrypto-python3 (>= 20240114), libfsapfs-python3 (>= 20220709), libfsext-python3 (>= 20220829), libfsfat-python3 (>= 20220925), libfshfs-python3 (>= 20220831), libfsntfs-python3 (>= 20211229), libfsxfs-python3 (>= 20220829), libfvde-python3 (>= 20220121), libfwnt-python3 (>= 20210717), libluksde-python3 (>= 20220121), libmodi-python3 (>= 20210405), libphdi-python3 (>= 20220228), libqcow-python3 (>= 20201213), libregf-python3 (>= 20201002), libsigscan-python3 (>= 20230109), libsmdev-python3 (>= 20140529), libsmraw-python3 (>= 20140612), libvhdi-python3 (>= 20201014), libvmdk-python3 (>= 20140421), libvsapm-python3 (>= 20230506), libvsgpt-python3 (>= 20211115), libvshadow-python3 (>= 20160109), libvslvm-python3 (>= 20160109), python3-artifacts (>= 20220219), python3-cffi-backend (>= 1.9.1), python3-cryptography (>= 2.0.2), python3-dfdatetime (>= 20221112), python3-dfimagetools (>= 20220129), python3-dfvfs (>= 20220831), python3-dfwinreg (>= 20211207), python3-dtfabric (>= 20230518), python3-idna (>= 2.5), python3-pytsk3 (>= 20210419), python3-xattr (>= 0.7.2), python3-yaml (>= 3.10), ${misc:Depends} Description: Python 3 module of SQLite database knowledge base resources (sqliterc) sqliterc is a Python module part of sqlite-kb to allow reuse of SQLite database resources. diff --git a/dependencies.ini b/dependencies.ini index cca1ac9..8336632 100644 --- a/dependencies.ini +++ b/dependencies.ini @@ -63,6 +63,14 @@ pypi_name: libbde-python rpm_name: libbde-python3 version_property: get_version() +[pycaes] +dpkg_name: libcaes-python3 +l2tbinaries_name: libcaes +minimum_version: 20240114 +pypi_name: libcaes-python +rpm_name: libcaes-python3 +version_property: get_version() + [pycreg] dpkg_name: libcreg-python3 l2tbinaries_name: libcreg @@ -79,6 +87,14 @@ pypi_name: libewf-python rpm_name: libewf-python3 version_property: get_version() +[pyfcrypto] +dpkg_name: libfcrypto-python3 +l2tbinaries_name: libfcrypto +minimum_version: 20240114 +pypi_name: libfcrypto-python +rpm_name: libfcrypto-python3 +version_property: get_version() + [pyfsapfs] dpkg_name: libfsapfs-python3 l2tbinaries_name: libfsapfs diff --git a/requirements.txt b/requirements.txt index e9c669e..4bd3248 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,8 +8,10 @@ dfvfs >= 20220831 dfwinreg >= 20211207 dtfabric >= 20230518 libbde-python >= 20220121 +libcaes-python >= 20240114 libcreg-python >= 20200725 libewf-python >= 20131210 +libfcrypto-python >= 20240114 libfsapfs-python >= 20220709 libfsext-python >= 20220829 libfsfat-python >= 20220925 diff --git a/scripts/extract.py b/scripts/extract.py index f25b9ba..07c8e3a 100755 --- a/scripts/extract.py +++ b/scripts/extract.py @@ -7,6 +7,8 @@ import os import sys +import artifacts + from dfvfs.helpers import command_line as dfvfs_command_line from dfvfs.helpers import volume_scanner as dfvfs_volume_scanner from dfvfs.lib import errors as dfvfs_errors @@ -87,7 +89,16 @@ def Main(): print('') return False - if not options.artifact_definitions: + artifact_definitions = options.artifact_definitions + if not artifact_definitions: + artifact_definitions = os.path.join( + os.path.dirname(artifacts.__file__), 'data') + if not os.path.exists(artifact_definitions): + artifact_definitions = os.path.join('/', 'usr', 'share', 'artifacts') + if not os.path.exists(artifact_definitions): + artifact_definitions = None + + if not artifact_definitions: print('Path to artifact definitions is missing.') print('') argument_parser.print_help() @@ -124,7 +135,7 @@ def Main(): options.volumes) extractor = schema_extractor.SQLiteSchemaExtractor( - options.artifact_definitions, mediator=mediator) + artifact_definitions, mediator=mediator) try: for database_identifier, database_schema in extractor.ExtractSchemas( diff --git a/setup.cfg b/setup.cfg index 708063e..46f49b2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = sqliterc -version = 20240107 +version = 20240115 description = SQLite database resources (sqliterc) long_description = sqliterc is a Python module part of sqlite-kb to allow reuse of SQLite database resources. long_description_content_type = text/plain @@ -42,13 +42,17 @@ where = . release = 1 packager = Joachim Metz doc_files = + ACKNOWLEDGEMENTS + AUTHORS LICENSE README build_requires = python3-setuptools requires = libbde-python3 >= 20220121 + libcaes-python3 >= 20240114 libcreg-python3 >= 20200725 libewf-python3 >= 20131210 + libfcrypto-python3 >= 20240114 libfsapfs-python3 >= 20220709 libfsext-python3 >= 20220829 libfsfat-python3 >= 20220925 diff --git a/sqliterc/__init__.py b/sqliterc/__init__.py index a53f1a6..c771dab 100644 --- a/sqliterc/__init__.py +++ b/sqliterc/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- """SQLite Database resources (sqliterc).""" -__version__ = '20230528' +__version__ = '20240115' diff --git a/tests/schema_extractor.py b/tests/schema_extractor.py index 256c524..026627e 100644 --- a/tests/schema_extractor.py +++ b/tests/schema_extractor.py @@ -2,8 +2,12 @@ # -*- coding: utf-8 -*- """Tests for the SQLite database file schema extractor.""" +import io +import os import unittest +import artifacts + from sqliterc import schema_extractor from tests import test_lib @@ -14,13 +18,31 @@ class SQLiteSchemaExtractorTest(test_lib.BaseTestCase): # pylint: disable=protected-access + _ARTIFACT_DEFINITIONS_PATH = os.path.join( + os.path.dirname(artifacts.__file__), 'data') + if not os.path.isdir(_ARTIFACT_DEFINITIONS_PATH): + _ARTIFACT_DEFINITIONS_PATH = os.path.join( + '/', 'usr', 'share', 'artifacts') + def testInitialize(self): """Tests the __init__ function.""" - # TODO: pass artifact definitions path. - test_extractor = schema_extractor.SQLiteSchemaExtractor(None) + test_extractor = schema_extractor.SQLiteSchemaExtractor( + self._ARTIFACT_DEFINITIONS_PATH) self.assertIsNotNone(test_extractor) - # TODO: add tests for _CheckSignature + def testCheckSignature(self): + """Tests the _CheckSignature function.""" + test_extractor = schema_extractor.SQLiteSchemaExtractor( + self._ARTIFACT_DEFINITIONS_PATH) + + file_object = io.BytesIO(b'SQLite format 3\x00') + result = test_extractor._CheckSignature(file_object) + self.assertTrue(result) + + file_object = io.BytesIO(b'\xff' * 16) + result = test_extractor._CheckSignature(file_object) + self.assertFalse(result) + # TODO: add tests for _FormatSchemaAsText # TODO: add tests for _FormatSchemaAsYAML # TODO: add tests for _GetDatabaseSchema diff --git a/utils/update_release.sh b/utils/update_release.sh index 811ae84..aff988a 100755 --- a/utils/update_release.sh +++ b/utils/update_release.sh @@ -10,14 +10,14 @@ VERSION=`date -u +"%Y%m%d"` DPKG_DATE=`date -R` # Update the Python module version. -sed "s/__version__ = '[0-9]*'/__version__ = '${VERSION}'/" -i winevtrc/__init__.py +sed "s/__version__ = '[0-9]*'/__version__ = '${VERSION}'/" -i sqliterc/__init__.py # Update the version in the setuptools configuration. sed "s/version = [0-9]*/version = ${VERSION}/" -i setup.cfg # Update the version in the dpkg configuration files. cat > config/dpkg/changelog << EOT -winevt-kb (${VERSION}-1) unstable; urgency=low +sqlite-kb (${VERSION}-1) unstable; urgency=low * Auto-generated