ulm 14/05/24 08:48:40 Modified: elisp-common.eclass ChangeLog Log: elisp-site-regen: Die on errors.
Revision Changes Path 1.89 eclass/elisp-common.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/elisp-common.eclass?rev=1.89&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/elisp-common.eclass?rev=1.89&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/elisp-common.eclass?r1=1.88&r2=1.89 Index: elisp-common.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v retrieving revision 1.88 retrieving revision 1.89 diff -u -r1.88 -r1.89 --- elisp-common.eclass 24 May 2014 08:47:29 -0000 1.88 +++ elisp-common.eclass 24 May 2014 08:48:40 -0000 1.89 @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v 1.88 2014/05/24 08:47:29 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v 1.89 2014/05/24 08:48:40 ulm Exp $ # # @ECLASS: elisp-common.eclass # @MAINTAINER: @@ -345,31 +345,27 @@ elisp-site-regen() { local sitelisp=${ROOT}${EPREFIX}${SITELISP} - local sf i null="" page=$'\f' + local sf i ret=0 null="" page=$'\f' local -a sflist - if [[ ! -d ${sitelisp} ]]; then - eerror "elisp-site-regen: Directory ${sitelisp} does not exist" - return 1 - fi - - if [[ ! -d ${T} ]]; then - eerror "elisp-site-regen: Temporary directory ${T} does not exist" - return 1 - fi - if [[ ${EBUILD_PHASE} = *rm && ! -e ${sitelisp}/site-gentoo.el ]]; then ewarn "Refusing to create site-gentoo.el in ${EBUILD_PHASE} phase." return 0 fi + [[ -d ${sitelisp} ]] \ + || die "elisp-site-regen: Directory ${sitelisp} does not exist" + + [[ -d ${T} ]] \ + || die "elisp-site-regen: Temporary directory ${T} does not exist" + ebegin "Regenerating site-gentoo.el for GNU Emacs (${EBUILD_PHASE})" for sf in "${sitelisp}"/site-gentoo.d/[0-9][0-9]*.el; do [[ -r ${sf} ]] && sflist+=("${sf}") done - cat <<-EOF >"${T}"/site-gentoo.el + cat <<-EOF >"${T}"/site-gentoo.el || ret=$? ;;; site-gentoo.el --- site initialisation for Gentoo-installed packages ;;; Commentary: @@ -379,8 +375,8 @@ ;;; Code: EOF # Use sed instead of cat here, since files may miss a trailing newline. - sed '$q' "${sflist[@]}" </dev/null >>"${T}"/site-gentoo.el - cat <<-EOF >>"${T}"/site-gentoo.el + sed '$q' "${sflist[@]}" </dev/null >>"${T}"/site-gentoo.el || ret=$? + cat <<-EOF >>"${T}"/site-gentoo.el || ret=$? ${page} (provide 'site-gentoo) @@ -393,7 +389,10 @@ ;;; site-gentoo.el ends here EOF - if cmp -s "${sitelisp}"/site-gentoo.el "${T}"/site-gentoo.el; then + if [[ ${ret} -ne 0 ]]; then + eend ${ret} "elisp-site-regen: Writing site-gentoo.el failed." + die + elif cmp -s "${sitelisp}"/site-gentoo.el "${T}"/site-gentoo.el; then # This prevents outputting unnecessary text when there # was actually no change. # A case is a remerge where we have doubled output. @@ -402,7 +401,7 @@ einfo "... no changes." else mv "${T}"/site-gentoo.el "${sitelisp}"/site-gentoo.el - eend + eend $? "elisp-site-regen: Replacing site-gentoo.el failed" || die case ${#sflist[@]} in 0) [[ ${PN} = emacs-common-gentoo ]] \ || ewarn "... Huh? No site initialisation files found." ;; 1.1273 eclass/ChangeLog file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1273&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1273&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1272&r2=1.1273 Index: ChangeLog =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v retrieving revision 1.1272 retrieving revision 1.1273 diff -u -r1.1272 -r1.1273 --- ChangeLog 24 May 2014 08:47:29 -0000 1.1272 +++ ChangeLog 24 May 2014 08:48:40 -0000 1.1273 @@ -1,10 +1,10 @@ # ChangeLog for eclass directory # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1272 2014/05/24 08:47:29 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1273 2014/05/24 08:48:40 ulm Exp $ 24 May 2014; Ulrich Müller <u...@gentoo.org> elisp-common.eclass: elisp-site-regen: Look for site-init files only in site-gentoo.d - subdirectory. + subdirectory. Die on errors. 23 May 2014; Michał Górny <mgo...@gentoo.org> multilib-build.eclass: Change ABI-flag separator from ":" to "." to avoid issues with Makefile rules