Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Nicholas D Steeves
Sean Whitton  writes:

> async 1.9.3 is from buster.  You have
> /usr/share/emacs/site-lisp/elpa-async-1.9.7 on your system, right?
>

That's interesting, because that means that this is an old bug!  See
#1040690, which also appears to be this issue.  So far the trigger
condition appears to be a dist-upgrade (or full-upgrade).  I wonder if
the issue is on the emacs-el or dh-elpa side, or both?

Cheers,
Nicholas



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread David Bremner
Aymeric Agon-Rambosson  writes:

> I would say that any directory in /usr/share/emacs/site-lisp/elpa 
> that has no namesake in /usr/share/emacs/site-lisp/elpa-src, AND 
> that is not provided itself by a package, should not be 
> there. Sean, does that seem right to you, or is that too violent a 
> predicate ?

Sounds about right. You could look for .elc files alongside broken
symlinks to the corresponding .el file

d



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Aymeric Agon-Rambosson



Le dimanche 16 juillet 2023 à 19:39, "Nikolaus Rath" 
 a écrit :


Afraid not. With the current elpa-async package, the files are 
correctly removed on purge.


That's good.

That leaves me with a different question though - how do I clean 
up my system? It seems I have a lot of directories and files  in 
/usr/share/emacs/site-lisp/elpa that should not be there, and 
dpkg -S can't be used to identify what should and shouldn't be 
there. Is there a way to find out what should not be there?


I would say that any directory in /usr/share/emacs/site-lisp/elpa 
that has no namesake in /usr/share/emacs/site-lisp/elpa-src, AND 
that is not provided itself by a package, should not be 
there. Sean, does that seem right to you, or is that too violent a 
predicate ?


Best,

Aymeric



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Nikolaus Rath
On Sun, 16 Jul 2023, at 15:20, Sean Whitton wrote:
> Hello,
>
> On Sun 16 Jul 2023 at 12:06pm +01, Nikolaus Rath wrote:
>
>> Hmm. I think the problem is not that the various elpa packages did not
>> get installed correctly, but that they did not get removed fully. So
>> I'll skip this step for now in an attempt to preserve the current state.
>
> Yes, I think that's right.  The .elc should not have been left behind
> when you removed elpa-async.  There isn't really enough information here
> to try to fix whatever caused that.  Let us know if you are able to
> reproduce.

Afraid not. With the current elpa-async package, the files are correctly 
removed on purge.

That leaves me with a different question though - how do I clean up my system? 
It seems I have a lot of directories and files  in 
/usr/share/emacs/site-lisp/elpa that should not be there, and dpkg -S can't be 
used to identify what should and shouldn't be there. Is there a way to find out 
what should not be there?

Best,
-Nikolaus



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Sean Whitton
Hello,

On Sun 16 Jul 2023 at 12:06pm +01, Nikolaus Rath wrote:

> Hmm. I think the problem is not that the various elpa packages did not
> get installed correctly, but that they did not get removed fully. So
> I'll skip this step for now in an attempt to preserve the current state.

Yes, I think that's right.  The .elc should not have been left behind
when you removed elpa-async.  There isn't really enough information here
to try to fix whatever caused that.  Let us know if you are able to
reproduce.

-- 
Sean Whitton



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Sean Whitton
Hello,

On Sun 16 Jul 2023 at 10:52am +01, Nikolaus Rath wrote:

> No. It seems these files got orphaned during the upgrade:

The .elc files do not ship in the .deb, so it's not a case of orphaning.

-- 
Sean Whitton



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Nikolaus Rath
On Jul 16 2023, Aymeric Agon-Rambosson  wrote:
> Hello,
>
> Le dimanche 16 juillet 2023 à 08:22, Sean Whitton  
> a écrit :
>
>>> async 1.9.3 is from buster.  You have
>>> /usr/share/emacs/site-lisp/elpa-async-1.9.7 on your system, right?
>
> The directory you're supposed to have is
> /usr/share/emacs/site-lisp/elpa/async-1.9.7

I don't think so, because I do not have the elpa-async package installed
anymore. It's completely purged (not even config left).


