tools/scons: switch to Python 3
authorPetr Štetiar <ynezz@true.cz>
Tue, 19 Mar 2019 12:34:26 +0000 (12:34 +0000)
committerPetr Štetiar <ynezz@true.cz>
Fri, 26 Jul 2019 06:09:16 +0000 (08:09 +0200)
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>
tools/scons/files/pywrap.sh

index f62f590e0bce40c2707e05b2e5f98dadbd2e1014..53910e947209dd8cd19fdf5bf8ee857ad71d5823 100755 (executable)
@@ -5,11 +5,11 @@ case "${0##*/}" in
        *) arg1="$0.py" ;;
 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
-        "Python 2"*) exec $bin $arg1 "$@" ;;
+        "Python 3"*) exec $bin $arg1 "$@" ;;
     esac
 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