I maintain a package on launchpad that releases approx every month. However, our new version is no longer compatible with the previous version, because of some fundamental changes. So version 2.8 should not be upgraded to 2.9. I specifically want to prevent users from upgrading to 2.9 by mistake. Instead if they want to upgrade, they should be forced to apt-get remove, and then apt-get install to get a fresh install.

Is there a way to specify this in the package description? Or am I better of creating a separate repository or changing the name of the package?

  • I think you should change the package name – enzotib Jan 11 '12 at 21:20

You should change the package name. Not only because there is no good way from your end to prevent an upgrade, but more importantly because users may want to have both versions installed during a transition period. E.g. install the new version, run it on test data for a while, then do the difficult data migration when they've stabilized the new configuration.

Historical example: Apache (I don't remember if Ubuntu had separate Apache 1 and Apache 2 at some point, but Debian definitely did).


This is something that is probably best suited for #ubuntu-devel or #ubuntu-packaging. At a high level, if the next revision is such a big break then it should really be the start of a new release like 3.0 but that won't prevent an upgrade. You could go the separate PPA route but that isn't for everyone and you might start to lose users. The right thing to do is fix the application so it's actually backwards compatible. It doesn't matter that you release each month, the user should be able to expect that an update won't ruin their installation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.