source: trunk/base/config/mp_version

Last change on this file was 43571, checked in by jmpp@…, 12 years ago

Revert part of r43375, as my understanding of the floating point to x.y.z transition was indeed a bit flawed.
@MP_VERSION@ and base/config/mp_version being in the old floating point format, and @MACPORTS_VERSION@ and
base/config/macports_version being their x.y.z counterparts, the correct analysis goes as follows:

  1. 1.700 and previous clients need to read the floating point version number in newer releases, as otherwise they'll be comparing, e.g., 1.700 vs. 1.8.0, which will fail to trigger any upgrade. Therefore, revive the base/config/mp_version file for it to exist in svn && rsync, which is all that's needed to get selfupdate working for old clients again (given that they prefer that file over config/base/macports_version).
  1. Remove the special-case hack in macports::selfupdate, since base/config/mp_version @ 1.800 is enough to upgrade all 1.700 and previous clients to 1.8.x, while those in turn have no need for the hack at all (they'll only read base/config/macports_version while selfupdating and thus rpm-vercomp its contents successfully against their internal version number, i.e. @MACPORTS_VERSION@).
  1. Proposal: freeze base/config/mp_version @ 1.800, since point 1 above takes care of all pre 1.8.0 clients across the transition and point 2 of all post 1.8.0 clients going forward (they record @MACPORTS_VERSION@, rather than @MP_VERSION@, as their version number and compare that against base/config/macports_version when selfupdating, so there will be no need to update base/config/mp_version beyond anything greater than the last floating point release, i.e. 1.700).

So, from this analysis I conclude that the only thing necessary to get pre 1.8.0 clients across to 1.8.x,
added to what was done up until r43375, is the existence of base/config/mp_version in svn, and as soon as
we remove it we break selfupdate backwards compatibility with them, at which point we'll need to instruct
stragglers to either force the selfupdate or install from the dmg.

PS: I've thought all this out rather extensively, so I believe this approach is functional, but don't be shy to pull
my ear if I again got it wrong!

  • Property svn:eol-style set to native
File size: 6 bytes
Note: See TracBrowser for help on using the repository browser.