unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Lynn Winebarger <owinebar@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Jim Porter <jporterbugs@gmail.com>,
	dmitry@gutov.dev, joaotavora@gmail.com, emacs-devel@gnu.org
Subject: Re: Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot)
Date: Wed, 19 Apr 2023 18:51:17 -0400	[thread overview]
Message-ID: <CAM=F=bAYGHa6fmt2rOJZxJF8ykCgPYv08ECumhZvDfPYaSj8hQ@mail.gmail.com> (raw)
In-Reply-To: <83lein7m7g.fsf@gnu.org>

On Wed, Apr 19, 2023 at 2:37 PM Eli Zaretskii <eliz@gnu.org> wrote:
> > Date: Wed, 19 Apr 2023 11:22:10 -0700
> > Cc: joaotavora@gmail.com, emacs-devel@gnu.org
> > From: Jim Porter <jporterbugs@gmail.com>
> >
> > On 4/19/2023 5:47 AM, Eli Zaretskii wrote:
> > > Also, does package.el support "downgrading" to the bundled version?
> > > Did anyone actually try that?  In particular, what happens with the
> > > dependencies the user upgraded together with the package being
> > > "uninstalled", due to the minimum requirements of that package?
> >
> > I've done this in the past and everything works pretty much as expected
> > from my recollection: you can uninstall a package that you got from
> > ELPA, so afterwards, you'd just get the bundled version (you might need
> > to restart; I always do).
> >
> > In addition, any automatically-installed dependent packages are marked
> > with the status "dependency". You can remove no-longer-needed deps via
> > 'package-autoremove'. When uninstalling a package interactively in the
> > *Packages* buffer, it will even suggest that you remove unneeded deps
> > when appropriate (see 'package-menu-execute').
>
> IMO, downgrading to the bundled version should be much simpler and by
> default should remove all the dependencies without asking and without
> any need for manual user actions.
>
> In any case, I don't think this use case was considered or tried
> enough for us to consider it a solved issue.  I'm quite sure there's
> more here than meets the eye, simply because this is rarely if ever
> done.

