mgorny 15/06/07 12:55:46 Modified: ChangeLog autotools-utils.eclass Log: Remove deprecated remove_libtool_files() function.
Revision Changes Path 1.1642 eclass/ChangeLog file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1642&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1642&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1641&r2=1.1642 Index: ChangeLog =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v retrieving revision 1.1641 retrieving revision 1.1642 diff -u -r1.1641 -r1.1642 --- ChangeLog 5 Jun 2015 16:38:21 -0000 1.1641 +++ ChangeLog 7 Jun 2015 12:55:46 -0000 1.1642 @@ -1,6 +1,9 @@ # ChangeLog for eclass directory # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1641 2015/06/05 16:38:21 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1642 2015/06/07 12:55:46 mgorny Exp $ + + 07 Jun 2015; Michał Górny <[email protected]> autotools-utils.eclass: + Remove deprecated remove_libtool_files() function. 05 Jun 2015; Michał Górny <[email protected]> freebsd.eclass: Enable IUSE=profile globally. Use upstream tarball for FreeBSD > 10.0. 1.75 eclass/autotools-utils.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-utils.eclass?rev=1.75&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-utils.eclass?rev=1.75&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-utils.eclass?r1=1.74&r2=1.75 Index: autotools-utils.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v retrieving revision 1.74 retrieving revision 1.75 diff -u -r1.74 -r1.75 --- autotools-utils.eclass 31 Jul 2014 23:24:56 -0000 1.74 +++ autotools-utils.eclass 7 Jun 2015 12:55:46 -0000 1.75 @@ -1,6 +1,6 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v 1.74 2014/07/31 23:24:56 reavertm Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v 1.75 2015/06/07 12:55:46 mgorny Exp $ # @ECLASS: autotools-utils.eclass # @MAINTAINER: @@ -217,81 +217,6 @@ echo ">>> Working in BUILD_DIR: \"${BUILD_DIR}\"" } -# @FUNCTION: remove_libtool_files -# @USAGE: [all] -# @DESCRIPTION: -# Determines unnecessary libtool files (.la) and libtool static archives (.a) -# and removes them from installation image. -# -# To unconditionally remove all libtool files, pass 'all' as argument. -# Otherwise, libtool archives required for static linking will be preserved. -# -# In most cases it's not necessary to manually invoke this function. -# See autotools-utils_src_install for reference. -remove_libtool_files() { - debug-print-function ${FUNCNAME} "$@" - local removing_all - - eqawarn "The remove_libtool_files() function was deprecated." - eqawarn "Please use prune_libtool_files() from eutils eclass instead." - - [[ ${#} -le 1 ]] || die "Invalid number of args to ${FUNCNAME}()" - if [[ ${#} -eq 1 ]]; then - case "${1}" in - all) - removing_all=1 - ;; - *) - die "Invalid argument to ${FUNCNAME}(): ${1}" - esac - fi - - local pc_libs=() - if [[ ! ${removing_all} ]]; then - local arg - for arg in $(find "${D}" -name '*.pc' -exec \ - sed -n -e 's;^Libs:;;p' {} +); do - [[ ${arg} == -l* ]] && pc_libs+=(lib${arg#-l}.la) - done - fi - - local f - find "${D}" -type f -name '*.la' -print0 | while read -r -d '' f; do - local shouldnotlink=$(sed -ne '/^shouldnotlink=yes$/p' "${f}") - local archivefile=${f/%.la/.a} - [[ "${f}" != "${archivefile}" ]] || die 'regex sanity check failed' - - # Remove static libs we're not supposed to link against. - if [[ ${shouldnotlink} ]]; then - einfo "Removing unnecessary ${archivefile#${D%/}}" - rm -f "${archivefile}" || die - # The .la file may be used by a module loader, so avoid removing it - # unless explicitly requested. - [[ ${removing_all} ]] || continue - fi - - # Remove .la files when: - # - user explicitly wants us to remove all .la files, - # - respective static archive doesn't exist, - # - they are covered by a .pc file already, - # - they don't provide any new information (no libs & no flags). - local removing - if [[ ${removing_all} ]]; then removing='forced' - elif [[ ! -f ${archivefile} ]]; then removing='no static archive' - elif has "$(basename "${f}")" "${pc_libs[@]}"; then - removing='covered by .pc' - elif [[ ! $(sed -n -e \ - "s/^\(dependency_libs\|inherited_linker_flags\)='\(.*\)'$/\2/p" \ - "${f}") ]]; then removing='no libs & flags' - fi - - if [[ ${removing} ]]; then - einfo "Removing unnecessary ${f#${D%/}} (${removing})" - rm -f "${f}" || die - fi - done -} - # @FUNCTION: autotools-utils_src_prepare # @DESCRIPTION: # The src_prepare function.
