[Cluster-devel] [RFC/PATCH] First batch to clean prefixes and paths

Fabio Massimo Di Nitto fabbione at ubuntu.com
Fri Sep 7 05:41:18 UTC 2007


After David comments I went around and checked the entire configure and
dependencies again.

On an Ubuntu machine (please let me know if it is substantially different on
other distro's) all the external libraries we depend on are in /usr/.. and given
that /usr can be on its own partition and not mounted by the time we are
starting the cluster. This would clearly lead to a failure.

init scripts as provided in tree do not understand the concept of prefix and
sbindir. An example from cman init.d:

start_ccsd()
	[snip]
	errmsg=$(/sbin/ccsd $CCSD_OPTS 2>&1)
	[snip]

start_cman()
	[snip]
	/usr/sbin/cman_tool status &> /dev/null
	[snip]

this clearly is a mess for who packages the RPMs.

missing from the configure is the concept of ${prefix}/etc. we hardcode
/etc/cluster/cluster.conf. It is perfectly legal to have /usr/local/etc in the
FHS (http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLOCALLOCALHIERARCHY)

both openais and cluster use the libexec dir. This is not mentioned anywhere in
either FHS2.2 or FHS2.3. Should we perhaps clean it up to be /usr/lib/openais/
(http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLIBLIBRARIESFORPROGRAMMINGANDPA)

cman_tool uses SBINDIR to access aisexec and this is somewhat bad. I should have
spotted this before.

So in this first patch (that seems the most urgent one):

- Make prefix default to /usr

- Clean up all prefix use around configure (this will make alternate prefixes
like /usr/local works properly).

- Add a specific --aisexecbin option that is passed to cman_tool build. This
change defaults to /usr/sbin/aisexec (default aisexec install path) but also
allow local override if you have aisexec installed in different paths.

3 NOTES:

- the cman_tool change has not been tested in production. It builds and shows
that the path is passed properly. Patrick?

- all people that use a prefix=/ will need to make sure to use some extra
configure options to respect FHS (for example to install man pages in
/usr/share/man rather than /share/man..).

- If this patch goes in CVS, you need to make sure to re-run ./configure.

Please apply or ACK.

Fabio

PS This seems to be kind of urgent since it's generating frustrations around.

-- 
I'm going to make him an offer he can't refuse.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: proposed.diff
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070907/7976c35a/attachment.ksh>


More information about the Cluster-devel mailing list