diff options
author | 2014-10-24 17:24:09 +0000 | |
---|---|---|
committer | 2014-10-24 17:24:09 +0000 | |
commit | be3de575a3abc7744281de1103335320fca43061 (patch) | |
tree | e8a86a6439293d8572eeb449b24987e8b53c16b7 /sys-apps | |
parent | sci-physics/lammps: Added new version 20140905 (diff) | |
download | gentoo-2-be3de575a3abc7744281de1103335320fca43061.tar.gz gentoo-2-be3de575a3abc7744281de1103335320fca43061.tar.bz2 gentoo-2-be3de575a3abc7744281de1103335320fca43061.zip |
Add fix from upstream for ELF note parsing #526544 by Agostino Sarubbo.
(Portage version: 2.2.14_rc1/cvs/Linux x86_64, signed Manifest commit with key D2E96200)
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/file/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/file/file-5.20-r1.ebuild | 107 | ||||
-rw-r--r-- | sys-apps/file/files/file-5.20-elf-note.patch | 37 |
3 files changed, 151 insertions, 1 deletions
diff --git a/sys-apps/file/ChangeLog b/sys-apps/file/ChangeLog index 51a2aacfb05e..acbd1dc987b1 100644 --- a/sys-apps/file/ChangeLog +++ b/sys-apps/file/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-apps/file # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/file/ChangeLog,v 1.282 2014/10/22 19:22:17 maekke Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/file/ChangeLog,v 1.283 2014/10/24 17:24:09 vapier Exp $ + +*file-5.20-r1 (24 Oct 2014) + + 24 Oct 2014; Mike Frysinger <vapier@gentoo.org> +file-5.20-r1.ebuild, + +files/file-5.20-elf-note.patch: + Add fix from upstream for ELF note parsing #526544 by Agostino Sarubbo. 22 Oct 2014; Markus Meier <maekke@gentoo.org> file-5.19.ebuild: arm stable, bug #524986 diff --git a/sys-apps/file/file-5.20-r1.ebuild b/sys-apps/file/file-5.20-r1.ebuild new file mode 100644 index 000000000000..71809400950f --- /dev/null +++ b/sys-apps/file/file-5.20-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/file/file-5.20-r1.ebuild,v 1.1 2014/10/24 17:24:09 vapier Exp $ + +EAPI="4" +PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} pypy2_0 ) +DISTUTILS_OPTIONAL=1 + +inherit eutils distutils-r1 libtool toolchain-funcs multilib-minimal + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://github.com/glensc/file.git" + inherit autotools git-r3 +else + SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz + ftp://ftp.gw.com/mirrors/pub/unix/file/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +fi + +DESCRIPTION="identify a file's format by scanning binary data for patterns" +HOMEPAGE="http://www.darwinsys.com/file/" + +LICENSE="BSD-2" +SLOT="0" +IUSE="python static-libs zlib" + +DEPEND="python? ( ${PYTHON_DEPS} ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20131008-r21 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" +RDEPEND="${DEPEND} + python? ( !dev-python/python-magic )" + +src_prepare() { + epatch "${FILESDIR}"/${P}-elf-note.patch #526544 + + [[ ${PV} == "9999" ]] && eautoreconf + elibtoolize + + # don't let python README kill main README #60043 + mv python/README{,.python} +} + +multilib_src_configure() { + ECONF_SOURCE=${S} \ + ac_cv_header_zlib_h=$(usex zlib) \ + ac_cv_lib_z_gzopen=$(usex zlib) + econf \ + $(use_enable static-libs static) +} + +src_configure() { + # when cross-compiling, we need to build up our own file + # because people often don't keep matching host/target + # file versions #362941 + if tc-is-cross-compiler && ! ROOT=/ has_version ~${CATEGORY}/${P} ; then + mkdir -p "${WORKDIR}"/build + cd "${WORKDIR}"/build + tc-export_build_env BUILD_C{C,XX} + ECONF_SOURCE=${S} \ + ac_cv_header_zlib_h=no \ + ac_cv_lib_z_gzopen=no \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} -static" \ + CC=${BUILD_CC} \ + CXX=${BUILD_CXX} \ + econf --disable-shared + fi + + multilib-minimal_src_configure +} + +multilib_src_compile() { + if multilib_is_native_abi ; then + emake + else + emake -C src libmagic.la + fi +} + +src_compile() { + if tc-is-cross-compiler && ! ROOT=/ has_version ~${CATEGORY}/${P} ; then + emake -C "${WORKDIR}"/build/src file + PATH="${WORKDIR}/build/src:${PATH}" + fi + multilib-minimal_src_compile + + use python && cd python && distutils-r1_src_compile +} + +multilib_src_install() { + if multilib_is_native_abi ; then + default + else + emake -C src install-{includeHEADERS,libLTLIBRARIES} DESTDIR="${D}" + fi +} + +multilib_src_install_all() { + dodoc ChangeLog MAINT README + + use python && cd python && distutils-r1_src_install + prune_libtool_files +} diff --git a/sys-apps/file/files/file-5.20-elf-note.patch b/sys-apps/file/files/file-5.20-elf-note.patch new file mode 100644 index 000000000000..994dd73943d5 --- /dev/null +++ b/sys-apps/file/files/file-5.20-elf-note.patch @@ -0,0 +1,37 @@ +https://bugs.gentoo.org/526544 + +From 39c7ac1106be844a5296d3eb5971946cc09ffda0 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas <christos@zoulas.com> +Date: Fri, 17 Oct 2014 15:49:00 +0000 +Subject: [PATCH] Fix note bounds reading, Francisco Alonso / Red Hat + +--- + ChangeLog | 4 ++++ + src/readelf.c | 9 ++++++++- + 2 files changed, 12 insertions(+), 1 deletion(-) + +2014-10-17 11:48 Christos Zoulas <christos@zoulas.com> + + * fix bounds in note reading (Francisco Alonso / Red Hat) + +diff --git a/src/readelf.c b/src/readelf.c +index 08f81f5..9ebdebd 100644 +--- a/src/readelf.c ++++ b/src/readelf.c +@@ -477,6 +477,13 @@ donote(struct magic_set *ms, void *vbuf, size_t offset, size_t size, + uint32_t namesz, descsz; + unsigned char *nbuf = CAST(unsigned char *, vbuf); + ++ if (xnh_sizeof + offset > size) { ++ /* ++ * We're out of note headers. ++ */ ++ return xnh_sizeof + offset; ++ } ++ + (void)memcpy(xnh_addr, &nbuf[offset], xnh_sizeof); + offset += xnh_sizeof; + +-- +2.1.2 + |