>
> Le dimanche 16 juillet 2023 à 10:52, Nikolaus Rath  a 
> écrit :
>
>> No. It seems these files got orphaned during the upgrade:
>>
>> # dpkg -S  /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc
>> dpkg-query: no path found matching pattern
>> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc
>
> They did not.
>
> dpkg -S only shows the files that are present in the .deb file, and the 
> byte-compiled
> files (elc) are not.
>
> The real file list of the elpa-async package can be queried with :
>
> - dpkg -L elpa-async
> - apt-file list elpa-async (same as previous one, but without   prefix 
> directories)
> - Or directly on   
> https://packages.debian.org/bookworm/all/elpa-async/filelist
>
> It is normal that files in /usr/share/emacs/site-lisp/elpa do not show up in 
> any file
> list.
>
> It is because those files are generated during the installation process, from 
> the content
> of /usr/share/emacs/site-lisp/elpa-src (note the -src suffix). And indeed, 
> those files in
> /usr/share/emacs/site-lisp/elpa are either symbolic links to elisp source 
> files in
> /usr/share/emacs/site-lisp/elpa-src, or the byte-compiled version of
> those same files.

Yeah, but there is no /usr/share/emacs/site-lisp/elpa-src/async on this
system, only the generated files:

root@vostro /e/cron.d# dir /usr/share/emacs/site-lisp/elpa-src/
total 21K
drwxr-xr-x 2 root  5 Jul 10 11:42 dash-2.19.1
drwxr-xr-x 2 root  5 Jul 10 11:42 git-commit-3.3.0
drwxr-xr-x 2 root 13 Jul 10 13:36 irony-1.5.0
drwxr-xr-x 2 root 49 Jul 10 13:36 magit-3.3.0
drwxr-xr-x 2 root  5 Jul 10 13:36 magit-section-3.3.0
drwxr-xr-x 2 root  5 Jul 10 11:42 markdown-mode-2.5
drwxr-xr-x 2 root  5 Sep 10  2021 org-bullets-0.2.4
drwxr-xr-x 2 root  5 Jul 10 11:42 visual-fill-column-2.4
drwxr-xr-x 2 root  5 Jul 10 11:42 with-editor-3.0.5


 Looking at one randomly there seems to be a broken symlink for the .el
 file:

 nikratio@vostro /u/s/e/s/elpa> dir 
 /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.*
 lrwxrwxrwx 1 root  57 Feb 24 10:49
 /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.el ->
 /usr/share/emacs/site-lisp/elpa-src/async-1.9.3//async.el
 -rw-r--r-- 1 root 12K Feb 24 10:49
 /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc
>
> I am not sure what you mean by broken symlink.

The symlink target does not exist.

> Try to reinstall elpa-async from stable, you should
> have /usr/share/emacs/site-lisp/elpa-src/async-1.9.7 and the elisp source 
> files therein,
> and the corresponding symlinks and byte-compiled files in
> /usr/share/emacs/site-lisp/elpa/async-1.9.7.

Hmm. I think the problem is not that the various elpa packages did not
get installed correctly, but that they did not get removed fully. So
I'll skip this step for now in an attempt to preserve the current state.


 Warning (comp): Cannot look-up eln file as no source file was found for
 /usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash.elc Disable showing 
 Disable logging
 Warning (comp): Cannot look-up eln file as no source file was found for
 /usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc Disable 
 showing
 Disable logging
 Warning (comp): Cannot look-up eln file as no source file was found for
 /usr/share/emacs/site-lisp/elpa/async-1.9.3/async-bytecomp.elc Disable 
 showing Disable
 logging
 Warning (comp): Cannot look-up eln file as no source file was found for
 /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc Disable showing 
 Disable logging
 Warning (comp): Cannot look-up eln file as no source file was found for
 /usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor.elc Disable 
 showing
 Disable logging
>
> Those warnings can safely be ignored.

Thanks for clarifying! They're still very annoying to have on every
startup though :-).


Best,
-Nikolaus



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Aymeric Agon-Rambosson



Hello,

Le dimanche 16 juillet 2023 à 08:22, Sean Whitton 
 a écrit :



async 1.9.3 is from buster.  You have
/usr/share/emacs/site-lisp/elpa-async-1.9.7 on your system, 
right?


The directory you're supposed to have is 
/usr/share/emacs/site-lisp/elpa/async-1.9.7


Le dimanche 16 juillet 2023 à 10:52, Nikolaus Rath 
 a écrit :



No. It seems these files got orphaned during the upgrade:

# dpkg -S  /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc
dpkg-query: no path found matching pattern 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc


They did not.

dpkg -S only shows the files that are present in the .deb file, 
and the byte-compiled files (elc) are not.


The real file list of the elpa-async package can be queried with :

- dpkg -L elpa-async
- apt-file list elpa-async (same as previous one, but without 
 prefix directories)
- Or directly on 
 https://packages.debian.org/bookworm/all/elpa-async/filelist


It is normal that files in /usr/share/emacs/site-lisp/elpa do not 
show up in any file list.


