diff --git a/Modules/CPack.STGZ_Header.sh.in b/Modules/CPack.STGZ_Header.sh.in index d0d239ff9..3b50e74ee 100755 --- a/Modules/CPack.STGZ_Header.sh.in +++ b/Modules/CPack.STGZ_Header.sh.in @@ -123,15 +123,14 @@ echo "" # take the archive portion of this file and pipe it to tar # the NUMERIC parameter in this command should be one more # than the number of lines in this header file -# on SunOS there are two tails, the one in /usr/bin doesn't understand -# the -n + syntax, the one in /usr/xpg4/bin/ does -tail_executable=tail -if [ -x /usr/xpg4/bin/tail ] -then - tail_executable=/usr/xpg4/bin/tail -fi +# there are tails which don't understand the "-n" argument, e.g. on SunOS +# OTOH there are tails which complain when not using the "-n" argument (e.g. GNU) +# so at first try to tail some file to see if tail fails if used with "-n" +# if so, don't use "-n" +use_new_tail_syntax="-n" +tail $use_new_tail_syntax +1 "$0" > /dev/null 2> /dev/null || use_new_tail_syntax="" -"$tail_executable" -n +###CPACK_HEADER_LENGTH### "$0" | gunzip | (cd "${toplevel}" && tar xf -) || cpack_echo_exit "Problem unpacking the @CPACK_PACKAGE_FILE_NAME@" +tail $use_new_tail_syntax +###CPACK_HEADER_LENGTH### "$0" | gunzip | (cd "${toplevel}" && tar xf -) || cpack_echo_exit "Problem unpacking the @CPACK_PACKAGE_FILE_NAME@" echo "Unpacking finished successfully"