commit: 97bf3ffb0f4e0ae46d041e4f288e982654f1f8c2 Author: Diogo Pereira <sir.suriv <AT> gmail <DOT> com> AuthorDate: Mon May 14 01:21:20 2018 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Mon May 14 13:53:33 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97bf3ffb
sys-block/targetcli-fb: fix python3 compatibility Fix a crash under python3 when creating a block-based backstore. Closes: https://bugs.gentoo.org/654756 Closes: https://github.com/gentoo/gentoo/pull/8393 Package-Manager: Portage-2.3.24, Repoman-2.3.6 .../files/targetcli-fb-2.1.48-python3.patch | 23 ++++++++++++++ .../targetcli-fb/targetcli-fb-2.1.48-r2.ebuild | 36 ++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/sys-block/targetcli-fb/files/targetcli-fb-2.1.48-python3.patch b/sys-block/targetcli-fb/files/targetcli-fb-2.1.48-python3.patch new file mode 100644 index 00000000000..ec771c4a130 --- /dev/null +++ b/sys-block/targetcli-fb/files/targetcli-fb-2.1.48-python3.patch @@ -0,0 +1,23 @@ +From ed5ff9b9505e50b545e86dfbdd32077f0ddda0cb Mon Sep 17 00:00:00 2001 +From: Taylor Jakobson <[email protected]> +Date: Thu, 1 Feb 2018 14:44:32 -0600 +Subject: [PATCH] Use signed char instead of char + +Python3 does not have the "character" type, use signed char instead. +--- + targetcli/ui_backstore.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/targetcli/ui_backstore.py b/targetcli/ui_backstore.py +index 3a2db10..5af448f 100644 +--- a/targetcli/ui_backstore.py ++++ b/targetcli/ui_backstore.py +@@ -536,7 +536,7 @@ def _ui_block_ro_check(self, dev): + except (OSError, IOError): + raise ExecutionError("Could not open %s" % dev) + # ioctl returns an int. Provision a buffer for it +- buf = array.array('c', [chr(0)] * 4) ++ buf = array.array('b', [0] * 4) + try: + fcntl.ioctl(f, BLKROGET, buf) + except (OSError, IOError): diff --git a/sys-block/targetcli-fb/targetcli-fb-2.1.48-r2.ebuild b/sys-block/targetcli-fb/targetcli-fb-2.1.48-r2.ebuild new file mode 100644 index 00000000000..b5191e41649 --- /dev/null +++ b/sys-block/targetcli-fb/targetcli-fb-2.1.48-r2.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit distutils-r1 versionator + +MY_PV=$(replace_version_separator 2 '.fb' ${PV}) + +DESCRIPTION="Command shell for managing Linux LIO kernel target" +HOMEPAGE="https://github.com/open-iscsi/targetcli-fb" +SRC_URI="https://github.com/open-iscsi/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" +RDEPEND="dev-python/configshell-fb[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.62[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + !sys-block/targetcli" + +S="${WORKDIR}/${PN}-${MY_PV}" + +PATCHES=( "${FILESDIR}/${P}-python3.patch" ) + +src_install() { + distutils-r1_src_install + + keepdir /etc/target /etc/target/backup + doman targetcli.8 +}
