Blame SPECS/yara.spec

f40bcb
Name:           yara
f40bcb
Version:        4.2.1
f40bcb
Release:        4%{?dist}
f40bcb
Summary:        Pattern matching Swiss knife for malware researchers
f40bcb
f40bcb
License:        BSD-3-Clause
f40bcb
VCS:            http://github.com/VirusTotal/yara/
f40bcb
#               http://github.com/VirusTotal/yara/releases
f40bcb
URL:            http://VirusTotal.github.io/yara/
f40bcb
f40bcb
f40bcb
%global         gituser         VirusTotal
f40bcb
%global         gitname         yara
f40bcb
# Commit of version 4.1.1
f40bcb
%global         commit          8206dc6f728fe50e21af92cb40e454b68ef6af05
f40bcb
%global         shortcommit     %(c=%{commit}; echo ${c:0:7})
f40bcb
f40bcb
# additional module for yara
f40bcb
%global         androguard_gituser         Koodous
f40bcb
%global         androguard_gitname         androguard-yara
f40bcb
# Commit from 2020-04-22
f40bcb
%global         androguard_commit          3eea86ae2c4ee6ad3cc1cb3c2711b03db078831a
f40bcb
%global         androguard_shortcommit     %(c=%{androguard_commit}; echo ${c:0:7})
f40bcb
%global         androguard_gitdate         2020-04-22
f40bcb
f40bcb
# Build from git commit baseline
f40bcb
#Source0:       https://github.com/%%{gituser}/%%{gitname}/archive/%%{commit}/%%{name}-%%{version}-%%{shortcommit}.tar.gz
f40bcb
# Build from git release version
f40bcb
Source0:        https://github.com/%{gituser}/%{gitname}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
f40bcb
f40bcb
#               http://github.com/Koodous/androguard-yara/
f40bcb
Source1:        https://github.com/%{androguard_gituser}/%{androguard_gitname}/archive/%{androguard_commit}/%{androguard_gitname}-%{androguard_gitdate}-%{androguard_shortcommit}.tar.gz
f40bcb
f40bcb
# Patch based on the androguard-yara installation guide to enable the androguard module
f40bcb
Patch0:         yara-androguard.patch
f40bcb
f40bcb
# Use default sphix theme to generate documentation rather than sphinx_rtd_theme
f40bcb
# to avoid static installation of font files on fedora >= 24
f40bcb
Patch1:         yara-docs-theme.patch
f40bcb
f40bcb
# Fixed in 3.6.0 upstream
f40bcb
# Patch https://patch-diff.githubusercontent.com/raw/VirusTotal/yara/pull/627.patch
f40bcb
# Fixes: CVE-2016-10210 CVE-2016-10211 CVE-2017-5923 CVE-2017-5924
f40bcb
# Patch2:       %%{name}-pull627.patch
f40bcb
f40bcb
# API of yr_re_match changed, fix needed for Androguard
f40bcb
# https://github.com/Koodous/androguard-yara/issues/8
f40bcb
# merged in https://github.com/Koodous/androguard-yara/commit/034f0a49e58d798abcaa28c9864451da9da29413
f40bcb
# Patch3: yara-androguard-matchapi.patch
f40bcb
f40bcb
f40bcb
f40bcb
BuildRequires:  git
f40bcb
BuildRequires:  gcc
f40bcb
BuildRequires:  autoconf
f40bcb
BuildRequires:  automake
f40bcb
BuildRequires:  m4
f40bcb
BuildRequires:  binutils
f40bcb
BuildRequires:  coreutils
f40bcb
BuildRequires:  sharutils
f40bcb
BuildRequires:  file
f40bcb
BuildRequires:  gawk
f40bcb
BuildRequires:  gzip
f40bcb
BuildRequires:  xz
f40bcb
BuildRequires:  pcre
f40bcb
BuildRequires:  bison
f40bcb
BuildRequires:  flex
f40bcb
BuildRequires:  libtool
f40bcb
BuildRequires:  file-devel
f40bcb
BuildRequires:  jansson-devel >= 2.5
f40bcb
BuildRequires:  openssl-devel
f40bcb
BuildRequires:  protobuf-c-devel
f40bcb
BuildRequires:  protobuf-compiler
f40bcb
f40bcb
# html doc generation
f40bcb
BuildRequires:  /usr/bin/sphinx-build
f40bcb
f40bcb
%description
f40bcb
YARA is a tool aimed at (but not limited to) helping malware researchers to
f40bcb
identify and classify malware samples. With YARA you can create descriptions
f40bcb
of malware families (or whatever you want to describe) based on textual or
f40bcb
binary patterns. Each description, a.k.a rule, consists of a set of strings
f40bcb
and a Boolean expression which determine its logic.
f40bcb
f40bcb
f40bcb
%package doc
f40bcb
Summary:        Documentation for %{name}
f40bcb
BuildArch:      noarch
f40bcb
f40bcb
%description doc
f40bcb
This package contains documentation for %{name}.
f40bcb
f40bcb
f40bcb
%package        devel
f40bcb
Summary:        Development files for %{name}
f40bcb
Requires:       %{name}%{?_isa} = %{version}-%{release}
f40bcb
f40bcb
f40bcb
%description    devel
f40bcb
The %{name}-devel package contains libraries and header files for
f40bcb
developing applications that use %{name}.
f40bcb
f40bcb
f40bcb
%prep
f40bcb
# autosetup -n %%{gitname}-%%{commit} -p 1 -S git
f40bcb
%autosetup -p 1 -S git
f40bcb
f40bcb
# Add the Androguard module
f40bcb
# %%setup -qn %%{gitname}-%%{commit} -a 1 -D -T
f40bcb
%setup -q -a 1 -D -T
f40bcb
pushd %{androguard_gitname}-%{androguard_commit}
f40bcb
f40bcb
mkdir -p ../libyara/modules/androguard
f40bcb
cp -p androguard.c ../libyara/modules/androguard/
f40bcb
popd
f40bcb
f40bcb
f40bcb
autoreconf --force --install
f40bcb
f40bcb
f40bcb
%build
f40bcb
f40bcb
# Add missing definition on RHEL7
f40bcb
%if 0%{?rhel} && 0%{?rhel} == 7
f40bcb
export CFLAGS="$CFLAGS -D PROTOBUF_C_FIELD_FLAG_ONEOF=4"
f40bcb
%endif
f40bcb
f40bcb
# macro %%configure already does use CFLAGS="\{optflags}" and yara build
f40bcb
# scripts configure/make already honors that CFLAGS
f40bcb
%configure --enable-magic --enable-cuckoo --enable-debug --enable-dotnet \
f40bcb
        --enable-macho --enable-dex --enable-pb-tests \
