5 messages in com.mysql.lists.packagersRFC: mysqld in libexecdir vs. sbindir?
FromSent OnAttachments
Lenz Grimmer27 Jun 2003 06:57 
Christian Hammers27 Jun 2003 07:37 
Andrea Suatoni27 Jun 2003 15:55 
Lenz Grimmer29 Jun 2003 23:44 
Lenz Grimmer30 Jun 2003 07:57 
Subject:RFC: mysqld in libexecdir vs. sbindir?
From:Lenz Grimmer (le@mysql.com)
Date:06/27/2003 06:57:18 AM
List:com.mysql.lists.packagers

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Hi,

I was wondering about your opinion as packagers of MySQL. At the moment, the sql/Makefile installs mysqld into $prefix/libexec by default.

But after some research it seems like the FreeBSD people are the only ones who actually put it into libexec - on most Linux distributions (except for Red Hat) mysqld seems to end up in /usr/sbin instead. But even on Red Hat, /usr/libexec is not very much populated - most other daemons reside in /usr/sbin as well.

The FHS (http://www.pathname.com/fhs/) does not mention "libexec" at all, but they seem to discuss its purpose from time to time. FHS defines /usr/sbin as follows:

"This directory contains any non-essential binaries used exclusively by the system administrator. System administration programs that are required for system repair, system recovery, mounting /usr, or other essential functions must be placed in /sbin instead."

The question here is - is mysqld considered to be used exclusively by the sysadmin?

The GNU "make" info page has the following definitions:

`sbindir' The directory for installing executable programs that can be run from the shell, but are only generally useful to system administrators. This should normally be `/usr/local/sbin', but write it as `$(exec_prefix)/sbin'. (If you are using Autoconf, write it as `@sbindir@'.)

`libexecdir' The directory for installing executable programs to be run by other programs rather than by users. This directory should normally be `/usr/local/libexec', but write it as `$(exec_prefix)/libexec'. (If you are using Autoconf, write it as `@libexecdir@'.)

Following the make info page, $libexecdir seems to be correct, as mysqld is rarely called directly. But the same seems to be true for many daemons located in $sbindir

So the question is, if we should change that for MySQL 4.1? The patch is rather simple, but I'm not so sure about the consequences for you packagers.

===== sql/Makefile.am 1.74 vs edited ===== - --- 1.74/sql/Makefile.am Fri Jun 20 15:19:47 2003 +++ edited/sql/Makefile.am Fri Jun 27 15:12:30 2003 @@ -27,7 +27,7 @@ -I$(srcdir) -I../include -I. $(openssl_includes) WRAPLIBS= @WRAPLIBS@ SUBDIRS = share - -libexec_PROGRAMS = mysqld +sbin_PROGRAMS = mysqld noinst_PROGRAMS = gen_lex_hash gen_lex_hash_LDFLAGS = @NOINST_LDFLAGS@ LDADD = @isam_libs@ \

Comments, suggestions? I need to get this change post Monty afterwards, but I would like to get your input on that as well.

Bye, LenZ - -- Lenz Grimmer <le@mysql.com> Senior Production Engineer MySQL GmbH, http://www.mysql.de/ Hamburg, Germany

For technical support contracts, visit https://order.mysql.com/?ref=mlgr -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux) Comment: For info see http://quantumlab.net/pine_privacy_guard/

iD8DBQE+/E1XSVDhKrJykfIRAquiAJ9oPfQYvW0nQICQz33dfYtAp9kzxQCePdx4 Etkt0093oesHWbSmPDjkNcU= =dvwx -----END PGP SIGNATURE-----