Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris.
This adds a configure option --enable-path-for-scripts=PREFIX which defaults to empty except on Solaris it is /usr/xpg4/bin to make POSIX grep and others available. The Solaris case had been documented in INSTALL with a manual fix but it's better to do this automatically since it is needed on most Solaris systems anyway. Thanks to Daniel Richard G.
This commit is contained in:
parent
6a89e656eb
commit
43ce4ea7c7
43
INSTALL
43
INSTALL
|
@ -123,8 +123,11 @@ XZ Utils Installation
|
||||||
as an argument to the configure script.
|
as an argument to the configure script.
|
||||||
|
|
||||||
test_scripts.sh in "make check" may fail if good enough tools are
|
test_scripts.sh in "make check" may fail if good enough tools are
|
||||||
missing from PATH (/usr/xpg4/bin or /usr/xpg6/bin). See sections
|
missing from PATH (/usr/xpg4/bin or /usr/xpg6/bin). Nowadays
|
||||||
4.5 and 3.2 for more information.
|
/usr/xpg4/bin is added to the script PATH by default on Solaris
|
||||||
|
(see --enable-path-for-scripts=PREFIX in section 2), but old xz
|
||||||
|
releases needed extra steps. See sections 4.5 and 3.2 for more
|
||||||
|
information.
|
||||||
|
|
||||||
|
|
||||||
1.2.6. Tru64
|
1.2.6. Tru64
|
||||||
|
@ -438,6 +441,23 @@ XZ Utils Installation
|
||||||
and should work on most systems. This has no effect on the
|
and should work on most systems. This has no effect on the
|
||||||
resulting binaries.
|
resulting binaries.
|
||||||
|
|
||||||
|
--enable-path-for-scripts=PREFIX
|
||||||
|
If PREFIX isn't empty, PATH=PREFIX:$PATH will be set in
|
||||||
|
the beginning of the scripts (xzgrep and others).
|
||||||
|
The default is empty except on Solaris the default is
|
||||||
|
/usr/xpg4/bin.
|
||||||
|
|
||||||
|
This can be useful if the default PATH doesn't contain
|
||||||
|
modern POSIX tools (as can be the case on Solaris) or if
|
||||||
|
one wants to ensure that the correct xz binary is in the
|
||||||
|
PATH for the scripts. Note that the latter use can break
|
||||||
|
"make check" if the prefixed PATH causes a wrong xz binary
|
||||||
|
(other than the one that was just built) to be used.
|
||||||
|
|
||||||
|
Older xz releases support a different method for setting
|
||||||
|
the PATH for the scripts. It is described in section 3.2
|
||||||
|
and is supported in this xz version too.
|
||||||
|
|
||||||
|
|
||||||
2.1. Static vs. dynamic linking of liblzma
|
2.1. Static vs. dynamic linking of liblzma
|
||||||
|
|
||||||
|
@ -510,11 +530,17 @@ XZ Utils Installation
|
||||||
|
|
||||||
3.2. PATH
|
3.2. PATH
|
||||||
|
|
||||||
|
The method described below is supported by older xz releases.
|
||||||
|
It is supported by the current version too, but the newer
|
||||||
|
--enable-path-for-scripts=PREFIX described in section 2 may be
|
||||||
|
more convenient.
|
||||||
|
|
||||||
The scripts assume that the required tools (standard POSIX utilities,
|
The scripts assume that the required tools (standard POSIX utilities,
|
||||||
mktemp, and xz) are in PATH; the scripts don't set the PATH themselves.
|
mktemp, and xz) are in PATH; the scripts don't set the PATH themselves
|
||||||
Some people like this while some think this is a bug. Those in the
|
(except as described for --enable-path-for-scripts=PREFIX). Some
|
||||||
latter group can easily patch the scripts before running the configure
|
people like this while some think this is a bug. Those in the latter
|
||||||
script by taking advantage of a placeholder line in the scripts.
|
group can easily patch the scripts before running the configure script
|
||||||
|
by taking advantage of a placeholder line in the scripts.
|
||||||
|
|
||||||
For example, to make the scripts prefix /usr/bin:/bin to PATH:
|
For example, to make the scripts prefix /usr/bin:/bin to PATH:
|
||||||
|
|
||||||
|
@ -588,8 +614,9 @@ XZ Utils Installation
|
||||||
some tools are missing from the current PATH or the tools lack
|
some tools are missing from the current PATH or the tools lack
|
||||||
support for some POSIX features. This can happen at least on
|
support for some POSIX features. This can happen at least on
|
||||||
Solaris where the tools in /bin may be ancient but good enough
|
Solaris where the tools in /bin may be ancient but good enough
|
||||||
tools are available in /usr/xpg4/bin or /usr/xpg6/bin. One fix
|
tools are available in /usr/xpg4/bin or /usr/xpg6/bin. For possible
|
||||||
for this problem is described in section 3.2 of this file.
|
fixes, see --enable-path-for-scripts=PREFIX in section 2 and the
|
||||||
|
older alternative method described in section 3.2 of this file.
|
||||||
|
|
||||||
If tests other than test_scripts.sh fail, a likely reason is that
|
If tests other than test_scripts.sh fail, a likely reason is that
|
||||||
libtool links the test programs against an installed version of
|
libtool links the test programs against an installed version of
|
||||||
|
|
26
configure.ac
26
configure.ac
|
@ -516,6 +516,32 @@ case $enable_sandbox in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# PATH prefix for scripts #
|
||||||
|
###########################
|
||||||
|
|
||||||
|
# The scripts can add a prefix to the search PATH so that POSIX tools
|
||||||
|
# or the xz binary is always in the PATH.
|
||||||
|
AC_ARG_ENABLE([path-for-scripts],
|
||||||
|
[AS_HELP_STRING([--enable-path-for-scripts=PREFIX],
|
||||||
|
[If PREFIX isn't empty, PATH=PREFIX:$PATH will be set in
|
||||||
|
the beginning of the scripts (xzgrep and others).
|
||||||
|
The default is empty except on Solaris the default is
|
||||||
|
/usr/xpg4/bin.])],
|
||||||
|
[], [
|
||||||
|
case $host_os in
|
||||||
|
solaris*) enable_path_for_scripts=/usr/xpg4/bin ;;
|
||||||
|
*) enable_path_for_scripts= ;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
if test -n "$enable_path_for_scripts" && test "x$enable_path_for_scripts" != xno ; then
|
||||||
|
enable_path_for_scripts="PATH=$enable_path_for_scripts:\$PATH"
|
||||||
|
else
|
||||||
|
enable_path_for_scripts=
|
||||||
|
fi
|
||||||
|
AC_SUBST([enable_path_for_scripts])
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Checks for programs.
|
# Checks for programs.
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
@enable_path_for_scripts@
|
||||||
#SET_PATH - This line is a placeholder to ease patching this script.
|
#SET_PATH - This line is a placeholder to ease patching this script.
|
||||||
|
|
||||||
# Instead of unsetting XZ_OPT, just make sure that xz will use file format
|
# Instead of unsetting XZ_OPT, just make sure that xz will use file format
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
@enable_path_for_scripts@
|
||||||
#SET_PATH - This line is a placeholder to ease patching this script.
|
#SET_PATH - This line is a placeholder to ease patching this script.
|
||||||
|
|
||||||
# Instead of unsetting XZ_OPT, just make sure that xz will use file format
|
# Instead of unsetting XZ_OPT, just make sure that xz will use file format
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
@enable_path_for_scripts@
|
||||||
#SET_PATH - This line is a placeholder to ease patching this script.
|
#SET_PATH - This line is a placeholder to ease patching this script.
|
||||||
|
|
||||||
# Instead of unsetting XZ_OPT, just make sure that xz will use file format
|
# Instead of unsetting XZ_OPT, just make sure that xz will use file format
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
@enable_path_for_scripts@
|
||||||
#SET_PATH - This line is a placeholder to ease patching this script.
|
#SET_PATH - This line is a placeholder to ease patching this script.
|
||||||
|
|
||||||
# Instead of unsetting XZ_OPT, just make sure that xz will use file format
|
# Instead of unsetting XZ_OPT, just make sure that xz will use file format
|
||||||
|
|
Loading…
Reference in New Issue