From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.devel Subject: Re: package.el dependencies Date: Wed, 28 Jan 2015 09:55:29 +0100 Message-ID: <87wq47uvwe.fsf@gmail.com> References: <87wq4dpqib.fsf@gmail.com> <87zj93uzuo.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1422435356 22220 80.91.229.3 (28 Jan 2015 08:55:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Jan 2015 08:55:56 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 28 09:55:56 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 1YGOPi-0007XH-B8 for ged-emacs-devel@m.gmane.org; Wed, 28 Jan 2015 09:55:54 +0100 Original-Received: from localhost ([::1]:52011 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGOPh-0001oj-MI for ged-emacs-devel@m.gmane.org; Wed, 28 Jan 2015 03:55:53 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55895) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGOPU-0001nb-Qk for emacs-devel@gnu.org; Wed, 28 Jan 2015 03:55:41 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGOPR-00062a-9H for emacs-devel@gnu.org; Wed, 28 Jan 2015 03:55:40 -0500 Original-Received: from mail-wi0-x232.google.com ([2a00:1450:400c:c05::232]:50164) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGOPR-00062U-1Y for emacs-devel@gnu.org; Wed, 28 Jan 2015 03:55:37 -0500 Original-Received: by mail-wi0-f178.google.com with SMTP id bs8so1909292wib.5 for ; Wed, 28 Jan 2015 00:55:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:from:to:cc:subject:in-reply-to:date:message-id :mime-version:content-type; bh=n9geFYVLGMzvDki6wfBQGybP0jdcp+DZI1Z9f43A+OQ=; b=OuWdW18hdfTR81OISbRmp4+ODMJHSJ2Voh6mVQlb0lPsHNM4jlgo1SQ2KZQ/HTkyIZ gMIsQe06+2TwaPeAcPaToORSnak0ay/n3iq3kfCMnj0geH5OgaXSHS6rCt+zYBzpYlxQ qJKVztxvuhgi2/aZgUxEjRJR9tomDIlCxNof29GbSGIQxBGDcTocF+cEsVX6wNBnQmmd y8sd5aYuHx4XzZjkSSfch/zI2YeCzjDxQS1LeMkIi0W0kFFL0MBj2+Qo6Y1nn8bUQtyh Xk+zDd7/9IzhHeR+ipDj0cZIvLf7vxNEp4eVGUnZTPO7FXCPm1jMItqHlplCOcgNCFAv eFQg== X-Received: by 10.180.206.47 with SMTP id ll15mr4994485wic.34.1422435336081; Wed, 28 Jan 2015 00:55:36 -0800 (PST) Original-Received: from dell-14z ([37.163.92.236]) by mx.google.com with ESMTPSA id u18sm5114741wjq.42.2015.01.28.00.55.34 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 28 Jan 2015 00:55:35 -0800 (PST) In-reply-to: <87zj93uzuo.fsf@gmail.com> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::232 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:181889 Archived-At: Thierry Volpiatto writes: > I will not have a good connection until next week, so I am unable to > push a branch, so I am just attaching patch of all my changes against > package.el here. So to summarize what this patch does: 1) Returns an error when trying to delete a package already used as dependency by another package. The first package already using the package we are trying to delete is returned in error message. 2) When installing a package explicitely (interactively) record this package in a variable named `packages-installed-directly'. (NB: In this patch `package-install-from-buffer' is not doing this, I think it should, I did this on my local branch, it cover also `package-install-file' which reuse `package-install-from-buffer') 3) Provide an autoremove command that remove all unneeded packages, i.e the packages that are not needed as dependency (directly or indirectly) by one of `packages-installed-directly'. -- Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997