Blame afl.spec

Bernhard M. Wiedemann 0f905e
#
Bernhard M. Wiedemann 0f905e
# spec file for package afl
Bernhard M. Wiedemann 0f905e
#
Bernhard M. Wiedemann cd3887
# Copyright (c) 2020 SUSE LLC
Bernhard M. Wiedemann 0f905e
#
Bernhard M. Wiedemann 0f905e
# All modifications and additions to the file contributed by third parties
Bernhard M. Wiedemann 0f905e
# remain the property of their copyright owners, unless otherwise agreed
Bernhard M. Wiedemann 0f905e
# upon. The license for this file, and modifications and additions to the
Bernhard M. Wiedemann 0f905e
# file, is the same license as for the pristine package itself (unless the
Bernhard M. Wiedemann 0f905e
# license for the pristine package is not an Open Source License, in which
Bernhard M. Wiedemann 0f905e
# case the license is the MIT License). An "Open Source License" is a
Bernhard M. Wiedemann 0f905e
# license that conforms to the Open Source Definition (Version 1.9)
Bernhard M. Wiedemann 0f905e
# published by the Open Source Initiative.
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 084487
# Please submit bugfixes or comments via https://bugs.opensuse.org/
Bernhard M. Wiedemann 0f905e
#
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
Name:           afl
Bernhard M. Wiedemann 4187e6
Version:        2.63c
Bernhard M. Wiedemann 0f905e
Release:        0
Bernhard M. Wiedemann 0f905e
Summary:        American fuzzy lop is a security-oriented fuzzer
Bernhard M. Wiedemann 0f905e
License:        Apache-2.0
Bernhard M. Wiedemann cd3887
URL:            http://lcamtuf.coredump.cx/afl/
Bernhard M. Wiedemann 0f905e
Source:         https://github.com/vanhauser-thc/AFLplusplus/archive/%{version}.tar.gz
Bernhard M. Wiedemann 0f905e
Source1:        afl-rpmlintrc
Bernhard M. Wiedemann 4187e6
Patch1:         afl-2.63c-fix-paths.patch
Bernhard M. Wiedemann 0f905e
BuildRequires:  gcc-c++
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
%description
Bernhard M. Wiedemann 0f905e
American fuzzy lop is a security-oriented fuzzer that employs a novel type
Bernhard M. Wiedemann 0f905e
of compile-time instrumentation and genetic algorithms to automatically
Bernhard M. Wiedemann 0f905e
discover clean, interesting test cases that trigger new internal states in
Bernhard M. Wiedemann 0f905e
the targeted binary. This substantially improves the functional coverage
Bernhard M. Wiedemann 0f905e
for the fuzzed code. The compact synthesized corpora produced by the tool
Bernhard M. Wiedemann 0f905e
are also useful for seeding other, more labor- or resource-intensive
Bernhard M. Wiedemann 0f905e
testing regimes down the road.
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
Compared to other instrumented fuzzers, afl-fuzz is designed to be
Bernhard M. Wiedemann 0f905e
practical: it has modest performance overhead, uses a variety of highly
Bernhard M. Wiedemann 0f905e
effective fuzzing strategies and effort minimization tricks, requires
Bernhard M. Wiedemann 0f905e
essentially no configuration, and seamlessly handles complex, real-world
Bernhard M. Wiedemann 0f905e
use cases - say, common image parsing or file compression libraries.
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
%prep
Bernhard M. Wiedemann 0f905e
%setup -q -n AFLplusplus-%version
Bernhard M. Wiedemann 0f905e
%patch1 -p1
Bernhard M. Wiedemann 0f905e
sed -i 's|#!/usr/bin/env bash|#!/bin/bash|g' afl-cmin
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
%build
Bernhard M. Wiedemann 0f905e
export CFLAGS="$CFLAGS %{optflags}"
Bernhard M. Wiedemann 0f905e
%ifnarch %{ix86} x86_64
Bernhard M. Wiedemann 0f905e
export AFL_NO_X86=1
Bernhard M. Wiedemann 0f905e
%endif
Bernhard M. Wiedemann 0f905e
make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_docdir}
Bernhard M. Wiedemann cd3887
make radamsa
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
%install
Bernhard M. Wiedemann 0f905e
%ifnarch %{ix86} x86_64
Bernhard M. Wiedemann 0f905e
export AFL_NO_X86=1
Bernhard M. Wiedemann 0f905e
%endif
Bernhard M. Wiedemann e600a5
make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_docdir} MAN_PATH=%{_mandir}/man8 DESTDIR=%{buildroot} install
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
%files
Bernhard M. Wiedemann 7dcbe3
%license docs/COPYING LICENSE
Bernhard M. Wiedemann 7dcbe3
%doc /usr/share/doc/packages/%name/
Bernhard M. Wiedemann 0f905e
%{_bindir}/%{name}-*
Bernhard M. Wiedemann 0f905e
%dir %{_libexecdir}/%{name}
Bernhard M. Wiedemann 0f905e
%{_libexecdir}/%{name}/%{name}-as
Bernhard M. Wiedemann 0f905e
%{_libexecdir}/%{name}/as
Bernhard M. Wiedemann 4187e6
#{_libexecdir}/%{name}/argvfuzz*.so
Bernhard M. Wiedemann 4187e6
#{_libexecdir}/%{name}/socketfuzz*.so
Bernhard M. Wiedemann cd3887
%{_libexecdir}/%{name}/libradamsa.so
Bernhard M. Wiedemann 0f905e
%dir %{_datadir}/%{name}
Bernhard M. Wiedemann 0f905e
%dir %{_datadir}/%{name}/testcases
Bernhard M. Wiedemann 0f905e
%{_datadir}/%{name}/testcases/*
Bernhard M. Wiedemann 0f905e
%dir %{_datadir}/afl/dictionaries/
Bernhard M. Wiedemann 0f905e
%{_datadir}/afl/dictionaries/*
Bernhard M. Wiedemann e600a5
%{_mandir}/man8/afl*.8*
Bernhard M. Wiedemann 0f905e
Bernhard M. Wiedemann 0f905e
%changelog