It is because those files are generated during the installation 
process, from the content of /usr/share/emacs/site-lisp/elpa-src 
(note the -src suffix). And indeed, those files in 
/usr/share/emacs/site-lisp/elpa are either symbolic links to elisp 
source files in /usr/share/emacs/site-lisp/elpa-src, or the 
byte-compiled version of those same files.


Looking at one randomly there seems to be a broken symlink for 
the .el

file:

nikratio@vostro /u/s/e/s/elpa> dir 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.*
lrwxrwxrwx 1 root  57 Feb 24 10:49 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.el -> 
/usr/share/emacs/site-lisp/elpa-src/async-1.9.3//async.el
-rw-r--r-- 1 root 12K Feb 24 10:49 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc


I am not sure what you mean by broken symlink. My output of dir(1) 
does not show the target of symlinks. Do you mean that the target 
of the symbolic link is not present on your system ? This is not 
supposed to be the case after a successful installation of an 
elpa-* package : they are part of it. Try to reinstall elpa-async 
from stable, you should have 
/usr/share/emacs/site-lisp/elpa-src/async-1.9.7 and the elisp 
source files therein, and the corresponding symlinks and 
byte-compiled files in 
/usr/share/emacs/site-lisp/elpa/async-1.9.7.


Warning (comp): Cannot look-up eln file as no source file was 
found for /usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash.elc 
Disable showing Disable logging
Warning (comp): Cannot look-up eln file as no source file was 
found for 
/usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc 
Disable showing Disable logging
Warning (comp): Cannot look-up eln file as no source file was 
found for 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async-bytecomp.elc 
Disable showing Disable logging
Warning (comp): Cannot look-up eln file as no source file was 
found for 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc Disable 
showing Disable logging
Warning (comp): Cannot look-up eln file as no source file was 
found for 
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor.elc 
Disable showing Disable logging


Those warnings can safely be ignored. The new native compiler is 
looking for the source file of each loaded byte-compiled file, and 
because of our specific file architecture, it does not find it in 
the same directory. However, in my case, I do have the 
corresponding native-compiled files in my ~/.emacs.d/eln-cache 
directory. You could check if you have it, it is supposed to be 
named 
~/.emacs.d/eln-cache/-xx/async--x.eln.


My point is that if there is a native-compiled version of some 
elisp source file on my system, and emacs is capable of loading 
the native-compiled file, then it means that the native compiler 
found the source file. So the warnings can be ignored, because 
some time after the issuing of those warnings, the native compiler 
will look for the source file in the right place.


