From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs release and bundling GNU Elpa Date: Mon, 22 Jun 2015 18:33:33 +0300 Message-ID: <83si9jhi5u.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1434987259 21852 80.91.229.3 (22 Jun 2015 15:34:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Jun 2015 15:34:19 +0000 (UTC) Cc: bruce.connor.am@gmail.com, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 22 17:34:11 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Z73jc-0002ZT-C8 for ged-emacs-devel@m.gmane.org; Mon, 22 Jun 2015 17:34:08 +0200 Original-Received: from localhost ([::1]:40764 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z73jb-0003GV-OQ for ged-emacs-devel@m.gmane.org; Mon, 22 Jun 2015 11:34:07 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42275) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z73jN-0003GD-5X for emacs-devel@gnu.org; Mon, 22 Jun 2015 11:33:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z73jJ-0004SY-V8 for emacs-devel@gnu.org; Mon, 22 Jun 2015 11:33:53 -0400 Original-Received: from mtaout29.012.net.il ([80.179.55.185]:38718) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z73jJ-0004Rt-Gl for emacs-devel@gnu.org; Mon, 22 Jun 2015 11:33:49 -0400 Original-Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NQC00400QW8FI00@mtaout29.012.net.il> for emacs-devel@gnu.org; Mon, 22 Jun 2015 18:33:17 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQC003LVR7G7N20@mtaout29.012.net.il>; Mon, 22 Jun 2015 18:33:16 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.185 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:187386 Archived-At: Fair disclosure: I don't like this "move to ELPA" attitude. I think the net result will be more bugs because of unsynchronized development and less exposure of packages to people who track development on master, and more hassle due to the need to work with more than one Git repository, multiple development philosophies, etc. > From: Stefan Monnier > Date: Sun, 21 Jun 2015 20:45:36 -0400 > Cc: emacs-devel > > step-1: we change the tarball-building script so as to pull some > packages from elpa.git and include them somewhere under the `lisp' > directory (for example) in the tarballs we distribute. > step-2: we change the build scripts used from a Git checkout so they can > also use those packages from elpa.git. > step-3: we change the build scripts again so they always use those > packages from elpa.git. > > At step 3, we'd have the following novelties: > - the end user has to checkout both emacs.git and elpa.git before she > can build Emacs (I suspect there will be some resistance, here). > - packages in emacs/lisp can start to depend on packages from elpa.git. > - we could even include preload some elpa.git packages (i.e. from loadup.el). > > I'm not exactly sure we'll ever get to step 3. At step 1, we'd have the following novelties: . Package developers will have to abide by some of the core's development methodology, like freezing development when core does so, perhaps using release branches, timely fixing of critical or blocking bugs during pretests, etc., let alone abiding by style and documentation guidelines. . Core maintainers will probably start pushing more changes to the packages, something I'm not sure package developers will like. Alternatively, we will have to develop procedures and protocols we don't currently have for having the package developers themselves expedite fixing of certain problems deemed urgent. . We'd need to find a way of providing ChangeLogs for the packages, either by merging their Git logs somehow, or by keeping their ChangeLogs in separate directories (which would mean each package will have its own directory, making load-path longer). . We'd need to produce NEWS entries for the packages, which will probably mean the packages will have to maintain their own NEWS files, using the same methodology and style as in core development. . If any of the packages have manuals, or are mentioned in the Emacs manuals, changes there will have to be merged as well, and we will have to track those updates, e.g. like we do in NEWS. . Our defcustom's have a ':version' tag, which is useful for quickly examining new options since some release -- how will this work in packages whose release cycle is not synchronized with Emacs? At the very least, some changes to support that in customize-changed-options will be needed. Similarly with make-obsolete: we will need at least some standardized wording for the WHEN argument, to avoid confusion between versions of Emacs and the packages. (I'm sure I'm missing some more fun.)