Skip to content
Snippets Groups Projects
Commit cd28f18f authored by Antonio Rojas's avatar Antonio Rojas
Browse files

Fix build with python-yaml 6 (FS#73766)

parent bfb048ad
No related branches found
Tags 1-0.10.1-12
No related merge requests found
......@@ -4,7 +4,7 @@
pkgname=lirc
_pkgver=0.10.1
[[ $_pkgver =~ [a-z]$ ]] && pkgver="${_pkgver:0:-1}.${_pkgver: -1}" || pkgver="$_pkgver"
pkgrel=11
pkgrel=12
epoch=1
pkgdesc="Linux Infrared Remote Control utilities"
arch=('x86_64')
......@@ -23,16 +23,19 @@ backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf
source=("https://prdownloads.sourceforge.net/${pkgname}/${pkgname}-${_pkgver}.tar.bz2"
lirc-0.10-build-fix.patch
lirc.logrotate
lirc.tmpfiles)
lirc.tmpfiles
python-yaml-6.patch)
sha1sums=('9d6f6d18ac566a96ef4ca1d6909a4e8bc517d48a'
'952ce902c94d822b0113d8e74bc6fda6a551ad7e'
'4342b004eb53d51fcbb9af2cf136bb4990874608'
'5cd3f206e6e60632d9bea2ce9d22dbe5283eb129')
'5cd3f206e6e60632d9bea2ce9d22dbe5283eb129'
'3d6d40bba363051ae36c09709dc5a41166cf2d51')
prepare() {
cd "${srcdir}/lirc-${_pkgver}"
patch -p1 -i ../lirc-0.10-build-fix.patch
patch -p1 -i ../python-yaml-6.patch # Fix build with python-yaml 6
autoreconf -fi
automake -ac
......
From bb6a390633f32942ac10f9b7b7fc01dfbd395a48 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@nowhere.net>
Date: Fri, 21 Jan 2022 14:00:54 +0100
Subject: [PATCH] database.py: Handle new PyYAML interface.
---
python-pkg/lirc/database.py | 12 ++++++++----
tools/check_configs.py | 4 ++++
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/python-pkg/lirc/database.py b/python-pkg/lirc/database.py
index d464c2ab..d1f42c64 100644
--- a/python-pkg/lirc/database.py
+++ b/python-pkg/lirc/database.py
@@ -44,6 +44,10 @@ import sys
try:
import yaml
+ try:
+ from yaml import CLoader as Loader, CDumper as Dumper
+ except ImportError:
+ from yaml import Loader, Dumper
except ImportError:
_YAML_MSG = '''
"Cannot import the yaml library. Please install the python3
@@ -66,7 +70,7 @@ def _load_kerneldrivers(configdir):
'''
with open(os.path.join(configdir, "kernel-drivers.yaml")) as f:
- cf = yaml.load(f.read())
+ cf = yaml.load(f.read(), Loader = Loader)
drivers = cf['drivers'].copy()
for driver in cf['drivers']:
if driver == 'default':
@@ -132,14 +136,14 @@ class Database(object):
yamlpath = configdir
db = {}
with open(os.path.join(yamlpath, "confs_by_driver.yaml")) as f:
- cf = yaml.load(f.read())
+ cf = yaml.load(f.read(), Loader = Loader)
db['lircd_by_driver'] = cf['lircd_by_driver'].copy()
db['lircmd_by_driver'] = cf['lircmd_by_driver'].copy()
db['kernel-drivers'] = _load_kerneldrivers(configdir)
db['drivers'] = db['kernel-drivers'].copy()
with open(os.path.join(yamlpath, "drivers.yaml")) as f:
- cf = yaml.load(f.read())
+ cf = yaml.load(f.read(), Loader = Loader)
db['drivers'].update(cf['drivers'].copy())
for key, d in db['drivers'].items():
d['id'] = key
@@ -158,7 +162,7 @@ class Database(object):
configs = {}
for path in glob.glob(configdir + '/*.conf'):
with open(path) as f:
- cf = yaml.load(f.read())
+ cf = yaml.load(f.read(), Loader = Loader)
configs[cf['config']['id']] = cf['config']
db['configs'] = configs
self.db = db
diff --git a/tools/check_configs.py b/tools/check_configs.py
index 1e0d831b..5e458de7 100755
--- a/tools/check_configs.py
+++ b/tools/check_configs.py
@@ -4,6 +4,10 @@
import glob
import yaml
+try:
+ from yaml import CLoader as Loader, CDumper as Dumper
+except ImportError:
+ from yaml import Loader, Dumper
def main():
configs = {}
--
2.34.1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment