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.


  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.)



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.



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>.