I have reverted the commit causing the issue in team repo[1].

I have also implemented another approach to avoid sub-directories in
`load-path', and tested with some success.  You can find the diff in [2]
or attached.  Please let me know what you think.  Will push after
getting some approvals.

Meanwhile, if reviewing the patch takes longer, please consider making
another release with just [1] to fix the current issue.

[1] 
https://salsa.debian.org/emacsen-team/dh-elpa/-/commit/852d8613798708178f2b0dff53798826e45c9ac9
[2] 
https://salsa.debian.org/manphiz/dh-elpa/-/compare/master...no-recursive-handling?from_project_id=18920

-- 
Xiyue Deng
>From cc38abc38dea77814c691913fab51593ed7da584 Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manp...@gmail.com>
Date: Wed, 24 Jul 2024 14:22:05 -0700
Subject: [PATCH] Properly disable recursive load-path handling in
 sub-directories

* Create the `.nosearch' files only in package sub-directories in
helper/install, and remove them in helper/remove.
---
 helper/install | 3 +++
 helper/remove  | 7 +++++++
 2 files changed, 10 insertions(+)

diff --git a/helper/install b/helper/install
index 8d748c8..0139b84 100755
--- a/helper/install
+++ b/helper/install
@@ -42,6 +42,9 @@ elc_dir=/usr/share/${FLAVOR}/site-lisp/elpa/${ELPA_DIR}/
 export EMACSLOADPATH
 EMACSLOADPATH=${ELPA_LOAD_PATH}
 
+# Disable adding sub-directories to `load-path'
+for DIR in ${el_dir}/*; do [ -d ${DIR} ] && touch ${DIR}/.nosearch; done
+
 echo "install/${ELPA_DIR}: byte-compiling for ${FLAVOR}"
 
 [ -d "${elc_dir}" ] || mkdir -p "${elc_dir}"
diff --git a/helper/remove b/helper/remove
index 3182eeb..6ab9d17 100755
--- a/helper/remove
+++ b/helper/remove
@@ -24,6 +24,8 @@ ELPA_DIR=${ELPA_PACKAGE}-${ELPA_VERSION}
 
 elpa_root="/usr/share/${FLAVOR}/site-lisp/elpa"
 elc_dir="${elpa_root}/${ELPA_DIR}"
+elpa_src_root="/usr/share/${FLAVOR}/site-lisp/elpa-src"
+el_dir="${elpa_src_root}/${ELPA_DIR}"
 
 FLAVOR=$1
 case $FLAVOR in
@@ -43,6 +45,11 @@ echo dh-elpa: purging flavor specific files for ${FLAVOR}
 rm -f ${elc_dir}/*.elc
 [ -d ${elc_dir} ] && find ${elc_dir} -type l -delete
 rm -f ${elc_dir}/Install.log*
+
+# Remove entries that disable recursive `load-path' handling in sub-directories
+find ${elc_dir} -name ".nosearch" -exec rm {} \;
+find ${el_dir} -name ".nosearch" -exec rm {} \;
+
 if test -e "${elc_dir}"
 then
     rmdir --ignore-fail-on-non-empty "${elc_dir}"
-- 
2.39.2

Reply via email to