From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Meyering Date: Mon, 29 Jun 2009 17:17:45 +0200 Subject: [Cluster-devel] gfs2-utils "make install" failure and fix In-Reply-To: <1246282233.25867.47.camel@cerberus.int.fabbione.net> (Fabio M. Di Nitto's message of "Mon, 29 Jun 2009 15:30:33 +0200") References: <87ab3rtms4.fsf@meyering.net> <1246268330.25867.25.camel@cerberus.int.fabbione.net> <87hbxzrx0f.fsf@meyering.net> <1246282233.25867.47.camel@cerberus.int.fabbione.net> Message-ID: <87skhjqdba.fsf@meyering.net> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Fabio M. Di Nitto wrote: ... >> > Handling of prefix can be better I agree, but turning them into >> > sbin_PROGRAM doesn't work either. >> > >> > Clearly I am open to any better solution than the one I have in place... >> >> Sure. >> There's already so much default-munging going on in configure.ac, >> why not add a tiny bit more. >> >> This incremental patch does what you seem to want: >> >> In case we're using the default (/usr) prefix >> and the default exec_prefix, and set sbindir to /sbin: >> >> diff --git a/configure.ac b/configure.ac >> index a568463..ca0301e 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -38,6 +38,7 @@ fi >> >> case $exec_prefix in >> NONE) exec_prefix=$prefix;; >> + test "$prefix:$sbindir" = '/usr:${exec_prefix}/sbin' && sbindir=/sbin >> prefix) exec_prefix=$prefix;; >> esac > > hmmmm... wouldn't that move all sbin_PROGRAMS to /sbin (assuming we are > doing default build)? If so that's still not ideal because except those > 3 binaries, all the others can go (and should go) in /usr/sbin as they > are not vital for the FS operations. Good catch. I see, now. The following incremental patch finally seems to do the right thing: - with --prefix=P where P!=/usr: no change - with no --prefix option, or with --prefix=/usr, install those three subdirs' tools into /sbin rather than into /usr/sbin. diff --git a/gfs2/fsck/Makefile.am b/gfs2/fsck/Makefile.am index 1667df3..ac89524 100644 --- a/gfs2/fsck/Makefile.am +++ b/gfs2/fsck/Makefile.am @@ -1,5 +1,10 @@ MAINTAINERCLEANFILES = Makefile.in +# install into /sbin, not /usr/sbin +sbindir := $(shell test '$(exec_prefix):$(sbindir)' = /usr:/usr/sbin \ + && echo /sbin \ + || echo '$(exec_prefix)/sbin') + sbin_PROGRAMS = fsck.gfs2 noinst_HEADERS = eattr.h fs_bits.h fsck.h fs_recovery.h hash.h \ diff --git a/gfs2/mkfs/Makefile.am b/gfs2/mkfs/Makefile.am index ba4f851..75466fa 100644 --- a/gfs2/mkfs/Makefile.am +++ b/gfs2/mkfs/Makefile.am @@ -1,5 +1,10 @@ MAINTAINERCLEANFILES = Makefile.in +# install into /sbin, not /usr/sbin +sbindir := $(shell test '$(exec_prefix):$(sbindir)' = /usr:/usr/sbin \ + && echo /sbin \ + || echo '$(exec_prefix)/sbin') + sbin_PROGRAMS = mkfs.gfs2 noinst_HEADERS = gfs2_mkfs.h diff --git a/gfs2/mount/Makefile.am b/gfs2/mount/Makefile.am index a82970e..0303b24 100644 --- a/gfs2/mount/Makefile.am +++ b/gfs2/mount/Makefile.am @@ -1,5 +1,10 @@ MAINTAINERCLEANFILES = Makefile.in +# install into /sbin, not /usr/sbin +sbindir := $(shell test '$(exec_prefix):$(sbindir)' = /usr:/usr/sbin \ + && echo /sbin \ + || echo '$(exec_prefix)/sbin') + sbin_PROGRAMS = mount.gfs2 noinst_HEADERS = gfs_ondisk.h util.h