From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.devel Subject: Re: Emacs Package Management Date: Thu, 17 Sep 2009 11:31:20 +0200 Message-ID: <87d45p29zr.fsf@thinkpad.tsdh.de> References: <485b0c380808011427n4d3144eey3f8daf3abac83bf4@mail.gmail.com> <87d45vzt4j.fsf@hagelb.org> <87hbv20ybw.fsf@thinkpad.tsdh.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1253179913 7324 80.91.229.12 (17 Sep 2009 09:31:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 17 Sep 2009 09:31:53 +0000 (UTC) Cc: Tom Tromey , emacs-devel@gnu.org, rms@gnu.org, phil@hagelb.org To: joakim@verona.se Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 17 11:31:45 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 1MoDL7-0000aR-3H for ged-emacs-devel@m.gmane.org; Thu, 17 Sep 2009 11:31:45 +0200 Original-Received: from localhost ([127.0.0.1]:42537 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MoDL6-0004dY-Bb for ged-emacs-devel@m.gmane.org; Thu, 17 Sep 2009 05:31:44 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MoDKx-0004az-GE for emacs-devel@gnu.org; Thu, 17 Sep 2009 05:31:35 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MoDKs-0004W4-AD for emacs-devel@gnu.org; Thu, 17 Sep 2009 05:31:34 -0400 Original-Received: from [199.232.76.173] (port=47457 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MoDKs-0004Vy-2K for emacs-devel@gnu.org; Thu, 17 Sep 2009 05:31:30 -0400 Original-Received: from deliver.uni-koblenz.de ([141.26.64.15]:18228) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MoDKl-00072Y-Rs; Thu, 17 Sep 2009 05:31:24 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by deliver.uni-koblenz.de (Postfix) with ESMTP id 1A60678A190D; Thu, 17 Sep 2009 11:31:23 +0200 (CEST) Original-Received: from deliver.uni-koblenz.de ([127.0.0.1]) by localhost (deliver.uni-koblenz.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 11824-03; Thu, 17 Sep 2009 11:31:20 +0200 (CEST) X-CHKRCPT: Envelopesender vrfy tassilo@member.fsf.org Original-Received: from thinkpad.tsdh.de (unknown [141.26.95.106]) by deliver.uni-koblenz.de (Postfix) with ESMTP id 9537D78A1907; Thu, 17 Sep 2009 11:31:20 +0200 (CEST) Mail-Copies-To: never In-Reply-To: (joakim@verona.se's message of "Thu, 17 Sep 2009 10:37:32 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) X-Virus-Scanned: amavisd-new at uni-koblenz.de X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) 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:115408 Archived-At: joakim@verona.se writes: >> But the newest package might not run on an older emacs version. So >> it would be good if package.el would show the latest version of a >> package that is supposed to work with my emacs version, and if it >> requires other packages, then their versions have to be taken into >> account, too. Does it do something like that? > > The way most distros seems to solve this is to simply have different > repos for different distro versions. That should work for package.el > also. We could even adopt the stable/testing/bleeding scheme, so 3 > repos for every supported major emacs version. I don't think that's a good approach, because it requires a lot of maintenance and testing on the package repository side. It would be better if a package could specify something like (package "my-package" (version "1.0") (need ">=emacs-23")) (package "my-package" (version "0.8") (need ">=emacs-22.1" "=emacs-23" ">=foo-mode-0.7")) so package.el on emacs 23 should show my-package 1.0 to be installable only if some version >= 0.7 of foo-mode is installable, too. When I select it to be installed, then the newest foo-mode should be installed, too. So basically for each package version starting with the newest, the packages in `need' have to be checked for availability/installability recursively. The first version where all needs can be satisfied, is the one displayed. Another issue is updating. There the question is: Can I update package A without breaking any other package that needs it? Bye, Tassilo