File sleuthkit.spec of Package sleuthkit
#
# spec file for package sleuthkit
#
# Copyright (c) 2024 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/
#
%define sosuffix 19
Name: sleuthkit
Version: 4.12.1
Release: 0
Summary: Tools for file system and volume forensic analysis
License: CPL-1.0 AND IPL-1.0 AND GPL-2.0-or-later
Group: System/Monitoring
URL: https://www.sleuthkit.org/
Source0: https://github.com/%{name}/%{name}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM upsteam_tarball_left_a_file_out gh#sleuthkit/sleuthkit#642
Patch1: 0001-build-support-libewf-V3.patch
# Joachim Metz provided support, but 1 header file was missed in the tarball
Patch2: sleuthkit-4.12.0_add-lvm-support.patch
BuildRequires: gcc-c++
#BuildRequires: libtool
# libewf - Newer versions are plain BSD (older are BSD with advertising)
#BuildRequires: libewf-devel = 20140811
BuildRequires: libewf-devel
BuildRequires: libbfio-devel
BuildRequires: libopenssl-devel
BuildRequires: zlib-devel
Requires: file
Requires: libtsk%{sosuffix} = %{version}
Requires: mac-robber
# fiwalk has been incorporated into sleuthkit. Last standalone version was 0.6.16
Provides: fiwalk = %{version}
Obsoletes: fiwalk < %{version}
%description
The Sleuth Kit (TSK) is a collection of UNIX-based command line tools that
allow you to investigate a computer. The current focus of the tools is the
file and volume systems and TSK supports FAT, Ext2/3, NTFS, UFS,
and ISO 9660 file systems
%package -n libtsk%{sosuffix}
Summary: Library for file system and volume forensic analysis
Group: System/Libraries
%description -n libtsk%{sosuffix}
The libtsk%{sosuffix} package contains library for %{name}.
The name of the library was changed from libtsk3 to libtsk
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/Other
Requires: libtsk%{sosuffix} = %{version}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%autosetup -p1
%build
export LIBS=' -lpthread -ldl'
%configure --disable-static
# remove rpath from libtool
# closed by tm
sed -i.rpath 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i.rpath '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
# export CFLAGS="%%{optflags}"
# export CXXFLAGS="%%{optflags}"
export LDFLAGS="-avoid-version -module"
%make_build
%install
%if 0%{?sles_version}
make install DESTDIR=%{buildroot} INSTALL="install -p"
%else
%make_install INSTALL="install -p"
%endif
find %{buildroot} -type f -name "*.la" -delete -print
mkdir -p %{buildroot}/%{_datadir}/sleuthkit
cp --archive bindings %{buildroot}/%{_datadir}/sleuthkit/bindings
%post -n libtsk%{sosuffix} -p /sbin/ldconfig
%postun -n libtsk%{sosuffix} -p /sbin/ldconfig
%files
%doc ChangeLog.txt NEWS.txt README.md licenses/*
# License is CPL 1.0 exept for some files.
%{_bindir}/blkcalc
%{_bindir}/blkcat
%{_bindir}/blkls
%{_bindir}/blkstat
#{_bindir}/disk_sreset
#{_bindir}/disk_stat
%{_bindir}/fcat
%{_bindir}/ffind
%{_bindir}/fiwalk
%{_bindir}/fls
%{_bindir}/fsstat
%{_bindir}/hfind
%{_bindir}/icat
%{_bindir}/ifind
%{_bindir}/ils
%{_bindir}/img_cat
%{_bindir}/img_stat
%{_bindir}/istat
%{_bindir}/jcat
%{_bindir}/jls
%{_bindir}/jpeg_extract
# This file is described as GPL in the doc
# But the license remains CPL in the source.
%{_bindir}/mactime
##
%{_bindir}/mmcat
%{_bindir}/mmls
%{_bindir}/mmstat
%{_bindir}/pstat
%{_bindir}/sigfind
%{_bindir}/sorter
%{_bindir}/usnjls
## This file is GPLv2+
%{_bindir}/srch_strings
#
%{_mandir}/man1/blkcalc.1%{?ext_man}
%{_mandir}/man1/blkcat.1%{?ext_man}
%{_mandir}/man1/blkls.1%{?ext_man}
%{_mandir}/man1/blkstat.1%{?ext_man}
#{_mandir}/man1/disk_sreset.1*
#{_mandir}/man1/disk_stat.1*
%{_mandir}/man1/fcat.1%{?ext_man}
%{_mandir}/man1/ffind.1%{?ext_man}
%{_mandir}/man1/fls.1%{?ext_man}
%{_mandir}/man1/fsstat.1%{?ext_man}
%{_mandir}/man1/hfind.1%{?ext_man}
%{_mandir}/man1/icat.1%{?ext_man}
%{_mandir}/man1/ifind.1%{?ext_man}
%{_mandir}/man1/ils.1%{?ext_man}
%{_mandir}/man1/img_cat.1%{?ext_man}
%{_mandir}/man1/img_stat.1%{?ext_man}
%{_mandir}/man1/istat.1%{?ext_man}
%{_mandir}/man1/jcat.1%{?ext_man}
%{_mandir}/man1/jls.1%{?ext_man}
%{_mandir}/man1/mactime.1%{?ext_man}
%{_mandir}/man1/mmcat.1%{?ext_man}
%{_mandir}/man1/mmls.1%{?ext_man}
%{_mandir}/man1/mmstat.1%{?ext_man}
%{_mandir}/man1/sigfind.1%{?ext_man}
%{_mandir}/man1/sorter.1%{?ext_man}
%{_mandir}/man1/usnjls.1%{?ext_man}
%dir %{_datadir}/tsk
%{_datadir}/tsk/sorter/
%{_bindir}/tsk_comparedir
%{_bindir}/tsk_gettimes
%{_bindir}/tsk_loaddb
%{_bindir}/tsk_recover
%{_bindir}/tsk_imageinfo
%{_mandir}/man1/tsk_comparedir.1%{?ext_man}
%{_mandir}/man1/tsk_gettimes.1%{?ext_man}
%{_mandir}/man1/tsk_loaddb.1%{?ext_man}
%{_mandir}/man1/tsk_recover.1%{?ext_man}
%files -n libtsk%{sosuffix}
# CPL and IBM
%{_libdir}/*.so.*
%files devel
# CPL and IBM
%{_includedir}/tsk/
%{_libdir}/*.so
%{_libdir}/pkgconfig/tsk.pc
%{_datadir}/sleuthkit
%changelog