Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 2 months ago
commit
ce0afd4692
  1. 22
      SOURCES/0001-journal-avoid-warning-about-deprecated-constant.patch
  2. 46
      SOURCES/0002-reader-make-PY_SSIZE_T_CLEAN.patch
  3. 25
      SOURCES/0003-test-make-sure-NOTIFY_SOCKET-is-unset-in-test.patch
  4. 167
      SPECS/python-systemd.spec

22
SOURCES/0001-journal-avoid-warning-about-deprecated-constant.patch

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
From 63473b65d0c10268a9e2c9485313c4584027e67e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 11 Nov 2020 22:36:04 +0100
Subject: [PATCH 1/2] journal: avoid warning about deprecated constant

---
systemd/_reader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/systemd/_reader.c b/systemd/_reader.c
index c9aa11d43c..8de7f6a963 100644
--- a/systemd/_reader.c
+++ b/systemd/_reader.c
@@ -1339,7 +1339,7 @@ init_reader(void)
PyModule_AddIntConstant(m, "LOCAL_ONLY", SD_JOURNAL_LOCAL_ONLY) ||
PyModule_AddIntConstant(m, "RUNTIME_ONLY", SD_JOURNAL_RUNTIME_ONLY) ||
PyModule_AddIntConstant(m, "SYSTEM", SD_JOURNAL_SYSTEM) ||
- PyModule_AddIntConstant(m, "SYSTEM_ONLY", SD_JOURNAL_SYSTEM_ONLY) ||
+ PyModule_AddIntConstant(m, "SYSTEM_ONLY", SD_JOURNAL_SYSTEM) ||
PyModule_AddIntConstant(m, "CURRENT_USER", SD_JOURNAL_CURRENT_USER) ||
PyModule_AddIntConstant(m, "OS_ROOT", SD_JOURNAL_OS_ROOT) ||
PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION)) {

46
SOURCES/0002-reader-make-PY_SSIZE_T_CLEAN.patch

@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
From ab9f2797127b374665c37c06b02121f5dcf7d61c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Thu, 12 Nov 2020 16:55:56 +0100
Subject: [PATCH 2/2] reader: make PY_SSIZE_T_CLEAN

---
systemd/_reader.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/systemd/_reader.c b/systemd/_reader.c
index 8de7f6a963..3b6a4d0bbc 100644
--- a/systemd/_reader.c
+++ b/systemd/_reader.c
@@ -18,7 +18,12 @@
along with python-systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#define PY_SSIZE_T_CLEAN
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wredundant-decls"
#include <Python.h>
+#pragma GCC diagnostic pop
+
#include <structmember.h>
#include <datetime.h>
#include <time.h>
@@ -710,11 +715,17 @@ PyDoc_STRVAR(Reader_add_match__doc__,
"Match is a string of the form \"FIELD=value\".");
static PyObject* Reader_add_match(Reader *self, PyObject *args, PyObject *keywds) {
char *match;
- int match_len, r;
+ Py_ssize_t match_len;
+ int r;
if (!PyArg_ParseTuple(args, "s#:add_match", &match, &match_len))
return NULL;
- r = sd_journal_add_match(self->j, match, match_len);
+ if (match_len > INT_MAX) {
+ set_error(-ENOBUFS, NULL, NULL);
+ return NULL;
+ }
+
+ r = sd_journal_add_match(self->j, match, (int) match_len);
if (set_error(r, NULL, "Invalid match") < 0)
return NULL;

25
SOURCES/0003-test-make-sure-NOTIFY_SOCKET-is-unset-in-test.patch

@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
From 21e0cee30e5550cd6c9afa8c4cdedbcfdfca8480 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Thu, 12 Nov 2020 17:08:02 +0100
Subject: [PATCH] test: make sure $NOTIFY_SOCKET is unset in test

When running the tests in Fedora's mock, the test would
fail because NOTIFY_SOCKET is set to /run/systemd/nspawn/notify, and
we get a permission error.
---
systemd/test/test_daemon.py | 2 ++
1 file changed, 2 insertions(+)

diff --git a/systemd/test/test_daemon.py b/systemd/test/test_daemon.py
index 1ddb55e94d..ff9e086e72 100644
--- a/systemd/test/test_daemon.py
+++ b/systemd/test/test_daemon.py
@@ -257,6 +257,8 @@ def test_listen_fds_default_unset():
assert listen_fds() == []
def test_notify_no_socket():
+ os.environ.pop('NOTIFY_SOCKET', None)
+
assert notify('READY=1') is False
with skip_enosys():
assert notify('FDSTORE=1', fds=[]) is False

167
SPECS/python-systemd.spec

@ -0,0 +1,167 @@ @@ -0,0 +1,167 @@
Name: python-systemd
Version: 234
Release: 18%{?dist}
Summary: Python module wrapping systemd functionality

License: LGPLv2+
URL: https://github.com/systemd/python-systemd
Source0: https://github.com/systemd/python-systemd/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz

Patch0001: 0001-journal-avoid-warning-about-deprecated-constant.patch
Patch0002: 0002-reader-make-PY_SSIZE_T_CLEAN.patch
Patch0003: 0003-test-make-sure-NOTIFY_SOCKET-is-unset-in-test.patch

BuildRequires: make
BuildRequires: gcc
BuildRequires: systemd-devel
BuildRequires: python3-devel
BuildRequires: python3-sphinx
BuildRequires: web-assets-devel
BuildRequires: python3-pytest

%global _description %{expand:
Python module for native access to the systemd facilities.
Functionality includes sending of structured messages to the journal
and reading journal files, querying machine and boot identifiers and a
lists of message identifiers provided by systemd. Other functionality
provided by libsystemd is also wrapped.}

%description %_description

%package -n python3-systemd
Summary: %{summary}

%{?python_provide:%python_provide python3-systemd}
Provides: systemd-python3 = %{version}-%{release}
Provides: systemd-python3%{?_isa} = %{version}-%{release}
Obsoletes: systemd-python3 < 230
Recommends: %{name}-doc

%description -n python3-systemd %_description

%package doc
Summary: HTML documentation for %{name}
Requires: js-jquery

%description doc
%{summary}.

%prep
%autosetup -p1
sed -i 's/py\.test/pytest/' Makefile

%build
make PYTHON=%{__python3} build
make PYTHON=%{__python3} SPHINX_BUILD=sphinx-build-3 sphinx-html
rm -r build/html/.buildinfo build/html/.doctrees

%install
%make_install PYTHON=%{__python3}
mkdir -p %{buildroot}%{_pkgdocdir}
cp -rv build/html %{buildroot}%{_pkgdocdir}/
ln -vsf %{_jsdir}/jquery/latest/jquery.min.js %{buildroot}%{_pkgdocdir}/html/_static/jquery.js
cp -p README.md NEWS %{buildroot}%{_pkgdocdir}/

%check
# if the socket is not there, skip doc tests
test -f /run/systemd/journal/stdout || \
sed -i 's/--doctest[^ ]*//g' pytest.ini
make PYTHON=%{__python3} check

%files -n python3-systemd
%license LICENSE.txt
%doc %{_pkgdocdir}
%exclude %{_pkgdocdir}/html
%{python3_sitearch}/systemd/
%{python3_sitearch}/systemd_python*.egg-info

%files doc
%doc %{_pkgdocdir}/html

%changelog
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 234-18
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688

* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 234-17
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 234-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Thu Nov 12 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 234-15
- Fix build with new mock (#1793022) and python 3.10 (#1891786)

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 234-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 234-13
- Rebuilt for Python 3.9

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 234-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Sun Sep 08 2019 Miro Hrončok <mhroncok@redhat.com> - 234-11
- Subpackage python2-systemd has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal

* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 234-10
- Rebuilt for Python 3.8

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 234-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 234-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 234-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Fri Jun 15 2018 Miro Hrončok <mhroncok@redhat.com> - 234-6
- Rebuilt for Python 3.7

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 234-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Nov 1 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 234-4
- Use separate license and documentation directories

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 234-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 234-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sun Mar 26 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 234-1
- Update to latest version

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 232-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 232-2
- Rebuild for Python 3.6

* Thu Sep 22 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 232-1
- Update to latest version

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 231-6
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 231-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Sun Jan 24 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@bupkis> - 231-4
- Bugfixes for seek_monotonic and Python 2 compat

* Sun Nov 15 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 231-3
- Split out doc subpackage (#1242619)
- Do not allow installation of python-systemd in different versions

* Sat Nov 07 2015 Robert Kuska <rkuska@redhat.com> - 231-2
- Rebuilt for Python3.5 rebuild

* Tue Oct 27 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@laptop> - 231-1
- Update to latest version

* Mon Jul 6 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@laptop> - 230-1
- Initial packaging
Loading…
Cancel
Save