[mythtv] [mythtv-commits] Ticket #13261: Better solution for schema or protocol mismatch

Ian Campbell ijc at hellion.org.uk
Mon Apr 30 18:45:05 UTC 2018


On Mon, 2018-04-30 at 12:28 -0400, Michael T. Dean wrote:
> On 04/30/2018 11:17 AM, MythTV wrote:
> > #13261: Better solution for schema or protocol mismatch
> >   There are compile options -DIGNORE_SCHEMA_VER_MISMATCH
> >   -DIGNORE_PROTO_VER_MISMATCH that nullify the database check and upgrade
> >   process and the protocol version check process. These seem to be dangerous
> >   options, particularly since they have to be compiled into the system to
> >   use them.
> > 
> >   There may be cases where you want to ignore schema or protocol mismatch.
> >   The attached patch allows the use of override parameters -O
> >   !IgnoreSchemaVerMismatch=1 -O !IgnoreProtoVerMismatch=1 at run time. This
> >   way you do not have to build the system with those dangerous options, you
> >   can ignore the errors for a single run. Also the IgnoreSchemaVerMismatch
> >   only works for mythfrontend. Using it on mythbackend may be risky.
> 
> The whole reason these were made compile-time options rather than 
> settings is so that they wouldn't be put into packaged releases so that 
> users wouldn't expect the ability to run mismatched versions since we 
> only support running versions where the protocol and schema version 
> match.  The idea of making them "hard to get to" was to ensure that they 
> were only used with great consideration

Perhaps in that spirit we could/should require both the build to have
used the IGNORE_SCHEMA_VER_MISMATCH _and_ the runtime -O added here
(i.e. the compile time option just adds a new default-off runtime
option).

That would reduce the risk of having such compiled binaries floating
around since they would need to be manually "weaponsized" at runtime
too, thus addressing "do not have to build with those dangerous
options".

Ian.


More information about the mythtv-dev mailing list