# Maintainer: Natanael Copa pkgname=elfutils pkgver=0.168 pkgrel=1 pkgdesc="A collection of utilities and DSOs to handle ELF files and DWARF data" url="http://elfutils.org/" arch="all" license="GPL-3.0-or-later and (GPL-2.0-or-later or LGPL-3.0-or-later)" depends="" makedepends="bison flex-dev zlib-dev bzip2-dev xz-dev argp-standalone bsd-compat-headers autoconf automake libtool" install="" subpackages="$pkgname-dev $pkgname-libelf" source="https://sourceware.org/elfutils/ftp/$pkgver/elfutils-$pkgver.tar.bz2 0001-Fix-TEMP_FAILURE_RETRY-definition-when-not-defined.patch fix-aarch64_fregs.patch fix-uninitialized.patch musl-accessperms.patch musl-canonicalize_file_name.patch musl-cdefs.patch musl-macros.patch musl-qsort_r.patch musl-strerror_r.patch no-werror.patch CVE-2017-7607.patch CVE-2017-7608.patch " builddir="$srcdir/elfutils-$pkgver" # secfixes: # 0.168-r1: # - CVE-2017-7607 # - CVE-2017-7608 prepare() { cd "$builddir" default_prepare || return 1 autoreconf -vif || return 1 cat > src/error.h <<-EOF #ifndef _ERROR_H_ #define _ERROR_H_ #include #include #include #include #include static unsigned int error_message_count = 0; static inline void error(int status, int errnum, const char* format, ...) { va_list ap; fprintf(stderr, "%s: ", program_invocation_name); va_start(ap, format); vfprintf(stderr, format, ap); va_end(ap); if (errnum) fprintf(stderr, ": %s", strerror(errnum)); fprintf(stderr, "\n"); error_message_count++; if (status) exit(status); } #endif /* _ERROR_H_ */ EOF cp src/error.h lib/ || return 1 cat > lib/libintl.h <<-EOF #ifndef LIBINTL_H #define LIBINTL_H #define _(x) (x) #endif EOF } build() { cd "$builddir" CFLAGS="$CFLAGS -Wno-null-dereference" \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --localstatedir=/var \ --disable-werror \ --disable-nls \ || return 1 # for now we only build libelf cd libelf && make || return 1 } package() { cd "$builddir"/libelf make DESTDIR="$pkgdir" install } libelf() { pkgdesc="libelf from elfutils" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libelf*.so* "$subpkgdir"/usr/lib/ } sha512sums="c8f2077ffe6877ad9e9d2f553bf0576361799c601d246f53e1d99a6f7046794c5916e1087b97ad1d1e5f59f9debc20384f864d507ef6c4c75a8e767d15d6eb91 elfutils-0.168.tar.bz2 eb77cb7712d74a67bbaca83ed2ccf169ba3095b423068176dd26bf340964c89b02574315f42bd4be0e4e4890c647b74a813657e890fbc719296508c625cd396c 0001-Fix-TEMP_FAILURE_RETRY-definition-when-not-defined.patch 61d38d47e557b54a2dc35b081a80af1b4e56172cf2d16843299506384e8062078edbef116eca5047021b37eb49a5cb364016f7bb6426942f772ec94f91cb02a1 fix-aarch64_fregs.patch b9ba55e1b56a8abf694b6d02f022d9a3a0ae6ab53a8c4a71e49552e32411ef410d3a7512fbd1a729696bc2046ac11586829816f0fa3b8226ee77c9dc4b741e58 fix-uninitialized.patch 0d9858c8437b5185975bb6be1340bcd718a5e723c7f9d683be91c8b14e87dc9b94fc620d752d07a655c602cc2e35d85d62b829a91d43d930d8f0b3ffde6e0e32 musl-accessperms.patch 46f53041fcbc8b82190c253faecfed1cbdced465923336925088915824a07140a9bc846d5498b22ee54f0dc4e74f19522bce102a162b79b2b4674cf0c58c14eb musl-canonicalize_file_name.patch 0198194976782ab13bba59491d2d6bbe6189cba1edab174ca61cc7b942564f03b5d61feb6b787c5d09e66b3b493f08a330a8612e04de02d261b72b7996cc50c3 musl-cdefs.patch 886ab23301f1872d94bcfc3590621196c811252c9a993738e5e480e666c7c3359f25e94c0e873c8fe16dc283e193dba0532a7ced3951e673185dcbb1d062b7c6 musl-macros.patch f025d6479c8782275090783ff4dd09eb70a7c3eec1126d3176c02d01124f22864d81e08cb96ac4d255e0316205658459b617f5b661b16dbaf1636591720605f4 musl-qsort_r.patch a0d986100c8ff2ef0595645ec1b2eeb1d517b7442aef5f349ebf27fcb66c76e51fadeda25bed5f04b4bb16a61aa23ac6e86a1f34a0087d2136acf0f64c3fa4d1 musl-strerror_r.patch 26aff757de8c0c67ae7922888c4a842939fb9b4022f3d2fa916591b44921c109f74154175afd431a0e31cf7c876f6d4fbaae26ef283985ae98d96854ea02dce0 no-werror.patch 81c6f19ed3e39aa6f2437e2da09be2952627efccda4769cccdd2616c728205ecdac1ece8a97ead7614a528d161c3885a050980a07436de7bdbc6f2988b348784 CVE-2017-7607.patch 20088019a3cb17d1d9155c421b20e47907d2bdbea31fdd0e469f02c03f8dfe1e7da5c29f0bb0a35be79470a40d7c2df92d2402e32b20d090526bb1f8a71e0707 CVE-2017-7608.patch"