diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2019-11-15 16:01:03 +0100 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2019-11-15 16:01:16 +0100 |
commit | 160e36dec431e784d841a86ca97e79071847a9d9 (patch) | |
tree | da0582fe5ef5161c7480a3e3fce9af2d4a939fb6 /sys-apps/attr | |
parent | dev-python/pytest: Bump to 4.6.6 (diff) | |
download | gentoo-160e36dec431e784d841a86ca97e79071847a9d9.tar.gz gentoo-160e36dec431e784d841a86ca97e79071847a9d9.tar.bz2 gentoo-160e36dec431e784d841a86ca97e79071847a9d9.zip |
sys-apps/attr: add live ebuild for easier bisect
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'sys-apps/attr')
-rw-r--r-- | sys-apps/attr/attr-9999.ebuild | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/sys-apps/attr/attr-9999.ebuild b/sys-apps/attr/attr-9999.ebuild new file mode 100644 index 000000000000..1d01d82440c3 --- /dev/null +++ b/sys-apps/attr/attr-9999.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic libtool toolchain-funcs multilib-minimal usr-ldscript + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/${PN}.git" + + inherit autotools git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" + SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz" +fi + +DESCRIPTION="Extended attributes tools" +HOMEPAGE="https://savannah.nongnu.org/projects/attr" +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="debug nls static-libs" + +DEPEND="nls? ( sys-devel/gettext )" + +pkg_setup() { + # Remove -flto* from flags as this breaks binaries (bug #644048) + filter-flags -flto* +} + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + po/update-potfiles || die + eautopoint + eautoreconf + else + elibtoolize #580792 + fi +} + +multilib_src_configure() { + unset PLATFORM #184564 + export OPTIMIZER=${CFLAGS} + export DEBUG=-DNDEBUG + + tc-ld-disable-gold #644048 + + local myeconfargs=( + --bindir="${EPREFIX%/}"/bin + --enable-shared + $(use_enable static-libs static) + $(use_enable nls) + --libexecdir="${EPREFIX%/}"/usr/$(get_libdir) + $(use_enable debug) + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # Sanity check until we track down why this is happening. #644048 + local lib="${ED}/usr/$(get_libdir)/libattr.so.1" + if [[ -e ${lib} ]] ; then + local versions=$(readelf -V "${lib}") + local symbols=$(readelf -sW "${lib}") + if [[ "${versions}" != *"ATTR_1.0"* || \ + "${versions}" != *"ATTR_1.1"* || \ + "${versions}" != *"ATTR_1.2"* || \ + "${versions}" != *"ATTR_1.3"* || \ + "${symbols}" != *"getxattr@ATTR_1.0"* ]] ; then + echo "# readelf -V ${lib}" + echo "${versions}" + echo "# readelf -sW ${lib}" + echo "${symbols}" + die "symbol version sanity check failed; please comment on https://bugs.gentoo.org/644048" + else + einfo "${lib} passed symbol checks" + fi + fi + + if multilib_is_native_abi; then + # we install attr into /bin, so we need the shared lib with it + gen_usr_ldscript -a attr + fi + + # Add a wrapper until people upgrade. + insinto /usr/include/attr + newins "${FILESDIR}"/xattr-shim.h xattr.h +} + +multilib_src_install_all() { + if ! use static-libs; then + find "${ED}" -name '*.la' -delete || die + fi + + einstalldocs +} |