Your message dated Wed, 24 Jul 2024 02:24:21 +0000
with message-id <e1swrfx-007v2d...@fasolo.debian.org>
and subject line Bug#1069210: fixed in dh-elpa 2.1.3
has caused the Debian Bug report #1069210,
regarding dh-elpa: Support nested directory in elpa installation
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1069210: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1069210
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: dh-elpa
Version: 2.0.17
Severity: wishlist

Hi,

Currently dh-elpa installs all *.el files directly under the root of
ELPA installation directory.  This handles most ELPA packages without
issues, though there are some packages that starts to use nested
directory structures, e.g. auctex[1].

Therefore I'd like to propose to add nested directory support in
dh-elpa.  I have a draft implementation that adds support for
recursively create symlink in subdirectories as well as recursive
byte-compiling.  You can check it out in my salsa repo[2], and the
patches are also attached.  I have tested with the work-in-progress
auctex which seems to work, but it would be good to know whether there
are any aspects that I missed from the dh-elpa handling.

Any comments are welcome.

[1] When installing elpa.gnu.org auctex will have a nested `style/'
directory, though for the auctex packaged in Debian has not been
elpafied (which I'm trying to experiment in
https://bugs.debian.org/1056939)

[2] 
https://salsa.debian.org/manphiz/dh-elpa/-/tree/nested-directory-support?ref_type=heads

-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-20-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dh-elpa depends on:
ii  debhelper               13.11.4
ii  emacs                   1:29.3+1-2~bpo12+0manphiz1
ii  emacs-gtk [emacs]       1:29.3+1-2~bpo12+0manphiz1
ii  libarray-utils-perl     0.5-3
ii  libconfig-tiny-perl     2.28-2
ii  libdebian-source-perl   0.122
ii  libdpkg-perl            1.21.22
ii  libfile-find-rule-perl  0.34-3
ii  libtext-glob-perl       0.11-3
ii  perl                    5.36.0-7+deb12u1

dh-elpa recommends no packages.

dh-elpa suggests no packages.

-- no debconf information
>From 2df1f0d70c62e322618e7ed64515b33566c2f5f2 Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manp...@gmail.com>
Date: Mon, 15 Apr 2024 13:03:16 -0700
Subject: [PATCH 1/3] Byte compile recursively during install to handle nested
 directories

* This handles addons that have source files under nested directories
in ELPA install directories.
---
 helper/install | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/helper/install b/helper/install
index 39db695..eb68ef5 100755
--- a/helper/install
+++ b/helper/install
@@ -58,7 +58,8 @@ echo "install/${ELPA_DIR}: byte-compiling for ${FLAVOR}"
  ${FLAVOR} --quick --batch -l package \
            --eval "(setq package-user-dir \"/nonexistent\")" \
            --eval "(add-to-list 'package-directory-list \"$src_dir\")" \
-           -f package-initialize -f batch-byte-compile ./*.el > Install.log 2>&1
+           -f package-initialize \
+           --eval "(byte-recompile-directory \".\" 0)" > Install.log 2>&1
  if test $? -ne 0
  then
    cat Install.log
-- 
2.39.2

>From 5729f59dfa29bf9acda3959ff00aab179744e6d0 Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manp...@gmail.com>
Date: Wed, 17 Apr 2024 14:06:42 -0700
Subject: [PATCH 2/3] Create symlink from elpa-src to elpa recursively

* Instead of using `ln -s', use `cp -rs' so that directories are
handled recursively.
* In remove we use `rmdir --ignore-fail-on-non-empty' so this was
handled automatically as well.
---
 helper/install | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/helper/install b/helper/install
index eb68ef5..8d748c8 100755
--- a/helper/install
+++ b/helper/install
@@ -50,7 +50,7 @@ echo "install/${ELPA_DIR}: byte-compiling for ${FLAVOR}"
 # policy).  This makes complation easy, and also allows find-function
 # and find-library to work properly.  Also link all other top level
 # files and directories into the flavor directory
-(cd "${elc_dir}" && ln -sf "${el_dir}"* .)
+(cd "${elc_dir}" && cp -rsf "${el_dir}"* .)
 
 # Byte compile them
 (cd "${elc_dir}"
-- 
2.39.2

>From b15e026ce0d4166d427aca14d3451eb9b60fb1c9 Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manp...@gmail.com>
Date: Wed, 17 Apr 2024 14:17:41 -0700
Subject: [PATCH 3/3] Update d/changelog

---
 debian/changelog | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 161b05c..20026ae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,7 +13,13 @@ dh-elpa (2.1.2) UNRELEASED; urgency=medium
   * Add transient to the list of packages packaged separately as well as
     provided with emacs.
 
- -- Xiyue Deng <manp...@gmail.com>  Sat, 06 Apr 2024 16:41:14 -0700
+  [ Xiyue Deng ]
+  * Add support for nested directory in elpa installation.
+    - Byte compile recursively during install to handle nested
+      directories.
+    - Create symlink from elpa-src to elpa recursively.
+
+ -- Xiyue Deng <manp...@gmail.com>  Wed, 17 Apr 2024 14:16:00 -0700
 
 dh-elpa (2.1.1) experimental; urgency=medium
 
-- 
2.39.2


--- End Message ---
--- Begin Message ---
Source: dh-elpa
Source-Version: 2.1.3
Done: Sean Whitton <spwhit...@spwhitton.name>

We believe that the bug you reported is fixed in the latest version of
dh-elpa, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1069...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sean Whitton <spwhit...@spwhitton.name> (supplier of updated dh-elpa package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 24 Jul 2024 11:20:49 +0900
Source: dh-elpa
Architecture: source
Version: 2.1.3
Distribution: unstable
Urgency: medium
Maintainer: Debian Emacsen team <debian-emacsen@lists.debian.org>
Changed-By: Sean Whitton <spwhit...@spwhitton.name>
Closes: 973393 1069210 1069326
Changes:
 dh-elpa (2.1.3) unstable; urgency=low
 .
   * Upload to unstable.
   * Fix some copyright years.
   * Make autoscripts/prerm-elpa executable.
 .
 dh-elpa (2.1.2) experimental; urgency=medium
 .
   [ Xiyue Deng ]
   * Set ert-batch-backtrace-right-margin to nil to allow full backtrace
     when ERT tests fail (Closes: #973393).
   * Add support for passing ERT selectors using ert_selectors.
   * Handle git version with date in dhelpa-sanitise-version.
   * dh_elpa_test: Don't rename files under test/, tests/
     (Closes: #1069326).
   * Use `pretty' stack frame style in buttercup for full back trace.
   * Add support for installing nested directories (Closes: #1069210)
     - Don't recursively add to elpa path, to match package.el
     - Byte-compile recursively during install
     - Recursively create the symlinks from elpa-src->elpa.
 .
   [ Aymeric Agon-Rambosson ]
   * Get Package-Requires with lm-header-multiline (some upstream
     maintainers specify one dependency per line).
   * Add transient to the list of packages packaged separately as well as
     provided with Emacs.
 .
 dh-elpa (2.1.1) experimental; urgency=medium
 .
   * Remove /usr/share/$flavor/site-lisp/elpa (from emacsen-remove)
     if it is empty
 .
 dh-elpa (2.1.0) experimental; urgency=medium
 .
   * Call emacsen-remove script directly from generated prerm. For now this
     requires a custom debhelper autoscript template, that this package
     installs.
   * Eliminate dependency on dh-elpa-helper for emacsen-remove. This will
     require a rebuild to fix emacsen-remove scripts, but seems mandated by
     policy.
   * Add a version to debhelper generated snippets.
   * Make install helper shellcheck clean
Checksums-Sha1:
 7ad38b9e8a6c423c2965c5c6e553bfbe9b6302f8 1914 dh-elpa_2.1.3.dsc
 67470842fc526897f7d0403770200e9274cfec37 27540 dh-elpa_2.1.3.tar.xz
Checksums-Sha256:
 12f2b82c55a81ed84a8702eec9d83070fac364c3d2a8ea032215b515c18cbf20 1914 
dh-elpa_2.1.3.dsc
 1a5e8a43f44374f641a76aeec9107bc37ba746d59c5c46950febc276e3f83656 27540 
dh-elpa_2.1.3.tar.xz
Files:
 4c3040a0d40ef66c8d77c88213861cb6 1914 devel optional dh-elpa_2.1.3.dsc
 f8685b4e2f2c7f61019b79957b72093c 27540 devel optional dh-elpa_2.1.3.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEm5FwB64DDjbk/CSLaVt65L8GYkAFAmagZSYACgkQaVt65L8G
YkAsaA/7BVW/PyPfF/hIbaPvJlaGWdyVXav2d3WiBiiFnoD3AmoTnau7oZtrNMEg
4+1U7TNJxo3OIJiKc5CM5foHgG+0Dg2nRjf8adlpUQBeUFiNZnjXa3Ce7pfKmhYc
Rp/KKZL9sl6cr9tu1rbKai7UHlX0dMhKQZ3QuI5zOVtwbwFtUh3UKwigXDSfnIHJ
zX+JTDgrU+7Yv/NAsu/PwaxlRLDqVqZM2zA0QOmTNLm9eKwgKI1PHi1lfiKfu+q3
GVGwobWIYsak+uhIY2BUf55Not5R2jcYpLtbCbHN5G5lxE7dC0XyQDwnVFGcL+u0
fPl2e+B5loSK78i9PXl0GnqKydBskHgSwRR4FytCvboBw0tER8BXNLEHWTV20RJP
0mrx0XRayyvjD07IOAsTNZPirMcKLwDx0f+K2jHWBpn7Q3Cp9sJL8pVpUjZ1ZzI3
J96bncdFpMhr12c/cW7V3Ealhip/sFwSQ8Im+cyu6zxK6TuAL1OKPT2JDUFSrjeO
MFDKbvpQEJcmduIZIhwh/DvRNYVMWgvBjgi+T7Zut9QNl9uBXM72rXPKIGL8slYm
2PmWKO5m+g1itjNsNHmVYePY8EUli0UitPNhjuOnOsop24TS+HUjdD3unI6gFe+F
1umiiSAhIs54PnaiXJQb3mW1W0qujzoJEZ2JVUnrIsneeWALn2I=
=gqrw
-----END PGP SIGNATURE-----

Attachment: pgp6FO0tVzAP5.pgp
Description: PGP signature


--- End Message ---

Reply via email to