[MDEV-11790] WITHOUT_SERVER installs server-only files Created: 2017-01-14  Updated: 2020-08-12  Resolved: 2018-07-19

Status: Closed
Project: MariaDB Server
Component/s: Compiling, Packaging
Affects Version/s: 5.5, 10.0, 10.1, 10.0.29, 10.2
Fix Version/s: 10.0.36, 10.1.35, 10.2.17, 10.3.9

Type: Bug Priority: Major
Reporter: Bernard Spil Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: contribution, foundation, packaging
Environment:

FreeBSD build.brnrd.eu 11.0-RELEASE-p3 FreeBSD 11.0-RELEASE-p3 #0 r308890: Sun Nov 20 20:27:48 CET 2016 build@brnrd.eu:/usr/obj/usr/src/sys/BEASTIE110 amd64


Issue Links:
Duplicate
is duplicated by MDEV-14986 WITHOUT_SERVER installs server-only f... Closed
Relates
relates to MDEV-23429 Remove WSREP when using WITHOUT_SERVER Closed

 Description   

When source is configured with

-DWITHOUT_SERVER=1

the binary `bin/mysqld_safe_helper` is installed. As this is a utility for the server only it should be excluded from client-only builds.



 Comments   
Comment by Elena Stepanova [ 2018-01-23 ]

A much longer list from MDEV-14986:

* bin/mysql_convert_table_format
* bin/mysql_install_db
* bin/mysql_plugin
* bin/mysql_secure_installation
* bin/mysql_upgrade
* bin/mysqld_safe_helper
* bin/mysqlhotcopy
* bin/mysqltest
* man/man1/galera_new_cluster.1.gz
* man/man1/galera_recovery.1.gz
* man/man1/innochecksum.1.gz
* man/man1/mariadb-service-convert.1.gz
* man/man1/my_safe_process.1.gz
* man/man1/mysql.server.1.gz
* man/man1/mysql_client_test.1.gz
* man/man1/mysql_client_test_embedded.1.gz
* man/man1/mysql_convert_table_format.1.gz
* man/man1/mysql_fix_extensions.1.gz
* man/man1/mysql_install_db.1.gz
* man/man1/mysql_secure_installation.1.gz
* man/man1/mysqld_multi.1.gz
* man/man1/mysqld_safe.1.gz
* man/man1/mysqld_safe_helper.1.gz
* man/man1/mysqlhotcopy.1.gz
* man/man1/mysqltest.1.gz
* man/man1/mysqltest_embedded.1.gz
* man/man1/resolve_stack_dump.1.gz
* share/mysql/wsrep.cnf
* share/mysql/wsrep_notify
* local/share/mysql/binary-configure
* local/share/mysql/fill_help_tables.sql
* local/share/mysql/magic
* local/share/mysql/maria_add_gis_sp.sql
* local/share/mysql/maria_add_gis_sp_bootstrap.sql
* local/share/mysql/mysql-log-rotate
* local/share/mysql/mysql.server
* local/share/mysql/mysql_performance_tables.sql
* local/share/mysql/mysql_system_tables.sql
* local/share/mysql/mysql_system_tables_data.sql
* local/share/mysql/mysql_test_data_timezone.sql
* local/share/mysql/mysql_to_mariadb.sql
* local/share/mysql/mysqld_multi.server
* local/share/mysql/wsrep.cnf
* local/share/mysql/wsrep_notify

Comment by Bernard Spil [ 2018-10-27 ]

Picked this up again, there are multiple issues when wanting to build "client-only"

Utilities/scripts that can connect remote MariaDB servers should be in the Client profile, not Server.

mysql_convert_table_format

WITHOUT_SERVER builds scripts/mysql_convert_table_format from scripts/mysql_convert_table_format.sh yet only installs man/man1/mysql_convert_table_format.1

mysqlhotcopy

Allows remote connections so is a Client component (i.e. does NOT require the a locally installed server to work)

mysql_setpermission

Allows remote connections so is a Client component (i.e. does NOT require the a locally installed server to work)

replace

the replace utility is required by the msql2mysql utility. The latter is listed as a Client component, so the former, being a dependency, must also be labeled as Client component

Created a pull-request in MariaDB github based on this

Comment by Daniel Black [ 2020-08-12 ]

spil, much of this work is merged and your descriptions here where very helpful. MDEV-23429 is still outstanding though a fix isn't too far away.

Rather than `make install` and pruning out the results, the following cmake commands can limit the install components to those you actually want to distribute. I'm hoping this tips assists in your FreeBSD packaging.

cmake install

cmake --install . --component ManPagesClient
 cmake --install . --component ClientPlugins
cmake --install .  --component Client

my_print_defaults has a discussion - https://github.com/MariaDB/server/pull/1566 and https://github.com/MariaDB/server/pull/1581 and MDEV-22552 so hopefully those will answer the my_print_defaults packaging soon.

Generated at Thu Feb 08 07:52:40 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.