| Name |
debuginfod |
| Description |
Handle ELF object files and DWARF debugging information (debuginfod) |
| Version |
0.194-1 |
| Package Base |
elfutils |
| Homepage |
https://sourceware.org/elfutils/ |
| Maintainers |
['David Runge <dvzrv@archlinux.org>'] |
| Contributors |
['Andrej Gelenberg <andrej.gelenberg@udo.edu>', 'Laurent Carlier <lordheavym@gmail.com>', 'Stéphane Gaudreault <stephane@archlinux.org>'] |
| Distro-repo |
https://gitlab.archlinux.org/archlinux/packaging/packages/elfutils |
| Sources |
['git+https://sourceware.org/git/elfutils.git?signed#tag=elfutils-0.194'] |
| Dependencies |
['gcc-libs', 'glibc', 'json-c', 'libarchive', 'libarchive.so', 'libelf', 'liblzma.so', 'libmicrohttpd', 'libmicrohttpd.so', 'libsqlite3.so', 'sqlite', 'xz'] |
| Optional-Dependencies |
['elfutils'] |
| Build-Dependencies |
['bzip2', 'curl', 'gcc-libs', 'git', 'json-c', 'libarchive', 'libmicrohttpd', 'sqlite', 'xz', 'zlib', 'zstd'] |
| Provides |
[] |
| Builddate |
25-10-2025 08:42:07 |
| Architecture |
x86_64 |
| Distro-Version |
|
| Licenses |
['GPL-3.0-or-later'] |
| Hash |
20d0c184064cded2fe9485b52b5c3a12106cbfd29ea2cbd4faf07605a94760b0 |
# Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: Laurent Carlier <lordheavym@gmail.com>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Andrej Gelenberg <andrej.gelenberg@udo.edu>
pkgbase=elfutils
pkgname=(
elfutils
libelf
debuginfod
)
pkgver=0.194
pkgrel=2
pkgdesc="Handle ELF object files and DWARF debugging information"
arch=(x86_64)
url="https://sourceware.org/elfutils/"
_url=https://sourceware.org/git/elfutils.git
makedepends=(
bzip2
curl
gcc-libs
git
json-c
libarchive
libmicrohttpd
sqlite
xz
zlib
zstd
)
options=(staticlibs)
source=(git+$_url?signed#tag=$pkgbase-$pkgver)
sha512sums=('b8b031e1e99466af969792ea9fb2b1c2b0f39425b2eb5bed986fa72189410a4bc5bb8e0e48a57d41fb6bcedba0a5f3c56a4d0c8b66c606feac98c46a303ba379')
b2sums=('a2e84bfaa316f2de5aff212bd91f15bed66f1881e4622fbfc19d671d09be68d2203813743570044de2a1c29c3db18d069db7481ad8cfe71104878cfc9e6f2191')
validpgpkeys=(
'EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A' # Mark Wielaard <mjw@gnu.org>
'6C2B631563B8D330578D3CB474FD3FA2779E7073' # Aaron Merey <amerey@redhat.com>
)
prepare() {
cd $pkgbase
# fix issue with /etc/profile.d/debuginfod.sh for zsh:
# https://gitlab.archlinux.org/archlinux/packaging/packages/elfutils/-/issues/2
git cherry-pick -n 00cb3efe36337f27925dbff9b2e7d97c7df95bf8
# fix c23 const handling issue
git cherry-pick -n 4a5cf8be906d5991e7527e69e3f2ceaa74811301
# remove failing test due to missing glibc debug package during test: https://bugs.archlinux.org/task/74875
sed -e 's/run-backtrace-native.sh//g' -i tests/Makefile.am
autoreconf -fiv
}
build() {
local configure_options=(
--prefix=/usr
--sysconfdir=/etc
--program-prefix="eu-"
--enable-deterministic-archives
--enable-maintainer-mode
)
# fat-lto-objects is required for non-mangled .a files in libelf
CFLAGS+=" -ffat-lto-objects"
# debugging information is required for test-suite
CFLAGS+=" -g"
cd $pkgbase
./configure "${configure_options[@]}"
make
}
check() {
make -C $pkgbase check
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
package_elfutils() {
pkgdesc+=" (utilities)"
license=(
GPL-3.0-or-later
)
depends=(
gcc-libs
glibc
libarchive libarchive.so
libelf=$pkgver
sh
)
make DESTDIR="$pkgdir" install -C $pkgbase
# set the default DEBUGINFOD_URLS environment variable to the distribution's debuginfod URL
echo "https://debuginfod.archlinux.org" > "$pkgdir/etc/debuginfod/archlinux.urls"
(
cd "$pkgdir"
_pick libelf etc/debuginfod
_pick libelf etc/profile.d/*
_pick libelf usr/{include,lib}
_pick libelf usr/share/man/*/{,lib}elf*
_pick debuginfod usr/bin/debuginfod*
_pick debuginfod usr/share/fish/vendor_conf.d/debuginfod.fish
_pick debuginfod usr/share/man/*/debuginfod*
)
install -vDm 644 $pkgbase/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
}
package_libelf() {
pkgdesc+=" (libraries)"
license=(
'GPL-2.0-or-later OR LGPL-3.0-or-later'
)
depends=(
bzip2 libbz2.so
curl libcurl.so
glibc
json-c
xz liblzma.so
zlib
zstd libzstd.so
)
# NOTE: the shared objects can not be added to provides as they are not versioned
mv -v $pkgname/* "$pkgdir"
install -vDm 644 $pkgbase/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
}
package_debuginfod() {
pkgdesc+=" (debuginfod)"
license=(
GPL-3.0-or-later
)
depends=(
gcc-libs
glibc
json-c
libarchive libarchive.so
libelf=$pkgver
libmicrohttpd libmicrohttpd.so
sqlite libsqlite3.so
xz liblzma.so
)
optdepends=("elfutils=$pkgver: for translations")
mv -v $pkgname/* "$pkgdir"
install -vDm 644 $pkgbase/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
}
# vim:set sw=2 sts=-1 et: