#
# spec file for package elfutils-debuginfod
#
# 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/
#


Name:           elfutils-debuginfod
Version:        0.192
Release:        2.3
Summary:        Debuginfod server provided by elfutils
License:        GPL-3.0-or-later
Group:          Development/Tools/Building
URL:            https://sourceware.org/elfutils/
#Git-Clone:	git://sourceware.org/git/elfutils
Source:         https://sourceware.org/elfutils/ftp/%{version}/elfutils-%{version}.tar.bz2
Source1:        https://sourceware.org/elfutils/ftp/%{version}/elfutils-%{version}.tar.bz2.sig
Source3:        elfutils.keyring
Source4:        %{name}.sysusers
Patch1:         harden_debuginfod.service.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  bison
BuildRequires:  bsdtar
BuildRequires:  procps
BuildRequires:  sysuser-tools
# For the run-debuginfod-find.sh test case in %%check for /usr/sbin/ss
BuildRequires:  curl
BuildRequires:  flex
BuildRequires:  gcc-c++
BuildRequires:  iproute
BuildRequires:  libbz2-devel
BuildRequires:  libzstd-devel
BuildRequires:  pkgconfig
BuildRequires:  xz-devel
BuildRequires:  zlib-devel
BuildRequires:  zstd

# For debuginfod
BuildRequires:  pkgconfig(json-c) >= 0.11
BuildRequires:  fish
BuildRequires:  pkgconfig(libarchive) >= 3.1.2
BuildRequires:  pkgconfig(libcurl) >= 7.29.0
BuildRequires:  pkgconfig(libmicrohttpd) >= 0.9.33
BuildRequires:  pkgconfig(sqlite3) >= 3.7.17
BuildRequires:  pkgconfig(systemd)
Requires:       debuginfod-client = %{version}
Requires:       elfutils = %{version}
Requires(post): %fillup_prereq
%{?systemd_ordering}
%sysusers_requires

%description
The elfutils-debuginfod package contains the debuginfod binary
and control files for a service that can provide ELF/DWARF
files to remote clients, based on build-id identification.
The ELF/DWARF file searching functions in libdwfl can query
such servers to download those files on demand.

%package -n libdebuginfod1
Summary:        Library for build-id HTTP ELF/DWARF server
Group:          System/Libraries
Conflicts:      libdebuginfod1-dummy = %{version}
License:        GPL-2.0-or-later OR LGPL-3.0-or-later

%description -n libdebuginfod1
The libdebuginfod1 package contains shared libraries
dynamically loaded from -ldw, which use a debuginfod service
to look up debuginfo and associated data. Also includes a
command-line frontend.

%package -n libdebuginfod-devel
Summary:        Libraries and headers to build debuginfod client applications
Group:          Development/Libraries/C and C++
Conflicts:      libdebuginfod-dummy-devel = %{version}
License:        GPL-2.0-or-later OR LGPL-3.0-or-later
Requires:       libdebuginfod1 = %{version}

%description -n libdebuginfod-devel
The libdebuginfod-devel package contains the libraries
to create applications to use the debuginfod service.

%package -n debuginfod-client
Summary:        Command line client for build-id HTTP ELF/DWARF server
Group:          Development/Tools/Building
Conflicts:      debuginfod-dummy-client = %{version}
# Without DEBUGINFOD_URLS being set debuginfod-find won't work out of the box,
# on openSUSE Tumbleweed. Provide it, by default, so even general users benefit
# from automatic debuginfo installation. However, only on Tumbleweed, the only
# available platform supported by debuginfod.opensuse.org, for now.
%if !0%{?sle_version}
Requires:       config(debuginfod-profile)
%endif
#
# Client-side supported tools, based on:
#   https://sourceware.org/elfutils/Debuginfod.html
#
Supplements:    binutils
Supplements:    bpftrace-tools
Supplements:    elfutils
Supplements:    gdb
Supplements:    perf
Supplements:    systemd-coredump
Supplements:    valgrind

