mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-08-01 07:27:43 +00:00
Improve the checking of sed by adding some common GNU sed installation
names (gsed/gnused), checking for a basic OS X sed feature in command line option handling, checking the actual result of the sed run against the expected result, and placing common code for the check under toolchain/dependencies/. (Heikki Lindholm)
This commit is contained in:
parent
a9612bfdd9
commit
1506b0cfd5
@ -2,24 +2,10 @@
|
|||||||
|
|
||||||
# Make sure the host sed supports '-i' (in-place).
|
# Make sure the host sed supports '-i' (in-place).
|
||||||
# If it doesn't, we'll build and use our own.
|
# If it doesn't, we'll build and use our own.
|
||||||
|
SED=$(toolchain/dependencies/check-host-sed.sh)
|
||||||
|
|
||||||
if test -x /usr/bin/sed ; then
|
if [ -z "$SED" ] ; then
|
||||||
SED="/usr/bin/sed"
|
|
||||||
else
|
|
||||||
if test -x /bin/sed ; then
|
|
||||||
SED="/bin/sed"
|
|
||||||
else
|
|
||||||
SED="sed"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "HELLO" > .sedtest
|
|
||||||
$SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1
|
|
||||||
|
|
||||||
if test $? != 0 ; then
|
|
||||||
echo build-sed-host-binary
|
echo build-sed-host-binary
|
||||||
else
|
else
|
||||||
echo use-sed-host-binary
|
echo use-sed-host-binary
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f .sedtest
|
|
||||||
|
38
toolchain/dependencies/check-host-sed.sh
Executable file
38
toolchain/dependencies/check-host-sed.sh
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
SEDLIST="/usr/bin/sed /bin/sed sed gnused gsed"
|
||||||
|
|
||||||
|
DIFF=$(which diff)
|
||||||
|
if ! test -x "$DIFF" ; then
|
||||||
|
/bin/echo -e "\n\ntesting for sed needs 'diff' on your build machine\n";
|
||||||
|
exit 1;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
for SED in $SEDLIST
|
||||||
|
do
|
||||||
|
if ! test -x $SED ; then
|
||||||
|
SED=$(which $SED)
|
||||||
|
if ! test -x "$SED" > /dev/null ; then
|
||||||
|
SED=""
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "HELLO" > .sedtest
|
||||||
|
echo "GOODBYE" > .sedtest-correct
|
||||||
|
$SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1
|
||||||
|
|
||||||
|
if test $? != 0 ; then
|
||||||
|
SED=""
|
||||||
|
elif test -e ".sedtest-e" ; then
|
||||||
|
rm -f ".sedtest-e"
|
||||||
|
SED=""
|
||||||
|
elif ! $DIFF ".sedtest" ".sedtest-correct" > /dev/null ; then
|
||||||
|
echo "diff failed"
|
||||||
|
SED=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f .sedtest .sedtest-correct
|
||||||
|
if [ ! -z "$SED" ] ; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo $SED
|
@ -86,30 +86,6 @@ fi;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#############################################################
|
|
||||||
#
|
|
||||||
# check build system 'sed'
|
|
||||||
#
|
|
||||||
#############################################################
|
|
||||||
if test -x /usr/bin/sed ; then
|
|
||||||
SED="/usr/bin/sed"
|
|
||||||
else
|
|
||||||
if test -x /bin/sed ; then
|
|
||||||
SED="/bin/sed"
|
|
||||||
else
|
|
||||||
SED="sed"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "HELLO" > .sedtest
|
|
||||||
$SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1
|
|
||||||
if test $? != 0 ; then
|
|
||||||
echo "sed works: No, using buildroot version instead"
|
|
||||||
else
|
|
||||||
echo "sed works: Ok"
|
|
||||||
fi
|
|
||||||
rm -f .sedtest
|
|
||||||
XSED=$HOST_SED_DIR/bin/sed
|
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
#
|
#
|
||||||
# check build system 'which'
|
# check build system 'which'
|
||||||
@ -123,6 +99,25 @@ fi;
|
|||||||
echo "which installed: Ok"
|
echo "which installed: Ok"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
#
|
||||||
|
# check build system 'sed'
|
||||||
|
#
|
||||||
|
#############################################################
|
||||||
|
SED=$(toolchain/dependencies/check-host-sed.sh)
|
||||||
|
|
||||||
|
if [ -z "$SED" ] ; then
|
||||||
|
XSED=$HOST_SED_DIR/bin/sed
|
||||||
|
echo "sed works: No, using buildroot version instead"
|
||||||
|
else
|
||||||
|
XSED=$SED
|
||||||
|
echo "sed works: Ok ($SED)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
#
|
#
|
||||||
# check build system 'make'
|
# check build system 'make'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user