Sven Joachim wrote:
> Bob Proulx wrote:
> > Sven Joachim wrote:
> >> Unfortunately, apt-get does not have a safe-upgrade command.
> >
> > Here I beg to differ.  'apt-get upgrade' is the safe-upgrade mechanism.
> 
> Well, it's not.  Or it is, but it doesn't work in most cases.

Hmm...  Well... Works for me! :-)

But obviously we have different definitions of "working" and that word
is ambiguous enough to allow a planet through it.  I understand what
it is doing and like the behavior.  You understand what it is doing
and prefer different behavior.  That difference in preference pulls me
toward apt-get and you toward aptitude.  Hopefully that is a fair
description.  They are simply different and behave differently.

> > Packages cannot be added or removed
> 
> This is the problem with it.  With "aptitude safe-upgrade", new
> dependencies are automatically installed, and automatically installed
> packages are removed if they are no longer needed.  This is exactly what
> you want in the case of library transitions: if libfoo changes its
> soname, say from libfoo0 to libfoo1, the newly introduced libfoo1 will
> be installed when a package depends on it, and libfoo0 gets removed when
> no installed packages depend on it any more.

I wouldn't call that a "safe" upgrade because it changes packages.
Behavior could change in that case.  It wouldn't be suitable for a
production stable platform.  Or at least it would take more careful
scrutiny.  I did not realize that it did that and thought that it kept
the package lists the same.  Thanks for the education.  I will play
with it more and file the information away for future reference.

For library transitions, full agreement.  When it works I can see that
algorithm should work nicely.

But I have a question.  Does it distinguish between libraries and
other packages?  Perfectly?  Because 'apt-get autoremove' is a similar
feature and it seems I am often running into cases where a package
that I need that was pulled in as a dependency and so marked as 'auto'
will be offered for removal.

The system thinks some package is nothing but a dependency because it
was not explicitly installed.  And yet if it were removed I would
consider it a breakage.  Would 'safe-upgrade' remove it automatically?
If so then I disagree on it being safe.  It reads much more like a
'apt-get dist-upgrade' followed by an 'apt-get autoremove'.  I am very
carefully reviewing the autoremove operation because it most certainly
is not safe.

> I have never used the dist-upgrade command in aptitude since this
> safe-upgrade behavior was introduced.

Since 'aptitude safe-upgrade' seems only relatively safer than
dist-upgrade that makes a lot of sense.  It seems a slightly safer
replacement for it.  However it still seems fairly more dangerous than
'apt-get upgrade' which is very safe.  And then all we need to do is
figure out the "working" part of each.  :-)

Bob

Attachment: signature.asc
Description: Digital signature

Reply via email to