Re: [resource-agents][PATCH] repair wrong path for ocf_root when prefix ne default

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/24/2012 08:23 PM, Grüninger, Andreas (LGL Extern) wrote:
> 
> 
>> Does the tree pass a make distcheck with this change?
> No, it does not.
> It fails with
> .....
> gmake[4]: Entering directory `/export/builds/resource-agents-master/resource-agents-3.9.3.113-a796f3-dirty/_build/tools'
> gcc -DHAVE_CONFIG_H -I. -I../../tools -I../include -I../include -I../../include  -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS -DNAME_MAX=255 -DHOST_NAME_MAX=255 -I/usr/include  -I/opt/ha/include  -lsocket -lnsl -ggdb3  -fgnu89-inline -fstack-protector-all -Wall -Wbad-function-cast -Wcast-qual -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wnested-externs -Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes -W -Wwrite-strings -ansi -D_GNU_SOURCE -DANSI_ONLY -ggdb3  -fgnu89-inline -fstack-protector-all -Wall -Wbad-function-cast -Wcast-qual -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wnested-exter!
 ns -Wno-lo
ng-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes -W -Wwrite-strings -ansi -D_GNU_SOURCE -DANSI_ONLY -Werror -MT findif.o -MD -MP -MF .deps/findif.Tpo -c -o findif.o ../../tools/findif.c
> cc1: warnings being treated as errors
> ../../tools/findif.c: In function 'SearchUsingProcRoute':
> ../../tools/findif.c:173:20: error: unused parameter 'addr_out'
> gmake[4]: *** [findif.o] Error 1
> ......
> 
> tools/findif.c is a NON solaris version.
> 
> I added some code to configure.ac to show the wrong values.
> OCF_RA_DIR_PREFIX is used in Makefile.am.
> If OCF_RA_DIR could be used too.
> The variables OCF_RA_DIR_PREFIX and OCF_LIB_DIR_PREFIX should be removed. They are useless.

Be careful, because all those values have been added to make distcheck
and final binary work properly. It might be possible to simplify/remove
them, but you must cross check the final results on linux as well and
make sure that there is no regression with install paths (DESTDIRS) and
execution paths.

I didn't check the patch, but as long as make distcheck doesn't pass
completely and diff between "before" and "after" patch shows no
regression, the change is a no-go.

Fabio

> 
> # ./configure --enable-fatal-warnings=no
> 
> resource-agents configuration:
>   Version                  = 3.9.3.113-a796f3-dirty
>   Build Version            = :%H$
>   Features                 =
> 
>   Prefix                   = /usr
>   Executables              = /usr/sbin
>   Man pages                = /usr/share/man
>   Libraries                = /usr/lib
>   Header files             = /usr/include
>   Arch-independent files   = /usr/share
>   Documentation            = /usr/share/doc/resource-agents
>   State information        = /usr/var
>   System configuration     = /usr/etc
>   RA state files           = /usr/var/run/resource-agents
>   AIS Plugins              = /usr/libexec/lcrso
> 
>   CFLAGS                   = -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS -DNAME_MAX=255 -DHOST_NAME_MAX=255 -I/usr/include  -I/opt/ha/include  -lsocket -lnsl -ggdb3  -fgnu89-inline -fstack-protector-all -Wall -Wbad-function-cast -Wcast-qual -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wnested-externs -Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes -Wunsigned-char -Wwrite-strings -ansi -D_GNU_SOURCE -DANSI_ONLY
>   Libraries                = -lsocket -lnsl -lsocket  -lglib-2.0
>   Stack Libraries          =
>   OCF_ROOT_DIR             = /opt/ha/lib/ocf
>   OCF_RA_DIR               = /opt/ha/lib/ocf/resource.d/
>   OCF_RA_DIR_PREFIX        = /opt/ha/lib/ocf/resource.d/
>   OCF_LIB_DIR              = /opt/ha/lib/ocf/lib/
>   OCF_LIB_DIR_PREFIX       = /opt/ha/lib/ocf/lib/
>   LOGDIR                   = /usr/var/log/cluster
> 
> 
> # ./configure --enable-fatal-warnings=no --prefix=/opt/ha
>   
> resource-agents configuration:
>   Version                  = 3.9.3.113-a796f3-dirty
>   Build Version            = :%H$
>   Features                 =
> 
>   Prefix                   = /opt/ha
>   Executables              = /opt/ha/sbin
>   Man pages                = /opt/ha/share/man
>   Libraries                = /opt/ha/lib
>   Header files             = /opt/ha/include
>   Arch-independent files   = /opt/ha/share
>   Documentation            = /opt/ha/share/doc/resource-agents
>   State information        = /opt/ha/var
>   System configuration     = /opt/ha/etc
>   RA state files           = /opt/ha/var/run/resource-agents
>   AIS Plugins              = /usr/libexec/lcrso
> 
>   CFLAGS                   = -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS -DNAME_MAX=255 -DHOST_NAME_MAX=255 -I/usr/include  -I/opt/ha/include  -lsocket -lnsl -ggdb3  -fgnu89-inline -fstack-protector-all -Wall -Wbad-function-cast -Wcast-qual -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wnested-externs -Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes -Wunsigned-char -Wwrite-strings -ansi -D_GNU_SOURCE -DANSI_ONLY
>   Libraries                = -lsocket -lnsl -lsocket  -lglib-2.0
>   Stack Libraries          =
>   OCF_ROOT_DIR             = /opt/ha/lib/ocf
>   OCF_RA_DIR               = /opt/ha/lib/ocf/resource.d/
>   OCF_RA_DIR_PREFIX        = /opt/ha//opt/ha/lib/ocf/resource.d/
>   OCF_LIB_DIR              = /opt/ha/lib/ocf/lib/
>   OCF_LIB_DIR_PREFIX       = /opt/ha//opt/ha/lib/ocf/lib/
>   LOGDIR                   = /opt/ha/var/log/cluster
>   
> # ./configure --enable-fatal-warnings=no --prefix=/opt/ha --with-ocf-root=/opt/ha/lib/ocf
> resource-agents configuration:
>   Version                  = 3.9.3.113-a796f3-dirty
>   Build Version            = :%H$
>   Features                 =
> 
>   Prefix                   = /opt/ha
>   Executables              = /opt/ha/sbin
>   Man pages                = /opt/ha/share/man
>   Libraries                = /opt/ha/lib
>   Header files             = /opt/ha/include
>   Arch-independent files   = /opt/ha/share
>   Documentation            = /opt/ha/share/doc/resource-agents
>   State information        = /opt/ha/var
>   System configuration     = /opt/ha/etc
>   RA state files           = /opt/ha/var/run/resource-agents
>   AIS Plugins              = /usr/libexec/lcrso
> 
>   CFLAGS                   = -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS -DNAME_MAX=255 -DHOST_NAME_MAX=255 -I/usr/include  -I/opt/ha/include  -lsocket -lnsl -ggdb3  -fgnu89-inline -fstack-protector-all -Wall -Wbad-function-cast -Wcast-qual -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wnested-externs -Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes -Wunsigned-char -Wwrite-strings -ansi -D_GNU_SOURCE -DANSI_ONLY
>   Libraries                = -lsocket -lnsl -lsocket  -lglib-2.0
>   Stack Libraries          =
>   OCF_ROOT_DIR             = /opt/ha/lib/ocf
>   OCF_RA_DIR               = /opt/ha/lib/ocf/resource.d/
>   OCF_RA_DIR_PREFIX        = /opt/ha//opt/ha/lib/ocf/resource.d/
>   OCF_LIB_DIR              = /opt/ha/lib/ocf/lib/
>   OCF_LIB_DIR_PREFIX       = /opt/ha//opt/ha/lib/ocf/lib/
>   LOGDIR                   = /opt/ha/var/log/cluster
>    
> 
> -----Ursprüngliche Nachricht-----
> Von: discuss-bounces@xxxxxxxxxxxx [mailto:discuss-bounces@xxxxxxxxxxxx] Im Auftrag von Fabio M. Di Nitto
> Gesendet: Montag, 24. September 2012 19:19
> An: discuss@xxxxxxxxxxxx
> Betreff: Re:  [resource-agents][PATCH] repair wrong path for ocf_root when prefix ne default
> 
> 
> On 09/24/2012 04:57 PM, Grüninger, Andreas (LGL Extern) wrote:
>> I don't know if this is the right list. If not please advise whhich list I should use.
> 
> There is no mailing list for resource-agents.
> 
> What you want to do is fork the tree on git hub, publish your changes and request a pull.
> 
> Does the tree pass a make distcheck with this change?
> 
> Fabio
> 
>>
>> When the resource-agents are configured to use a prefix other than /usr and the initial value for ocf-root is read from {PREFIX}/include/heartbeat/glue_config.h  a wrong path for the the resulting ocf-root is constructed.
>> The wrong result begins with {PREFIX}/{PREFIX}/lib/ocf/.
>> The inital value read from {PREFIX}/include/heartbeat/glue_config.h contains already an absolute path and the prefix is errounesly used a second time.
>>
>> commit 4779b382fb65cc457db2217b713c864388ad62a7
>> Author: andreas.grueninger <andreas.grueninger@server>
>> Date:   Mon Sep 24 16:35:12 2012 +0200
>>
>>     repair wrong path for ocf_root when prefix ne default
>>
>> diff --git a/Makefile.am b/Makefile.am index 28634c0..242f651 100644
>> --- a/Makefile.am
>> +++ b/Makefile.am
>> @@ -50,24 +50,35 @@ EXTRA_DIST		= autogen.sh .version make/release.mk \
>>  
>>  install-exec-local:
>>  if BUILD_LINUX_HA
>> -	$(INSTALL) -d -m 1755 $(DESTDIR)$(HA_RSCTMPDIR)
>> -	$(LN_S) ../../lib/heartbeat/ocf-binaries $(DESTDIR)${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-binaries
>> -	$(LN_S) ../../lib/heartbeat/ocf-directories $(DESTDIR)${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-directories
>> -	$(LN_S) ../../lib/heartbeat/ocf-returncodes $(DESTDIR)${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-returncodes
>> -	$(LN_S) ../../lib/heartbeat/ocf-shellfuncs $(DESTDIR)${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-shellfuncs
>> +	$(INSTALL) -d -m 1755 $(HA_RSCTMPDIR)
>> +	$(LN_S) -f ../../lib/heartbeat/ocf-binaries ${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-binaries
>> +	$(LN_S) -f ../../lib/heartbeat/ocf-directories ${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-directories
>> +	$(LN_S) -f ../../lib/heartbeat/ocf-returncodes ${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-returncodes
>> +	$(LN_S) -f ../../lib/heartbeat/ocf-shellfuncs 
>> +${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-shellfuncs
>>  endif
>>  if BUILD_RGMANAGER
>>  if BUILD_LINUX_HA
>> -	$(LN_S) ${CLUSTERDATA} $(DESTDIR)${OCF_RA_DIR_PREFIX}/redhat
>> +	$(LN_S) ${CLUSTERDATA} ${OCF_RA_DIR_PREFIX}/redhat
>>  endif
>> -	$(INSTALL) -d $(DESTDIR)/$(LOGDIR)
>> +	$(INSTALL) -d $(LOGDIR)
>>  endif
>>  
>>  dist-clean-local:
>>  	rm -f autoconf automake autoheader $(TARFILES)
>>  
>>  uninstall-local:
>> -			rmdir $(DESTDIR)/$(LOGDIR) || :;
>> +if BUILD_LINUX_HA
>> +	rm -f ${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-binaries
>> +	rm -f ${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-directories
>> +	rm -f ${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-returncodes
>> +	rm -f ${OCF_RA_DIR_PREFIX}/heartbeat/.ocf-shellfuncs
>> +endif
>> +if BUILD_RGMANAGER
>> +if BUILD_LINUX_HA
>> +	rm -f ${OCF_RA_DIR_PREFIX}/redhat
>> +endif
>> +	rm -f $(LOGDIR) || :;    
>> +endif
>>  
>>  BUILT_SOURCES = .version
>>  .version:
>> diff --git a/configure.ac b/configure.ac index 456e901..4fef729 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -154,13 +154,11 @@ AC_ARG_WITH(initdir,  
>> OCF_ROOT_DIR="/usr/lib/ocf"
>>  AC_ARG_WITH(ocf-root,
>>      [  --with-ocf-root=DIR      directory for OCF scripts [${OCF_ROOT_DIR}]],
>> -    [ if test x"$withval" = xprefix; then OCF_ROOT_DIR=${prefix}; else
>> -	 OCF_ROOT_DIR="$withval"; fi ])
>> +	 OCF_ROOT_DIR="$withval" ])
>>  HA_RSCTMPDIR=${localstatedir}/run/resource-agents
>>  AC_ARG_WITH(rsctmpdir,
>>      [  --with-rsctmpdir=DIR      directory for resource agents state files [${HA_RSCTMPDIR}]],
>> -    [ if test x"$withval" = xprefix; then HA_RSCTMPDIR=${prefix}; else
>> -	 HA_RSCTMPDIR="$withval"; fi ])
>> +	 HA_RSCTMPDIR="$withval" ])
>>  
>>  AC_ARG_ENABLE([libnet],
>>   [  --enable-libnet 	Use libnet for ARP based funcationality, [default=try]], 
>> @@ -393,26 +391,18 @@ HA_VARLIBHBDIR=${localstatedir}/lib/heartbeat
>>  AC_DEFINE_UNQUOTED(HA_VARLIBHBDIR,"$HA_VARLIBHBDIR", Whatever this 
>> used to mean)
>>  AC_SUBST(HA_VARLIBHBDIR)
>>  
>> -OCF_RA_DIR="${OCF_ROOT_DIR}/resource.d/"
>> +OCF_RA_DIR="${OCF_ROOT_DIR}/resource.d"
>>  AC_DEFINE_UNQUOTED(OCF_RA_DIR,"$OCF_RA_DIR", Location for OCF RAs)
>>  AC_SUBST(OCF_RA_DIR)
>>  
>> -if test "${prefix}" = "/usr"; then
>> - OCF_RA_DIR_PREFIX="$OCF_RA_DIR"
>> -else
>> - OCF_RA_DIR_PREFIX="${prefix}/$OCF_RA_DIR"
>> -fi
>> +OCF_RA_DIR_PREFIX="$OCF_RA_DIR"
>>  AC_SUBST(OCF_RA_DIR_PREFIX)
>>  
>> -OCF_LIB_DIR="${OCF_ROOT_DIR}/lib/"
>> +OCF_LIB_DIR="${OCF_ROOT_DIR}/lib"
>>  AC_DEFINE_UNQUOTED(OCF_LIB_DIR,"$OCF_LIB_DIR", Location for shared 
>> code for OCF RAs)
>>  AC_SUBST(OCF_LIB_DIR)
>>  
>> -if test "${prefix}" = "/usr"; then
>> - OCF_LIB_DIR_PREFIX="$OCF_LIB_DIR"
>> -else
>> - OCF_LIB_DIR_PREFIX="${prefix}/$OCF_LIB_DIR"
>> -fi
>> +OCF_LIB_DIR_PREFIX="$OCF_LIB_DIR"
>>  AC_SUBST(OCF_LIB_DIR_PREFIX)
>>  
>>  dnl ===============================================
>>
>> _______________________________________________
>> discuss mailing list
>> discuss@xxxxxxxxxxxx
>> http://lists.corosync.org/mailman/listinfo/discuss
>>
> 
> _______________________________________________
> discuss mailing list
> discuss@xxxxxxxxxxxx
> http://lists.corosync.org/mailman/listinfo/discuss
> 

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss



[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux