From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Phillip Lord Newsgroups: gmane.emacs.devel Subject: Re: policy discussion on bundling ELPA packages in the emacs tarball Date: Sun, 24 Jan 2021 22:09:53 +0000 Message-ID: <87im7mgf66.fsf@russet.org.uk> References: <86eeifawx8.fsf@stephe-leake.org> <87czxygdl9.fsf@russet.org.uk> <86tur88izp.fsf@stephe-leake.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17252"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel To: Stephen Leake Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jan 24 23:10:57 2021 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 1l3nay-0004Jc-G7 for ged-emacs-devel@m.gmane-mx.org; Sun, 24 Jan 2021 23:10:56 +0100 Original-Received: from localhost ([::1]:53042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l3nax-0001SF-Ic for ged-emacs-devel@m.gmane-mx.org; Sun, 24 Jan 2021 17:10:55 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55042) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l3naA-0000wu-6J for emacs-devel@gnu.org; Sun, 24 Jan 2021 17:10:06 -0500 Original-Received: from cloud103.planethippo.com ([78.129.138.110]:35520) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l3na6-0005V6-Bu for emacs-devel@gnu.org; Sun, 24 Jan 2021 17:10:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:References:Message-ID :Date:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=gLtdXJp4zX2WamktycCVCbzUVH1L+Y+SViTxcJ7SSJc=; b=Wh4KR6BsuLZhyzb3twJupAMMg Z/XmLENHMM+z9Y7nG988Gy73fQ/PciX3kyrm4RQo7NGMonwDxhdikDXhOUQ0sr75jD3tSH1DHur1w pKllJcXcX+QmUY4YmQC2Zrkx/sN8VsomzBleizoKWj/6vZbEht5ZdR6W103LgdQBcXwUAWOztSp+f rlKA4ZwLT4Bk+RYJl5nJFO1bcvbSeB4j6Sk9+3MIxvb3b6WWwHOmmEJHgdYQivea+i6+dClk3V0fV nnnhjG/z9fu6eR0tSFRp/OFld4qV8e8P1xRbbIdAEtUz2hBZGYQesGluIrPLqoBLy7B7uQk3GeYUB YQyKXwV7g==; Original-Received: from cpc142648-benw12-2-0-cust627.16-2.cable.virginm.net ([82.10.74.116]:50290 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1l3na4-0001dt-0Z; Sun, 24 Jan 2021 22:10:00 +0000 In-Reply-To: <86tur88izp.fsf@stephe-leake.org> (Stephen Leake's message of "Fri, 22 Jan 2021 18:50:02 -0800") X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk Received-SPF: none client-ip=78.129.138.110; envelope-from=phillip.lord@russet.org.uk; helo=cloud103.planethippo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:263362 Archived-At: Stephen Leake writes: > Phillip Lord writes: > > which is 4 years old, but indicates that mixing worktrees and submodules > was an issue then. It's marked as a bug on the git worktrees manual (right at the end). > > I'll have to test some stuff. If the submodules cannot be worktrees, > then I think we have to abandon this approach. Although maybe using > --depth=1 (or some small number) would be acceptable. > >> My own abortive attempt to achieve ELPA bundled packages >> (https://git.savannah.gnu.org/cgit/emacs.git/log/?h=feature/core-elpa-by-copy), >> solved one of these two problems -- a single ELPA git repo, but still >> duplicated bundled packages in each worktree. > > I'll look at that. To caveat, I wouldn't necessarily put this forward as working solution. It felt kludgey then and it feels so now. I stopped working on it because of time, though not because it didn't work. >> Two, I can live with the submodule update if I have to, but this will >> have to be done on each Worktree I guess. Why not add `configure >> --with-elpa` >> > https://git.savannah.gnu.org/cgit/emacs.git/log/?h=feature/core-elpa-by-copy > > I'll have to look at that. > > But "copy" implies that the git information is lost, so you can't edit > the copy and push the changes. That won't do. Yes, that's the flaw, and it's a fairly big one. If you wanted to edit, and commit that would require checking out from the ELPA repo, updating the pointer on the Emacs tree and then checking back in again. This sounds clunky, although in practice, the number of times you need to edit a package in tree would be small, I think. I mean, it's the workflow you have at the moment for ELPA packages right? If you have a test Emacs and install an ELPA package, you don't want to edit the source of that ELPA package. I solve this problem for my own packages by not installing them from ELPA, but from their git repos. This means normal users and me as developer have a different set up. straight.el solves this problem in a more principled way; the package is the git repo, but then the package manager is completely dependent on git. >> Three, out of source builds would I presume include the submodule in the >> main git tree, not in the out of source location? > > Yes; with submodules, 'make build' (out of source or in source) doesn't use > git to retrieve files, just the filesystem. Yes. My system uses git archive to retrieve files during the build. I seem to remember putting an option to have make clone ELPA also, although that was configurable for exactly the reason we are discussing; I wanted one copy of ELPA not lots. But, a full git repo build of Emacs would require git on the build machine. I figured that wasn't a problem because, well, if you have a git checkout on that machine, then you probably have git. > With the alternative "only in elpa" approach, 'make build' will have to > know where the local elpa source directory is; it should still not use > git to retrieve files. For building a tarball, step one is get emacs and > elpa checked out to the right versions, then invoke 'make build'. Yes. My version doesn't use a check out of ELPA, so it can take source for different packages from different versions of the same branch. Phil