diff --git a/appveyor.yml b/appveyor.yml index 9dba327a..a09b67b7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -17,13 +17,16 @@ install: - cmd: "%PYTHON%\\python.exe -m pip install pywin32 WMI" - cmd: "%PYTHON%\\python.exe %PYTHON%\\Scripts\\pywin32_postinstall.py -install" - cmd: git clone https://github.com/log2timeline/l2tdevtools.git ..\l2tdevtools -- cmd: if [%PYTHON_VERSION%]==[3.8] ( +- cmd: IF [%PYTHON_VERSION%]==[3.8] ( mkdir dependencies && set PYTHONPATH=..\l2tdevtools && - "%PYTHON%\\python.exe" ..\l2tdevtools\tools\update.py --download-directory dependencies --machine-type %MACHINE_TYPE% --msi-targetdir "%PYTHON%" --track "%L2TBINARIES_TRACK%" PyYAML cffi cryptography dfdatetime dtfabric idna libbde libewf libfsapfs libfsntfs libfvde libfwnt libluksde libqcow libsigscan libsmdev libsmraw libvhdi libvmdk libvshadow libvslvm mock pbr pytsk3 six ) + "%PYTHON%\\python.exe" ..\l2tdevtools\tools\update.py --download-directory dependencies --machine-type %MACHINE_TYPE% --msi-targetdir "%PYTHON%" --track "%L2TBINARIES_TRACK%" PyYAML cffi cryptography dfdatetime dtfabric idna libbde libewf libfsapfs libfsext libfsntfs libfvde libfwnt libluksde libqcow libsigscan libsmdev libsmraw libvhdi libvmdk libvshadow libvslvm mock pbr pytsk3 six ) build: off test_script: -- cmd: if [%TARGET%]==[unittests] ( - "%PYTHON%\\python.exe" run_tests.py ) +- cmd: IF [%TARGET%]==[unittests] ( + "%PYTHON%\\python.exe" run_tests.py && + IF EXIST "tests\\end-to-end.py" ( + set PYTHONPATH=. && + "%PYTHON%\\python.exe" "tests\\end-to-end.py" --debug -c "config\\end-to-end.ini" ) ) diff --git a/config/dpkg/control b/config/dpkg/control index 000e5c04..bd4ddccb 100644 --- a/config/dpkg/control +++ b/config/dpkg/control @@ -2,14 +2,14 @@ Source: dfvfs Section: python Priority: extra Maintainer: Log2Timeline maintainers -Build-Depends: debhelper (>= 9), dh-python, python3-all (>= 3.5~), python3-setuptools +Build-Depends: debhelper (>= 9), dh-python, python3-all (>= 3.6~), python3-setuptools Standards-Version: 4.1.4 -X-Python3-Version: >= 3.5 +X-Python3-Version: >= 3.6 Homepage: https://github.com/log2timeline/dfvfs Package: python3-dfvfs Architecture: all -Depends: libbde-python3 (>= 20140531), libewf-python3 (>= 20131210), libfsapfs-python3 (>= 20181205), libfsntfs-python3 (>= 20200424), libfvde-python3 (>= 20160719), libfwnt-python3 (>= 20160418), libluksde-python3 (>= 20200101), libqcow-python3 (>= 20131204), libsigscan-python3 (>= 20191221), libsmdev-python3 (>= 20140529), libsmraw-python3 (>= 20140612), libvhdi-python3 (>= 20131210), libvmdk-python3 (>= 20140421), libvshadow-python3 (>= 20160109), libvslvm-python3 (>= 20160109), python3-cffi-backend (>= 1.9.1), python3-cryptography (>= 2.0.2), python3-dfdatetime (>= 20200121), python3-dtfabric (>= 20170524), python3-idna (>= 2.5), python3-pytsk3 (>= 20160721), python3-yaml (>= 3.10), ${python3:Depends}, ${misc:Depends} +Depends: libbde-python3 (>= 20140531), libewf-python3 (>= 20131210), libfsapfs-python3 (>= 20181205), libfsext-python3 (>= 20200810), libfsntfs-python3 (>= 20200424), libfvde-python3 (>= 20160719), libfwnt-python3 (>= 20160418), libluksde-python3 (>= 20200101), libqcow-python3 (>= 20131204), libsigscan-python3 (>= 20191221), libsmdev-python3 (>= 20140529), libsmraw-python3 (>= 20140612), libvhdi-python3 (>= 20131210), libvmdk-python3 (>= 20140421), libvshadow-python3 (>= 20160109), libvslvm-python3 (>= 20160109), python3-cffi-backend (>= 1.9.1), python3-cryptography (>= 2.0.2), python3-dfdatetime (>= 20200121), python3-dtfabric (>= 20170524), python3-idna (>= 2.5), python3-pytsk3 (>= 20160721), python3-yaml (>= 3.10), ${python3:Depends}, ${misc:Depends} Description: Python 3 module of dfVFS dfVFS, or Digital Forensics Virtual File System, provides read-only access to file-system objects from various storage media types and file formats. The goal diff --git a/config/jenkins/linux/run_end_to_end_tests.sh b/config/jenkins/linux/run_end_to_end_tests.sh index 72974f72..a9e130e3 100755 --- a/config/jenkins/linux/run_end_to_end_tests.sh +++ b/config/jenkins/linux/run_end_to_end_tests.sh @@ -34,6 +34,10 @@ if ! test -f ${CONFIGURATION_FILE}; then CONFIGURATION_FILE="config/jenkins/sans/${CONFIGURATION_NAME}.ini"; fi +if ! test -f ${CONFIGURATION_FILE}; +then + CONFIGURATION_FILE="config/jenkins/other/${CONFIGURATION_NAME}.ini"; +fi PYTHONPATH=. python3 ./utils/check_dependencies.py diff --git a/config/linux/gift_copr_install.sh b/config/linux/gift_copr_install.sh index 5343d7b5..9d59e255 100644 --- a/config/linux/gift_copr_install.sh +++ b/config/linux/gift_copr_install.sh @@ -11,6 +11,7 @@ set -e PYTHON3_DEPENDENCIES="libbde-python3 libewf-python3 libfsapfs-python3 + libfsext-python3 libfsntfs-python3 libfvde-python3 libfwnt-python3 @@ -47,6 +48,8 @@ DEBUG_DEPENDENCIES="libbde-debuginfo libewf-python3-debuginfo libfsapfs-debuginfo libfsapfs-python3-debuginfo + libfsext-debuginfo + libfsext-python3-debuginfo libfsntfs-debuginfo libfsntfs-python3-debuginfo libfvde-debuginfo diff --git a/config/linux/gift_ppa_install_py3.sh b/config/linux/gift_ppa_install_py3.sh index 12fb0087..01c320d8 100755 --- a/config/linux/gift_ppa_install_py3.sh +++ b/config/linux/gift_ppa_install_py3.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# # This script is deprecated and kept for backwards compatibility. +# This script is deprecated and kept for backwards compatibility. # # This file is generated by l2tdevtools update-dependencies.py any dependency # related changes should be made in dependencies.ini. diff --git a/config/linux/ubuntu_install_dfvfs.sh b/config/linux/ubuntu_install_dfvfs.sh index 95911c54..8e80756d 100755 --- a/config/linux/ubuntu_install_dfvfs.sh +++ b/config/linux/ubuntu_install_dfvfs.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash # -# Script to install dfvfs on Ubuntu from the GIFT PPA. +# Script to install dfvfs on Ubuntu from the GIFT PPA. Set the environment +# variable GIFT_PPA_TRACK if want to use a specific track. The default is dev. # # This file is generated by l2tdevtools update-dependencies.py any dependency # related changes should be made in dependencies.ini. @@ -8,6 +9,8 @@ # Exit on error. set -e +GIFT_PPA_TRACK=${GIFT_PPA_TRACK:-dev} + export DEBIAN_FRONTEND=noninteractive # Dependencies for running dfvfs, alphabetized, one per line. @@ -15,6 +18,7 @@ export DEBIAN_FRONTEND=noninteractive PYTHON_DEPENDENCIES="libbde-python3 libewf-python3 libfsapfs-python3 + libfsext-python3 libfsntfs-python3 libfvde-python3 libfwnt-python3 @@ -53,6 +57,8 @@ DEBUG_DEPENDENCIES="libbde-dbg libewf-python3-dbg libfsapfs-dbg libfsapfs-python3-dbg + libfsext-dbg + libfsext-python3-dbg libfsntfs-dbg libfsntfs-python3-dbg libfvde-dbg @@ -78,7 +84,7 @@ DEBUG_DEPENDENCIES="libbde-dbg libvslvm-dbg libvslvm-python3-dbg"; -sudo add-apt-repository ppa:gift/dev -y +sudo add-apt-repository ppa:gift/${GIFT_PPA_TRACK} -y sudo apt-get update -q sudo apt-get install -y ${PYTHON_DEPENDENCIES} diff --git a/config/travis/install.sh b/config/travis/install.sh index cb1ffa4b..71f9a2bf 100755 --- a/config/travis/install.sh +++ b/config/travis/install.sh @@ -5,11 +5,11 @@ # This file is generated by l2tdevtools update-dependencies.py any dependency # related changes should be made in dependencies.ini. -DPKG_PYTHON3_DEPENDENCIES="libbde-python3 libewf-python3 libfsapfs-python3 libfsntfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libqcow-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvshadow-python3 libvslvm-python3 python3-cffi-backend python3-cryptography python3-dfdatetime python3-dtfabric python3-idna python3-pytsk3 python3-yaml"; +DPKG_PYTHON3_DEPENDENCIES="libbde-python3 libewf-python3 libfsapfs-python3 libfsext-python3 libfsntfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libqcow-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvshadow-python3 libvslvm-python3 python3-cffi-backend python3-cryptography python3-dfdatetime python3-dtfabric python3-idna python3-pytsk3 python3-yaml"; DPKG_PYTHON3_TEST_DEPENDENCIES="python3-coverage python3-distutils python3-mock python3-pbr python3-setuptools python3-six"; -RPM_PYTHON3_DEPENDENCIES="libbde-python3 libewf-python3 libfsapfs-python3 libfsntfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libqcow-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvshadow-python3 libvslvm-python3 python3-cffi python3-cryptography python3-dfdatetime python3-dtfabric python3-idna python3-pytsk3 python3-pyyaml"; +RPM_PYTHON3_DEPENDENCIES="libbde-python3 libewf-python3 libfsapfs-python3 libfsext-python3 libfsntfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libqcow-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvshadow-python3 libvslvm-python3 python3-cffi python3-cryptography python3-dfdatetime python3-dtfabric python3-idna python3-pytsk3 python3-pyyaml"; RPM_PYTHON3_TEST_DEPENDENCIES="python3-mock python3-pbr python3-setuptools python3-six"; diff --git a/config/travis/runtests.sh b/config/travis/runtests.sh index b4ef8202..8e4f4986 100755 --- a/config/travis/runtests.sh +++ b/config/travis/runtests.sh @@ -50,7 +50,14 @@ then elif test "${TARGET}" = "dockerfile"; then - cd config/docker && docker build --build-arg PPA_TRACK="dev" -f Dockerfile . + SOURCE_PATH=${PWD}; + CONTAINER_NAME="test"; + + cd config/docker + + docker build --build-arg PPA_TRACK="dev" -f Dockerfile -t ${CONTAINER_NAME} . + + # TODO: add tests elif test "${TRAVIS_OS_NAME}" = "osx"; then diff --git a/requirements.txt b/requirements.txt index 798faafc..4c38807e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,6 +8,7 @@ idna >= 2.5 libbde-python >= 20140531 libewf-python >= 20131210 libfsapfs-python >= 20181205 +libfsext-python >= 20200810 libfsntfs-python >= 20200424 libfvde-python >= 20160719 libfwnt-python >= 20160418 diff --git a/setup.cfg b/setup.cfg index 15b1d0f5..92215ba9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,6 +20,7 @@ build_requires = python3-setuptools requires = libbde-python3 >= 20140531 libewf-python3 >= 20131210 libfsapfs-python3 >= 20181205 + libfsext-python3 >= 20200810 libfsntfs-python3 >= 20200424 libfvde-python3 >= 20160719 libfwnt-python3 >= 20160418 diff --git a/setup.py b/setup.py index b337fc7c..f38458da 100755 --- a/setup.py +++ b/setup.py @@ -27,9 +27,9 @@ from distutils.command.sdist import sdist version_tuple = (sys.version_info[0], sys.version_info[1]) -if version_tuple < (3, 5): +if version_tuple < (3, 6): print(( - 'Unsupported Python version: {0:s}, version 3.5 or higher ' + 'Unsupported Python version: {0:s}, version 3.6 or higher ' 'required.').format(sys.version)) sys.exit(1) @@ -189,7 +189,7 @@ def _make_spec_file(self): 'Programming Language :: Python', ], packages=find_packages('.', exclude=[ - 'examples', 'tests', 'tests.*', 'utils']), + 'docs', 'examples', 'tests', 'tests.*', 'utils']), package_dir={ 'dfvfs': 'dfvfs' }, diff --git a/tox.ini b/tox.ini index a8f2517e..5dd5522c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py3{5,6,7,8},coverage,docs,pylint +envlist = py3{6,7,8},coverage,docs,pylint [testenv] pip_pre = True @@ -10,7 +10,7 @@ deps = -rtest_requirements.txt coverage: coverage commands = - py3{5,6,7,8}: ./run_tests.py + py3{6,7,8}: ./run_tests.py coverage: coverage erase coverage: coverage run --source=dfvfs --omit="*_test*,*__init__*,*test_lib*" run_tests.py