Subject: 28.2; ’uninstall’ make target does not remove .eln native compiled files

From: Alfredo Finelli <[email-masked]>
Date: Tue, 13 Sep 2022 10:51:12 +0200

While building emacs to upgrade it from version 28.1 to 28.2 I noticed
that the "uninstall" make target leaves native compiled .eln files behind
in the installation target directory.  The same happens with the
development version 29 from git, altough with less .eln files.

This is how to reproduce the bug by installing emacs to an new empty
directory; cwd is a regular emacs 28.2 source tree:

$ mkdir /tmp/emacs-28.2
$ ./configure --with-native-compilation --prefix=/tmp/emacs-28.2/
    [... snip]
$ make -j4
    [... snip]
$ make install
    [... snip]
$ make uninstall
    [... snip]
$ find /tmp/emacs-28.2/
/tmp/emacs-28.2/
/tmp/emacs-28.2/share
/tmp/emacs-28.2/share/info
/tmp/emacs-28.2/share/info/dir
/tmp/emacs-28.2/share/man
/tmp/emacs-28.2/share/man/man1
/tmp/emacs-28.2/share/applications
/tmp/emacs-28.2/share/applications/emacsclient.desktop
/tmp/emacs-28.2/share/applications/emacs-mail.desktop
/tmp/emacs-28.2/share/applications/emacsclient-mail.desktop
/tmp/emacs-28.2/share/metainfo
/tmp/emacs-28.2/share/icons
/tmp/emacs-28.2/share/icons/hicolor
/tmp/emacs-28.2/share/icons/hicolor/128x128
/tmp/emacs-28.2/share/icons/hicolor/128x128/apps
/tmp/emacs-28.2/share/icons/hicolor/16x16
/tmp/emacs-28.2/share/icons/hicolor/16x16/apps
/tmp/emacs-28.2/share/icons/hicolor/24x24
/tmp/emacs-28.2/share/icons/hicolor/24x24/apps
/tmp/emacs-28.2/share/icons/hicolor/32x32
/tmp/emacs-28.2/share/icons/hicolor/32x32/apps
/tmp/emacs-28.2/share/icons/hicolor/48x48
/tmp/emacs-28.2/share/icons/hicolor/48x48/apps
/tmp/emacs-28.2/share/icons/hicolor/scalable
/tmp/emacs-28.2/share/icons/hicolor/scalable/apps
/tmp/emacs-28.2/share/icons/hicolor/scalable/mimetypes
/tmp/emacs-28.2/share/emacs
/tmp/emacs-28.2/share/emacs/site-lisp
/tmp/emacs-28.2/share/emacs/site-lisp/subdirs.el
/tmp/emacs-28.2/lib
/tmp/emacs-28.2/lib/systemd
/tmp/emacs-28.2/lib/systemd/user
/tmp/emacs-28.2/lib/emacs
/tmp/emacs-28.2/lib/emacs/28.2
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/bindings-d30713c5-1ec0133a.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/buff-menu-da4b0b04-65a249b6.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/case-table-3a8e2808-be7656d4.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/button-747c9d6e-948de613.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/abbrev-2af30c9a-81a91c7e.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/cus-face-74f1689e-1f20b9c1.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/cus-start-26315480-6f2c6ee4.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/disp-table-375616aa-5c285770.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/dnd-12d90309-f8c52779.eln
/tmp/emacs-28.2/lib/emacs/28.2/native-lisp/28.2-418cd9aa/preloaded/dos-fns-6e9410f2-9e80dcb2.eln

[... CUT .... 133 other native compiled .eln files ....]

/tmp/emacs-28.2/include
/tmp/emacs-28.2/bin
/tmp/emacs-28.2/libexec
/tmp/emacs-28.2/libexec/emacs

Best regards.