dev-python/python-systemd: bump to 232
authorMike Gilbert <floppym@gentoo.org>
Sat, 24 Sep 2016 14:08:06 +0000 (10:08 -0400)
committerMike Gilbert <floppym@gentoo.org>
Sat, 24 Sep 2016 14:11:33 +0000 (10:11 -0400)
Package-Manager: portage-2.3.1_p4

dev-python/python-systemd/Manifest
dev-python/python-systemd/files/232-0001-tests-skip-fdstore-tests-if-not-implemented.patch [new file with mode: 0644]
dev-python/python-systemd/files/232-0002-docs-fix-sphinx-format-warning.patch [new file with mode: 0644]
dev-python/python-systemd/files/232-0003-build-sys-add-doc-sync-target.patch [new file with mode: 0644]
dev-python/python-systemd/files/232-0004-tests-add-workaround-for-pre-232-system-returning-EI.patch [new file with mode: 0644]
dev-python/python-systemd/files/232-0005-_reader-use-proper-ifdef-guard-for-sd_j_open_files_f.patch [new file with mode: 0644]
dev-python/python-systemd/files/232-0006-build-sys-import-pytest-instead-of-py.test.patch [new file with mode: 0644]
dev-python/python-systemd/python-systemd-232.ebuild [new file with mode: 0644]

index 57c069ea4b0b1b6c3caf6b1ceeeee1d6132b9e53..b1907d1b753a5a292e0faecd3c0f4df33a5ece1c 100644 (file)
@@ -1,2 +1,3 @@
 DIST python-systemd-230.tar.gz 39329 SHA256 656a83ff695f5de7d63411a86ea38601ad5a918595eebd0817d7b8e68642c64d SHA512 3c26c59b9005a45c3aeea8a6838ece9b5aa27dd7394ebe75319c1536b52462a847f18a79fdc8cf3bf6df9a70af63c84d5ff66a9587519dd9a006cc3df4966ce8 WHIRLPOOL 0de7ff6919bdf1c6c9cdafd71944801396157281fae1583bb060da4cf800369f97bb0c9f484f81635ed8b2e170db2bbbecf59adac0470a910167333f93c607e6
 DIST python-systemd-231.tar.gz 44430 SHA256 2c9cf53d041374898beead0c6f3b042c7d5b52425e6eb4d4b3c583d7eac12eea SHA512 b1567bd8e99025cc3b5aaeaab6539af8a5307068c403c0f1628bebc518ded80d0843b804244d1f252c858229f7f9578ce9aa988ded25f55999b0d355ce8a3455 WHIRLPOOL 4a1e05687080e8613ae607f837f39672727e60fc7bca1bca445f46413ce16280ab3bfaa30e969414d0da41f06420b7ef59043d2624dc50342cbe2d6df6add449
