mirror of
https://github.com/reactos/CMake.git
synced 2024-12-12 22:05:57 +00:00
1c93eb683b
pax is part of POSIX while tar requires GNU extensions that are not part of some UNIX distros
145 lines
3.9 KiB
Bash
Executable File
145 lines
3.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Display usage
|
|
cpack_usage()
|
|
{
|
|
cat <<EOF
|
|
Usage: $0 [options]
|
|
Options: [defaults in brackets after descriptions]
|
|
--help print this message
|
|
--prefix=dir directory in which to install
|
|
--include-subdir include the @CPACK_PACKAGE_FILE_NAME@ subdirectory
|
|
--exclude-subdir exclude the @CPACK_PACKAGE_FILE_NAME@ subdirectory
|
|
EOF
|
|
exit 1
|
|
}
|
|
|
|
cpack_echo_exit()
|
|
{
|
|
echo $1
|
|
exit 1
|
|
}
|
|
|
|
# Display version
|
|
cpack_version()
|
|
{
|
|
echo "@CPACK_PACKAGE_NAME@ Installer Version: @CPACK_PACKAGE_VERSION@, Copyright (c) @CPACK_PACKAGE_VENDOR@"
|
|
}
|
|
|
|
# Helper function to fix windows paths.
|
|
cpack_fix_slashes ()
|
|
{
|
|
echo "$1" | sed 's/\\/\//g'
|
|
}
|
|
|
|
interactive=TRUE
|
|
cpack_skip_license=FALSE
|
|
cpack_include_subdir=""
|
|
for a in "$@CPACK_AT_SIGN@"; do
|
|
if echo $a | grep "^--prefix=" > /dev/null 2> /dev/null; then
|
|
cpack_prefix_dir=`echo $a | sed "s/^--prefix=//"`
|
|
cpack_prefix_dir=`cpack_fix_slashes "${cpack_prefix_dir}"`
|
|
fi
|
|
if echo $a | grep "^--help" > /dev/null 2> /dev/null; then
|
|
cpack_usage
|
|
fi
|
|
if echo $a | grep "^--version" > /dev/null 2> /dev/null; then
|
|
cpack_version
|
|
exit 2
|
|
fi
|
|
if echo $a | grep "^--include-subdir" > /dev/null 2> /dev/null; then
|
|
cpack_include_subdir=TRUE
|
|
fi
|
|
if echo $a | grep "^--exclude-subdir" > /dev/null 2> /dev/null; then
|
|
cpack_include_subdir=FALSE
|
|
fi
|
|
if echo $a | grep "^--skip-license" > /dev/null 2> /dev/null; then
|
|
cpack_skip_license=TRUE
|
|
fi
|
|
done
|
|
|
|
if [ "x${cpack_include_subdir}x" != "xx" -o "x${cpack_skip_license}x" = "xTRUEx" ]
|
|
then
|
|
interactive=FALSE
|
|
fi
|
|
|
|
cpack_version
|
|
echo "This is a self-extracting archive."
|
|
toplevel="`pwd`"
|
|
if [ "x${cpack_prefix_dir}x" != "xx" ]
|
|
then
|
|
toplevel="${cpack_prefix_dir}"
|
|
fi
|
|
|
|
echo "The archive will be extracted to: ${toplevel}"
|
|
|
|
if [ "x${interactive}x" = "xTRUEx" ]
|
|
then
|
|
echo ""
|
|
echo "If you want to stop extracting, please press <ctrl-C>."
|
|
|
|
if [ "x${cpack_skip_license}x" != "xTRUEx" ]
|
|
then
|
|
more << '____cpack__here_doc____'
|
|
@CPACK_RESOURCE_FILE_LICENSE_CONTENT@
|
|
____cpack__here_doc____
|
|
echo
|
|
echo "Do you accept the license? [yN]: "
|
|
read line leftover
|
|
case ${line} in
|
|
y* | Y*)
|
|
cpack_license_accepted=TRUE;;
|
|
*)
|
|
echo "License not accepted. Exiting ..."
|
|
exit 1;;
|
|
esac
|
|
fi
|
|
|
|
if [ "x${cpack_include_subdir}x" = "xx" ]
|
|
then
|
|
echo "By default the @CPACK_PACKAGE_NAME@ will be installed in:"
|
|
echo " \"${toplevel}/@CPACK_PACKAGE_FILE_NAME@\""
|
|
echo "Do you want to include the subdirectory @CPACK_PACKAGE_FILE_NAME@?"
|
|
echo "Saying no will install in: \"${toplevel}\" [Yn]: "
|
|
read line leftover
|
|
cpack_include_subdir=TRUE
|
|
case ${line} in
|
|
n* | N*)
|
|
cpack_include_subdir=FALSE
|
|
esac
|
|
fi
|
|
fi
|
|
|
|
if [ "x${cpack_include_subdir}x" = "xTRUEx" ]
|
|
then
|
|
toplevel="${toplevel}/@CPACK_PACKAGE_FILE_NAME@"
|
|
mkdir -p "${toplevel}"
|
|
fi
|
|
echo
|
|
echo "Using target directory: ${toplevel}"
|
|
echo "Extracting, please wait..."
|
|
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
|
|
# 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=""
|
|
|
|
extractor="pax -r"
|
|
command -v pax > /dev/null 2> /dev/null || extractor="tar xf -"
|
|
|
|
tail $use_new_tail_syntax +###CPACK_HEADER_LENGTH### "$0" | gunzip | (cd "${toplevel}" && ${extractor}) || cpack_echo_exit "Problem unpacking the @CPACK_PACKAGE_FILE_NAME@"
|
|
|
|
echo "Unpacking finished successfully"
|
|
|
|
exit 0
|
|
#-----------------------------------------------------------
|
|
# Start of TAR.GZ file
|
|
#-----------------------------------------------------------;
|
|
|