One of the design points of the unboxing package-management-wrapper
I'm writing is maintaining distinct package areas with a notion of
scoping.  My purpose was to enable separate management of
site-packages and user packages.  A site administrator might have one
set of packages, and a user might want different versions of those
packages.  So, the dependency calculation for user packages should
allow for dependencies to be satisfied by site packages, but not vice
versa (that's the scoping).  The "delta" of the package set installed
in the user area has to be enough to make the set of libraries "seen"
by the user coherent.  That is, say package A and B both depend on
package C and all are in the site-level packaging area.  Then the user
wants a different version of package A, which requires a different
version of package C.  Coherence means that if the version of package
B installed at the site level is incompatible with the desired version
of package C, then a compatible version of package B will also have to
be installed in the user packaging area.  That set has to be
transitively closed.

But the separation into those two is just a default configuration.
Arbitrary package areas can be defined, each with their own set of
"in-scope" areas.  One easily reversible way to add a new version of
eglot would be to set up a new package area for it, with whatever
other package areas are loaded being put in its scope, then install
the minimum coherent set of packages into the new area.  Then rolling
back the update would be trivial, and it could be "committed" to the
usual package area once the user was satisfied.

My only other thought on this discussion, as a package (ab)user
running multiple versions of emacs, is that package releases should be
dependent on the emacs version installing it.  What I see as available
packages/upgrades when I list packages while running emacs 28 should
probably be different (for some packages) than what I see while
running emacs 25 or emacs 29.  It seems like the release philosophy
after version 24 has been conservative about changes to the run-time
semantics per major release, so the versioning probably doesn't need
to be conditioned on the minor version of the Emacs binary.

Lynn



  parent reply	other threads:[~2023-04-19 22:51 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87a5zj2vfo.fsf@gmail.com>
     [not found] ` <83wn2h5825.fsf@gnu.org>
     [not found]   ` <87wn2gkhzr.fsf@posteo.net>
     [not found]     ` <83cz485oxi.fsf@gnu.org>
     [not found]       ` <87leiwdyff.fsf@posteo.net>
     [not found]         ` <834jpk5hih.fsf@gnu.org>
     [not found]           ` <871qkom3fj.fsf@posteo.net>
     [not found]             ` <83mt3b4yfc.fsf@gnu.org>
     [not found]               ` <87edonlsxi.fsf@posteo.net>
     [not found]                 ` <83jzyf4vzb.fsf@gnu.org>
     [not found]                   ` <871qknllkj.fsf@posteo.net>
     [not found]                     ` <83fs934pjf.fsf@gnu.org>
     [not found]                       ` <87wn2fk47y.fsf@posteo.net>
     [not found]                         ` <83sfd2g2ek.fsf@gnu.org>
     [not found]                           ` <875y9yfxrr.fsf@gmail.com>
     [not found]                             ` <CALDnm50-Su4SAGDSBiLjt0yrjrVsvyW71NSMi=zt7uHgv7rdng@mail.gmail.com>
     [not found]                               ` <87y1muefks.fsf@gmail.com>
     [not found]                                 ` <CALDnm50b6hRu+4EFqQDVydOF07HdiZT4nHA=aLDjYQKtMBTk2Q@mail.gmail.com>
     [not found]                                   ` <fc2ed4a0-2368-682d-e34d-5cf94ac261fc@gutov.dev>
     [not found]                                     ` <CALDnm527Avsa-MBTD-bvRqOn52AeBLfPvffxjL-NB3tqM=43ZQ@mail.gmail.com>
     [not found]                                       ` <834jpifizy.fsf@gnu.org>
     [not found]                                         ` <CALDnm53X5Yyn_EitG+iHJVx=RO2hjNaWkrgPz0+jKVWVM=eEBQ@mail.gmail.com>
     [not found]                                           ` <83y1mue1qi.fsf@gnu.org>
     [not found]                                             ` <CALDnm51hmRMxstQdZdstA2LrbvYw=zD5=XRVy6uCU=Z+OmONRg@mail.gmail.com>
     [not found]                                               ` <83sfd2e01f.fsf@gnu.org>
     [not found]                                                 ` <1a5e5837-513b-84d8-3260-cdbf42b71267@gutov.dev>
     [not found]                                                   ` <83sfcz9rf2.fsf@gnu.org>
     [not found]                                                     ` <09a49ab9-ac72-36a9-3e68-9c633710eba7@gutov.dev>
2023-04-18 12:57                                                       ` Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot) Eli Zaretskii
2023-04-18 14:02                                                         ` João Távora
2023-04-18 14:47                                                           ` Eli Zaretskii
2023-04-18 15:45                                                             ` João Távora
2023-04-18 16:19                                                               ` Eli Zaretskii
2023-04-18 17:49                                                                 ` João Távora
2023-04-18 21:19                                                                   ` Dmitry Gutov
2023-04-18 18:56                                                         ` Jim Porter
2023-04-18 19:21                                                           ` Eli Zaretskii
2023-04-18 19:36                                                             ` Jim Porter
2023-04-19 11:55                                                               ` Eli Zaretskii
2023-04-19  8:50                                                           ` João Távora
2023-04-19 12:13                                                             ` Dr. Arne Babenhauserheide
2023-04-19 17:03                                                               ` Eli Zaretskii
2023-04-19 17:21                                                                 ` João Távora
2023-04-19 18:07                                                                   ` Eli Zaretskii
2023-04-19 18:14                                                                     ` Dmitry Gutov
2023-04-19 18:32                                                                       ` Eli Zaretskii
2023-04-19 19:33                                                                         ` João Távora
2023-04-20  4:26                                                                           ` tomas
2023-04-19 19:39                                                                         ` Dmitry Gutov
2023-04-19 19:46                                                                           ` João Távora
2023-04-19 20:50                                                                             ` Dmitry Gutov
2023-04-19 20:57                                                                               ` João Távora
2023-04-19 21:58                                                                                 ` Jim Porter
2023-04-19 22:29                                                                                   ` João Távora
2023-04-19 22:42                                                                                     ` Jim Porter
2023-04-19 22:58                                                                                       ` João Távora
2023-04-19 22:06                                                                                 ` Dmitry Gutov
2023-04-19 22:21                                                                                   ` Jim Porter
2023-04-19 22:27                                                                                     ` Dmitry Gutov
2023-04-19 22:43                                                                                       ` Jim Porter
     [not found]                                                                                 ` <f32d7008-ea39-a9d7-8224-2c5b969236b7@gutov.dev>
     [not found]                                                                                   ` <CALDnm53vPnODxpv_=nvOHRjLX-PfhyTS0MFudR0qZ3Pa-Lw-AQ@mail.gmail.com>
2023-04-19 23:25                                                                                     ` Dmitry Gutov
2023-04-20  0:13                                                                                       ` João Távora
2023-04-20  1:13                                                                                         ` Dmitry Gutov
2023-04-20  1:49                                                                                           ` João Távora
2023-04-20  2:04                                                                                             ` Dmitry Gutov
2023-04-19 19:15                                                                     ` João Távora
2023-04-20  9:38                                                                       ` Eli Zaretskii
2023-04-20  9:48                                                                         ` João Távora
2023-04-20 11:47                                                                           ` Eli Zaretskii
2023-04-20 12:00                                                                             ` João Távora
2023-04-20 12:16                                                                               ` Eli Zaretskii
2023-04-20 12:24                                                                                 ` João Távora
2023-04-19 17:35                                                                 ` John Yates
2023-04-19 17:42                                                                   ` João Távora
2023-04-19 18:02                                                                   ` Eli Zaretskii
2023-04-19 18:04                                                                 ` Jim Porter
2023-04-19 18:34                                                                   ` Eli Zaretskii
2023-04-19 19:35                                                                     ` Jim Porter
2023-04-20  9:49                                                                       ` Eli Zaretskii
2023-04-19 19:40                                                                 ` Dr. Arne Babenhauserheide
2023-04-20  6:02                                                                   ` Eli Zaretskii
2023-04-29  5:21                                                                     ` Stability of core packages emacs
2023-04-29  6:26                                                                       ` Eli Zaretskii
2023-04-29 21:47                                                                         ` Mohsen BANAN
2023-04-30  6:21                                                                           ` Eli Zaretskii
2023-04-30  9:07                                                                           ` Philip Kaludercic
2023-04-30 13:12                                                                           ` Corwin Brust
2023-05-07  5:58                                                                             ` Mohsen BANAN
2023-05-05  4:36                                                                       ` David Masterson
2023-05-05  4:56                                                                       ` David Masterson
     [not found]                                                                       ` <878re3bdj6.fsf@penguin>
2023-05-05  4:59                                                                         ` David Masterson
2023-04-19 12:55                                                             ` Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot) Eli Zaretskii
2023-04-19 13:18                                                               ` João Távora
2023-04-19 13:44                                                                 ` Eli Zaretskii
2023-04-19 14:13                                                                   ` João Távora
2023-04-18 22:10                                                         ` Dmitry Gutov
2023-04-19  8:34                                                           ` João Távora
2023-04-19 12:47                                                           ` Eli Zaretskii
2023-04-19 18:22                                                             ` Jim Porter
2023-04-19 18:37                                                               ` Eli Zaretskii
2023-04-19 19:32                                                                 ` Jim Porter
2023-04-19 22:51                                                                 ` Lynn Winebarger [this message]
2023-04-20 13:47                                                                   ` history of ELPA packages and dependencies (was: Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot)) Lynn Winebarger
2023-04-20 13:58                                                                   ` Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot) Lynn Winebarger
2023-04-19 19:25                                                             ` Dmitry Gutov
2023-04-19 19:40                                                               ` João Távora
2023-04-20  9:47                                                               ` Eli Zaretskii
2023-04-20 13:03                                                                 ` Dmitry Gutov
2023-04-20 14:03                                                                   ` Eli Zaretskii
2023-04-20 14:22                                                                     ` Dmitry Gutov
2023-04-20 14:42                                                                       ` Eli Zaretskii
2023-04-20 15:30                                                                         ` Dmitry Gutov
2023-04-20 15:49                                                                           ` Eli Zaretskii
2023-04-20 17:26                                                                             ` Stability of core packages Philip Kaludercic
2023-04-20 18:46                                                                               ` Eli Zaretskii
2023-04-20 21:25                                                                             ` Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot) Dmitry Gutov
2023-04-21 14:12                                                                             ` Lynn Winebarger
2023-04-19 12:31                                                         ` What is :core? (was: Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot)) Lynn Winebarger
2023-04-19 12:57                                                           ` João Távora
2023-04-19 13:03                                                           ` Eli Zaretskii

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to='CAM=F=bAYGHa6fmt2rOJZxJF8ykCgPYv08ECumhZvDfPYaSj8hQ@mail.gmail.com' \
    --to=owinebar@gmail.com \
    --cc=dmitry@gutov.dev \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=joaotavora@gmail.com \
    --cc=jporterbugs@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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).