how to not skip a version when upgrading

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

how to not skip a version when upgrading

Jordi Massaguer Pla-2

Hi,

so I have this question: If I have package foo with different version, as foo-1.0, foo-2.0 and foo-3.0, my understanding is that, if I have foo-1.0 installed and run "zypper dup", I will get foo-3.0 installed, skipping foo-2.0.

Is this correct?

Is there a way to force the installation of foo-2.0 and afterwards foo-3.0? I can only think of having foo-3.0 on a different repo and adding this repo after installing foo-2.0, but sounds a bit hacky.

The problem I am trying to address is the case that I have multiple machines with foo-1.0 and need to go to foo-2.0 and then to foo-3.0 because the API or file format may be only compatible between foo-1.0 and foo-2.0, foo-2.0 and foo-3.0, but not between foo-1.0 and foo-3.0.

This sounds like it should be a "typical" problem  on a rolling release as Tumbleweed ... right?

Any ideas/experience?

thanks in advance

jordi

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: how to not skip a version when upgrading

Christian Boltz-5
Hello,

Am Donnerstag, 13. Juli 2017, 15:34:28 CEST schrieb Jordi Massaguer Pla:
> so I have this question: If I have package foo with different version,
> as foo-1.0, foo-2.0 and foo-3.0, my understanding is that, if I have
> foo-1.0 installed and run "*zypper dup*", I will get foo-3.0
> installed, skipping foo-2.0.
>
> Is this correct?

Yes.

> Is there a way to force the installation of foo-2.0 and afterwards
> foo-3.0? I can only think of having foo-3.0 on a different repo and
> adding this repo after installing foo-2.0, but sounds a bit hacky.
>
> The problem I am trying to address is the case that I have multiple
> machines with foo-1.0 and need to go to foo-2.0 and then to foo-3.0
> because the API or file format may be only compatible between foo-1.0
> and foo-2.0, foo-2.0 and foo-3.0, but not between foo-1.0 and foo-3.0.
>
> This sounds like it should be a "typical" problem  on a rolling
> release as Tumbleweed ... right?

Not really - jumping from 1.0 to 2.0 to 3.0 within a few days sounds
unlikely in Tumbleweed, so if you update often enough, this shouldn't be
a problem.

> Any ideas/experience?

Does this have to happen as part of "zypper dup"?

zypper in foo-2.0   would be the easiest solution. (Run   zypper al foo
if you want to run zypper dup afterwards.)

If you really need to enforce a specific version during zypper dup, I'd
create and install a dummy package with   Requires: foo = 2.0   before
running zypper dup.


Regards,

Christian Boltz
--
> > > Ich _habe_ einen vernünftigen Mailer!
> > Und warum benutzt Du ihm nicht?
> Mach ich gerade.
Komisch, bei mir wird angezeigt, daß Du KMail benutzt.
[> Manfred Misch und Bernd Brodesser in suse-linux]

--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: how to not skip a version when upgrading

Jordi Massaguer Pla-2


On 07/13/2017 08:05 PM, Christian Boltz wrote:

>
>> Is there a way to force the installation of foo-2.0 and afterwards
>> foo-3.0? I can only think of having foo-3.0 on a different repo and
>> adding this repo after installing foo-2.0, but sounds a bit hacky.
>>
>> The problem I am trying to address is the case that I have multiple
>> machines with foo-1.0 and need to go to foo-2.0 and then to foo-3.0
>> because the API or file format may be only compatible between foo-1.0
>> and foo-2.0, foo-2.0 and foo-3.0, but not between foo-1.0 and foo-3.0.
>>
>> This sounds like it should be a "typical" problem  on a rolling
>> release as Tumbleweed ... right?
> Not really - jumping from 1.0 to 2.0 to 3.0 within a few days sounds
> unlikely in Tumbleweed, so if you update often enough, this shouldn't be
> a problem.

That  is  what we did in the past. But still you can have the case of
someone installing an iso and running the updates.

>
>> Any ideas/experience?
> Does this have to happen as part of "zypper dup"?
>
> zypper in foo-2.0   would be the easiest solution. (Run   zypper al foo
> if you want to run zypper dup afterwards.)
>
> If you really need to enforce a specific version during zypper dup, I'd
> create and install a dummy package with   Requires: foo = 2.0   before
> running zypper dup.
>
>

Yeah but then you need to update this new package to update the foo
package, and you have the same problem.

Running "zypper install foo-2.0 && zypper al foo" sounds like a good
idea but unfortunately we cannot make sure the user won't run "zypper
dup" before.

Thanks Christian for your suggestions

Any other ideas :) ?


--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: how to not skip a version when upgrading

Jan Engelhardt-4

On Friday 2017-07-14 12:01, Jordi Massaguer Pla wrote:

>>
>> If you really need to enforce a specific version during zypper dup, I'd
>> create and install a dummy package with   Requires: foo = 2.0   before
>> running zypper dup.
>
> Yeah but then you need to update this new package to update the foo package,
> and you have the same problem.
>
> Running "zypper install foo-2.0 && zypper al foo" sounds like a good idea but
> unfortunately we cannot make sure the user won't run "zypper dup" before.

First and foremost, there is no guarantee that foo-2.0 is still in the repos.
So you have to expect that there will be systems that can only go from 1.0 to
3.0.
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: how to not skip a version when upgrading

Bernhard M. Wiedemann-5
In reply to this post by Jordi Massaguer Pla-2
On 2017-07-13 15:34, Jordi Massaguer Pla wrote:
> Is there a way to force the installation of foo-2.0 and afterwards
> foo-3.0? I can only think of having foo-3.0 on a different repo and
> adding this repo after installing foo-2.0, but sounds a bit hacky.


We are having similar problems with OpenStack where we skip a release,
but upstream drops database migrations from their codebase after 1 release.

One pretty simple and clean solution is to re-add those migrations, so
that foo-3 can be installed on top of foo-1, because it still(again)
contains the migrations that would have been run when migrating from
foo-1 to foo-2


signature.asc (188 bytes) Download Attachment
Loading...