f40bcb
        --with-crypto \
f40bcb
        --htmldir=%{_datadir}/doc/%{name}/html
f40bcb
%make_build
f40bcb
f40bcb
# build the HTML documentation
f40bcb
pushd docs
f40bcb
make html
f40bcb
popd
f40bcb
f40bcb
f40bcb
%install
f40bcb
%make_install
f40bcb
f40bcb
# Remove static libraries
f40bcb
rm %{buildroot}%{_libdir}/lib%{name}.la
f40bcb
rm %{buildroot}%{_libdir}/lib%{name}.a
f40bcb
f40bcb
# Remove the rebuild-needed tag so it is not installed in doc pkg
f40bcb
rm -f %{buildroot}%{_datadir}/doc/%{name}/html/.buildinfo
f40bcb
f40bcb
f40bcb
#%if 0%{?rhel} && 0%{?rhel} <= 7
f40bcb
#%ldconfig_scriptlets
f40bcb
#%endif
f40bcb
f40bcb
f40bcb
%files
f40bcb
%license COPYING
f40bcb
%doc AUTHORS CONTRIBUTORS README.md
f40bcb
%{_bindir}/%{name}
f40bcb
%{_bindir}/%{name}c
f40bcb
%{_libdir}/lib%{name}.so.*
f40bcb
%{_mandir}/man1/%{name}.1*
f40bcb
%{_mandir}/man1/%{name}c.1*
f40bcb
f40bcb
f40bcb
%files devel
f40bcb
%{_includedir}/%{name}.h
f40bcb
%{_includedir}/%{name}/
f40bcb
%{_libdir}/*.so
f40bcb
%{_libdir}/pkgconfig/%{name}.pc
f40bcb
f40bcb
f40bcb
%files doc
f40bcb
%license COPYING
f40bcb
%doc docs/_build/html
f40bcb
f40bcb
f40bcb
%changelog
f40bcb
* Thu Jun 16 2022 Mark Huth <mhuth@redhat.com> - 4.2.1-4
f40bcb
- Use licence identifier BSD-3-Clause
f40bcb
f40bcb
* Thu Jun 9 2022 Mark Huth <mhuth@redhat.com> - 4.2.1-2
f40bcb
- Change spec file license to match COPYING file
f40bcb
f40bcb
* Mon May 9 2022 Mark Huth <mhuth@redhat.com> - 4.2.1-1
f40bcb
- bump to 4.2.1
f40bcb
f40bcb
* Fri Mar 25 2022 Mark Huth <mhuth@redhat.com> - 4.2.0-1
f40bcb
- bump to 4.2.0
f40bcb
f40bcb
* Wed Nov 10 2021 Michal Ambroz <rebus at, seznam.cz> - 4.1.3-1
f40bcb
- bump to 4.1.3
f40bcb
f40bcb
* Sat Nov 06 2021 Adrian Reber <adrian@lisas.de> - 4.1.1-5
f40bcb
- Rebuilt for protobuf 3.19.0
f40bcb
f40bcb
* Mon Oct 25 2021 Adrian Reber <adrian@lisas.de> - 4.1.1-4
f40bcb
- Rebuilt for protobuf 3.18.1
f40bcb
f40bcb
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 4.1.1-3
f40bcb
- Rebuilt with OpenSSL 3.0.0
f40bcb
f40bcb
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.1-2
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
f40bcb
f40bcb
* Mon May 24 2021 Michal Ambroz <rebus at, seznam.cz> - 4.1.1-1
f40bcb
- bump to 4.1.1
f40bcb
f40bcb
* Mon Apr 26 2021 Michal Ambroz <rebus at, seznam.cz> - 4.1.0-1
f40bcb
- bump to 4.1.0
f40bcb
f40bcb
* Sun Apr 25 2021 Michal Ambroz <rebus at, seznam.cz> - 4.0.5-2
f40bcb
- rebuild for epel
f40bcb
f40bcb
* Fri Feb 5 2021 Michal Ambroz <rebus at, seznam.cz> - 4.0.5-1
f40bcb
- bump to yara bugfix 4.0.5 release
f40bcb
f40bcb
* Wed Feb 3 2021 Michal Ambroz <rebus at, seznam.cz> - 4.0.4-1
f40bcb
- bump to yara bugfix 4.0.4 release
f40bcb
f40bcb
* Thu Jul 16 2020 Michal Ambroz <rebus at, seznam.cz> - 4.0.2-1
f40bcb
- bump to yara bugfix 4.0.2 release
f40bcb
- fix build on epel7
f40bcb
f40bcb
* Sun Jun 14 2020 Adrian Reber <adrian@lisas.de> - 4.0.1-2
f40bcb
- Rebuilt for protobuf 3.12
f40bcb
f40bcb
* Tue Jun 2 2020 Michal Ambroz <rebus at, seznam.cz> - 4.0.1-1
f40bcb
- bump to yara bugfix 4.0.1 release
f40bcb
f40bcb
* Tue Apr 28 2020 Michal Ambroz <rebus at, seznam.cz> - 4.0.0-1
f40bcb
- bump to yara 4.0.0 release
f40bcb
f40bcb
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.0-2
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
f40bcb
f40bcb
* Fri Oct 11 2019 Michal Ambroz <rebus at, seznam.cz> - 3.11.0-1
f40bcb
- bump to 3.11.0 release (#1760678)
f40bcb
- BUGFIX: Some regexp character classes not matching correctly when used with “nocase” modifier (upstream #1117)
f40bcb
- BUGFIX: Reduce the number of ERROR_TOO_MANY_RE_FIBERS errors for certain hex pattern containing large jumps (upstream #1107)
f40bcb
- BUGFIX: Buffer overrun in “dotnet” module (upstream #1108)
f40bcb
- BUGFIX: Memory leak while attaching to a process fails (upstream #1070)
f40bcb
f40bcb
* Sat Sep 28 2019 Michal Ambroz <rebus at, seznam.cz> - 3.10.0-3
f40bcb
- change the sphinx build dependency
f40bcb
f40bcb
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-2
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
f40bcb
f40bcb
* Fri May 03 2019 Michal Ambroz <rebus at, seznam.cz> - 3.10.0-1
f40bcb
- bump to 3.10.0 release (#1680204)
f40bcb
- Harden virtual machine against malicious code.
f40bcb
- BUGFIX: Regression bug in hex strings containing wildcards (upstream #1025).
f40bcb
- BUGFIX: Buffer overrun in “elf” module.
f40bcb
- BUGFIX: Buffer overrun in “dotnet” module.
f40bcb
f40bcb
* Sat Mar 16 2019 Michal Ambroz <rebus at, seznam.cz> - 3.9.0-1
f40bcb
- bump to 3.9.0 release (#1680203)
f40bcb
- switch from python-sphinx to python3-sphinx for generating the documentation for fc31+
f40bcb
- should fix also #1660398 (CVE-2018-19974 CVE-2018-19975 CVE-2018-19976),
f40bcb
  but by design it might be always dangerous to run yara signatures compiled by 3rd party,
f40bcb
  so it is advised to re-compile yara rules instead
f40bcb
- BUGFIX: Denial of service when using "dex" module. Found by the Cisco Talos team. (upstream #1023, CVE-2019-5020)
f40bcb
- BUGFIX: Buffer overflow in "dotnet" module.
f40bcb
- BUGFIX: Regexp regression when using nested quantifiers {x,y} for certain values of x and y. (#1018)
f40bcb
f40bcb
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.1-2
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f40bcb
f40bcb
* Mon Aug 27 2018 Michal Ambroz <rebus at, seznam.cz> - 3.8.1-1
f40bcb
- bump to 3.8.1 release (#1613093)
f40bcb
f40bcb
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.1-3
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
f40bcb
f40bcb
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.1-2
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f40bcb
f40bcb
* Mon Feb 05 2018 Michal Ambroz <rebus at, seznam.cz> - 3.7.1-1
f40bcb
- bump to 3.7.1 release (#1534993)
f40bcb
f40bcb
* Wed Nov 15 2017 Michal Ambroz <rebus at, seznam.cz> - 3.7.0-1
f40bcb
- bump to 3.7.0 release (#1511921)
f40bcb
f40bcb
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.3-3
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
f40bcb
f40bcb
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.3-2
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
f40bcb
f40bcb
* Sun Jul 16 2017 Michal Ambroz <rebus at, seznam.cz> - 3.6.3-1
f40bcb
- bump to 3.6.3 release - bugfix CVE-2017-11328
f40bcb
f40bcb
* Mon Jul 03 2017 Michal Ambroz <rebus at, seznam.cz> - 3.6.2-1
f40bcb
- bump to 3.6.2 release - bugfix CVE-2017-9304, CVE-2017-9465
f40bcb
f40bcb
* Wed May 24 2017 Michal Ambroz <rebus at, seznam.cz> - 3.6.0-1
f40bcb
- bump to 3.6.0 release
f40bcb
- update the androguard-yara with bugfixes
f40bcb
f40bcb
* Thu Apr 13 2017 Michal Ambroz <rebus at, seznam.cz> - 3.5.0-7
f40bcb
- Adding patch from pull request 627 until 3.5.1 is released
f40bcb
- https://patch-diff.githubusercontent.com/raw/VirusTotal/yara/pull/627.patch
f40bcb
- Fixes CVE-2016-10210 CVE-2016-10211 CVE-2017-5923 CVE-2017-5924
f40bcb
f40bcb
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.0-6
f40bcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
f40bcb
f40bcb
* Tue Aug 09 2016 Michal Ambroz <rebus at, seznam.cz> - 3.5.0-5
f40bcb
- import package to Fedora
f40bcb
- remove unnecessary .buildinfo tag from doc package
f40bcb
f40bcb
* Fri Aug 05 2016 Michal Ambroz <rebus at, seznam.cz> - 3.5.0-4
f40bcb
- package review - bugzilla #1362265
f40bcb
- cosmetics of the changelog
f40bcb
- using default spinx theme to remove the static fonts
f40bcb
f40bcb
* Fri Aug 05 2016 Michal Ambroz <rebus at, seznam.cz> - 3.5.0-3
f40bcb
- package review - bugzilla #1362265
f40bcb
- dropped Buildroot, pkgconfig, zlib-devel, defattr
f40bcb
- added buildrequires gcc
f40bcb
- change license back to ASL 2.0 only
f40bcb
f40bcb
* Thu Aug 04 2016 Michal Ambroz <rebus at, seznam.cz> - 3.5.0-2
f40bcb
- package review - bugzilla #1362265
f40bcb
- changed packaging of doc sub-package
f40bcb
f40bcb
* Thu Aug 04 2016 Michal Ambroz <rebus at, seznam.cz> - 3.5.0-1
f40bcb
- bump to new 3.5.0
f40bcb
f40bcb
* Wed Aug 03 2016 Michal Ambroz <rebus at, seznam.cz> - 3.4.0-6
f40bcb
- package review - bugzilla #1362265
f40bcb
- dropped dependency of python-tools
f40bcb
f40bcb
* Mon Aug 01 2016 Michal Ambroz <rebus at, seznam.cz> - 3.4.0-4
f40bcb
- compile with the androguard module
f40bcb
f40bcb
* Wed Jun 08 2016 Michal Ambroz <rebus at, seznam.cz> - 3.4.0-2
f40bcb
- jansson dependency >= 2.5
f40bcb
f40bcb
* Wed Jun 08 2016 Michal Ambroz <rebus at, seznam.cz> - 3.4.0-1
f40bcb
- python3 stuff
f40bcb
f40bcb
* Mon Jun 22 2015 Michal Ambroz <rebus at, seznam.cz> - 3.4.0-0.git20150618
f40bcb
- initial build for Fedora Project