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

(slightly more complex) library upgrade



Hi,

my problem is about two packages I currently have in unstable:
powersave-0.9.25, which builds the binary packages: libpowersave7,
libpowersave-dev and powersaved
and kpowersave-0.4.5, which build the binary package kpowersave

kpowersave has a shared libs dependency on libpowersave7 and depends on
powersaved (as of now, this dependency is unversioned). kpowersave could
be run without an installed powersaved but it would just do nothing,
it's mere purpose is to let the user set policies and pass this
information to the running powersaved daemon.
kpowersave-0.4.X works together with a powersaved-0.9.X.

I now want to upgrade powersave to version 0.10.21 as soon as hal/dbus
from experimental have made it into unstable.
This produces the binary packages libpowersave-dev, libpowersave10 and
powersaved.
The corresponding kpowersave version (0.5.0) will follow afterwards, it
needs libpowersave-dev (>= 0.10) to successfully compile.

So while libpowersave7 and libpowersave10 could be installed in parallel
without problems, you can always have only one version of powersaved
installed at a time.
How should I handle this upgrade, especially as I want to have the old
libpowersave7 removed as soon as no package is depending on it anymore?
If I just upload the new version of powersave, it will replace
libpowersave-dev and powersaved and install the new libpowersave10
package. kpowersave-0.4.5 would still be able to run but useless as it
can't work together with powersaved >= 0.10 versions.
After powersave-0.10.21 is available in the archive I would upload
kpowersave-0.5.0 (I guess uploading (k)powersave simultaneously would
cause the buildds to fail, as the libpowersave-dev(>=0.10) build
dependency can't be fulfilled yet).
kpowersave would be replaced and functional again, but the old
libpowersave7 would still be hanging around.

So, in order to achieve the removal of libpowersave7 and assure the
functioning of kpowersave during the upgrade, should I add a
Conflicts/Replaces: libpowersave7 to libpowersave10 (although this is
actually not the case) or should I use a versioned depends on powersaved
in kpowersave and move the libpowersave to oldlibs after the upgrade?
The Conflicts/Replaces solution would assure that the upgrade of
libpowersave is hold back until the new kpowersave is available. But it
seems to me that this is more of a hack and doesn't correctly reflect
the situation (libpowersave7+10 *can* be installed in parallel).
Moving libpowersave7 to oldlibs on the other hand wouldn't automatically
remove it. But at least it would make it easier for the user to spot,
that it could be safely removed.
What would you suggest, what is the cleanest solution?

Cheers,
Michael

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: