How to keep previous versions in the repository?

A little background:

I am trying to package my company’s open source software (OpenFISMA | Sponsored by Endeavor Systems, Inc.). Our application is web-based and it uses MySQL as a backend. Between versions we typically have changes to the schema that must be applied on each user’s instance of the application by running a “migration” script.

I would like to test our upgrade path for the application from version 2.11.0 to 2.12.0. I expected to do this: zypper in openfisma=2.11.0 and then run zypper up openfisma to force the migration script to run. However this isn’t possible because when I built the 2.12.0 package, OBS removed my 2.11.0 package from the repository.

Questions:

  1. Is it possible to get OBS to keep the old version? I’d like to have both 2.11.0 and 2.12.0 available in the repository.

  2. Is #1 a stupid question? Is there a better way to test this upgrade path? (I expect that we will want to test all of our upgrades like this going forward, so I need a clean, repeatable solution if possible.)

Thanks,
Mark

Hi

as far as I know keeping old versions is not possible. I would create two projects around for the two different versions you want to test or always create a newer version by branching from the old package and not deleting the old ones.

HTH

Arun

Yes, thanks for the response. I discussed it with some folks on IRC and the answer I settled on is to have a “stable” project and a “testing” project. I can build a different version in each repository, and by adding both project repositories in our testing environment, I can move between versions with zypper in <package>=<version>.