GNU bug report logs - #37527
[PATCH] Install C source code for for debugging help

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Thu, 26 Sep 2019 20:09:01 UTC

Severity: wishlist

Full log


Message #83 received at 37527 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 37527 <at> debbugs.gnu.org
Subject: Re: bug#37527: [PATCH] Install C source code for for debugging help
Date: Fri, 04 Oct 2019 11:20:04 +0200
Paul Eggert <eggert <at> cs.ucla.edu> writes:

Hi Paul,

> On 10/3/19 6:38 AM, Michael Albinus wrote:
>> +     (setq source-directory "/path/to/emacs-26.1")
>
> On Fedora at least, the debug packages you mention do not contain all
> the Emacs source code; they contain only the source useful for C-level
> debugging. So the advice should recommend setting
> find-function-C-source-directory, not source-directory. For example,
> on Fedora 30 right now, one could put this this into
> ~/.config/init.el:
>
>   (setq find-function-C-source-directory
>         "/usr/src/debug/emacs-26.2-1.fc30.x86_64/src")

Lisp sources are still found via load-path. So it doesn't hurt to set
source-directory. But you are right, we shall be precise, so I have
changed accordingly.

> and you could give that as an example. Please also mention that one
> will need to change init.el each time Fedora issues bugfixes and
> updates the "-1", or comes out with a new release and updates the
> "fc30", and that if you share your home directory with some system
> running some other distro or a different Fedora release then you'll
> need to have more-complicated code in init.el.

Yep. I've added

--8<---------------cut here---------------start------------->8---
The installation directory of the Emacs source package will contain
the exact package name and version number Emacs is installed on your
system.  If a new Emacs package is installed, the source package must
be reinstalled as well, and the setting in your startup file must be
updated.
--8<---------------cut here---------------end--------------->8---

>> On Red Hat-based systems, the corresponding command is
>> 'dnf debuginfo-install emacs', with target directory /usr/src/debug.
>
> That command is intended for installing the emacs-debuginfo package,
> which differs from the emacs-debugsource package that Emacs needs
> here. The command installs emacs-debugsource only as a weak dependency
> and settings in dnf.conf can prevent the command from installing
> emacs-debugsource at all. It would be helpful to warn about this
> possibility.

I know that the command installs the emacs-debuginfo package. I haven't
found a command, which installs the emacs-debugsource package
only. Could you please help me here?

> Also, on Fedora at least, the debugsource packages are regularly
> out-of-sync with the main packages distributed by the Fedora servers,
> so the suggested approach is unreliable when Emacs is patched. This is
> worth mentioning as well.

That I don't understand completely. Aren't the debug* packages intended
to be realeased under the same name+version as the binary packages? And
shouldn't they be in sync then?

> I hope this email helps to explain further why patching INSTALL is
> merely a stopgap, and why we need a better solution in the next Emacs
> release.

The main intention of this discussion is to have access to Emacs C
sources via main distributions. Whatever we change in Emacs releases
doesn't matter; it counts only what the major distributions
offer. Shouldn't we contact them (at least Debian-based and Red
Hat-based distributions), and ask the maintainers what they would expect
from us to make access to the C sources more simple? And maybe they have
also descriptions, which fit better than what I have compiled.

Best regards, Michael.




This bug report was last modified 4 years and 311 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.