Fix bug which could cause some path components to be omitted from the paths.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@27210 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2008-12-05 09:49:10 +00:00
parent 2f1c36af26
commit d7f7b0e6d4
3 changed files with 51 additions and 21 deletions

View file

@ -1,3 +1,14 @@
2008-12-05 Richard Frith-Macdonald <rfm@gnu.org>
* GNUstep.sh.in:
* GNUstep.csh.in:
Fix the code for detecting path fragments within a path ... it was
just grepping for the fragments without delimiters, so it would think
a fragment was present if that fragment happened to be a substring of
something which was present.
eg. if /usr/GNUstep/Local/Tools/Admin was present, then it would think
that /usr/GNUstep/Local/Tools was also present.
2008-11-28 Richard Frith-Macdonald <rfm@gnu.org>
* print_unique_pathlist.sh: Reverse the order of the path fragments

View file

@ -210,7 +210,8 @@ set GNUSTEP_TOOLS_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTE
foreach dir ( "${GNUSTEP_SYSTEM_ADMIN_TOOLS}" "${GNUSTEP_NETWORK_ADMIN_TOOLS}" "${GNUSTEP_LOCAL_ADMIN_TOOLS}" "${GNUSTEP_USER_ADMIN_TOOLS}" )
if ( -d "${dir}" && -w "${dir}" ) then
if ( { (echo "${GNUSTEP_TOOLS_PATHLIST}" | fgrep -v "${dir}" >/dev/null) } ) then
if ( { (echo ":${GNUSTEP_TOOLS_PATHLIST}:"\
|grep -v ":${dir}:" >/dev/null) } ) then
setenv GNUSTEP_TOOLS_PATHLIST "${dir}:${GNUSTEP_TOOLS_PATHLIST}"
endif
endif
@ -224,7 +225,8 @@ foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_TOOLS_PATHLIST}"'; do ech
if ( ! ${?PATH} ) then
setenv PATH "${path_fragment}"
else if ( { (echo "$PATH" | fgrep -v "$path_fragment" >/dev/null) } ) then
else if ( { (echo ":${PATH}:"\
|grep -v ":${path_fragments}:" >/dev/null) } ) then
setenv PATH "${path_fragment}:${PATH}"
endif
end
@ -245,7 +247,8 @@ foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_LIBRARIES_PATHLIST}"'; do
case *darwin* :
if ( $?DYLD_LIBRARY_PATH == 0 ) then
setenv DYLD_LIBRARY_PATH "${path_fragment}"
else if ( { (echo "${DYLD_LIBRARY_PATH}" | fgrep -v "${path_fragment}" >/dev/null) } ) then
else if ( { (echo ":${DYLD_LIBRARY_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null) } ) then
setenv DYLD_LIBRARY_PATH "${path_fragment}:${DYLD_LIBRARY_PATH}"
endif
breaksw
@ -253,13 +256,15 @@ foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_LIBRARIES_PATHLIST}"'; do
case *hpux* :
if ( $?SHLIB_PATH == 0 ) then
setenv SHLIB_PATH "${path_fragment}"
else if ( { (echo "${SHLIB_PATH}" | fgrep -v "${path_fragment}" >/dev/null) } ) then
else if ( { (echo ":${SHLIB_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null) } ) then
setenv SHLIB_PATH "${path_fragment}:${SHLIB_PATH}"
endif
if ( $?LD_LIBRARY_PATH == 0 ) then
setenv LD_LIBRARY_PATH "${path_fragment}"
else if ( { (echo "${LD_LIBRARY_PATH}" | fgrep -v "${path_fragment}" >/dev/null) } ) then
else if ( { (echo ":${LD_LIBRARY_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null) } ) then
setenv LD_LIBRARY_PATH "${path_fragment}:${LD_LIBRARY_PATH}"
endif
@ -268,7 +273,8 @@ foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_LIBRARIES_PATHLIST}"'; do
case * :
if ( $?LD_LIBRARY_PATH == 0 ) then
setenv LD_LIBRARY_PATH "${path_fragment}"
else if ( { (echo "${LD_LIBRARY_PATH}" | fgrep -v "${path_fragment}" >/dev/null) } ) then
else if ( { (echo ":${LD_LIBRARY_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null) } ) then
setenv LD_LIBRARY_PATH "${path_fragment}:${LD_LIBRARY_PATH}"
endif
@ -285,7 +291,8 @@ switch ( "${GNUSTEP_HOST_OS}" )
set path_fragment="$dir"
if ( $?DYLD_FRAMEWORK_PATH == 0 ) then
setenv DYLD_FRAMEWORK_PATH "${path_fragment}"
else if ( { (echo "${DYLD_FRAMEWORK_PATH}" | fgrep -v "${path_fragment}" >/dev/null) } ) then
else if ( { (echo ":${DYLD_FRAMEWORK_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null) } ) then
setenv DYLD_FRAMEWORK_PATH "${path_fragment}:${DYLD_FRAMEWORK_PATH}"
endif
end
@ -303,14 +310,16 @@ foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_LIBRARY_PATHLIST}"'; do e
set path_fragment="${dir}/Libraries/Java"
if ( ! ${?CLASSPATH} ) then
setenv CLASSPATH "${path_fragment}"
else if ( { (echo "$CLASSPATH" | fgrep -v "$path_fragment" >/dev/null) } ) then
else if ( { (echo ":${CLASSPATH}:"\
|grep -v ":${path_fragment}:" >/dev/null) } ) then
setenv CLASSPATH "${CLASSPATH}:${path_fragment}"
endif
set path_fragment="${dir}/Libraries/Guile"
if ( ! ${?GUILE_LOAD_PATH} ) then
setenv GUILE_LOAD_PATH "${path_fragment}"
else if ( { (echo "$GUILE_LOAD_PATH" | fgrep -v "$path_fragment" >/dev/null) } ) then
else if ( { (echo ":${GUILE_LOAD_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null) } ) then
setenv GUILE_LOAD_PATH "${path_fragment}:${GUILE_LOAD_PATH}"
endif
@ -324,7 +333,8 @@ foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_INFO_PATHLIST}"'; do echo
if ( ! ${?INFOPATH} ) then
setenv INFOPATH "${dir}:"
else if ( { (echo "${INFOPATH}" | fgrep -v "${dir}" >/dev/null) } ) then
else if ( { (echo ":${INFOPATH}:"\
|grep -v ":${dir}:" >/dev/null) } ) then
setenv INFOPATH "${INFOPATH}:${dir}:"
endif

View file

@ -316,7 +316,8 @@ GNUSTEP_TOOLS_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_US
for dir in "$GNUSTEP_SYSTEM_ADMIN_TOOLS" "$GNUSTEP_NETWORK_ADMIN_TOOLS" "$GNUSTEP_LOCAL_ADMIN_TOOLS" "$GNUSTEP_USER_ADMIN_TOOLS"; do
if [ -d "$dir" -a -w "$dir" ]; then
# Only add the new dir if it's not already in GNUSTEP_TOOLS_PATHLIST
if (echo $GNUSTEP_TOOLS_PATHLIST | grep -v "$dir" >/dev/null); then
if (echo ":${GNUSTEP_TOOLS_PATHLIST}:" \
|grep -v ":${dir}:" >/dev/null); then
GNUSTEP_TOOLS_PATHLIST="$dir:$GNUSTEP_TOOLS_PATHLIST"
fi
fi
@ -340,7 +341,8 @@ for dir in $GNUSTEP_TOOLS_PATHLIST; do
if [ -z "$PATH" ]; then
PATH="$path_fragment"
else
if ( echo ${PATH}| grep -v "${path_fragment}" >/dev/null ); then
if ( echo ":${PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null ); then
PATH="${path_fragment}:${PATH}"
fi
fi
@ -375,7 +377,8 @@ IFS=:
if [ -z "$DYLD_LIBRARY_PATH" ]; then
DYLD_LIBRARY_PATH="$path_fragment"
else
if ( echo ${DYLD_LIBRARY_PATH}|fgrep -v "${path_fragment}" >/dev/null ); then
if ( echo ":${DYLD_LIBRARY_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null ); then
DYLD_LIBRARY_PATH="$path_fragment:$DYLD_LIBRARY_PATH"
fi
fi
@ -385,7 +388,8 @@ IFS=:
if [ -z "$SHLIB_PATH" ]; then
SHLIB_PATH="$path_fragment"
else
if ( echo ${SHLIB_PATH}|fgrep -v "${path_fragment}" >/dev/null ); then
if ( echo ":${SHLIB_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null ); then
SHLIB_PATH="$path_fragment:$SHLIB_PATH"
fi
fi
@ -394,7 +398,8 @@ IFS=:
if [ -z "$LD_LIBRARY_PATH" ]; then
LD_LIBRARY_PATH="$path_fragment"
else
if ( echo ${LD_LIBRARY_PATH}| grep -v "${path_fragment}" >/dev/null ); then
if ( echo ":${LD_LIBRARY_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null ); then
LD_LIBRARY_PATH="$path_fragment:$LD_LIBRARY_PATH"
fi
fi
@ -404,7 +409,8 @@ IFS=:
if [ -z "$LD_LIBRARY_PATH" ]; then
LD_LIBRARY_PATH="$path_fragment"
else
if ( echo ${LD_LIBRARY_PATH}| grep -v "${path_fragment}" >/dev/null ); then
if ( echo ":${LD_LIBRARY_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null ); then
LD_LIBRARY_PATH="$path_fragment:$LD_LIBRARY_PATH"
fi
fi
@ -457,8 +463,8 @@ case "$GNUSTEP_HOST_OS" in
if [ -z "$DYLD_FRAMEWORK_PATH" ]; then
DYLD_FRAMEWORK_PATH="$path_fragment"
else
if ( echo ${DYLD_FRAMEWORK_PATH}|
fgrep -v "${path_fragment}" >/dev/null ); then
if ( echo ":${DYLD_FRAMEWORK_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null ); then
DYLD_FRAMEWORK_PATH="$path_fragment:$DYLD_FRAMEWORK_PATH"
fi
fi
@ -490,7 +496,8 @@ for dir in $GNUSTEP_LIBRARY_PATHLIST; do
if [ -z "$CLASSPATH" ]; then
CLASSPATH="$path_fragment"
else
if ( echo ${CLASSPATH}| grep -v "${path_fragment}" >/dev/null ); then
if ( echo ":${CLASSPATH}:"\
|grep -v ":${path_fragment}:" >/dev/null ); then
CLASSPATH="$CLASSPATH:$path_fragment"
fi
fi
@ -499,7 +506,8 @@ for dir in $GNUSTEP_LIBRARY_PATHLIST; do
if [ -z "$GUILE_LOAD_PATH" ]; then
GUILE_LOAD_PATH="$path_fragment"
else
if ( echo ${GUILE_LOAD_PATH}| grep -v "${path_fragment}" >/dev/null ); then
if ( echo ":${GUILE_LOAD_PATH}:"\
|grep -v ":${path_fragment}:" >/dev/null ); then
GUILE_LOAD_PATH="$path_fragment:$GUILE_LOAD_PATH"
fi
fi
@ -527,7 +535,8 @@ for dir in $GNUSTEP_INFO_PATHLIST; do
# the INFOPATH we provide.
INFOPATH="${dir}:"
else
if ( echo ${INFOPATH}| grep -v "${dir}" >/dev/null ); then
if ( echo ":${INFOPATH}:"\
|grep -v ":${dir}:" >/dev/null ); then
INFOPATH="$INFOPATH:${dir}:"
fi
fi