From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tom Tromey Newsgroups: gmane.emacs.devel Subject: Re: Emacs Package Management Date: Tue, 29 Sep 2009 13:41:40 -0600 Message-ID: References: <485b0c380808011427n4d3144eey3f8daf3abac83bf4@mail.gmail.com> <87ej589vku.fsf@hagelb.org> <485b0c380808050609y56042595l42a5bb05b34458f0@mail.gmail.com> <485b0c380909161536t331a71fdg1c45150c418b72b2@mail.gmail.com> <87ab0eai3l.fsf@hagelb.org> <87eipqpwfi.fsf@stupidchicken.com> Reply-To: Tom Tromey NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1254253342 21518 80.91.229.12 (29 Sep 2009 19:42:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 29 Sep 2009 19:42:22 +0000 (UTC) Cc: Chong Yidong , emacs-devel@gnu.org, rms@gnu.org, spedrosa@gmail.com, phil@hagelb.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 29 21:42:14 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MsiaJ-00052E-2c for ged-emacs-devel@m.gmane.org; Tue, 29 Sep 2009 21:42:03 +0200 Original-Received: from localhost ([127.0.0.1]:48581 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MsiaI-0008ES-HC for ged-emacs-devel@m.gmane.org; Tue, 29 Sep 2009 15:42:02 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MsiaB-0008DU-RD for emacs-devel@gnu.org; Tue, 29 Sep 2009 15:41:55 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Msia7-00086e-7c for emacs-devel@gnu.org; Tue, 29 Sep 2009 15:41:55 -0400 Original-Received: from [199.232.76.173] (port=33280 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Msia7-00086N-1S for emacs-devel@gnu.org; Tue, 29 Sep 2009 15:41:51 -0400 Original-Received: from mx1.redhat.com ([209.132.183.28]:46336) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Msia1-0007gZ-WA; Tue, 29 Sep 2009 15:41:46 -0400 Original-Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n8TJfh2P029232; Tue, 29 Sep 2009 15:41:43 -0400 Original-Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx04.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n8TJfgZf016117; Tue, 29 Sep 2009 15:41:43 -0400 Original-Received: from opsy.redhat.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n8TJfeow001703; Tue, 29 Sep 2009 15:41:41 -0400 Original-Received: by opsy.redhat.com (Postfix, from userid 500) id 7EF9837820F; Tue, 29 Sep 2009 13:41:40 -0600 (MDT) X-Attribution: Tom In-Reply-To: (Stefan Monnier's message of "Tue, 29 Sep 2009 15:18:10 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) X-Scanned-By: MIMEDefang 2.67 on 10.5.11.17 X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:115791 Archived-At: Stefan> In order to move forward on this thing, here's what I'd like to have as Stefan> a first step: the equivalent of `dpkg', i.e. an elisp package that can Stefan> take a package (a tarball, most likely) and "install it", list the set Stefan> of installed packages, uninstall a package. package.el does all of these... Stefan> An important feature for me is that this should be able to "install Stefan> without making available" ... but not this. Stefan> So basically, the installation process would distinguish the following Stefan> steps: Stefan> - install: may include byte-compiling and things like that Stefan> - activate: eval the autoload declarations, adjust the load-path, ... Stefan> - make available: setup the .emacs so that the package gets activated Stefan> at startup. package.el does this. Stefan> Activation should be done by loading a single file. I.e. "make Stefan> available" is nothing more than add a (load "/foo/bar/baz") in the Stefan> .emacs. It does this too, though only a single (package-initialize) is needed -- package.el handles activating all the packages that can be activated. Stefan> This "dpkg"-equivalent may also want to do dependency checking, although Stefan> this is not absolutely necessary for the first step. Also done. Also, package.el sets the info path when a package ships a dir file. Tom