unicornafl build script: find matching python and setuptools
MODIFY
unicorn_mode/build_unicorn_support.sh
unicorn_mode/build_unicorn_support.sh
@@ -107,11 +107,13 @@ for i in $PYTHONBIN automake autoconf git $MAKECMD $TARCMD; do
done
-if ! command -v $EASY_INSTALL >/dev/null; then
+# some python version should be available now
+PYTHONS="`command -v python3` `command -v python` `command -v python2`"
+EASY_INSTALL_FOUND=0
+for PYTHON in $PYTHONS ; do
# work around for installs with executable easy_install
- EASY_INSTALL_FOUND=0
- MYPYTHONPATH=`${PYTHONBIN} -v </dev/null 2>&1 >/dev/null | sed -n -e '/^# \/.*\/os.py/{ s/.*matches //; s/os.py$//; p;}'`
+ MYPYTHONPATH=`${PYTHON} -v </dev/null 2>&1 >/dev/null | sed -n -e '/^# \/.*\/os.py/{ s/.*matches //; s/os.py$//; p;}'`
for PATHCANDIDATE in \
"dist-packages/" \
"site-packages/"
@@ -119,10 +121,13 @@ if ! command -v $EASY_INSTALL >/dev/null; then
if [ -e "${MYPYTHONPATH}/${PATHCANDIDATE}/easy_install.py" ] ; then
EASY_INSTALL_FOUND=1
+ PYTHONBIN=$PYTHON
break
fi
done
+
+done
if [ "0" = $EASY_INSTALL_FOUND ]; then
echo "[-] Error: Python setup-tools not found. Run 'sudo apt-get install python-setuptools'."
@@ -130,8 +135,6 @@ if ! command -v $EASY_INSTALL >/dev/null; then
fi
-fi
-
if echo "$CC" | grep -qF /afl-; then
echo "[-] Error: do not use afl-gcc or afl-clang to compile this tool."

unicornafl build script: find matching python and setuptools