From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: phillip.lord@russet.org.uk (Phillip Lord) Newsgroups: gmane.emacs.devel Subject: Re: feature/integrated-elpa 4f6df43 15/23: README added Date: Sat, 15 Oct 2016 13:01:23 +0100 Message-ID: <87wph96cto.fsf@russet.org.uk> References: <20160916203414.25203.87032@vcs.savannah.gnu.org> <867f9n2r6s.fsf@realize.ch> <87a8egw2az.fsf@russet.org.uk> <8360p3i2gt.fsf@gnu.org> <86a8efqf9p.fsf@realize.ch> <8337k7hysd.fsf@gnu.org> <8660p3qd99.fsf@realize.ch> <831szrhwsr.fsf@gnu.org> <8760p12qzw.fsf@russet.org.uk> <83vax0en1u.fsf@gnu.org> <87pon5ek3q.fsf@russet.org.uk> <87twcgttjf.fsf@russet.org.uk> <86a8e7symk.fsf@realize.ch> <8737jzl4u9.fsf@russet.org.uk> <8337jz8dg8.fsf@gnu.org> <83insv3tnl.fsf@gnu.org> <83d1j33qgg.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1476532917 16408 195.159.176.226 (15 Oct 2016 12:01:57 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 15 Oct 2016 12:01:57 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) Cc: Andy Moreton , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 15 14:01:53 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bvNet-0002vC-5r for ged-emacs-devel@m.gmane.org; Sat, 15 Oct 2016 14:01:47 +0200 Original-Received: from localhost ([::1]:51654 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bvNer-0002HE-Se for ged-emacs-devel@m.gmane.org; Sat, 15 Oct 2016 08:01:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51394) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bvNel-0002Gw-3e for emacs-devel@gnu.org; Sat, 15 Oct 2016 08:01:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bvNej-0004hJ-HL for emacs-devel@gnu.org; Sat, 15 Oct 2016 08:01:38 -0400 Original-Received: from cloud103.planethippo.com ([31.216.48.48]:55132) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bvNec-0004dv-Nc; Sat, 15 Oct 2016 08:01:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From; bh=fDa5QbzRDfCb9LZBJIrcrqpQUK8kTRR+91ozM9QI1qY=; b=XJijbhfmaO3bW653Gw/hXcbx0x H1asRGmCz2B2SLTL9vjEIoD0YjjW85/Wt9mNecsnmPecfjloODfwexS6RNyqR9x2qSD62/J45ayFy 5RoMbwRHN7CtmsUB/D4IDHsooqVnmQEKESat+0lcQJSPclE1BTRuTyRtJ87JwNbLh8k0d6ESUWPbZ Uaqqrvjc2318kgvLn+KWmjJIZWqQRXLBLmHVY3eyPfn+Dw6DOpTANoT6/MgpKULSpXc4JUeBpfdhS uFYjkVor6kusMg6op5YBUPsK+OSC0AYBXcQy4ryqwP7CsUvdTXPwTLB8N6k5JCeFE5UnoTfO1FTW+ tyfV8c+A==; Original-Received: from cpc14-benw10-2-0-cust305.16-2.cable.virginm.net ([92.234.125.50]:50088 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86_1) (envelope-from ) id 1bvNeb-004N6Y-Ek; Sat, 15 Oct 2016 13:01:29 +0100 In-Reply-To: (John Wiegley's message of "Fri, 14 Oct 2016 09:47:01 -0700") 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 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 31.216.48.48 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:208285 Archived-At: John Wiegley writes: >>>>>> "EZ" == Eli Zaretskii writes: > > EZ> But in any case, having a separate sub-directory for every package, like > EZ> what we have on ELPA, makes very little sense for a structure distributed > EZ> in a release tarball. You'd have many dozens of subdirectories, each one > EZ> with one or a handful of files. > > +1 > > It also occurred to me that we don't need a "mapping" file: We can impose the > constraint that any ELPA package to be included in the distribution use, > within its package, the same directory layout it would like overlaid into the > distribution. > > I don't see why this issue is generating so much discussion. It's generating less discussion than the one about curly quotes, so I think we are doing okay. > We've decided we're not changing the directory structure for now. > Supporting a single layout in the final tarball is not hard. Why the > push to cater to package.el? Because it's neat, simple and makes sense. > If a user installs Emacs from the tarball, and then wishes to use Org-mode > From ELPA rather than the distribution, they'll do what they'd do today: Use > M-x package-install to install a newer version of Org-mode in their package > directory, shadowing the Org-mode we included in the distribution. Except that it doesn't. Try this. Take Emacs 24.3, M-x package-install org. Now do, M-x load-library org-html. As you might expect org-html is duly loaded. This is unfortunate indeed because org-html is NOT in org any more. It is still in the load-path though, and so still gets loaded. So, now we have two versions of org loaded at the same time. Of course, we could have package.el do cleverer things. It could realise that org mode is also in core. It could therefore remove the core installed org-mode directory from load-path. This would work for org, of course, but only because org has its own subdirectory. package.el could also check for existing autoloads. org-export-as-html, for example, defined in org-html doesn't exist any more either, but, for Emacs 24.3, its in the autoload file. Does package.el remove old autoloads that are not shadowed? I don't know. Alternatively, if org in core were in package.el format, package.el could just not initialize the package in core. Never gets added to load-path, autoloads never get loaded. package.el can use *exactly* the same technique it uses when multiple version of org get installed into ~/.emacs.d/elpa. > As far as I can tell, the only thing we need to support tarball ELPA is file > containing a list of packages, and an addition to "make dist" that copies > these packages into the distribution directory when building the tarball. Or > am I missing something? Each one in their own directory? I think it's decision time. I am happy to carry on a little further with the package.el based approach that I have outlined, fixing the one significant issue with it and then I will stop. If you don't want to go this way, that's fine. Phil