@Neil: Have we sent an email about this change to dev list? This might break people who were directly building off source and using a custom version number.
On Fri, May 5, 2017 at 4:54 PM, <ne...@apache.org> wrote: > Checked validity of master and agent version numbers on startup. > > During startup, we now check that the compiled-in version number of the > master and agent can be parsed by stout's `Version::parse` (i.e., that > `MESOS_VERSION` is valid according to stout's extended variant of the > Semver 2.0.0 format). > > Review: https://reviews.apache.org/r/58708 > > > Project: http://git-wip-us.apache.org/repos/asf/mesos/repo > Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/5a5dd8a4 > Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/5a5dd8a4 > Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/5a5dd8a4 > > Branch: refs/heads/1.2.x > Commit: 5a5dd8a4edcb52e2227e2a4607b95a7dcc6aa321 > Parents: c56851e > Author: Neil Conway <neil.con...@gmail.com> > Authored: Mon Mar 6 10:55:07 2017 -0800 > Committer: Neil Conway <neil.con...@gmail.com> > Committed: Fri May 5 15:16:38 2017 -0700 > > ---------------------------------------------------------------------- > src/master/main.cpp | 11 +++++++++++ > src/slave/main.cpp | 11 +++++++++++ > 2 files changed, 22 insertions(+) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/mesos/blob/5a5dd8a4/ > src/master/main.cpp > ---------------------------------------------------------------------- > diff --git a/src/master/main.cpp b/src/master/main.cpp > index da75fe9..d485a06 100644 > --- a/src/master/main.cpp > +++ b/src/master/main.cpp > @@ -57,6 +57,7 @@ > #include <stout/stringify.hpp> > #include <stout/strings.hpp> > #include <stout/try.hpp> > +#include <stout/version.hpp> > > #include "common/build.hpp" > #include "common/http.hpp" > @@ -175,6 +176,16 @@ int main(int argc, char** argv) > return EXIT_FAILURE; > } > > + // Check that master's version has the expected format (SemVer). > + { > + Try<Version> version = Version::parse(MESOS_VERSION); > + if (version.isError()) { > + EXIT(EXIT_FAILURE) > + << "Failed to parse Mesos version '" << MESOS_VERSION << "': " > + << version.error(); > + } > + } > + > if (flags.ip_discovery_command.isSome() && flags.ip.isSome()) { > EXIT(EXIT_FAILURE) << flags.usage( > "Only one of `--ip` or `--ip_discovery_command` should be > specified"); > > http://git-wip-us.apache.org/repos/asf/mesos/blob/5a5dd8a4/ > src/slave/main.cpp > ---------------------------------------------------------------------- > diff --git a/src/slave/main.cpp b/src/slave/main.cpp > index 31f2b4f..f90aa2f 100644 > --- a/src/slave/main.cpp > +++ b/src/slave/main.cpp > @@ -39,6 +39,7 @@ > #include <stout/os.hpp> > #include <stout/stringify.hpp> > #include <stout/try.hpp> > +#include <stout/version.hpp> > > #include "common/build.hpp" > #include "common/http.hpp" > @@ -142,6 +143,16 @@ int main(int argc, char** argv) > return EXIT_FAILURE; > } > > + // Check that agent's version has the expected format (SemVer). > + { > + Try<Version> version = Version::parse(MESOS_VERSION); > + if (version.isError()) { > + EXIT(EXIT_FAILURE) > + << "Failed to parse Mesos version '" << MESOS_VERSION << "': " > + << version.error(); > + } > + } > + > if (flags.master.isNone() && flags.master_detector.isNone()) { > cerr << flags.usage("Missing required option `--master` or " > "`--master_detector`.") << endl; > >