From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabio Massimo Di Nitto Date: Fri, 07 Sep 2007 07:41:18 +0200 Subject: [Cluster-devel] [RFC/PATCH] First batch to clean prefixes and paths Message-ID: <46E0E47E.9080001@ubuntu.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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: