From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] feature/integrated-elpa 4f6df43 15/23: README added Date: Fri, 30 Sep 2016 15:17:08 +0300 Message-ID: <83shshmvjv.fsf@gnu.org> References: <20160916203414.25203.87032@vcs.savannah.gnu.org> <87vaxsjmvu.fsf@russet.org.uk> <878tunj2wr.fsf@russet.org.uk> <874m582ixv.fsf@russet.org.uk> <871t0apsxm.fsf@russet.org.uk> <87shsm7hi6.fsf@russet.org.uk> <83a8eucwi2.fsf@gnu.org> <878tudgwlq.fsf@russet.org.uk> <8360pgoyo4.fsf@gnu.org> <87d1jn3ws9.fsf@russet.org.uk> <83a8eqoi08.fsf@gnu.org> <87d1jlacsh.fsf@russet.org.uk> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1475240249 12553 195.159.176.226 (30 Sep 2016 12:57:29 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 30 Sep 2016 12:57:29 +0000 (UTC) Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: phillip.lord@russet.org.uk (Phillip Lord) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 30 14:57:24 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 1bpxNR-0002Fd-61 for ged-emacs-devel@m.gmane.org; Fri, 30 Sep 2016 14:57:21 +0200 Original-Received: from localhost ([::1]:44314 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpxNP-00079z-NE for ged-emacs-devel@m.gmane.org; Fri, 30 Sep 2016 08:57:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45377) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpwkw-0004iQ-9h for emacs-devel@gnu.org; Fri, 30 Sep 2016 08:17:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bpwkq-0008V2-OF for emacs-devel@gnu.org; Fri, 30 Sep 2016 08:17:33 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45274) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpwkq-0008Ut-Kq; Fri, 30 Sep 2016 08:17:28 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4349 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bpwkj-00023i-In; Fri, 30 Sep 2016 08:17:27 -0400 In-reply-to: <87d1jlacsh.fsf@russet.org.uk> (phillip.lord@russet.org.uk) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e 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:207914 Archived-At: > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > Date: Fri, 30 Sep 2016 11:43:10 +0100 > > > EZ> We should at least try, IMO, and not dismiss that possibility before we > > EZ> really see the difficulties and can assess them. > > > > I agree with Eli here. The more "natural" we can make the ELPA integration, > > the better I think it will be, since it will allow the flexibility for either > > approach, depending on what is best. > > Sure, but it cannot change the fact that ELPA and Emacs core have > different organisations because Emacs has a unified (or monolithic > depending on your POV) directory structure, while ELPA has a > per-package structure. > > > So, we have > > EMACS/lisp/blah.el > EMACS/test/lisp/blah-test.el > EMACS/doc/emacs/blah.texi > > While ELPA has > > ELPA/packages/blah/blah.el > ELPA/packages/blah/blah.texi > ELPA/packages/blah/test/blah-test.el > > (actually, the test location for ELPA packages is not standardized, but > it should be). > > So, we can either: > > 1) Have both of these organisations > 2) Move EMACS to the ELPA organisation > 3) Move ELPA to the EMACS organisation > > My suggestion is 1). My suggestion is none of the above. We should instead try to arrange things so that when a Emacs is built from the repository, the build process updates any packages from ELPA that need to be updated, as part of the build. And when an Emacs release tarball is tarred, each package has its files put/updated in the corresponding directory under lisp/. If we succeed doing this, there will be no difference between packages in the Emacs repository and in ELPA, as far as building and releasing Emacs is concerned. Can we try doing that? > After that, where blah.el is a package in core format, and foo.el is a > package in elpa format, we can do: > > a) > > EMACS/lisp/blah.el > EMACS/packages/foo/foo.el > > which is nice because it cleanly separates out the two layouts. > > b) > > EMACS/lisp/elpa/packages/foo/foo.el > EMACS/lisp/unified/blah.el > > which also seperates the two layouts, but would require lots of file > moves form the current system. Why do we need to separate them? > Or c) > > EMACS/lisp/blah.el > EMACS/lisp/elpa/packages/foo/foo.el > > which keeps all the lisp files under the lisp top-level dir, does not > require file moves, but pushes the two directory structures together, > complicating the build. > > For me, I think that the second b) is the ideal, but moving lots of > files to get there is not worth the effort. Hence I like option a). I > think c) will result in confusion of developers (as well as the build > system). For me, this is the ideal: EMACS/lisp/blah.el EMACS/lisp/foo.el (or EMACS/lisp/SOMETHING/foo.el) EMACS/doc/misc/foo-user.texi EMACS/doc/lispref/foo-elisp.texi etc., where SOMETHING is one of the _existing_ subdirectories under lisp/, as might be appropriate for foo.el's topic.