diff options
-rw-r--r-- | eclass/ChangeLog | 6 | ||||
-rw-r--r-- | eclass/elisp-common.eclass | 20 |
2 files changed, 17 insertions, 9 deletions
diff --git a/eclass/ChangeLog b/eclass/ChangeLog index 577b958..d11e500 100644 --- a/eclass/ChangeLog +++ b/eclass/ChangeLog @@ -1,3 +1,9 @@ +2008-03-04 Ulrich Mueller <ulm@gentoo.org> + + * elisp-common.eclass (elisp-site-regen): Work around Paludis + borkage, where variable T is empty in pkg_postrm. Thanks to + Stelian Ionescu for pointing this out. + 2008-03-03 Ulrich Mueller <ulm@gentoo.org> * elisp-common.eclass (elisp-site-file-install) diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass index 002e324..93447a1 100644 --- a/eclass/elisp-common.eclass +++ b/eclass/elisp-common.eclass @@ -288,11 +288,12 @@ elisp-site-file-install() { elisp-site-regen() { local i sf line obsolete local -a sflist + local tmpdir=${T:-/tmp} if [ ! -e "${ROOT}${SITELISP}"/site-gentoo.el ] \ && [ ! -e "${ROOT}${SITELISP}"/site-start.el ]; then einfo "Creating default ${SITELISP}/site-start.el ..." - cat <<-EOF >"${T}"/site-start.el + cat <<-EOF >"${tmpdir}"/site-start.el ;;; site-start.el ;;; Commentary: @@ -333,7 +334,7 @@ elisp-site-regen() { eval "${old_shopts}" - cat <<-EOF >"${T}"/site-gentoo.el + cat <<-EOF >"${tmpdir}"/site-gentoo.el ;;; site-gentoo.el --- site initialisation for Gentoo-installed packages ;;; Commentary: @@ -342,8 +343,8 @@ elisp-site-regen() { ;;; Code: EOF - cat "${sflist[@]}" </dev/null >>"${T}"/site-gentoo.el - cat <<-EOF >>"${T}"/site-gentoo.el + cat "${sflist[@]}" </dev/null >>"${tmpdir}"/site-gentoo.el + cat <<-EOF >>"${tmpdir}"/site-gentoo.el (provide 'site-gentoo) @@ -353,16 +354,17 @@ elisp-site-regen() { ;;; site-gentoo.el ends here EOF - if cmp -s "${ROOT}${SITELISP}"/site-gentoo.el "${T}"/site-gentoo.el; then + if cmp -s "${ROOT}${SITELISP}"/site-gentoo.el "${tmpdir}"/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. echo " no changes." else - mv "${T}"/site-gentoo.el "${ROOT}${SITELISP}"/site-gentoo.el - [ -f "${T}"/site-start.el ] \ + mv "${tmpdir}"/site-gentoo.el "${ROOT}${SITELISP}"/site-gentoo.el + [ -f "${tmpdir}"/site-start.el ] \ && [ ! -e "${ROOT}${SITELISP}"/site-start.el ] \ - && mv "${T}"/site-start.el "${ROOT}${SITELISP}"/site-start.el + && mv "${tmpdir}"/site-start.el "${ROOT}${SITELISP}"/site-start.el echo; einfo for sf in "${sflist[@]##*/}"; do einfo " Adding ${sf} ..." @@ -409,5 +411,5 @@ EOF done # cleanup - rm -f "${T}"/site-{gentoo,start}.el + rm -f "${tmpdir}"/site-{gentoo,start}.el } |