summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/emacs/emacs-29.0.9999-r1.ebuild')
-rw-r--r--app-editors/emacs/emacs-29.0.9999-r1.ebuild10
1 files changed, 8 insertions, 2 deletions
diff --git a/app-editors/emacs/emacs-29.0.9999-r1.ebuild b/app-editors/emacs/emacs-29.0.9999-r1.ebuild
index b06274d3a565..198c02ddd567 100644
--- a/app-editors/emacs/emacs-29.0.9999-r1.ebuild
+++ b/app-editors/emacs/emacs-29.0.9999-r1.ebuild
@@ -540,8 +540,14 @@ src_install() {
pkg_preinst() {
# move Info dir file to correct name
- if [[ -d ${ED}/usr/share/info ]]; then
- mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ local infodir="${ED}/usr/share/info/${EMACS_SUFFIX}"
+ if [[ -f ${infodir}/dir.orig ]]; then
+ mv "${infodir}"/dir{.orig,} || die
+ elif [[ -d ${infodir} ]]; then
+ # this can happen when preinst is run twice, e.g. when
+ # installing a binpkg that was created with quickpkg #899648
+ ewarn "Unexpected \"dir\" file in ${infodir} - preinst run twice?"
+ [[ ${MERGE_TYPE} == binary && -f ${infodir}/dir ]] || die
fi
}