← Back to team overview

maria-discuss team mailing list archive

Re: what about cleanly deprecation of config options

 

Hi, Reindl!

On Jan 20, Reindl Harald wrote:
> why do we have here ON/OFF and YES/NO at all
> 
>   -DWITH_XTRADB=1 \
>   -DWITH_PARTITION=1 \
>   -DWITHOUT_ARCHIVE=1 \
>   -DWITHOUT_BLACKHOLE=1 \
>   -DWITHOUT_CASSANDRA=1 \
>   -DWITHOUT_MROONGA=1 \
>   -DWITHOUT_OQGRAPH=1 \
>   -DWITHOUT_PERFSCHEMA=1 \
>   -DWITHOUT_SPHINX=1 \
>   -DWITHOUT_SPIDER=1 \
>   -DENABLED_PROFILING=OFF \
>   -DENABLE_DTRACE=OFF \
> 
> what is a storage engine, what is a plugin, what is some misc option 
> and where is now YES/NO and where ON/OFF needed and what is renamed and 
> what was kept
> 
> in the past cmake at least complained somewhere about unknown options
> 
> -DWITH_LIBWRAP=OFF worked (partly) while -DWITHOUT_LIBWRAP=ON was 
> ignored silently - that's a very idiotic syntax in general instead have 
> -DWITHOUT-FEATURE and -DWITH_FEATURE
> 
> -DWITH_LIBWRAP=OFF is by all respect pervert "with something off" in 
> which natural or logical language is that normal?

That's exactly why we've introduced PLUGIN_xxx options. In 10.0 and
earlier you could specify both -DWITH_xxx and -DWITHOUT_xxx, and it was
confusing. Like, what would you expect to happen after

   cmake -DWITHOUT_ARCHIVE=ON -DWITH_ARCHIVE=ON ?

That's why we've introduced a set of PLUGIN_xxx options, that are
supposed to replace -DWITH_xxx and -DWITHOUT_xxx for plugin. Storage
engines are plugins too, btw.

But old options should continue working as before, so perhaps you've
stumbled upon a bug, where old WITH/WITHOUT options don't work as they
used to.

Anyway, since 10.1 the recommended way is to use -DPLUGIN_xxx=yyy
where xxx is the plugin name, for example, SPIDER, and yyy is one of

  NO      - don't build a plugin at all, skip it
  STATIC  - link it into the server statically, if possible. otherwise skip
  DYNAMIC - build a dynamically loaded plugin, if possible. otherwise skip
  AUTO    - static, if possible, otherwise dynamic, if possible, otherwise skip
  YES     - static, if possible, otherwise dynamic, if possible, otherwise error

Regards,
Sergei
Chief Architect MariaDB
and security@xxxxxxxxxxx


Follow ups

References