Comment 7 for bug 1157332

Revision history for this message
Stéphane Graber (stgraber) wrote :

Alright, I figured it out and wrote a patch for it.
Now here's the boring explanation for all that mess.

We introduced the dnsmasq hook in LXC in quantal, then fixed it to use dpkg-maintscripts as an SRU.
We then subsequently SRUed the whole thing to precise and we pushed the new version to raring.

That means in short that the migration code needs to fire if the previous version is:
 - < "0.7.5-3ubuntu67" on precise
 - < "0.8.0~rc1-4ubuntu39.12.10.2" on quantal
 - < "0.8.0~rc1-4ubuntu49" on raring

This means we can't do the obvious thing of putting "0.7.5-3ubuntu67" in lxc.maintscripts as someone can have a machine with the base quantal version, then upgrade to raring and not get the migration done. Similar thing can happen with someone upgrading from an early raring image.

As a result, I think it's best to have the base version for each series set in lxc.maintscripts as one would expect if it wasn't for the mess we created with all the SRUs and then have some extra logic in the postinst to detect the mess created by multiple migrations and fix it all up for the user.

I'm attaching the suggested patch for this issue, which I tested in a standard fully-up-to-date-quantal to current-raring update scenario.