all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Artur Malabarba <bruce.connor.am@gmail.com>
To: Thierry Volpiatto <thierry.volpiatto@gmail.com>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>,
	emacs-devel <emacs-devel@gnu.org>
Subject: Re: package.el dependencies
Date: Mon, 26 Jan 2015 07:19:54 -0200	[thread overview]
Message-ID: <CAAdUY-LJmZ_RmkC0dmeS4_V9C+5dLuj2C2AhFEpLn1y5XyZFGA@mail.gmail.com> (raw)
In-Reply-To: <87r3uim2nk.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2197 bytes --]

> I don't think it will be enough, we will have to store also a plain list
> of the package to autoremove because the info about the dependencies in
> package-alist will not be anymore available when deinstalling a package
> unless autoremove is launched right now before quitting emacs, which is
> not what we want.

I think the orphan dependencies should be autoremoved immediately after the
package is deleted, so we don't need to save a list of packages to be
autoremoved. Here are two ways I can see it happen.

1. When the user marks packages for deletion and then hits x, the package
transaction is performed as usual. Afterwards, we run a function which
loops through all packages and detect the ones that are not needed by
anything nor installed explicitly (the orphans) and offer to delete them
too.

2. Alternatively, this could be done as part of the same delete transaction
which was manually requested by the user. But this would be a lot more
complicated.

> 1) install a package, it is added to the package-installed-directly
> list.
> 2) store this list.
> 3) delete the package it is removed from package-alist, and we should
> also remove it from package-installed-directly list.
> 4) quit emacs
> 5) restart emacs, even if we kept the package in
> packages-installed-directly (why) we will not have the dependencies in

I agree. Why would we have kept it in this list? If a package is deleted
(without a newer version installed) it is removed from the list.

> package-alist, so we will have to fetch these infos again, recompute the
> autoremove list etc... IMO it is simpler to delete the package from the
> packages-installed-directly list as soon it is removed and store also the
> autoremove list.

Why does this imply the need for an autoremove list? Dependencies should be
autoremoved as soon as they're no longer necessary, not later. So we
generally won't need this list.
If we do need it, it's safer to just calculate it than to try and keep it
up to date between emacs sessions. I can provide a function for this if
you'd like.

I hope I don't sound like I'm trying to make this difficult. I'm just
trying to understand why we would need this extra autoremove list.

