tools/scons: switch to Python 3

Build tested on ath79 with following packages from packages feed which
build depends on scons. None of them build anymore as it seems, that the
SConscripts are written for Python2.

 * packages/net/iotivity (KO, doesn't build even with latest 1.3.1 release)

   SyntaxError: invalid syntax
    File "/openwrt/build_dir/target-mips_24kc_musl/iotivity-1.2.1/build_common/SConscript", line 40
      print "\nError: Current system (%s) isn't supported\n" % host

   LookupError: unknown encoding: string_escape:
    File "/home/petr/testing/openwrt/build_dir/target-mips_24kc_musl/iotivity-1.3.1/SConstruct", line 28:
      SConscript('build_common/SConscript')

 * packages/net/smartsnmpd (KO, seems dead, no commit since 2015):

   SyntaxError: Missing parentheses in call to 'print'
    File "/openwrt/build_dir/target-mips_24kc_musl/smartsnmpd-2014-08-13/SConstruct", line 156
      print "Can't find liblua or liblua5.1!"

 * packages/utils/gpsd (KO, doesn't build even with latest 3.18.1 release):

   AttributeError: 'list' object has no attribute 'keys':
     File "/openwrt/build_dir/target-mips_24kc_musl/gpsd-3.18.1/SConstruct", line 1758:
       all_manpages = list(base_manpages.keys()) + list(python_manpages.keys())

Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
Petr Štetiar 2019-03-19 12:34:26 +00:00
parent 57bb89b57f
commit 316c8b5503

View File

@ -5,11 +5,11 @@ case "${0##*/}" in
*) arg1="$0.py" ;; *) arg1="$0.py" ;;
esac esac
for bin in python python2 python2.7 python2.6 python2.5 python2.4; do for bin in python python3; do
case "$($bin -V 2>&1)" in case "$($bin -V 2>&1)" in
"Python 2"*) exec $bin $arg1 "$@" ;; "Python 3"*) exec $bin $arg1 "$@" ;;
esac esac
done done
echo "Unable to find a Python 2.x interpreter for executing ${arg1:+$arg1 }$@ !" >&2 echo "Unable to find a Python 3.x interpreter for executing ${arg1:+$arg1 }$@ !" >&2
exit 1 exit 1