So it seems to me there are two different things here :
- The broken symlink, which should be resolved after a 
 reinstallation of the corresponding package (do tell us if 
 that's not the case)

- The native compiler warnings, which can be ignored.

Best,

Aymeric



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Nikolaus Rath



On Sun, 16 Jul 2023, at 08:22, Sean Whitton wrote:
> Hello,
>
> On Mon 10 Jul 2023 at 03:27pm +01, Nikolaus Rath wrote:
>
>> Package: dh-elpa
>> Severity: normal
>>
>> After upgrading to bookworm, I'm getting many warnings when starting
>> emacs:
>>
>> Warning (comp): Cannot look-up eln file as no source file was found for 
>> /usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash.elc Disable showing Disable 
>> logging
>> Warning (comp): Cannot look-up eln file as no source file was found for 
>> /usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc Disable 
>> showing Disable logging
>> Warning (comp): Cannot look-up eln file as no source file was found for 
>> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async-bytecomp.elc Disable 
>> showing Disable logging
>> Warning (comp): Cannot look-up eln file as no source file was found for 
>> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc Disable showing 
>> Disable logging
>> Warning (comp): Cannot look-up eln file as no source file was found for 
>> /usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor.elc Disable 
>> showing Disable logging
>>
>> Looking at one randomly there seems to be a broken symlink for the .el
>> file:
>>
>> nikratio@vostro /u/s/e/s/elpa> dir  
>> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.*
>> lrwxrwxrwx 1 root  57 Feb 24 10:49 
>> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.el -> 
>> /usr/share/emacs/site-lisp/elpa-src/async-1.9.3//async.el
>> -rw-r--r-- 1 root 12K Feb 24 10:49 
>> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc
>>
>>
>> I am not sure which package ought to ship
>> /usr/share/emacs/site-lisp/elpa-src/.
>>
>> I suspect this is the same problem for all elpa-* packages, so I'm not
>> filing this against elpa-async but (my best guess) dh-elpa.
>
> async 1.9.3 is from buster.  You have
> /usr/share/emacs/site-lisp/elpa-async-1.9.7 on your system, right?

No. It seems these files got orphaned during the upgrade:

# dpkg -S  /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc
dpkg-query: no path found matching pattern 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc

# dir  /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc
-rw-r--r-- 1 root 12K Feb 24 10:49 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc

# apt show elpa-async
Package: elpa-async
Version: 1.9.7-1
Priority: optional
Section: lisp
Source: emacs-async
Maintainer: Debian Emacsen team 
Installed-Size: 88.1 kB
Depends: dh-elpa-helper, emacsen-common
Recommends: emacs (>= 46.0)
Enhances: emacs
Homepage: https://elpa.gnu.org/packages/async.html
Download-Size: 19.8 kB
APT-Sources: http://deb.debian.org/debian bookworm/main amd64 Packages
Description: simple library for asynchronous processing in Emacs

Same for the others:

nikratio@vostro ~> dir 
/usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc 
-rw-r--r-- 1 root 133K Feb 24 10:49 
/usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc
nikratio@vostro ~> dpkg -S 
/usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc
dpkg-query: no path found matching pattern 
/usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc

Best,
-Nikolaus



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-16 Thread Sean Whitton
Hello,

On Mon 10 Jul 2023 at 03:27pm +01, Nikolaus Rath wrote:

> Package: dh-elpa
> Severity: normal
>
> After upgrading to bookworm, I'm getting many warnings when starting
> emacs:
>
> Warning (comp): Cannot look-up eln file as no source file was found for 
> /usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash.elc Disable showing Disable 
> logging
> Warning (comp): Cannot look-up eln file as no source file was found for 
> /usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc Disable 
> showing Disable logging
> Warning (comp): Cannot look-up eln file as no source file was found for 
> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async-bytecomp.elc Disable 
> showing Disable logging
> Warning (comp): Cannot look-up eln file as no source file was found for 
> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc Disable showing Disable 
> logging
> Warning (comp): Cannot look-up eln file as no source file was found for 
> /usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor.elc Disable 
> showing Disable logging
>
> Looking at one randomly there seems to be a broken symlink for the .el
> file:
>
> nikratio@vostro /u/s/e/s/elpa> dir  
> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.*
> lrwxrwxrwx 1 root  57 Feb 24 10:49 
> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.el -> 
> /usr/share/emacs/site-lisp/elpa-src/async-1.9.3//async.el
> -rw-r--r-- 1 root 12K Feb 24 10:49 
> /usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc
>
>
> I am not sure which package ought to ship
> /usr/share/emacs/site-lisp/elpa-src/.
>
> I suspect this is the same problem for all elpa-* packages, so I'm not
> filing this against elpa-async but (my best guess) dh-elpa.

async 1.9.3 is from buster.  You have
/usr/share/emacs/site-lisp/elpa-async-1.9.7 on your system, right?

-- 
Sean Whitton



Bug#1040787: dh-elpa: Lots of missing eln files

2023-07-10 Thread Nikolaus Rath
Package: dh-elpa
Severity: normal

After upgrading to bookworm, I'm getting many warnings when starting
emacs:

Warning (comp): Cannot look-up eln file as no source file was found for 
/usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash.elc Disable showing Disable 
logging
Warning (comp): Cannot look-up eln file as no source file was found for 
/usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient.elc Disable 
showing Disable logging
Warning (comp): Cannot look-up eln file as no source file was found for 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async-bytecomp.elc Disable showing 
Disable logging
Warning (comp): Cannot look-up eln file as no source file was found for 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc Disable showing Disable 
logging
Warning (comp): Cannot look-up eln file as no source file was found for 
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor.elc Disable 
showing Disable logging

Looking at one randomly there seems to be a broken symlink for the .el
file:

nikratio@vostro /u/s/e/s/elpa> dir  
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.*
lrwxrwxrwx 1 root  57 Feb 24 10:49 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.el -> 
/usr/share/emacs/site-lisp/elpa-src/async-1.9.3//async.el
-rw-r--r-- 1 root 12K Feb 24 10:49 
/usr/share/emacs/site-lisp/elpa/async-1.9.3/async.elc


I am not sure which package ought to ship
/usr/share/emacs/site-lisp/elpa-src/.

I suspect this is the same problem for all elpa-* packages, so I'm not
filing this against elpa-async but (my best guess) dh-elpa.



-- System Information:
Debian Release: 12.0
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-10-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.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:28.2+1-15
ii  emacs-gtk [emacs] 1:28.2+1-15
pn  libarray-utils-perl   
pn  libconfig-tiny-perl   
pn  libdebian-source-perl | dh-make-perl  
ii  libdpkg-perl  1.21.22
ii  libfile-find-rule-perl0.34-3
ii  libtext-glob-perl 0.11-3
ii  perl  5.36.0-7

dh-elpa recommends no packages.

dh-elpa suggests no packages.