public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-apps@cygwin.com
Subject: Re: [RFC] 1.7 Packaging: Obsolete packages
Date: Fri, 22 Aug 2008 08:18:00 -0000	[thread overview]
Message-ID: <20080822081956.GB29992@calimero.vinschen.de> (raw)
In-Reply-To: <48AE1681.87EFAB55@dessent.net>

On Aug 21 18:29, Brian Dessent wrote:
> Corinna Vinschen wrote:
> 
> > IIUC, the ConnectedLoopFinder::visit() function is the core function
> > which creates the dependency order.  What I don't get is this: The
> 
> That code is concerned with creating a topological ordering for the
> specific purpose of running postinstall scripts.  This isn't called
> until after the "remove old and unpack new" install phase is finished
> [...]

Oh, cool, I was looking into the wrong code all the time.  No surprise
I coudn't figure out how it works.

> If you want to see a general example of dependency handling when a
> package is selected, see ChooserPage::changeTrust (what is called when
> you change everything at once, e.g. Curr to Exp) or
> PickPackageLine::click (what is called when you click on a package.)  In
> both cases the main workhorse is packagemeta::set_requirements and in
> turn packageversion::set_requirements.  The logic for Replaces would
> probably have to be wedged in there.

Ok, I'll have a look.  Any idea about my other question?  How to remove
the entire installed.db package DB when the user goes back to the root
dir selection dialog so we can reload from another location, should the
user choose one?

> But it's a lot harder than just adding some code to deselect the
> packages -- consider if setup followed the "Replaces:" advice and
> unselected some packages because the user selected a new package, but
> then they changed their mind and deselected that same package.  If we
> don't go back and re-enable those packages then we potentially leave
> them with a broken system.  We could delay this processing until later
> in the process when the user no longer can change their mind, but then
> the package selection pane becomes a lie.  We will potentially be
> removing stuff that isn't marked as remove, and the "Selected" view no
> longer accurately serves as a "here's a list of everything I'm about to
> do" summary which I think is a valuable feature.

Is that really a big point?  The "replaces" stuff is meant to seemlessly
replace one package with (usually) a functionally at least equivalent
package.  There shouldn't be much of a difference for the user.

OTOH, a "replaces" rule does not allow to replace an obsolete package
automatically.  So, if we want to upgrade the user automatically to the
new packages, we would *still* have to provide empty obsolete packages
with a setup.hint requiring the new packages.

What would the "replaces" rule buy us again?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

  reply	other threads:[~2008-08-22  8:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-24  4:44 Yaakov (Cygwin Ports)
2008-07-24  9:43 ` Corinna Vinschen
2008-07-24 23:44   ` Yaakov (Cygwin Ports)
2008-07-25  9:40     ` Corinna Vinschen
2008-07-25 14:53       ` Christopher Faylor
2008-07-25 15:16         ` Corinna Vinschen
2008-07-25 16:13           ` Christopher Faylor
2008-07-28  2:20         ` Yaakov (Cygwin Ports)
2008-07-28  8:45           ` Corinna Vinschen
2008-07-28 16:40           ` Brian Dessent
2008-07-30 12:17       ` Corinna Vinschen
2008-07-30 15:01         ` Yaakov (Cygwin Ports)
2008-07-30 15:25         ` Christopher Faylor
2008-08-21  4:22         ` Yaakov (Cygwin Ports)
2008-08-21  8:24           ` Corinna Vinschen
2008-08-21 10:34             ` Corinna Vinschen
2008-08-21 11:45               ` Corinna Vinschen
2008-08-22  1:30                 ` Brian Dessent
2008-08-22  8:18                   ` Corinna Vinschen [this message]
2008-08-22  8:53                     ` Brian Dessent
2008-08-22  9:12                       ` Brian Dessent
2008-08-22  9:23                       ` Corinna Vinschen
2008-08-22  9:30                         ` Brian Dessent
2008-08-22 10:11                         ` Corinna Vinschen
2008-08-22 10:54                           ` Brian Dessent
2008-08-25 10:27                             ` Corinna Vinschen
2008-08-22  9:26                       ` Brian Dessent
2008-08-22 11:25                       ` Charles Wilson
2008-08-21 23:47               ` Yaakov (Cygwin Ports)
2008-07-25 19:31   ` Nicholas Wourms

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=20080822081956.GB29992@calimero.vinschen.de \
    --to=corinna-cygwin@cygwin.com \
    --cc=cygwin-apps@cygwin.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.
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).