[-- Attachment #2: Type: text/html, Size: 2536 bytes --]

  reply	other threads:[~2015-01-26  9:19 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-23 13:37 package.el dependencies Thierry Volpiatto
2015-01-23 13:46 ` Dmitry Gutov
2015-01-23 14:12   ` Ivan Shmakov
2015-01-23 20:40 ` Stefan Monnier
2015-01-23 21:02   ` Thierry Volpiatto
2015-01-24  0:50     ` Artur Malabarba
2015-01-24  4:55       ` Stefan Monnier
2015-01-25  6:51         ` Thierry Volpiatto
2015-01-26  7:17         ` Thierry Volpiatto
2015-01-26  9:19           ` Artur Malabarba [this message]
2015-01-26  9:54             ` Thierry Volpiatto
2015-01-26 12:46               ` Artur Malabarba
2015-01-26 14:52           ` Stefan Monnier
2015-01-27  6:10             ` Thierry Volpiatto
2015-01-27 11:52               ` Artur Malabarba
2015-01-25  9:18   ` Thierry Volpiatto
2015-01-25 14:54     ` Stefan Monnier
2015-01-25 15:48       ` Thierry Volpiatto
2015-01-25 17:10         ` Dmitry Gutov
2015-01-25 18:32           ` Stephen Leake
2015-01-25 18:21         ` Artur Malabarba
2015-01-26  4:48           ` Thierry Volpiatto
2015-01-26 12:35             ` Artur Malabarba
2015-01-26 12:53         ` Artur Malabarba
2015-01-26 15:22   ` Thierry Volpiatto
2015-01-26 15:44     ` Stefan Monnier
2015-01-27  6:08       ` Thierry Volpiatto
2015-01-26 16:34     ` Artur Malabarba
2015-01-28  7:30   ` Thierry Volpiatto
2015-01-28  8:55     ` Thierry Volpiatto
2015-01-28 12:42       ` Thierry Volpiatto
2015-01-28 13:17         ` Artur Malabarba
2015-01-28 14:32           ` Thierry Volpiatto
2015-01-28 13:40         ` Dmitry Gutov
2015-01-28 10:47     ` Artur Malabarba
2015-01-28 11:58       ` Thierry Volpiatto
2015-01-28 19:33       ` Stefan Monnier
2015-01-28 19:50         ` Ivan Shmakov
2015-01-28 20:12           ` Artur Malabarba
2015-01-28 22:20           ` Stefan Monnier
2015-01-29  5:31         ` Thierry Volpiatto
2015-01-29  7:22           ` Thierry Volpiatto
2015-01-30  5:38   ` Thierry Volpiatto
2015-01-30 16:43     ` Artur Malabarba
2015-01-30 17:13       ` Thierry Volpiatto
2015-01-31  6:01       ` Thierry Volpiatto
2015-01-31 10:58         ` Artur Malabarba
2015-01-31 20:26         ` Stefan Monnier
     [not found]           ` <874mr67gjb.fsf@gmail.com>
     [not found]             ` <jwvvbjmnun4.fsf-monnier+emacs@gnu.org>
     [not found]               ` <87oapervqv.fsf@gmail.com>
     [not found]                 ` <jwvk302nnmd.fsf-monnier+emacs@gnu.org>
     [not found]                   ` <877fw2kp1y.fsf@gmail.com>
     [not found]                     ` <jwvioflbrlg.fsf-monnier+emacs@gnu.org>
     [not found]                       ` <87d25tps2q.fsf@gmail.com>
     [not found]                         ` <jwvy4oggva5.fsf-monnier+emacs@gnu.org>
2015-02-02 20:35                           ` Thierry Volpiatto
2015-02-02 21:37                             ` Artur Malabarba
2015-02-03  4:53                               ` Thierry Volpiatto
2015-02-03  5:13                                 ` Stefan Monnier
2015-02-03 10:04                                 ` Artur Malabarba
2015-02-03 14:06                                 ` Artur Malabarba
2015-02-03  5:45                               ` Thierry Volpiatto
2015-02-03 10:05                                 ` Artur Malabarba
2015-02-03 10:18                                   ` Thierry Volpiatto
2015-02-03 11:39                             ` Artur Malabarba
2015-02-02 21:19                           ` Thierry Volpiatto
2015-02-02 21:22                             ` Dmitry Gutov
2015-02-03 11:39                               ` Artur Malabarba
2015-02-03 11:44                                 ` Dmitry Gutov
2015-01-31  6:51       ` Thierry Volpiatto
2015-01-31 20:30         ` Stefan Monnier
2015-01-31 22:10           ` Thierry Volpiatto
2015-01-31 23:26           ` Artur Malabarba
2015-02-01  6:29             ` Thierry Volpiatto
2015-02-01  7:02             ` Thierry Volpiatto
2015-02-01 15:55             ` Thierry Volpiatto
2015-02-01 23:47               ` Artur Malabarba
2015-02-02 12:00           ` Artur Malabarba
2015-02-02 13:14             ` Thierry Volpiatto
2015-02-02 14:14               ` Thierry Volpiatto
2015-02-02 14:56                 ` Artur Malabarba
2015-02-02 15:19                   ` Thierry Volpiatto
2015-02-02 15:33                     ` Thierry Volpiatto
2015-02-02 15:50                       ` Artur Malabarba
2015-02-02 16:07                         ` Thierry Volpiatto
2015-02-02 21:23                         ` Thierry Volpiatto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAdUY-LJmZ_RmkC0dmeS4_V9C+5dLuj2C2AhFEpLn1y5XyZFGA@mail.gmail.com \
    --to=bruce.connor.am@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=thierry.volpiatto@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.