summaryrefslogtreecommitdiff
path: root/app-misc/lirc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-05-18 00:10:51 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-05-18 00:10:51 +0100
commiteccb70a7f91b2d22582587f26d1a28bb31408b45 (patch)
tree3223e1fd54201bcf4ebecac6fbe87361cbe643e2 /app-misc/lirc
parenta2810985afabcc31d3eace5e61d8ea25b852ba17 (diff)
gentoo resync : 18.05.2019
Diffstat (limited to 'app-misc/lirc')
-rw-r--r--app-misc/lirc/Manifest4
-rw-r--r--app-misc/lirc/files/lirc-0.10.1-unsafe-load.patch52
-rw-r--r--app-misc/lirc/lirc-0.10.1-r1.ebuild160
-rw-r--r--app-misc/lirc/lirc-0.10.1.ebuild2
4 files changed, 216 insertions, 2 deletions
diff --git a/app-misc/lirc/Manifest b/app-misc/lirc/Manifest
index 2cb9f74bdc03..ad085342d8d7 100644
--- a/app-misc/lirc/Manifest
+++ b/app-misc/lirc/Manifest
@@ -1,10 +1,12 @@
AUX irexec-confd 280 BLAKE2B ad6663659c459811710a257cf357ddd5efbd17c09201c6e3ecc68d680004e8212e76365e09984b6c422fb5fa9603245c7443d1b71bb6064a2ed35734ab6dd630 SHA512 2b33e1044086d11fd6e1f9a204ce925182a3a2b92ef4399610e01702f9c2c8fbc87cae52961123297171eef3d40468ac17437b4281b26a5f3b256c9cebc612ac
AUX irexec-initd-0.9.4a-r2 681 BLAKE2B d2bf21ab1fe275bf5afea31a890c1de3300e836879b76c1c33bb40a59d9ad2b33285745a4d0a78f8bc2f589ba44e6fde31c7d07a02d9751e4b13b23975b1d9aa SHA512 0514712ce1a3e147e1c798319f90663baab7509299e2eb35551a716cf208e42b225f8539968bba1bd15270006fb728ff2f458015fb07bf325df8b0e095f5a206
+AUX lirc-0.10.1-unsafe-load.patch 2070 BLAKE2B 765e558f7d10081628b2516b6ae6c5ef3d7511fe6953032693c3e02b8d76b287d51ca71fefa4e789c159de6117cc4f741e1fae889550ae053759b6519d45ec71 SHA512 9a39a57b3855360133b6276afa08eed21064850bc7e0039ec1f6f7594859349b2489344e68ea2317371f264d48e63aebf0191ac3983fb0245d0b24a297d27753
AUX lircd-0.8.6-r2 1204 BLAKE2B ae4082b6f063d3100865bb3e974d9ebec8f04e08dae8c296c30152f69700924b8850c85687a5cedb3895f52c1e7a576b0855a52e350462a0552da64cd3a7e6a4 SHA512 482fccd204671f6258822029b9eb9a1e22abf02e382b3814f924f171fd1168d46560f52a90727f3de60c27a78158173a4e0c3e848d45e489471c27851c907c05
AUX lircd.conf.4 699 BLAKE2B 573b16d756f6df55c399fd77027ebb1e6bec1f28106d1a1d4cb028ab3694350a959486d33b82502a258492882e2fdfcb8f8e5220998ee4e1a503618ec247b30b SHA512 1fb1778f4cc72fc9c11b13a704b3abe80bcce5b3770b69b6b6bea8571e5293adad8c6968779b812e611b67734462c9a577cc71c6b16da3a5bfe31b8007300a62
AUX lircmd-0.10.0.conf 57 BLAKE2B 8c39aac91bf5ac603a1495bb7e27b74ee5f09e55e35297aae75b17ed1bb858a57aa1f524d096ec2744f0d543b719f13e80a467869b7ac86e560cc396a24b0648 SHA512 6a69c7600024f00947dc35e3c6cebf7524fcf5f2a1e799fe70590fef2070c1049c4e6177711821f4e7b13972fd6f535591b48bb1006acd44fa650591b3265ace
AUX lircmd-0.9.4a-r2 382 BLAKE2B 14e6f7822d8878a9047fc26cb0927ae61c70092788133a387be62a9e54b3d4f3c78734f5dd0a54ddb04dd2b48ba270177ca7af777ac80ba8bacdcbe3f9ce2d62 SHA512 c744553b6246e62845ee61e18d78d97e7242969d0bb5478072bd9072ce0a02486306b577ca64c1c569c9b136e3231a4f0663c94114879827329a769e5f36413d
AUX modprobed.lirc 549 BLAKE2B f58dcefff1becd48edaddab0d48e46f361b99de714bc8d3ae0d72f49fc8699fe9b9c7d8818a94eb7b40a5a653bfc8ca61ec11374c49ecebd1ef235d4ed8b8c08 SHA512 a64cac97e21ab53c247d8dd3e518b3caee5eeb9c3558727eba8a04684894c6be1695ce681e71d559474f4e78bbb39130d97f843eae18e56b3d3eb70f1fbefc63
DIST lirc-0.10.1.tar.bz2 2523226 BLAKE2B 47b7ee87de8f64f7f829af519c0d296a85cf91790148927e850965177d4984bb994a0ad122cb59c3db508813d0824ffec45126e794abd08174a052361cea53e5 SHA512 31c0b6ee169b302b99994a2a3fa0ebcae0e01cb83c02fe02acf1de5ba8cf77a091a0221c7d8104448c30930adafe654cd08afb7d0df6b5b7ec2d47df26e5df9d
-EBUILD lirc-0.10.1.ebuild 3723 BLAKE2B 250623ead65ca83bd7f7547dbf29fd48d40effbbb8f9ad5672ff911bc09834c25442279b4f0e29ac3c1c5a8df9be2a9533269dfb870f8b9b88ee6d5daeb628e5 SHA512 6d96c077bab6629dd10ffbb8eeed0c7ccad0e2079baf2c05d7c8c59bd079ff7f9e931257501d25b7307caee9852cd3e322e11b4dcf2f337a07d87d398216afa0
+EBUILD lirc-0.10.1-r1.ebuild 3778 BLAKE2B dbc9eed9df7d5244b371d9e6126cc5ae2cde41b2b061b3aa4b02a5268896bb5fb2109987bba0e8931f3dae4114bc01420e70bf5297c575dd2905cf8139054177 SHA512 2198cc38a1a99ef124603cb9a007143f706a69a5e96fd183d44d301631e199868c2cfc9b18a0f9e7c6054a6bfad6e13a10b85d3041d98a6b850cb46e7541d927
+EBUILD lirc-0.10.1.ebuild 3726 BLAKE2B 7054ad4a9a02d499e4460c9178f24eead6da0efa148e680e96c0a261899a05e63fc77221f270e448e2a3269a538b1a92f58b90592193f569ee1b29499b7e68d3 SHA512 db8f02c0931238d4d8d73a2217076d31d4b609dcd874a246005633d98ec655ac51d818e4007a673d19db279d3a1995609c6d3e0ac0cbb4a28242432ab1ae351e
MISC metadata.xml 969 BLAKE2B 6dabf8921994f06c7f9e39e2049c0ac86b5e5523c554eec3c061151627512f6f17d14eeb00256585dd9fd323f4293f74175ace6bd87846ba461a72ab6e7caef4 SHA512 fc510d070b7b97d28159b77a7540b38e8558efd8a780dffe8755e3bcea7bbd601211f19733c217ce670407c523b6c5daac2c9aedde2ddeecb81dda8472c48fb6
diff --git a/app-misc/lirc/files/lirc-0.10.1-unsafe-load.patch b/app-misc/lirc/files/lirc-0.10.1-unsafe-load.patch
new file mode 100644
index 000000000000..7758ebb6e899
--- /dev/null
+++ b/app-misc/lirc/files/lirc-0.10.1-unsafe-load.patch
@@ -0,0 +1,52 @@
+https://sourceforge.net/p/lirc/git/merge-requests/39/
+
+commit 8fab503abb3fdababb1875fdc2373afe8534770e
+Author: Craig Andrews <candrews@integralblue.com>
+Date: Sat May 11 11:39:44 2019 -0400
+
+ Use pyyaml safe_load instead of load
+
+ Using load on untrusted user input could lead to arbitrary code execution.
+ Therefore, upstream has disabled load, requiring the use of either
+ safe_load or full_load
+ See https://github.com/yaml/pyyaml/issues/265
+
+diff --git a/python-pkg/lirc/database.py b/python-pkg/lirc/database.py
+index d464c2ab..bd567181 100644
+--- a/python-pkg/lirc/database.py
++++ b/python-pkg/lirc/database.py
+@@ -66,7 +66,7 @@ def _load_kerneldrivers(configdir):
+ '''
+
+ with open(os.path.join(configdir, "kernel-drivers.yaml")) as f:
+- cf = yaml.load(f.read())
++ cf = yaml.safe_load(f.read())
+ drivers = cf['drivers'].copy()
+ for driver in cf['drivers']:
+ if driver == 'default':
+@@ -132,14 +132,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.safe_load(f.read())
+ 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.safe_load(f.read())
+ db['drivers'].update(cf['drivers'].copy())
+ for key, d in db['drivers'].items():
+ d['id'] = key
+@@ -158,7 +158,7 @@ class Database(object):
+ configs = {}
+ for path in glob.glob(configdir + '/*.conf'):
+ with open(path) as f:
+- cf = yaml.load(f.read())
++ cf = yaml.safe_load(f.read())
+ configs[cf['config']['id']] = cf['config']
+ db['configs'] = configs
+ self.db = db
diff --git a/app-misc/lirc/lirc-0.10.1-r1.ebuild b/app-misc/lirc/lirc-0.10.1-r1.ebuild
new file mode 100644
index 000000000000..b3bd462cb514
--- /dev/null
+++ b/app-misc/lirc/lirc-0.10.1-r1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+inherit eutils flag-o-matic linux-info python-single-r1 systemd xdg-utils
+
+DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
+HOMEPAGE="http://www.lirc.org/"
+
+LIRC_DRIVER_DEVICE="/dev/lirc0"
+
+MY_P=${PN}-${PV/_/-}
+
+if [[ "${PV/_pre/}" = "${PV}" ]]; then
+ SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2"
+else
+ SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="audio +devinput doc ftdi gtk inputlirc static-libs systemd +uinput usb X"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ gtk? ( X )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ audio? (
+ >media-libs/portaudio-18
+ media-libs/alsa-lib
+ )
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ftdi? ( dev-embedded/libftdi:0 )
+ systemd? ( sys-apps/systemd )
+ usb? ( virtual/libusb:0 )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-libs/libxslt
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( app-doc/doxygen )
+ sys-apps/kmod
+ sys-kernel/linux-headers
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ gtk? (
+ x11-libs/vte[introspection]
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ )
+ inputlirc? ( app-misc/inputlircd )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-unsafe-load.patch"
+)
+
+MAKEOPTS+=" -j1"
+
+pkg_setup() {
+ use uinput && CONFIG_CHECK="~INPUT_UINPUT"
+ python-single-r1_pkg_setup
+ linux-info_pkg_setup
+}
+
+src_configure() {
+ xdg_environment_reset
+ econf \
+ --localstatedir="${EPREFIX}/var" \
+ $(use_enable static-libs static) \
+ $(use_enable devinput) \
+ $(use_enable uinput) \
+ $(use_with X x)
+}
+
+src_install() {
+ default
+
+ if use !gtk ; then
+ # lirc-setup requires gtk
+ rm "${ED%/}"/usr/bin/lirc-setup || die
+ fi
+
+ newinitd "${FILESDIR}"/lircd-0.8.6-r2 lircd
+ newinitd "${FILESDIR}"/lircmd-0.9.4a-r2 lircmd
+ newconfd "${FILESDIR}"/lircd.conf.4 lircd
+ newconfd "${FILESDIR}"/lircmd-0.10.0.conf lircmd
+
+ insinto /etc/modprobe.d/
+ newins "${FILESDIR}"/modprobed.lirc lirc.conf
+
+ newinitd "${FILESDIR}"/irexec-initd-0.9.4a-r2 irexec
+ newconfd "${FILESDIR}"/irexec-confd irexec
+
+ keepdir /etc/lirc
+ if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
+ newdoc "${ED%/}"/etc/lirc/lircd.conf lircd.conf.example
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+
+ # Avoid QA notice
+ rm -d "${ED%/}"/var/run/lirc || die
+ rm -d "${ED%/}"/var/run || die
+}
+
+pkg_preinst() {
+ local dir="${EROOT%/}/etc/modprobe.d"
+ if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then
+ elog "Renaming ${dir}/lirc to lirc.conf"
+ mv -f "${dir}/lirc" "${dir}/lirc.conf" || die
+ fi
+
+ # copy the first file that can be found
+ if [[ -f "${EROOT%/}"/etc/lirc/lircd.conf ]]; then
+ cp "${EROOT%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
+ elif [[ -f "${EROOT%/}"/etc/lircd.conf ]]; then
+ cp "${EROOT%/}"/etc/lircd.conf "${T}"/lircd.conf || die
+ MOVE_OLD_LIRCD_CONF=1
+ elif [[ -f "${ED%/}"/etc/lirc/lircd.conf ]]; then
+ cp "${ED%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
+ fi
+
+ # stop portage from touching the config file
+ if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
+ rm -f "${ED%/}"/etc/lirc/lircd.conf || die
+ fi
+}
+
+pkg_postinst() {
+ # copy config file to new location
+ # without portage knowing about it
+ # so it will not delete it on unmerge or ever touch it again
+ if [[ -e "${T}"/lircd.conf ]]; then
+ cp "${T}"/lircd.conf "${EROOT%/}"/etc/lirc/lircd.conf || die
+ if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
+ elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
+ rm -f "${EROOT%/}"/etc/lircd.conf || die
+ fi
+ fi
+
+ einfo "The new default location for lircd.conf is inside of"
+ einfo "${EROOT%/}/etc/lirc/ directory"
+}
diff --git a/app-misc/lirc/lirc-0.10.1.ebuild b/app-misc/lirc/lirc-0.10.1.ebuild
index c35abf0e0422..60b8ec018130 100644
--- a/app-misc/lirc/lirc-0.10.1.ebuild
+++ b/app-misc/lirc/lirc-0.10.1.ebuild
@@ -38,7 +38,7 @@ COMMON_DEPEND="
>media-libs/portaudio-18
media-libs/alsa-lib
)
- dev-python/pyyaml[${PYTHON_USEDEP}]
+ <dev-python/pyyaml-5[${PYTHON_USEDEP}]
ftdi? ( dev-embedded/libftdi:0 )
systemd? ( sys-apps/systemd )
usb? ( virtual/libusb:0 )