On Sun, 10 Jan 2010 22:05:54 +0100
Ricardo Mones <[email protected]> wrote:
> I understand what you want,
I don't think you do...
> but the problem is that there's no reason they
> should be upgrading together. They're independent packages and people not
> using extra-plugins may claim I'm artificially preventing claws-mail to be
> upgraded just because extra-plugins are not there (like every time a new
> plugin is added and it has to go through new queue, this time for the new
> geolocation plugin). If I understood it correctly that would also prevent
> it to migrate testing new versions if, for example, one plugin has a RC
> bug. And that's not good, because while resolves your problem brings other
> problems in for all users.
What I want means changing the dependencies of packages from
claws-mail-extra-plugins and leaving claws-mail alone, so it would not
prevent claws-mail from being upgraded for users not using any packages
from claws-mail-extra-plugins.
> As dependencies are now set it's allowed both upgrading claws-mail alone
> disregarding the extra-plugins status, and also people, like you, using
> extra-plugins, decide when to upgrade, as it's very simple to detect that
> claws-mail is being upgraded but not the extra-plugins. If you see the
> extra-plugins are not coming in you already know they're not going to work
> (I'm talking about new upstream versions, of course). I know is not
> perfect, but your solution it isn't either, and IMO this one is the less
> bad of both.
The trouble is I now can't run apt-get upgrade to upgrade everything
else that's been updated in the last few days unless I mess about
putting a hold/pin on claws-mail or downgrade it afterwards (as long as
the previous version is still available in /var/cache/apt/archives or in
testing).
I've gone ahead and changed it for myself:
To debian/rules I added:
CLAWS_MAX_VERSION = $(CLAWS_VERSION)-999
after the line that sets CLAWS_VERSION, and I changed the dh_gencontrol
line to:
dh_gencontrol -- -VClaws-Version=$(CLAWS_VERSION) \
-VClaws-Max-Version=$(CLAWS_MAX_VERSION)
And in debian/control I changed all instances of
'claws-mail (>= ${Claws-Version})'
to
'claws-mail (>= ${Claws-Version}), claws-mail (<= ${Claws-Max-Version})'
I also had to suppress building of some plugins because they wouldn't
build on my system for some reason, but that's irrelevant. And I bumped
the version to 3.7.3-1.1 to prevent them being replaced by the official
packages.
Now the binary packages I've built include the dependency:
Depends: claws-mail (>= 3.7.3), claws-mail (<= 3.7.3-999)
If I run apt-get dist-upgrade, I get:
: The following packages will be REMOVED
: claws-mail-attach-warner claws-mail-extra-plugins
claws-mail-html2-viewer : ...
: The following packages will be upgraded:
: ... claws-mail claws-mail-bogofilter claws-mail-i18n
and if I run apt-get upgrade:
: The following packages have been kept back:
: claws-mail claws-mail-bogofilter claws-mail-i18n ...
and most other packages can be upgraded. It does exactly what I want it
to do :-).
Finally, doesn't 'Depends: claws-mail (>= 3.7.3)' make 'Conflicts:
claws-mail (<= 3.7.3)' redundant? And if you do need both shouldn't one
or the other be >> or << instead of >= and <=?
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]