Detect if sed supports --in-place

Not all versions of sed have the --in-place flag. Detect support for
the flag during ./configure and provide a fallback mechanism for those
systems where sed's behavior differs. The autoconf variable
${ac_inplace} can be used to choose the correct flags for editing a
file in place with sed.

Replace violating usages in Makefile.am with ${ac_inplace}.

Reviewed-by: Chris Dunlop <chris@onthe.net.au>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ryan Moeller <ryan@ixsystems.com>
Closes #9463
This commit is contained in:
Ryan Moeller
2019-10-16 22:19:48 -04:00
committed by Brian Behlendorf
parent 08f530c699
commit 4313a5b4c5
5 changed files with 20 additions and 3 deletions
+16
View File
@@ -0,0 +1,16 @@
dnl #
dnl # Set the flags used for sed in-place edits.
dnl #
AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_SED], [
ac_inplace=""
AC_CACHE_CHECK([for sed --in-place], [ac_cv_path_SED],
[AC_PATH_PROGS_FEATURE_CHECK([SED], [sed],
[[tmpfile=$(mktemp)
echo foo > $tmpfile
$ac_path_SED --in-place 's#foo#bar#' $tmpfile \
&& ac_cv_path_SED=$ac_path_SED
rm $tmpfile]],
[ac_inplace="-i ''"])])
AS_IF([test "x$ac_inplace" = "x"], [ac_inplace="--in-place"])
AC_SUBST([ac_inplace])
])
+1
View File
@@ -164,6 +164,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
ZFS_AC_CONFIG_ALWAYS_ARCH
ZFS_AC_CONFIG_ALWAYS_PYTHON
ZFS_AC_CONFIG_ALWAYS_PYZFS
ZFS_AC_CONFIG_ALWAYS_SED
])
AC_DEFUN([ZFS_AC_CONFIG], [