Accepting request 767317 from security:forensics

Major update to version 20140808 released Dec 25, 2019.
Replace python 2 with python 3

OBS-URL: https://build.opensuse.org/request/show/767317
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libewf?expand=0&rev=16
This commit is contained in:
Dominique Leuenberger 2020-01-26 23:22:57 +00:00 committed by Git OBS Bridge
commit fe3a62d19f
5 changed files with 101 additions and 54 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d14030ce6122727935fbd676d0876808da1e112721f3cb108564a4d9bf73da71
size 2129518

3
libewf-20140808.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dfe29b5f2f1841ff1fe11979780d710a660dbc4727af82ec391f398e6b49e5fd
size 2258165

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEDtkCDakNP25wvTlF2WJeXXrQF34FAl4DuR8ACgkQ2WJeXXrQ
F34/tQf+KSVeOAFbYeLckNgCdC4S+Yb/VQn2OYUfyFqJfKexpWTgGf1P1x9QuVCE
8U9zNFDHyTvFbudMQFwz1mhKqn0HBYB3K+HVhOe7Hv4yeiQb8KLY51im3I+doflI
DypiSL0pac5nv9mCf9+85tfajVdIri8EYNQRoFtLqSXmhuMDLW9wisGurPSJZlGb
io7KJ7xslovKX3cWbS8GXt5Xjtj2jyFxCkocHpZSlz9DYznK30cSpSpX7xUoNOmA
nOlqICbwwT82h6rLWB1vFVS3DP6XKdIrSgKMSdF2gk35xTvnDW+u7D+9kMKn04GU
JJ20e56SJCkxLhDf5S6M0yRjZ63fdA==
=0OMl
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Sun Jan 26 04:11:53 UTC 2020 - Greg Freemyer <Greg.Freemyer@gmail.com>
- update to libewf-20140808
* 2014 is the stable branch. 20140808 was released Dec 25, 2019
* update libyal packages to Jan 2019 versions
* Added deflate and adler32 fallback implementations
* Removed dependency on libcstring and libcsystem
* Added Python 3 support for pyewf
- add %sosuffix variable and set it to 2
- update URL and Source fields to current web locations
- use separate libyal packages, not internal copies
-------------------------------------------------------------------
Fri Jan 17 14:05:36 CET 2020 - Matej Cepl <mcepl@suse.com>
- Switch on building of python3 bindings, and make building of
python2 bindings conditional (default off).
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Apr 19 23:14:04 UTC 2019 - Greg Freemyer <Greg.Freemyer@gmail.com> Fri Apr 19 23:14:04 UTC 2019 - Greg Freemyer <Greg.Freemyer@gmail.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package libewf # spec file for package libewf
# #
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2020 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -12,31 +12,44 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
%define lname libewf2 %define modname libewf
%define timestamp 20140608 %define timestamp 20140808
%define sosuffix 2
%bcond_with python2
Name: libewf Name: libewf
Version: 0~%{timestamp} Version: 0~%{timestamp}
Release: 0 Release: 0
Summary: Library for the Expert Witness Compression Format (EWF) Summary: Library for the Expert Witness Compression Format (EWF)
License: LGPL-3.0+ and GFDL-1.3+ License: LGPL-3.0-or-later AND GFDL-1.3-or-later
Group: Productivity/File utilities Group: Productivity/File utilities
Url: http://code.google.com/p/libewf/ URL: https://github.com/libyal/lib
#DL-URL: https://googledrive.com/host/0B3fBvzttpiiSMTdoaVExWWNsRjg/libewf-20140608.tar.gz Source: https://github.com/libyal/libewf-legacy/releases/download/20140808/%{name}-%{timestamp}.tar.gz
Source: %{name}-%{timestamp}.tar.gz Source1: https://github.com/libyal/libewf-legacy/releases/download/20140808/%{name}-%{timestamp}.tar.gz.asc
Source2: http://downloads.sf.net/libewf/mount_ewf-20090113.py Source2: http://downloads.sf.net/libewf/mount_ewf-20090113.py
Source3: Expert_Witness_Compression_Format_EWF.pdf Source3: Expert_Witness_Compression_Format_EWF.pdf
Source4: Expert_Witness_Compression_Format_2_EWF2.pdf Source4: Expert_Witness_Compression_Format_2_EWF2.pdf
Patch1: remove_date_time_macros.patch Patch1: remove_date_time_macros.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: fuse-devel
# Needed for language translation support # Needed for language translation support
BuildRequires: gettext BuildRequires: gettext
BuildRequires: pkg-config BuildRequires: git
BuildRequires: libopenssl-devel
BuildRequires: libtool
BuildRequires: pkgconfig
%if %{with python2}
BuildRequires: python-devel BuildRequires: python-devel
%endif
BuildRequires: python3-devel
BuildRequires: zlib-devel
BuildRequires: pkgconfig(bzip2) >= 1.0 BuildRequires: pkgconfig(bzip2) >= 1.0
BuildRequires: pkgconfig(fuse) >= 2.6 BuildRequires: pkgconfig(fuse) >= 2.6
BuildRequires: pkgconfig(libcaes) >= 20120425 BuildRequires: pkgconfig(libcaes) >= 20120425
@ -54,18 +67,15 @@ BuildRequires: pkgconfig(openssl) >= 1.0.0
BuildRequires: pkgconfig(uuid) >= 2.20 BuildRequires: pkgconfig(uuid) >= 2.20
BuildRequires: pkgconfig(zlib) >= 1.2.5 BuildRequires: pkgconfig(zlib) >= 1.2.5
# build fails if libyal package from OBS is used # build fails if libyal package from OBS is used
# verified 1/10/2015 # verified 1/25/2020
#BuildRequires: pkgconfig(libcstring) >= 20120425 BuildRequires: pkgconfig(libbfio) >= 20120426
#BuildRequires: pkgconfig(libcerror) >= 20120425 BuildRequires: pkgconfig(libcdata) >= 20120425
#BuildRequires: pkgconfig(libcdata) >= 20120425 BuildRequires: pkgconfig(libcerror) >= 20120425
#BuildRequires: pkgconfig(libbfio) >= 20120426 BuildRequires: pkgconfig(libcpath) >= 20120701
#BuildRequires: pkgconfig(libcsystem) >= 20120425 BuildRequires: pkgconfig(libfcache) >= 20120405
#BuildRequires: pkgconfig(libfcache) >= 20120405 BuildRequires: pkgconfig(libfdata)
#BuildRequires: pkgconfig(libfdata) BuildRequires: pkgconfig(libodraw) >= 20120630
#BuildRequires: pkgconfig(libsmraw) >= 20120630 BuildRequires: pkgconfig(libsmraw) >= 20120630
#BuildRequires: pkgconfig(libodraw) >= 20120630
# verified 4/19/2019 - libewf hasn't been updated in 5 years and it depends on old versions of libyal. :(
#BuildRequires: pkgconfig(libcpath) >= 20120701
# these packages not yet released by upstream # these packages not yet released by upstream
#BuildRequires: pkgconfig(libmfdata) >= 20120425 #BuildRequires: pkgconfig(libmfdata) >= 20120425
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -77,12 +87,12 @@ EnCase format (EWF-E01). libewf allows you to read and write media
information within the EWF files. libewf allows to read files created information within the EWF files. libewf allows to read files created
by EnCase 1 to 6, linen and FTK Imager. by EnCase 1 to 6, linen and FTK Imager.
%package -n %{lname} %package -n %{modname}%{sosuffix}
Summary: Library to support the Expert Witness Compression Format Summary: Library to support the Expert Witness Compression Format
License: LGPL-3.0+ License: LGPL-3.0-or-later
Group: System/Libraries Group: System/Libraries
%description -n %{lname} %description -n %{modname}%{sosuffix}
libewf is a library for support of the Expert Witness Compression libewf is a library for support of the Expert Witness Compression
Format (EWF). It supports both the SMART format (EWF-S01) and the Format (EWF). It supports both the SMART format (EWF-S01) and the
EnCase format (EWF-E01). libewf allows you to read and write media EnCase format (EWF-E01). libewf allows you to read and write media
@ -91,7 +101,7 @@ by EnCase 1 to 6, linen and FTK Imager.
%package tools %package tools
Summary: Utilities for the Expert Witness Compression Format (EWF) Summary: Utilities for the Expert Witness Compression Format (EWF)
License: LGPL-3.0+ License: LGPL-3.0-or-later
Group: System/Filesystems Group: System/Filesystems
Requires: fuse Requires: fuse
Requires: python-fuse >= 0.2 Requires: python-fuse >= 0.2
@ -106,9 +116,9 @@ It contains tools to acquire, verify and export EWF files.
%package devel %package devel
Summary: Development files for libewf, an Expert Witness Compression Format library Summary: Development files for libewf, an Expert Witness Compression Format library
License: LGPL-3.0+ and GFDL-1.3+ License: LGPL-3.0-or-later AND GFDL-1.3-or-later
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{lname} = %{version} Requires: %{modname}%{sosuffix} = %{version}
%description devel %description devel
libewf is a library for support of the Expert Witness Compression libewf is a library for support of the Expert Witness Compression
@ -120,11 +130,12 @@ by EnCase 1 to 6, linen and FTK Imager.
This subpackage contains libraries and header files for developing This subpackage contains libraries and header files for developing
applications that want to make use of %{name}. applications that want to make use of %{name}.
%if %{with python2}
%package -n python2-%{name} %package -n python2-%{name}
Summary: Python 2 bindings for libewf, an Expert Witness Compression format library Summary: Python 2 bindings for libewf, an Expert Witness Compression format library
License: LGPL-3.0+ License: LGPL-3.0-or-later
Group: Development/Libraries/Python Group: Development/Libraries/Python
Requires: %{lname} = %{version} Requires: %{modname}%{sosuffix} = %{version}
BuildRequires: pkgconfig(python2) BuildRequires: pkgconfig(python2)
Provides: python-%{name} = %{version} Provides: python-%{name} = %{version}
Obsoletes: python-%{name} < 20140608 Obsoletes: python-%{name} < 20140608
@ -132,52 +143,56 @@ Obsoletes: python-%{name} < 20140608
%description -n python2-%{name} %description -n python2-%{name}
Python 2 binding for libewf, which can create and read EnCase forensic Python 2 binding for libewf, which can create and read EnCase forensic
images. images.
%endif
# We can eventually split python* packages into separate packages
# python setup.py build should work according to
# https://github.com/libyal/libewf/wiki/Building#using-setuppy
%package -n python3-%{name} %package -n python3-%{name}
Summary: Python 3 bindings for libewf, an Expert Witness Compression format library Summary: Python 3 bindings for libewf, an Expert Witness Compression format library
License: LGPL-3.0+ License: LGPL-3.0-or-later
Group: Development/Libraries/Python Group: Development/Libraries/Python
Requires: %{lname} = %{version} BuildRequires: pkgconfig
BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(python3)
Requires: %{modname}%{sosuffix} = %{version}
%description -n python3-%{name} %description -n python3-%{name}
Python 3 binding for libewf, which can create and read EnCase forensic Python 3 binding for libewf, which can create and read EnCase forensic
images. images.
%prep %prep
%setup -q -n libewf-%{timestamp} %setup -q -n %{name}-%{timestamp}
%patch1 -p1 %patch1 -p1
cp "%{SOURCE3}" "%{SOURCE4}" . cp "%{SOURCE3}" "%{SOURCE4}" .
%build %build
#export CFLAGS="%optflags -fno-strict-aliasing" #export CFLAGS="%optflags -fno-strict-aliasing"
%configure --disable-static \ %configure --disable-static --disable-rpath \
--enable-wide-character-type \ --enable-wide-character-type \
--enable-python --enable-python3 --enable-python3 \
%if %{with python2}
#Remove rpath from libtool --enable-python2
#sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool %endif
#sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
# clean unused-direct-shlib-dependencies
#sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
make DESTDIR=%{buildroot} install %{?_smp_mflags} %make_install
find %{buildroot} -type f -name "*.la" -delete -print find %{buildroot} -type f -name "*.la" -delete -print
install -Dpm0755 "%{SOURCE2}" "%{buildroot}/sbin/mount.ewf" install -Dpm0755 "%{SOURCE2}" "%{buildroot}/sbin/mount.ewf"
ln -s mount.ewf "%{buildroot}/sbin/umount.ewf" ln -s mount.ewf "%{buildroot}/sbin/umount.ewf"
%post -n %{lname} -p /sbin/ldconfig %check
make check
%postun -n %{lname} -p /sbin/ldconfig %post -n %{modname}%{sosuffix} -p /sbin/ldconfig
%postun -n %{modname}%{sosuffix} -p /sbin/ldconfig
%files -n %{lname} %files -n %{modname}%{sosuffix}
%defattr(-,root,root) %defattr(-,root,root)
%doc AUTHORS COPYING NEWS ChangeLog %license COPYING
%doc AUTHORS NEWS ChangeLog
%{_libdir}/libewf.so.* %{_libdir}/libewf.so.*
%files tools %files tools
@ -197,7 +212,8 @@ ln -s mount.ewf "%{buildroot}/sbin/umount.ewf"
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING NEWS README %license COPYING
%doc AUTHORS ChangeLog NEWS README
%doc *.pdf %doc *.pdf
%{_includedir}/libewf.h %{_includedir}/libewf.h
%{_includedir}/libewf/ %{_includedir}/libewf/
@ -205,14 +221,17 @@ ln -s mount.ewf "%{buildroot}/sbin/umount.ewf"
%{_libdir}/pkgconfig/libewf.pc %{_libdir}/pkgconfig/libewf.pc
%{_mandir}/man3/libewf.3* %{_mandir}/man3/libewf.3*
%if %{with python2}
%files -n python2-%{name} %files -n python2-%{name}
%defattr(-,root,root) %defattr(-,root,root)
%doc AUTHORS COPYING NEWS README %license COPYING
%doc AUTHORS NEWS README
%{python_sitearch}/pyewf.so %{python_sitearch}/pyewf.so
%endif
# this is a skeleton package with no actual binary. Upstream doesn't have python3 support in stable
%files -n python3-%{name} %files -n python3-%{name}
%defattr(-,root,root) %license COPYING
%doc AUTHORS COPYING NEWS README %doc AUTHORS NEWS README
%{python3_sitearch}/*.so
%changelog %changelog