[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Silently breaking on upgrade



On 10/13/2009 02:18 PM, Russ Allbery wrote:

The Wanderer <wanderer@fastmail.fm> writes:

The e16keyedit package used to depend on (or, rather, recommend)
the enlightenment package. It now recommends on the e16 package.
The enlightenment package has been removed from Debian, with the
justification that it has been replaced by the e16 package.

The enlightenment package provides /usr/bin/enlightenment. The e16
package does not provide either a binary or a symlink at this
location.

As a result, if someone who invokes enlightenment from ~/.xinitrc
(a not uncommon place to invoke the window manager AFAIK) instead
of from e.g. /etc/X11/xinit/xinitrc installs e16 - which they will
be prompted to do if they attempt to upgrade e16keyedit - they will
wind up in a situation in which X will fail to launch because the
window manager command is not found; this is part of what I
consider breaking the system. However, they will not notice this
until the next time they attempt to launch X - which, for many
people, may be days or weeks or even months later; this is part of
why I consider the breakage to be silent.

Oh, and e16 conflicts with enlightenment, so it would remove the old package and the old binary.

Yes, you're right. I thought that that behavior was happening because
e16 "Replaces: enlightenment", since it's presented as a replacement in
the bug reports requesting that the enlightenment package be removed,
but on closer examination no such line is present in the e16 package.

Hm, it's unfortunate that e16 conflicts with enlightenment so that
people can't have both installed to do the transition.  Does anyone
know why there's a conflict?  It sounds like they don't have the same
binary name; did they conflict on other files?

According to a diff of the result of "dpkg -c | sed 's/^[^\.]*\././g'"
on the latest .deb files I have for each, the only paths they seem to
have in common are directories like /usr/ and /usr/share/. So, probably
no other-files conflict.

As to why it's listed as being a conflict, my understanding is that the
upstream e16 used to be called enlightenment - that upstream, in fact,
considers them to be in some sense different versions of the same
package. (This is part of why it seems to me that there *should* - in
the sense which is similar to "must" - be a migration path. That's a
separate argument, however.) I seem to recall that the maintainer said
that he had been being pressed by the e16 people to have Debian go along
with that name change, but I don't think I know any of the details.

When I filed a bug report about this behavior, it was closed fairly
promptly on the grounds that there is not supposed to be a
migration path from enlightenment to e16.

Well, that's fine, but in that case the Conflicts should really be
avoided if possible so that the user isn't forced to remove the old
package.

The package maintainer for the e16 and enlightenment packages has
stated in mail to me that he has no plans to change e16 to
accommodate an upgrade from enlightenment.

I agree with that stance if upstream doesn't provide any upgrade
path, but I think allowing them to be co-installed would be nice.
However, I don't know what might be in the way of doing that.

I don't know whether it would qualify as a upgrade path, since it isn't
properly automatic, but AFAIK all that would be required to migrate from
one to the other is to convert ~/.enlightenment (et al.) to the format
of ~/.e16 - which could apparently be done with a few fairly simple
scripts - and either make /usr/bin/enlightenment a symlink, or change
the window-manager invocation in ~/.xinitrc from enlightenment to e16.

However, strongly though I feel that there should be a proper migration
path, the minimum I'm really expecting in this case is to avoid the
potential for having the system break under someone's feet without their
being alerted to the fact - preferably before it happens. Doing so
without abandoning the user to "old Enlightenment, with no further
updates" would be much preferable, but if there's no possibility of
that...

--
      The Wanderer

Warning: Simply because I argue an issue does not mean I agree with any
side of it.

Secrecy is the beginning of tyranny.


Reply to: