From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Suppressing native compilation (short and long term) Date: Fri, 30 Sep 2022 18:47:29 +0300 Message-ID: <831qrseuem.fsf@gnu.org> References: <87bkqxf1ij.fsf@tethera.net> <8335c9dkyf.fsf@gnu.org> <874jwpue2u.fsf@tethera.net> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5199"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org, akrl@sdf.org, rlb@defaultvalue.org To: David Bremner Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Sep 30 17:49:40 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oeIGi-00016o-2M for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Sep 2022 17:49:40 +0200 Original-Received: from localhost ([::1]:40896 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oeIGg-0001At-Nb for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Sep 2022 11:49:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53022) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oeIEp-0007XU-Nd for emacs-devel@gnu.org; Fri, 30 Sep 2022 11:47:43 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:50188) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oeIEo-0003NA-Sm; Fri, 30 Sep 2022 11:47:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=1UJkXxlLo3ZQHdV2vmA7rDvg0rOFhc457lbZ7gNAEO4=; b=qz5/iQiYuJ5d MY14q/2Vj1NfEp73aJMGJJq6jWevXWmq2rgDu8gba/DC1yGB5l2zmNvsOPvfenQFLmhjGXfnnS2Kh AAjyrLlCcjbPEOfk91GDxkYaAkkvgQLjN+Z9o386tpvz1uEz30h4g+7OEmPB2F4c4GUHSqQ3FmzdK qEJkPp05tSLGNmzGqA5EQGSgzeY0qbkDgr57/h+ales9xRjM3pc5TaZ0zqtV7wtcDags0CQETRd9x gCsVvdq6AFBMnZvHh+5QexBxo4hrhe06vkngOvaFTJm+Y9RPv6fkiQUY3uK0scVkzZgZrCxSOtkdm 7aYum2aQJ5OIJq8S8t+ohQ==; Original-Received: from [87.69.77.57] (port=2045 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oeIEo-0005x0-BL; Fri, 30 Sep 2022 11:47:42 -0400 In-Reply-To: <874jwpue2u.fsf@tethera.net> (message from David Bremner on Fri, 30 Sep 2022 11:33:29 -0300) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:296524 Archived-At: > From: David Bremner > Cc: emacs-devel@gnu.org, akrl@sdf.org, rlb@defaultvalue.org > Date: Fri, 30 Sep 2022 11:33:29 -0300 > > Eli Zaretskii writes: > > > > > This is what I'm asking about: what exactly triggers the compilation? > > Just installing a package shouldn't do that, only loading it into > > Emacs should. > > When I talk about "package installation" I mean installing a Debian > binary package. This is a more general notion than a package as defined > by package.el > > We have one copy of the .elc files for all users. Because of this, and > the cleanup issue I mentioned above, the elc files need to generated > either at (Debian) package build time, or at (Debian) package > installation time. So I understand that this issue is caused by the Debian installation process? If so, the installation process should make sure the *.eln files are written only where you want them to be written. > > The other part of what I asked is that if for some reason installation > > does need to compile files (something that I still need to understand > > why it happens), there's nothing that hard-codes HOME in the directory > > list used for that. You can set native-comp-eln-load-path to anything > > you want, and only the directories in that list will be used. > > Does that restrict where eln files are written? Or just where emacs > tries to read? Both. > > Emacs doesn't require a writable HOME, it requires a writable > > directory to store *.eln files. It doesn't have to be HOME. > > Fair enough. I tried setting native-compile-target-directory, but that > seemed to be ignored by the trampoline stuff. Maybe both variables need > to be set. That's the wrong variable. Please use native-comp-eln-load-path. > > And once again, I still don't understand why *.eln files are produced > > at installation time in the first place. > > The short version is that we need to run emacs at Debian package build > and install time. Byte-compilation is one reason. Running tests at build > time is another. OK, in that case you get to arrange for the environment which will not produce files where you don't want them.