Index: prepstrip =================================================================== --- prepstrip (revision 3480) +++ prepstrip (working copy) @@ -8,7 +8,8 @@ if hasq nostrip ${FEATURES} ${RESTRICT} || \ hasq strip ${RESTRICT} then - exit 0 + NOSTRIP=1 + hasq installsources ${FEATURES} || exit 0 fi STRIP=${STRIP:-${CHOST}-strip} @@ -24,7 +25,16 @@ local x=$1 local y="${D}usr/lib/debug/${x:${#D}}.debug" + if hasq installsources ${FEATURES} && [[ -x "/usr/bin/debugedit" ]] ; then + debugedit -b "${WORKDIR}" -d /usr/src/debug/${PF} -l "${T}"/debug.sources "${x}" + if [[ -s ${T}/debug.sources ]] ; then + [[ -d ${D}/usr/src/debug/${PF} ]] || mkdir -p "${D}/usr/src/debug/${PF}" + cat "${T}"/debug.sources | (cd "${WORKDIR}"; LANG=C sort -z -u | rsync -a0 --files-from=- "${WORKDIR}/" "${D}/usr/src/debug/${PF}/" ) + fi + fi + hasq splitdebug ${FEATURES} || return 0 + [[ -z "${NOSTRIP}" ]] || return 0 # dont save debug info twice. [[ ${x:7} == ".debug" ]] && return 0 @@ -34,15 +44,6 @@ ${OBJCOPY} --add-gnu-debuglink="${y}" "${x}" chmod a-x,o-w "${y}" - hasq installsources ${FEATURES} || return 0 - - if [[ -x "/usr/bin/debugedit" ]] ; then - debugedit -b "${WORKDIR}" -d /usr/src/debug/${PF} -l "${T}"/debug.sources "${x}" - if [[ -s ${T}/debug.sources ]] ; then - [[ -d ${D}/usr/src/debug/${PF} ]] || mkdir -p "${D}/usr/src/debug/${PF}" - cat "${T}"/debug.sources | (cd "${WORKDIR}"; LANG=C sort -z -u | rsync -a0 --files-from=- "${WORKDIR}/" "${D}/usr/src/debug/${PF}/" ) - fi - fi } # The existance of the section .symtab tells us that a binary is stripped. @@ -77,11 +78,11 @@ if [[ ${f} == *"current ar archive"* ]] ; then vecho " ${x:${#D}}" - [[ ${stripitbaby} -eq 1 ]] && ${STRIP} -g "${x}" + [[ ${stripitbaby} -eq 1 && -z "${NOSTRIP}" ]] && ${STRIP} -g "${x}" fi if [[ ${f} == *"SB executable"* || ${f} == *"SB shared object"* ]] ; then vecho " ${x:${#D}}" save_elf_debug "${x}" - [[ ${stripitbaby} -eq 1 ]] && ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}" + [[ ${stripitbaby} -eq 1 && -z "${NOSTRIP}" ]] && ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}" fi done