%description -n debuginfod-client
The elfutils-debuginfod-client package contains a command-line frontend.

%package -n debuginfod-profile
Summary:        Profile files for build-id HTTP ELF/DWARF server
Group:          Development/Tools/Building

%description -n debuginfod-profile
The debuginfod-profile package contains a profile files that set default
URL for a distribution.

%lang_package

%prep
%autosetup -n elfutils-%version -p1

%build
%sysusers_generate_pre %{SOURCE4} %{name} %{name}.conf
# tests need debug info enabled (boo#1031556) but some repos don't
# do that by default.  Some others do (when debuginfo is globally enabled)
# so just enable this always, for all compilations
%global optflags %{optflags} -g
export CFLAGS="%optflags -Werror=date-time"
%ifarch %sparc
# Small PIC model not sufficient
CFLAGS+=" -fPIC"
%endif
autoreconf -fi
# some patches create new test scripts, which are created 644 by default
chmod a+x tests/run*.sh
%configure \
  --enable-libdebuginfod --enable-debuginfod \
%if %{suse_version} > 1500
  --enable-debuginfod-urls=https://debuginfod.opensuse.org/ \
%endif
  --program-prefix=eu-
%make_build

%install
%make_install
# remove unneeded files
rm -f %{buildroot}/%{_libdir}/*.la
ls -lR %{buildroot}/%{_libdir}/libelf*

rm -f %{buildroot}/%{_bindir}/eu*
rm -f %{buildroot}/%{_libdir}/libasm*
rm -f %{buildroot}/%{_includedir}/elfutils/lib*.h
rm -f %{buildroot}/%{_includedir}/elfutils/elf-knowledge.h
rm -f %{buildroot}/%{_includedir}/elfutils/known-dwarf.h
rm -f %{buildroot}/%{_includedir}/elfutils/version.h
rm -f %{buildroot}/%{_libdir}/libelf*
rm -f %{buildroot}/%{_includedir}/libelf.h
rm -f %{buildroot}/%{_includedir}/gelf.h
rm -f %{buildroot}/%{_includedir}/nlist.h
rm -f %{buildroot}/%{_includedir}/dwarf.h
rm -f %{buildroot}/%{_libdir}/libdw*
rm -f %{buildroot}/%{_mandir}/man3/elf*_*.3*
rm -f %{buildroot}/%{_mandir}/man3/libelf.3*
rm -f %{buildroot}/%{_mandir}/man1/eu-*.1*
rm -rf %{buildroot}%{_datadir}/locale/
rm -f %{buildroot}/%{_libdir}/pkgconfig/libdw.pc
rm -f %{buildroot}/%{_libdir}/pkgconfig/libelf.pc

install -Dm0644 config/debuginfod.service %{buildroot}%{_unitdir}/debuginfod.service
install -d -m 755 %{buildroot}%{_fillupdir}
cp config/debuginfod.sysconfig %{buildroot}%{_fillupdir}/sysconfig.debuginfod

install -Dm0644 %{SOURCE4} %{buildroot}%{_sysusersdir}/%{name}.conf

mkdir -p %{buildroot}%{_localstatedir}/cache/debuginfod
touch %{buildroot}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite

%post -n libdebuginfod1 -p /sbin/ldconfig
%postun -n libdebuginfod1 -p /sbin/ldconfig

%check
%if 0%{?qemu_user_space_build}
# qemu-linux-user does not support ptrace and a few other process details
export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native.sh run-deleted.sh run-backtrace-native-core.sh"
%endif
%make_build check

%files
%license COPYING
%doc AUTHORS ChangeLog NEWS NOTES README THANKS TODO
%{_bindir}/debuginfod
%{_unitdir}/debuginfod.service
%{_mandir}/man8/debuginfod.8*
%{_fillupdir}/sysconfig.debuginfod
%{_sysusersdir}/%{name}.conf
%{_mandir}/man8/debuginfod.service.8.*

%dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod
%ghost %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite

%files -n libdebuginfod1
%{_libdir}/libdebuginfod.so.*
%{_libdir}/libdebuginfod-%{version}.so

%files -n libdebuginfod-devel
%{_libdir}/pkgconfig/libdebuginfod.pc
%{_mandir}/man3/debuginfod_*.3*
%dir %{_includedir}/elfutils
%{_includedir}/elfutils/debuginfod.h
%{_libdir}/libdebuginfod.so

%files -n debuginfod-client
%{_bindir}/debuginfod-find
%{_mandir}/man1/debuginfod-find.1*
%{_mandir}/man7/debuginfod-client-config.7*

%files -n debuginfod-profile
%config %{_sysconfdir}/profile.d/debuginfod.sh
%config %{_sysconfdir}/profile.d/debuginfod.csh
%{_datadir}/fish/vendor_conf.d/debuginfod.fish
%dir %{_sysconfdir}/debuginfod
%if %{suse_version} > 1500
%config %{_sysconfdir}/debuginfod/elfutils.urls
%endif

%pre -f %{name}.pre
%service_add_pre debuginfod.service

%post
%service_add_post debuginfod.service
%{fillup_only -n debuginfod}

%preun
%service_del_preun debuginfod.service

%postun
%service_del_postun debuginfod.service

%changelog
* Mon Dec  2 2024 Andreas Schwab <schwab@suse.de>
- Add pkgconfig(json-c) to reenable debuginfod support
- Add fish to enable profile support for fish
- Remove files packaged by libelf-devel
* Sun Dec  1 2024 Adrian Schröter <adrian@suse.de>
- update to 0.192
  CONDUCT: A new code of conduct has been adopted.  See the
  CONDUCT file for more information.
  debuginfod: Add per-file signature verification for integrity
    checking, using RPM IMA scheme from Fedora/RHEL.
  New API for metadata queries: file name -> buildid.
  Server-side extraction of files from kernel debuginfo
  packages is significantly faster. Now takes < 0.25 seconds,
  down from ~50 seconds.
  libdw: New functions dwfl_set_sysroot, dwfl_frame_unwound_source
  and dwfl_unwound_source_str.
  stacktrace: Experimental new tool that can process a stream of stack
    samples from the Sysprof profiler and unwind them into call
    chains. Enable on x86 with --enable-stacktrace. See
    README.eu-stacktrace in the development branch for detailed
    usage instructions:
    https://sourceware.org/cgit/elfutils/tree/README.eu-stacktrace?h=users/serhei/eu-stacktrace
* Tue May 21 2024 Michael Matz <matz@suse.com>
- Add "-g" to %%optflags, so that the tests work in all repos,
  with or without globally enabled debuginfo creation.
* Sun Mar 17 2024 Dirk Müller <dmueller@suse.com>
- update to 0.191:
  * libdw: dwarf_addrdie now supports binaries lacking a
    .debug_aranges section.
  * Improved support for DWARF package files.  Add new
    function dwarf_cu_dwp_section_info.
  * debuginfod: Caching eviction logic improvements to improve
    retention of small/frequent/slow files such as Fedora's
    vdso.debug.
  * srcfiles: Can now fetch the source files of a DWARF/ELF file
    and place them into a zip.
- drop fix_gcc14_errors.patch (upstream)
* Tue Mar  5 2024 Michal Jireš <michal.jires@suse.com>
- Add fix_gcc14_errors.patch (bsc#1220464)
* Tue Jan  9 2024 Richard Biener <rguenther@suse.com>
- Update to version 0.190
  * Schema change (reindexing required, sorry!) for a 60%%
    compression in filename representation, which was a large
    part of the sqlite index; also, more deliberate sqlite
  - wal management during scanning using the
  - -scan-checkpoint option.
* Sun Aug 20 2023 Luciano Santos <luc14n0@opensuse.org>
- Conditionalize config(debuginfod-profile) Requires tag in the
  debuginfod-client sub-package, with the help of the %%sle_version
  macro, so only Tumbleweed (currently the only distro supported by
  debuginfod.opensuse.org) sets it.
* Wed Jul 12 2023 Luciano Santos <luc14n0@opensuse.org>
- Replace libdebuginfo1 sub-package's debuginfod-profile Recommends
  with config(debuginfod-profile) Requires, but on the debuginfod-\
  client sub-package, instead. And add binutils, bpftrace-tools,
  elfutils, gdb, perf, systemd-coredump, and valgrind Supplements
  to debuginfod-client sub-package. This should make installation
  of debuginfod-client more consistent, along with debuginfod-\
  profile, with software/packages that have debuginfod support.
* Tue Mar  7 2023 Martin Liška <mliska@suse.cz>
- Fix file listing for 15.x builds.
* Fri Mar  3 2023 Martin Liška <mliska@suse.cz>
- Update to version 0.189:
  * configure: eu-nm, eu-addr2line and eu-stack can provide demangled symbols
    when linked with libstdc++. Use --disable-demangler to disable.
    A new option --enable-sanitize-memory has been added for msan
    sanitizer support.
  * libelf: elf_compress now supports ELFCOMPRESS_ZSTD when build against
    libzstd
  * libdwfl: dwfl_module_return_value_location now returns 0 (no return type)
    for DIEs that point to a DW_TAG_unspecified_type.
  * elfcompress: -t, --type= now support zstd if libelf has been build with
    ELFCOMPRESS_ZSTD support.
  * backends: Add support for LoongArch and Synopsys ARCv2 processors.
- drop upsteam patches:
  * elfutils-0.188-CURLOPT_PROTOCOLS_STR.patch
  * elfutils-0.188-CURL_AT_LEAST_VERSION.patch
  * elfutils-0.188-deprecated-CURLINFO.patch
  * support-DW_TAG_unspecified_type.patch
- Enable -Werror=use-after-free again.
* Thu Feb 23 2023 Martin Liška <mliska@suse.cz>
- Disable a false-positive -Werror=use-after-free warning.
* Thu Feb 16 2023 Pedro Monreal <pmonreal@suse.com>
- Fix build with libcurl version 7.88.0 for various deprecated
  constants. Add patches:
  * elfutils-0.188-CURLOPT_PROTOCOLS_STR.patch
  * elfutils-0.188-CURL_AT_LEAST_VERSION.patch
  * elfutils-0.188-deprecated-CURLINFO.patch
* Tue Feb 14 2023 Martin Liška <mliska@suse.cz>
- Add support-DW_TAG_unspecified_type.patch that fixes PR30047.
* Fri Dec  9 2022 Thorsten Kukuk <kukuk@suse.com>
- Remove dependency to not used sysconfig package
- Weaken systemd dependency, no hard requires necessary
* Wed Nov  9 2022 Dirk Müller <dmueller@suse.com>
- align patches section
- remove date/time handling weirdness, elfutils does no longer
  use __DATE__ or __TIME__ (as proven by the newly added -Werror=date-time)
* Mon Nov  7 2022 Martin Liška <mliska@suse.cz>
- Update to version 0.188:
  * readelf: Add -D, --use-dynamic option.
  * debuginfod-client: Add $DEBUGINFOD_HEADERS_FILE setting to supply
    outgoing debuginfod_find_section.
  * debuginfod: Add --disable-source-scan option.
  * libdwfl: Add new function dwfl_get_debuginfod_client.
    Add new function dwfl_frame_reg.
    Add new function dwfl_report_offline_memory.
- Remove upstreamed patches:
  * 0001-libelf-Sync-elf.h-from-glibc.patch
  * 0002-backends-Handle-new-RISC-V-specific-definitions.patch
  * 0003-elflint-Allow-zero-p_memsz-for-PT_RISCV_ATTRIBUTES.patch
  * 0004-readelf-Handle-SHT_RISCV_ATTRIBUTES-like-SHT_GNU_ATT.patch
  * PR29474-debuginfod.patch
  * config-Move-the-2-dev-null-inside-the-sh-c-quotes-fo.patch
  * support-nullglob-in-profile.-.in-files.patch
* Wed Aug 17 2022 Martin Liška <mliska@suse.cz>
- Use %%ghost for debuginfod.sqlite file.
* Tue Aug 16 2022 Martin Liška <mliska@suse.cz>
- Add support-nullglob-in-profile.-.in-files.patch
  fixes boo#1202440.
* Mon Aug 15 2022 Martin Liška <mliska@suse.cz>
- Add PR29474-debuginfod.patch in order to fix PR29474.
* Fri Aug 12 2022 Martin Liška <mliska@suse.cz>
- Add Recommends for libdebuginfod1 so that debuginfod-profile
  sets the DEBUGINFOD_URLS.
* Wed Jun 15 2022 Martin Liška <mliska@suse.cz>
- Add debuginfod-profile subpackage that collects settings
  files (boo#1200100).
* Fri May 13 2022 Martin Liška <mliska@suse.cz>
- Add config-Move-the-2-dev-null-inside-the-sh-c-quotes-fo.patch
  in order to fix boo#1199265.
* Mon May  2 2022 Martin Liška <mliska@suse.cz>
- Do not set DEBUGINFOD_URLS for anything older than Tumbleweed.
* Tue Apr 26 2022 Martin Liška <mliska@suse.cz>
- Update to version 0.187:
  * debuginfod: Support -C option for connection thread pooling.
  * debuginfod-client: Negative cache file are now zero sized instead of
    no-permission files.
  * addr2line: The -A, --absolute option, which shows file names including
    the full compilation directory is now the default.  To get the
    old behavior use the new option --relative.
  * readelf, elflint: Recognize FDO Packaging Metadata ELF notes
  * libdw, debuginfo-client: Load libcurl lazily only when files need to
    be fetched remotely. libcurl is now never
    loaded when DEBUGINFOD_URLS is unset. And when
    DEBUGINFOD_URLS is set, libcurl is only loaded
    when the debuginfod_begin function is called.
* Wed Apr 13 2022 Callum Farmer <gmbr3@opensuse.org>
- Change to systemd-sysusers
  * Add elfutils-debuginfod.sysusers
* Fri Feb 25 2022 Tony Jones <tonyj@suse.com>
- Add support for zstd, needed to inspect kernel modules (bsc#1196510)
* Thu Nov 11 2021 Martin Liška <mliska@suse.cz>
- Update to version 0.186:
  debuginfod-client: Default $DEBUGINFOD_URLS is computed from drop-in files
    etc/debuginfod*.urls rather than hardcoded into the
    /etc/profile.d/debuginfod* scripts.
    Add $DEBUGINFOD_MAXSIZE and $DEBUGINFOD_MAXTIME settings
    for skipping large/slow transfers.
    Add $DEBUGINFOD_RETRY for retrying aborted lookups.
  debuginfod: Supply extra HTTP response headers, describing archive/file
    names that satisfy the requested buildid content.
    Support -d :memory: option for in-memory databases.
    Protect against loops in federated server configurations.
    Add -r option to use -I/-X regexes for grooming stale files.
    Protect against wasted CPU from duplicate concurrent requests.
    Limit the duration of groom ops roughly to rescan (-t) times.
    Add --passive mode for serving from read-only database.
    Several other performance improvements & prometheus metrics.
  libdw: Support for the NVIDIA Cuda line map extensions.
    DW_LNE_NVIDIA_inlined_call and DW_LNE_NVIDIA_set_function_name
    are defined in dwarf.h. New functions dwarf_linecontext and
    dwarf_linefunctionname
- Remove tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch
  and disable-run-readelf-self-test.patch.
- Remove -flto-partition=none -Wno-error=stack-usage= from _lto_flags
* Tue Oct  5 2021 Stephan Kulow <coolo@suse.com>
- Enhance license fields: all the libraries actually have a different
  license to the tools. While the tools are GPL-3.0-or-later, the
  libraries are (LGPL-3.0-or-later OR GPL-2.0-or-later)
* Tue Sep 14 2021 Martin Liška <mliska@suse.cz>
- Add harden_debuginfod.service.patch as
  Automatic systemd hardening effort by the security team.
* Thu Aug  5 2021 Martin Liška <mliska@suse.cz>
- Add tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch
  in order to fix boo#1189083.
* Mon May 24 2021 Martin Liška <mliska@suse.cz>
- Update to version 0.185:
  debuginfod-client: Simplify curl handle reuse so downloads which
    return an error are retried.
  elfcompress: Always exit with code 0 when the operation succeeds (even
    when nothing was done). On error the exit code is now always 1.
* Mon May 10 2021 Martin Liška <mliska@suse.cz>
- Update to version 0.184:
  debuginfod: Use libarchive's bsdtar as the .deb-family file unpacker.
  debuginfod-client: Client caches negative results. If a query for a
    file failed with 404, an empty 000 permission
    file is created in the cache. This will prevent
    requesting the same file for the next 10 minutes.
    Client objects now carry long-lived curl handles
    for outgoing connections.  This makes it more
    efficient for multiple sequential queries, because
    the TCP connections and/or TLS state info are kept
    around awhile, avoiding O(100ms) setup latencies.
  libdw: handle DW_FORM_indirect when reading attributes
  translations: Update Polish translation.
- Add 2 build dependences for tests.
* Tue Mar 16 2021 Martin Liška <mliska@suse.cz>
- Enable https://debuginfod.opensuse.org/ debuginfod server
  by default now.
- Add disable-run-readelf-self-test.patch in order to disable
  a failing test-case with GCC 11 (PR27367).
* Mon Feb  8 2021 Martin Liška <mliska@suse.cz>
- Update to version 0.183:
  debuginfod: New thread-busy metric and more detailed error metrics.
    New --fdcache-mintmp and tracking of filesystem freespace.
    New increased webapi concurrency while grooming.
  debuginfod-client: DEBUGINFOD_SONAME macro added to debuginfod.h which
    can be used to dlopen the libdebuginfod.so library.
    New function debuginfod_set_verbose_fd and
    DEBUGINFOD_VERBOSE environment variable.
  config: profile.sh and profile.csh won't export DEBUGINFOD_URLS unless
    configured --enable-debuginfod-urls[=URLS]
  elflint, readelf: Recognize SHF_GNU_RETAIN.
    Handle SHT_X86_64_UNWIND as valid relocation target.
- Remove config-do-not-define-DEBUGINFOD_URLS-environment-var.patch patch.
* Mon Jan  4 2021 Martin Liška <mliska@suse.cz>
- Add upstream config-do-not-define-DEBUGINFOD_URLS-environment-var.patch
  in order to fix boo#1180306.
* Thu Dec 10 2020 Martin Liška <mliska@suse.cz>
- Move profile files to libdebuginfod1 sub-package.
- Silent 2 rpmlint issues.
* Thu Nov  5 2020 Martin Liška <mliska@suse.cz>
- Add new /etc/profile.d/debuginfod.{,c}sh files.
- Update to version 0.182:
  backends: Support for tilegx has been removed.
  config: New /etc/profile.d files to provide default $DEBUGINFOD_URLS.
  debuginfod: More efficient package traversal, tolerate various errors
    during scanning, grooming progress is more visible and
    interruptible, more prometheus metrics.
  debuginfod-client: Now supports compressed (kernel) ELF images.
  libdwfl: Add ZSTD compression support.
* Tue Sep 22 2020 Martin Liška <mliska@suse.cz>
- Add Conflicts for dummy packages.
* Tue Sep 15 2020 Guillaume GARDET <guillaume.gardet@opensuse.org>
- Disable LTO again - boo#1138796
  Adding -flto-partition=none and -Wno-error=stack-usage were
  not enough:
    [  123s] libasm-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libasm.a
    [  123s] libdw-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libdw.a
    [  123s] libelf-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libelf.a
    [  123s] This archive does not contain a non-empty .text section.  The archive was not
    [  123s] created with -ffat-lto-objects option.
  And adding -ffat-lto-objects breaks run-show-die-info.sh test.
* Tue Sep  8 2020 Guillaume GARDET <guillaume.gardet@opensuse.org>
- Update to version 0.181:
  libelf: elf_update now compensates (fixes up) a bad sh_addralign for
    SHF_COMPRESSED sections.
  libdebuginfod: configure now takes --enable-libdebuginfod=dummy or
  - -disable-libdebuginfod for bootstrapping.
    DEBUGINFOD_URLS now accepts "scheme-free" urls
    (guessing at what the user meant, either http:// or file://)
  readelf, elflint: Handle aarch64 bti, pac bits in dynamic table and gnu
    property notes.
  libdw, readelf: Recognize DW_CFA_AARCH64_negate_ra_state. Allows unwinding
    on arm64 for code that is compiled for PAC (Pointer
    Authentication Code) as long as it isn't enabled
- Drop upstream patch:
  * 0001-tests-Add-GCOV-flags-when-necessary.patch
* Mon Jun 15 2020 Martin Liška <mliska@suse.cz>
- Remove remove-run-large-elf-file.sh.patch as it now checks for memory
  size.
- Use autosetup.
* Thu Jun 11 2020 Martin Liška <mliska@suse.cz>
- Update to version 0.180:
  elflint: Allow SHF_EXCLUDE as generic section flag when --gnu is given.
  libdw, readelf: Handle GCC LTO .gnu.debuglto_ prefix.
  libdw: Use correct CU to resolve file names in dwarf_decl_file.
  libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.
  size: Also obey radix printing for bsd format.
  nm: Explicitly print weak 'V' or 'T' and common 'C' symbols.
- Add 0001-tests-Add-GCOV-flags-when-necessary.patch in order to fix
  an unresolved symbol.
- Enable LTO: boo#1138796 by adding -flto-partition=none and -Wno-error=stack-usage.
* Mon Mar 30 2020 Martin Liška <mliska@suse.cz>
- Update to version 0.179:
  debuginfod-client: When DEBUGINFOD_PROGRESS is set and the program doesn't
    install its own debuginfod_progressfn_t show download
    progress on stderr.
    DEBUGINFOD_TIMEOUT is now defined as seconds to get at
    least 100K, defaults to 90 seconds.
    Default to $XDG_CACHE_HOME/debuginfod_client.
    New functions debuginfod_set_user_data,
    debuginfod_get_user_data, debuginfod_get_url and
    debuginfod_add_http_header.
    Support for file:// URLs.
  debuginfod: Uses libarchive directly for reading rpm archives.
    Support for indexing .deb/.ddeb archives through dpkg-deb
    or bsdtar.
    Generic archive support through -Z EXT[=CMD]. Which can be
    used for example for arch-linux pacman files by using
  - Z '.tar.zst=zstdcat'.
    Better logging using User-Agent and X-Forwarded-For headers.
    More prometheus metrics.
    Support for eliding dots or extraneous slashes in path names.
  debuginfod-find: Accept /path/names in place of buildid hex.
  libelf: Handle PN_XNUM in elf_getphdrnum before shdr 0 is cached
    Ensure zlib resource cleanup on failure.
  libdwfl: dwfl_linux_kernel_find_elf and dwfl_linux_kernel_report_offline
    now find and handle a compressed vmlinuz image.
  readelf, elflint: Handle PT_GNU_PROPERTY.
  translations: Updated Ukrainian translation.
* Tue Feb  4 2020 Martin Liška <mliska@suse.cz>
- Package debuginfod of elfutils for version 0.178.