RFE: Add options to --disable-all-plugins/--without-all-plugins
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Drizzle |
Fix Released
|
High
|
Monty Taylor | ||
Cherry |
Fix Released
|
High
|
Monty Taylor |
Bug Description
I think the way drizzle builds currently where it attempts to build every plugin by default is great for source builds. Most users want to just ./configure && make && make install when it comes to sources... However, with regards to packaging, having all plugins enabled by default is a bit inconvenient. Take the following:
- RPM builds drizzle with all plugins (that it can) by default, with most/all of them enabled by default
- RPM packages up all plugins into separate sub packages
- User installs drizzle, drizzle-server, drizzle-client, and maybe drizzle-
The result is that drizzle fails to start due to all the missing plugins that aren't installed... for example:
$ sudo -u drizzle drizzled
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins.
100303 15:26:46 InnoDB: highest supported file format is Barracuda.
100303 15:26:46 InnoDB Plugin 1.0.4 started; log sequence number 44414
Can't open shared library '/usr/lib64/
Failed to initialize plugins.Aborting
100303 15:26:46 InnoDB: Starting shutdown...
100303 15:26:47 InnoDB: Shutdown completed; log sequence number 44424
drizzled: Shutdown complete
If you install the missing plugin rpm, it fails on the next missing plugin. From a packaging standpoint it would be best to be able to build like this:
%configure --without-
Or:
%configure --disable-
What you have is the ability to build and package only the plugins you want... Or building everything but disabling all by default and only enabling the few you really do want enabled by default. The alternative currently is to explicitly do a condition check on a macro and if not building that plugin pass --without-
%{?!_with_
--disable-
This says... "If _with_archive_
On a side note... if this would require a lot of coding... one could alternatively patch all plugin.ini files to set load_by_default=no at build time.