+DIST python-systemd-232.tar.gz 49211 SHA256 fc904704faa3dc2888a7336f1c660329c152fd4afb583267ef5d63c4a7f663a1 SHA512 3dfe8a17cd52fdcfce519ff1a64989ba153107d64839c95f93d8266239ed57d0d3510616726a1ab14dfa1b6df8216dc1d8e337d6240d1350378ec58148336325 WHIRLPOOL 34d2d0d1e11575b7fd6497f0543265542bbf7d68dd5a1a3e1c036e5a2518709254d04ee73794d72cb4c51d8f769079cede702fe61d1db7baa4993c213b8e9c2d
diff --git a/dev-python/python-systemd/files/232-0001-tests-skip-fdstore-tests-if-not-implemented.patch b/dev-python/python-systemd/files/232-0001-tests-skip-fdstore-tests-if-not-implemented.patch
new file mode 100644 (file)
index 0000000..ab8affd
--- /dev/null
@@ -0,0 +1,63 @@
+From 177ac6d894e362b0d22a2765db280abed71cc07f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Thu, 22 Sep 2016 07:46:59 -0400
+Subject: [PATCH 1/6] tests: skip fdstore tests if not implemented
+
+Should fix #12.
+---
+ systemd/test/test_daemon.py | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/systemd/test/test_daemon.py b/systemd/test/test_daemon.py
+index 215f1f8..e827e1d 100644
+--- a/systemd/test/test_daemon.py
++++ b/systemd/test/test_daemon.py
+@@ -16,6 +16,15 @@ from systemd.daemon import (booted,
+ import pytest
+ 
+ @contextlib.contextmanager
++def skip_enosys():
++    try:
++        yield
++    except OSError as e:
++        if e.errno == errno.ENOSYS:
++            pytest.skip()
++        raise
++
++@contextlib.contextmanager
+ def closing_socketpair(family):
+     pair = socket.socketpair(family)
+     try:
+@@ -200,7 +209,8 @@ def test_listen_fds_default_unset():
+ 
+ def test_notify_no_socket():
+     assert notify('READY=1') == False
+-    assert notify('FDSTORE=1', fds=[]) == False
++    with skip_enosys():
++        assert notify('FDSTORE=1', fds=[]) == False
+     assert notify('FDSTORE=1', fds=[1,2]) == False
+     assert notify('FDSTORE=1', pid=os.getpid()) == False
+     assert notify('FDSTORE=1', pid=os.getpid(), fds=(1,)) == False
+@@ -216,7 +226,8 @@ def test_notify_bad_socket():
+     with pytest.raises(connection_error):
+         notify('READY=1')
+     with pytest.raises(connection_error):
+-        notify('FDSTORE=1', fds=[])
++        with skip_enosys():
++            notify('FDSTORE=1', fds=[])
+     with pytest.raises(connection_error):
+         notify('FDSTORE=1', fds=[1,2])
+     with pytest.raises(connection_error):
+@@ -234,7 +245,8 @@ def test_notify_with_socket(tmpdir):
+     os.environ['NOTIFY_SOCKET'] = path
+ 
+     assert notify('READY=1') == True
+-    assert notify('FDSTORE=1', fds=[]) == True
++    with skip_enosys():
++        assert notify('FDSTORE=1', fds=[]) == True
+     assert notify('FDSTORE=1', fds=[1,2]) == True
+     assert notify('FDSTORE=1', pid=os.getpid()) == True
+     assert notify('FDSTORE=1', pid=os.getpid(), fds=(1,)) == True
+-- 
+2.10.0
+
diff --git a/dev-python/python-systemd/files/232-0002-docs-fix-sphinx-format-warning.patch b/dev-python/python-systemd/files/232-0002-docs-fix-sphinx-format-warning.patch
new file mode 100644 (file)
index 0000000..d7fa5f3
--- /dev/null
@@ -0,0 +1,30 @@
+From b9767792b97fe56b37bb59ee3d207ae359f1651c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Thu, 22 Sep 2016 09:52:58 -0400
+Subject: [PATCH 2/6] docs: fix sphinx format warning
+
+build/lib.linux-x86_64-3.5/systemd/journal.py:docstring of systemd.journal.stream:15: WARNING: Literal block expected; none found.
+---
+ systemd/journal.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/systemd/journal.py b/systemd/journal.py
+index e930164..a74d62f 100644
+--- a/systemd/journal.py
++++ b/systemd/journal.py
+@@ -461,9 +461,9 @@ def stream(identifier, priority=LOG_DEBUG, level_prefix=False):
+ 
+     will produce the following message in the journal::
+ 
+-    PRIORITY=7
+-    SYSLOG_IDENTIFIER=myapp
+-    MESSAGE=message...
++      PRIORITY=7
++      SYSLOG_IDENTIFIER=myapp
++      MESSAGE=message...
+ 
+     Using the interface with print might be more convenient:
+ 
+-- 
+2.10.0
+
diff --git a/dev-python/python-systemd/files/232-0003-build-sys-add-doc-sync-target.patch b/dev-python/python-systemd/files/232-0003-build-sys-add-doc-sync-target.patch
new file mode 100644 (file)
index 0000000..08b4b29
--- /dev/null
@@ -0,0 +1,29 @@
+From c3c412f90e481b88ca897e8542ced207c445c757 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Thu, 22 Sep 2016 09:59:04 -0400
+Subject: [PATCH 3/6] build-sys: add doc-sync target
+
+---
+ Makefile | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index df0555c..23b452e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -53,7 +53,11 @@ sphinx-%: build
+ check: build
+       (cd $(builddir) && $(PYTHON) -m py.test . ../../docs $(TESTFLAGS))
+ 
++www_target = www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd/python-systemd
++doc-sync:
++      rsync -rlv --delete --omit-dir-times build/html/ $(www_target)/
++
+ TAGS: $(shell git ls-files systemd/*.[ch])
+       $(ETAGS) $+
+ 
+-.PHONY: build install dist clean distclean TAGS
++.PHONY: build install dist clean distclean TAGS doc-sync
+-- 
+2.10.0
+
diff --git a/dev-python/python-systemd/files/232-0004-tests-add-workaround-for-pre-232-system-returning-EI.patch b/dev-python/python-systemd/files/232-0004-tests-add-workaround-for-pre-232-system-returning-EI.patch
new file mode 100644 (file)
index 0000000..fd43b46
--- /dev/null
@@ -0,0 +1,58 @@
+From 35a5b281adea321ea3f7b7d688a994e735366fb0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Thu, 22 Sep 2016 20:12:15 -0400
+Subject: [PATCH 4/6] tests: add workaround for pre-232 system returning EINVAL
+ on some flags
+
+---
+ systemd/test/test_journal.py | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/systemd/test/test_journal.py b/systemd/test/test_journal.py
+index 0902183..dceec3f 100644
+--- a/systemd/test/test_journal.py
++++ b/systemd/test/test_journal.py
+@@ -21,6 +21,13 @@ def skip_enosys():
+             pytest.skip()
+         raise
+ 
++@contextlib.contextmanager
++def skip_valueerror():
++    try:
++        yield
++    except ValueError:
++        pytest.skip()
++
+ def test_priorities():
+     p = journal.JournalHandler.mapPriority
+ 
+@@ -62,10 +69,12 @@ def test_reader_init_flags():
+ def test_reader_os_root(tmpdir):
+     with pytest.raises(ValueError):
+         journal.Reader(journal.OS_ROOT)
+-    j1 = journal.Reader(path=tmpdir.strpath,
+-                        flags=journal.OS_ROOT)
+-    j2 = journal.Reader(path=tmpdir.strpath,
+-                        flags=journal.OS_ROOT | journal.CURRENT_USER)
++    with skip_valueerror():
++        j1 = journal.Reader(path=tmpdir.strpath,
++                            flags=journal.OS_ROOT)
++    with skip_valueerror():
++        j2 = journal.Reader(path=tmpdir.strpath,
++                            flags=journal.OS_ROOT | journal.CURRENT_USER)
+     j3 = journal.Reader(path=tmpdir.strpath,
+                         flags=journal.OS_ROOT | journal.SYSTEM_ONLY)
+ 
+@@ -91,7 +100,8 @@ def test_reader_init_path_fd(tmpdir):
+         j1 = journal.Reader(path=fd)
+     assert list(j1) == []
+ 
+-    j2 = journal.Reader(journal.SYSTEM, path=fd)
++    with skip_valueerror():
++        j2 = journal.Reader(journal.SYSTEM, path=fd)
+     assert list(j2) == []
+ 
+     j3 = journal.Reader(journal.CURRENT_USER, path=fd)
+-- 
+2.10.0
+
diff --git a/dev-python/python-systemd/files/232-0005-_reader-use-proper-ifdef-guard-for-sd_j_open_files_f.patch b/dev-python/python-systemd/files/232-0005-_reader-use-proper-ifdef-guard-for-sd_j_open_files_f.patch
new file mode 100644 (file)
index 0000000..b751f2d
--- /dev/null
@@ -0,0 +1,55 @@
+From 8024fc61719d15b47ace1973b6b901881e17ff2f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Thu, 22 Sep 2016 20:41:21 -0400
+Subject: [PATCH 5/6] _reader: use proper ifdef guard for sd_j_open_files_fd
+
+---
+ systemd/_reader.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/systemd/_reader.c b/systemd/_reader.c
+index 0f6fd3f..3a2c218 100644
+--- a/systemd/_reader.c
++++ b/systemd/_reader.c
+@@ -283,7 +283,6 @@ static int Reader_init(Reader *self, PyObject *args, PyObject *keywds) {
+                         Py_END_ALLOW_THREADS
+                 }
+         } else if (_files) {
+-#ifdef HAVE_JOURNAL_OPEN_FILES
+                 _cleanup_Py_DECREF_ PyObject *item0 = NULL;
+ 
+                 item0 = PySequence_GetItem(_files, 0);
+@@ -293,9 +292,13 @@ static int Reader_init(Reader *self, PyObject *args, PyObject *keywds) {
+                         if (!strv_converter(_files, &files))
+                                 return -1;
+ 
++#ifdef HAVE_JOURNAL_OPEN_FILES
+                         Py_BEGIN_ALLOW_THREADS
+                         r = sd_journal_open_files(&self->j, (const char**) files, flags);
+                         Py_END_ALLOW_THREADS
++#else
++                        r = -ENOSYS;
++#endif
+                 } else {
+                         _cleanup_free_ int *fds = NULL;
+                         size_t n_fds;
+@@ -303,13 +306,14 @@ static int Reader_init(Reader *self, PyObject *args, PyObject *keywds) {
+                         if (!intlist_converter(_files, &fds, &n_fds))
+                                 return -1;
+ 
++#ifdef HAVE_JOURNAL_OPEN_DIRECTORY_FD
+                         Py_BEGIN_ALLOW_THREADS
+                         r = sd_journal_open_files_fd(&self->j, fds, n_fds, flags);
+                         Py_END_ALLOW_THREADS
+-                }
+ #else
+-                r = -ENOSYS;
++                        r = -ENOSYS;
+ #endif
++                }
+         } else {
+                 Py_BEGIN_ALLOW_THREADS
+                 r = sd_journal_open(&self->j, flags);
+-- 
+2.10.0
+
diff --git a/dev-python/python-systemd/files/232-0006-build-sys-import-pytest-instead-of-py.test.patch b/dev-python/python-systemd/files/232-0006-build-sys-import-pytest-instead-of-py.test.patch
new file mode 100644 (file)
index 0000000..04509ab
--- /dev/null
@@ -0,0 +1,27 @@
+From 911591a1188e03942e60f2ab1abf91562904f49e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Thu, 22 Sep 2016 20:24:31 -0400
+Subject: [PATCH 6/6] build-sys: import "pytest" instead of "py.test"
+
+Fixes the following error in rawhide:
+/usr/bin/python3: loader for pytest cannot handle py.test
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 23b452e..b10d6d9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -51,7 +51,7 @@ sphinx-%: build
+       @echo Output has been generated in build/$*
+ 
+ check: build
+-      (cd $(builddir) && $(PYTHON) -m py.test . ../../docs $(TESTFLAGS))
++      (cd $(builddir) && $(PYTHON) -m pytest . ../../docs $(TESTFLAGS))
+ 
+ www_target = www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd/python-systemd
+ doc-sync:
+-- 
+2.10.0
+
diff --git a/dev-python/python-systemd/python-systemd-232.ebuild b/dev-python/python-systemd/python-systemd-232.ebuild
new file mode 100644 (file)
index 0000000..1a7fad5
--- /dev/null
@@ -0,0 +1,42 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for native access to the systemd facilities"
+HOMEPAGE="https://github.com/systemd/python-systemd"
+SRC_URI="https://github.com/systemd/python-systemd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+
+COMMON_DEPEND="
+       sys-apps/systemd:0=
+"
+DEPEND="${COMMON_DEPEND}
+       test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+RDEPEND="${COMMON_DEPEND}
+       !sys-apps/systemd[python(-)]
+"
+
+PATCHES=(
+       "${FILESDIR}"/232-0001-tests-skip-fdstore-tests-if-not-implemented.patch
+       "${FILESDIR}"/232-0002-docs-fix-sphinx-format-warning.patch
+       "${FILESDIR}"/232-0003-build-sys-add-doc-sync-target.patch
+       "${FILESDIR}"/232-0004-tests-add-workaround-for-pre-232-system-returning-EI.patch
+       "${FILESDIR}"/232-0005-_reader-use-proper-ifdef-guard-for-sd_j_open_files_f.patch
+       "${FILESDIR}"/232-0006-build-sys-import-pytest-instead-of-py.test.patch
+)
+
+python_test() {
+       pushd "${BUILD_DIR}/lib" > /dev/null || die
+       "${PYTHON}" -m pytest -v . || die
+       popd > /dev/null || die
+}