Blob Blame History Raw
%global         gituser         volatilityfoundation
%global         gitname         volatility
%global         gitdate         20181218
%global         commit          c67017651e3cc774b944203677d15411adb7c6e4
%global         shortcommit     %(c=%{commit}; echo ${c:0:7})

Name:           python-volatility
Version:        2.6.1
Release:        1%{?dist}
Summary:        Volatile memory extraction utility framework

License:        GPLv2+
URL:            http://www.volatilityfoundation.org/
#Git URL:       https://github.com/volatilityfoundation/volatility
#Source0:       https://github.com/%{gituser}/%{gitname}/archive/%{commit}/%{gitname}-%{version}-%{shortcommit}.tar.gz
Source0:        https://github.com/%{gituser}/%{gitname}/archive/%{version}.tar.gz#/%{gitname}-%{version}.tar.gz
Source1:        vol_genprofile
Source2:        volatility.1

BuildArch:      noarch
BuildRequires:  python2-devel python2-setuptools

#Tool dwarfdump from libdwarf-tools used in script vol_genprofile for generation of linux profile
#Requires:      /usr/bin/dwarfdump

%global _description\
The Volatility Framework is a completely open collection of tools, implemented\
in Python under the GNU General Public License, for the extraction of digital\
artifacts from volatile memory (RAM) samples. The extraction techniques are\
performed completely independent of the system being investigated but offer\
unprecedented visibility into the run time state of the system. The framework is\
intended to introduce people to the techniques and complexities associated with\
extracting digital artifacts from volatile memory samples and provide a\
platform for further work into this exciting area of research.\


%description %_description

%package -n python2-volatility
Summary: %summary
Requires:       python2-crypto
Requires:       libdwarf-tools
%{?python_provide:%python_provide python2-volatility}

%description -n python2-volatility %_description

%prep
#setup -qn %{gitname}-%{commit}
%setup -qn %{gitname}-%{version}

# Fix python shabang to explicit state oython version
sed -i -e 's|#!/usr/bin/env python|#!/usr/bin/python2|' tools/mac/convert.py \
    tools/vtype_diff.py  


%build
%{__python2} setup.py build

%install
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}

#Contrib contains plugins which might not work well if loaded all at once
#thus can't be loaded by default from plugins
mkdir -p %{buildroot}%{python2_sitelib}/volatility/contrib
mv %{buildroot}/usr/contrib/_* %{buildroot}%{python2_sitelib}/volatility/contrib/
mv %{buildroot}/usr/contrib/library_example %{buildroot}%{python2_sitelib}/volatility/contrib/
mv %{buildroot}/usr/contrib/plugins/* %{buildroot}%{python2_sitelib}/volatility/contrib/
touch %{buildroot}%{python2_sitelib}/volatility/contrib/__init__.py
touch %{buildroot}%{python2_sitelib}/volatility/contrib/malware/__init__.py

mkdir -p %{buildroot}/%{_datadir}/%{name}
mv %{buildroot}/usr/tools %{buildroot}/%{_datadir}/%{name}/tools

mv %{buildroot}/%{_datadir}/%{name}/tools/vtype_diff.py %{buildroot}/%{_bindir}/
mv %{buildroot}%{_bindir}/vol.py %{buildroot}/%{_bindir}/vol
ln -s vol %{buildroot}/%{_bindir}/volatility

install -m 755 %{SOURCE1} %{buildroot}/%{_bindir}/
mkdir -p %{buildroot}/%{_mandir}/man1/
install -m 644 %{SOURCE2} %{buildroot}/%{_mandir}/man1/
gzip %{buildroot}/%{_mandir}/man1/volatility.1
ln -s volatility.1.gz %{buildroot}/%{_mandir}/man1/vol.1.gz
ln -s volatility.1.gz %{buildroot}/%{_mandir}/man1/vol_genprofile.1.gz



%files -n python2-volatility
%{!?_licensedir:%global license %%doc}
%license LICENSE.txt LEGAL.txt
%doc AUTHORS.txt CHANGELOG.txt CREDITS.txt README.txt

%{python2_sitelib}/*
%{_datadir}/%{name}/
%{_bindir}/vol
%{_bindir}/volatility
%{_bindir}/vol_genprofile
%{_bindir}/vtype_diff.py
%{_mandir}/man1/volatility.*
%{_mandir}/man1/vol.*
%{_mandir}/man1/vol_genprofile.*

%changelog
* Thu Mar 07 2019 Michal Ambroz <rebus at, seznam.cz> - 2.6.1-1
- bump to current git release of 2.6.1
- especially fixing the dwarf on newer 4.9 kernels 

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Fri Feb 09 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.6.0-6
- Update Python 2 dependency declarations to new packaging standards
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.0-4
- Python 2 binary package renamed to python2-volatility
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Jan 02 2017 Michal Ambroz <rebus at, seznam.cz> - 2.6.0-1
- bump to current git release of 2.6.0

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-8
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Thu Jun 16 2016 Michal Ambroz <rebus at, seznam.cz> - 2.5.0-7
- adding manpage from Debian

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Nov 12 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Thu Nov 12 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Wed Nov 11 2015 Michal Ambroz <rebus at, seznam.cz> - 2.5.0-3
- fix project URL 

* Wed Nov 11 2015 Michal Ambroz <rebus at, seznam.cz> - 2.5.0-2
- fix location of contribs 

* Wed Nov 11 2015 Michal Ambroz <rebus at, seznam.cz> - 2.5.0-1
- bump to current git release of 2.5.0

* Mon Jun 22 2015 Michal Ambroz <rebus at, seznam.cz> - 2.4.1-1
- bump to current git release of 2.4.1

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Tue Nov 26 2013 Alon Levy <alevy@redhat.com> - 2.3.1-2
- Add Requires pycrypto needed by multiple plugins

* Thu Nov 21 2013 Alon Levy <alevy@redhat.com> - 2.3.1-1
- New upstream.

* Mon Sep 16 2013 Alon Levy <alevy@redhat.com> - 2.2-3
- Fix FSF address and wrong shebang lines, rhbx#948359 comment 11

* Sat Sep 14 2013 Alon Levy <alevy@redhat.com> - 2.2-2
- Addressed review comments, rhbx#948359 comment 7

* Sat Sep 14 2013 Alon Levy <alevy@redhat.com> - 2.2-1
- Initial package (rhbz#948359)