- update to version 20231224 - support python39, python310, and python311 packages simultaneously via multi-package building * move the files that are NOT python version dependant out to a plaso-tools package - remove dependancy on python-future. That was meant for python 2 packages only. OBS-URL: https://build.opensuse.org/request/show/1142014 OBS-URL: https://build.opensuse.org/package/show/security:forensics/python-plaso?expand=0&rev=69
192 lines
7.0 KiB
RPMSpec
192 lines
7.0 KiB
RPMSpec
#
|
|
# spec file for package python-plaso
|
|
#
|
|
# Copyright (c) 2020 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
%{?sle15_python_module_pythons}
|
|
|
|
%define timestamp 20231224
|
|
|
|
Name: python-plaso
|
|
Version: %{timestamp}
|
|
Release: 0
|
|
Summary: Plaso is a library for working with forensic timelines
|
|
License: Apache-2.0
|
|
Group: Development/Libraries/Python
|
|
URL: http://plaso.kiddaland.net/
|
|
#git: git clone https://github.com/log2timeline/plaso.git
|
|
Source: https://github.com/log2timeline/plaso/releases/download/%{version}/plaso-%{version}.tar.gz
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: fdupes
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: python-rpm-macros
|
|
|
|
Requires: artifacts-validator >= 20220219
|
|
|
|
# libewf newer versions than 2016-01-26 are buggy
|
|
#Requires: libewf2 = 20140811
|
|
# Testing the experimental branch. Initial testing of the experimental branch od libewf2 found no relevant errors
|
|
# relevant bugs were fixed in 2021
|
|
Requires: libewf3 >= 20220101
|
|
Requires: libzmq5 > 4.1.2
|
|
Requires: python-lz4 >= 0.10.0
|
|
Requires: python-jupyter
|
|
Requires: python-defusedxml >= 0.5.0
|
|
Requires: python-PyYAML
|
|
Requires: python-bencode
|
|
# Requires: python-idma >= 2.5
|
|
Requires: python-certifi >= 2016.9.26
|
|
# possibly optional?
|
|
Requires: python-cffi >= 1.15.1
|
|
# Requires: python-cffi-backend >= 1.9.1 old name? Not avalable in openSUSE
|
|
# optional
|
|
Requires: python-chardet
|
|
Requires: python-dfdatetime >= 0~20220419
|
|
Requires: python-cryptography >= 2.0.2
|
|
Requires: python-biplist
|
|
Requires: python-construct
|
|
Requires: python-dpkt
|
|
Requires: python-pyzmq >= 2.1.11
|
|
Requires: python-XlsxWriter >= 0.9.3
|
|
Requires: python-urllib3 >= 1.21.1
|
|
Requires: python-pyxattr >= 0.7.2
|
|
|
|
Requires: python-libbde >= 20220121
|
|
Requires: python-libcreg >= 20200725
|
|
Requires: python-dateutil >= 2.4.2
|
|
Requires: python-dfVFS >= 0~20221224
|
|
Requires: python-dfwinreg >= 0~20211207
|
|
Requires: python-dtfabric >= 0~20220219
|
|
Requires: python-fakeredis
|
|
#Requires: python-hachoir-core
|
|
#Requires: python-hachoir-metadata
|
|
#Requires: python-hachoir-parser >= 1.3.4
|
|
|
|
# These are core libraries. Make sure current versions are used
|
|
Requires: python-libesedb >= 0~20150409
|
|
Requires: python-libevt >= 0~20140731
|
|
Requires: python-libevtx >= 0~20210424
|
|
Requires: python-libewf > 20220101
|
|
Requires: python-libfsapfs >= 20201107
|
|
Requires: python-libfsext >= 20220112
|
|
Requires: python-libfsfat >= 20220925
|
|
Requires: python-libfshfs >= 20220115
|
|
Requires: python-libfsntfs >= 0~20211229
|
|
Requires: python-libfsxfs >= 0~20220113
|
|
Requires: python-libfvde >= 20220121
|
|
# Requires: python-libfnt >= 20210717
|
|
Requires: python-libfwsi >= 0~20150606
|
|
Requires: python-liblnk >= 0~20150830
|
|
Requires: python-libluksde >= 20220121
|
|
Requires: python-libmsiecf >= 0~20150314
|
|
Requires: python-libmodi >= 0~20210405
|
|
Requires: python-libolecf >= 0~20160107
|
|
Requires: python-libqcow >= 20201213
|
|
Requires: python-libregf >= 0~20201007
|
|
Requires: python-libscca >= 0~20190605
|
|
Requires: python-libsigscan >= 0~20191221
|
|
Requires: python-libsmdev
|
|
Requires: python-libsmraw
|
|
Requires: python-libvhdi >= 2020114
|
|
Requires: python-libvmdk
|
|
Requires: python-libvsgpt >= 20211115
|
|
Requires: python-libvshadow >= 0~20160109
|
|
Requires: python-libvslvm >= 0~20160109
|
|
Requires: python-olefile
|
|
Requires: python-pefile >= 2021.5.24
|
|
Requires: python-protobuf
|
|
Requires: python-psutil >= 5.4.3
|
|
Requires: python-pyparsing >= 2.0.3
|
|
Requires: python-redis >= 3.4
|
|
Requires: python-requests >= 2.18.0
|
|
Requires: python-tsk >= 0~20210419
|
|
Requires: python-pytz
|
|
Requires: python-yara >= 3.5.0
|
|
Requires: plaso-base
|
|
# Requires: python-yaml >= 3.10
|
|
Recommends: libesedb-tools
|
|
Recommends: libevt-tools
|
|
Recommends: libevtx-tools
|
|
Recommends: libewf-tools
|
|
Recommends: liblnk-tools
|
|
Recommends: libmsiecf-tools
|
|
Recommends: libolecf-tools
|
|
Recommends: libregf-tools
|
|
Recommends: libsmdev-tools
|
|
Recommends: libvhdi-tools
|
|
Recommends: libvmdk-tools
|
|
Recommends: libvshadow-tools
|
|
# python-opensearch is totally untested
|
|
Recommends: python-opensearch
|
|
# for running the test suite
|
|
Recommends: python-mock
|
|
Recommends: sleuthkit >= 4.1.2
|
|
Provides: plaso
|
|
BuildArch: noarch
|
|
%python_subpackages
|
|
|
|
%description
|
|
Plaso (plaso langar að safna öllu) is the Python based back-end engine used by tools such as log2timeline for automatic creation of a super timelines. The goal of log2timeline (and thus plaso) is to provide a single tool that can parse various log files and forensic artifacts from computer and related systems, such as network equipment to produce a single correlated timeline. This timeline can then be easily analysed by forensic investigators/analysts, speeding up investigations by correlating the vast amount of information found on an average computer system.
|
|
|
|
%package -n plaso-base
|
|
Summary: Python version neutral tools for plaso
|
|
License: Apache-2.0
|
|
|
|
%description -n plaso-base
|
|
Several tools provided with the plaso program
|
|
|
|
%prep
|
|
%setup -q -n plaso-%{version}
|
|
for subdir in analysis cli engine filters formatters lib parsers preprocessors serializer storage output; do
|
|
find plaso/$subdir -name \*.py | xargs sed -i "/#!\/usr\/bin\/python/d"
|
|
done
|
|
chmod -x utils/check_dependencies.py
|
|
# sed -i "/#!\/usr\/bin\/env python/d" plaso/lib/objectfilter*.py
|
|
# sed -i "/#!\/usr\/bin\/python/d" plaso/frontend/__init__.py
|
|
# sed -i "/#!\/usr\/bin\/python/d" plaso/frontend/frontend.py
|
|
# sed -i "/#!\/usr\/bin\/python/d" plaso/__init__.py
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%{python_expand %fdupes %{buildroot}%{$python_sitelib} }
|
|
|
|
%check
|
|
# this would require all the "#requires" packages to be installed. They aren't.
|
|
#python utils/check_dependencies.py
|
|
|
|
|
|
%files -n plaso-base
|
|
%license LICENSE
|
|
%doc ACKNOWLEDGEMENTS AUTHORS
|
|
%doc utils/check_dependencies.py
|
|
%{_datadir}/plaso
|
|
%{_bindir}/image_export.py
|
|
%{_bindir}/log2timeline.py
|
|
%{_bindir}/pinfo.py
|
|
%{_bindir}/psort.py
|
|
%{_bindir}/psteal.py
|
|
|
|
%files %{python_files}
|
|
%license LICENSE
|
|
%doc ACKNOWLEDGEMENTS AUTHORS
|
|
%{python_sitelib}/plaso-%{version}-py%{python_version}.egg-info
|
|
%{python_sitelib}/plaso
|
|
%{python_sitelib}/tools
|
|
|
|
%changelog
|