Skip to contentSkip to conversation

lirc-tools: fix build with host python3

PATCH New Baruch Siach 2 participants 4 messages Apr 5, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 lirc-tools: fix build with host python3

Add an upstream patch making make_rel_symlink.py python3 compatible and making python3 mandatory. Update lirc-tools dependencies accordingly.

Fixes:
http://autobuild.buildroot.net/results/6c6/6c6e014a751650c16d25dfd3d673bd3199c72b2e/
http://autobuild.buildroot.net/results/857/85724dfd014cec5a80dd18a635826daa2edc1417/
http://autobuild.buildroot.net/results/a74/a74563f700a47065ffd1ba42c83c2d7722bacd89/

and many others.

---
 ...ools-Make-make_rel_symlink.py-use-python3.patch | 46 ++++++++++++++++++++++
 package/lirc-tools/lirc-tools.mk                   |  2 +
 2 files changed, 48 insertions(+)
 create mode 100644 package/lirc-tools/0001-tools-Make-make_rel_symlink.py-use-python3.patch
package/lirc-tools/0001-tools-Make-make_rel_symlink.py-use-python3.patch new file +46 -0
new file mode 100644
index 000000000000..3b5db2d6a644
@@ -0,0 +1,46 @@
+From ae2e8cc85b6b4d2202e42d704dde8757ffd31da6 Mon Sep 17 00:00:00 2001
+From: Alec Leamas <[email protected]>
+Date: Thu, 11 Dec 2014 04:44:49 +0100
+Subject: [PATCH] tools: Make make_rel_symlink.py use python3.
+
+Upstream patch:
+http://sourceforge.net/p/lirc/git/ci/ae2e8cc85b6b4d2202e42d704dde8757ffd31da6/
+
+Signed-off-by: Baruch Siach <[email protected]>
+---
+ tools/make_rel_symlink.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tools/make_rel_symlink.py b/tools/make_rel_symlink.py
+index 5c893056f379..896637ff93e0 100755
+--- a/tools/make_rel_symlink.py
++++ b/tools/make_rel_symlink.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ 
+ import os
+ import os.path
+@@ -32,16 +32,16 @@ if sys.argv[1] == "-p":
+     sys.argv = sys.argv[ 1:]
+ 
+ if len( sys.argv ) != 3:
+-    print USAGE
++    print(USAGE)
+     sys.exit( 1 )
+ 
+ if  os.path.isdir(  sys.argv[2] ):
+-    print "Removing link target dir:" +  sys.argv[2]
++    print("Removing link target dir:" +  sys.argv[2])
+     shutil.rmtree( sys.argv[2])
+ 
+ link_path = relative_ln_s( sys.argv[1], sys.argv[2] )
+ if just_print:
+-    print link_path
++    print(link_path)
+ else:
+     os.chdir( os.path.dirname( sys.argv[2]))
+     target = os.path.basename( sys.argv[2])
+-- 
+2.1.4
+
package/lirc-tools/lirc-tools.mk +2 -0
index af332eaa763c..3e22fe449dfb 100644
@@ -9,6 +9,8 @@ LIRC_TOOLS_SOURCE = lirc-$(LIRC_TOOLS_VERSION).tar.bz2
 LIRC_TOOLS_SITE = http://downloads.sourceforge.net/project/lirc/LIRC/$(LIRC_TOOLS_VERSION)/
 LIRC_TOOLS_LICENSE = GPLv2+
 LIRC_TOOLS_LICENSE_FILES = COPYING
+# For make_rel_symlink.py
+LIRC_TOOLS_DEPENDENCIES = host-python3
 
 LIRC_TOOLS_CONF_OPTS = \
 	--without-x \
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 lirc-tools: fix build with host python3

Dear Baruch Siach,

Quoted 11 lines · Baruch Siach

Add an upstream patch making make_rel_symlink.py python3 compatible and making python3 mandatory. Update lirc-tools dependencies accordingly.

Fixes:
http://autobuild.buildroot.net/results/6c6/6c6e014a751650c16d25dfd3d673bd3199c72b2e/
http://autobuild.buildroot.net/results/857/85724dfd014cec5a80dd18a635826daa2edc1417/
http://autobuild.buildroot.net/results/a74/a74563f700a47065ffd1ba42c83c2d7722bacd89/

and many others.

Is host-python3 actually mandatory? When BR2_PACKAGE_PYTHON3 is not enabled, it can perfectly fine use the host python?

So what about:

* Using #!/usr/bin/env python in the script, and make the script both python 2 and python 3 compliant.

* Use $(if $(BR2_PACKAGE_PYTHON3),host-python3) in the dependencies ?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 lirc-tools: fix build with host python3

Hi Thomas,

Quoted 16 lines · Thomas Petazzoni
Quoted 11 lines · Baruch Siach

Add an upstream patch making make_rel_symlink.py python3 compatible and making python3 mandatory. Update lirc-tools dependencies accordingly.

Fixes:
http://autobuild.buildroot.net/results/6c6/6c6e014a751650c16d25dfd3d673bd3199c72b2e/
http://autobuild.buildroot.net/results/857/85724dfd014cec5a80dd18a635826daa2edc1417/
http://autobuild.buildroot.net/results/a74/a74563f700a47065ffd1ba42c83c2d7722bacd89/

and many others.

Is host-python3 actually mandatory? When BR2_PACKAGE_PYTHON3 is not enabled, it can perfectly fine use the host python?

Quoted 6 lines

So what about:

* Using #!/usr/bin/env python in the script, and make the script both python 2 and python 3 compliant.

* Use $(if $(BR2_PACKAGE_PYTHON3),host-python3) in the dependencies ?

Are both needed? If the script is compliant with both python2 and python3, then we can rely on the host provided python in case host-python3 has not been built by the time lirc-tools builds, isn't it?

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#3 lore raw

PATCH 1/1 lirc-tools: fix build with host python3

Dear Baruch Siach,

Quoted 10 lines · Baruch Siach
Quoted 6 lines

So what about:

* Using #!/usr/bin/env python in the script, and make the script both python 2 and python 3 compliant.

* Use $(if $(BR2_PACKAGE_PYTHON3),host-python3) in the dependencies ?

Are both needed? If the script is compliant with both python2 and python3, then we can rely on the host provided python in case host-python3 has not been built by the time lirc-tools builds, isn't it?

True.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com