Compare commits

1 Commits
main ... 1.1

7 changed files with 55 additions and 214 deletions

View File

@@ -1,3 +0,0 @@
<multibuild>
<package>doc</package>
</multibuild>

View File

@@ -1,106 +1,3 @@
-------------------------------------------------------------------
Tue Jul 8 08:17:28 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Convert to libalternatives
-------------------------------------------------------------------
Tue Jul 8 08:07:39 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- Add reproducible-doc-build.patch to make the build reproducible.
gh#RDFLib/rdflib#2645
-------------------------------------------------------------------
Thu Apr 3 06:45:45 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 7.1.4
* Remove old hacks against 2to3
* Allow multi subjects & objects in graph funcs
* Reduce test warnings
* Downgrade log message about plugin
* Remove old hacks against 2to3
* Cope with Namespace annotations in Python 3.14
* Small docco update
-------------------------------------------------------------------
Fri Feb 14 07:34:18 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 7.1.3
* A fix-up release that re-adds support for Python 3.8 after it was
accidentally removed in Release 7.1.2.
* This release cherrypicks many additions to 7.1.2 added to 7.1.1 but
leaves out typing changes that are not compatible with Python 3.8.
* Also not carried over from 7.1.2 is the change from Poetry 1.x to 2.0.
* Included are PRs such as _Defined Namespace warnings fix_, _sort
longturtle blank nodes_, _deterministic longturtle serialisation_
and _Dataset documentation improvements_.
- from version 7.1.2
* A minor release that inadvertently removed support for Python 3.8.
This release how now been deleted.
* All the improved features initially made available in this release
that were compatible with Python 3.8 have been preserved in the 7.1.3
release. The main additions to 7.1.2 not preserved in 7.1.3 are updated
type hints.
-------------------------------------------------------------------
Fri Nov 22 08:39:23 UTC 2024 - ecsos <ecsos@opensuse.org>
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Mon Oct 28 10:15:59 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Add sphinx8.patch to build doc with latest sphinx, gh#RDFLib/rdflib#2956
- Update to 7.1.1:
* This minor release removes the dependency on some only Python
packages, in particular six which is a problem for some Linux
distributions that ship RDFLib.
* Replace html5lib with html5rdf, make it an optional dependency PR #2951
* Prevent crash when comparing ill-typed numeric types. PR #2949
* Fix parser bug and add test PR #2943
* Fix import ordering in get_merged_prs. PR #2947
- 7.1.0:
* There are no major changes in this release over 7.0.0 and this
release can be used in place of 7.0.0 without much worry about
altered behaviour.
-------------------------------------------------------------------
Wed Jul 3 11:44:54 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Create doc subpackage with _multibuild to move
python3-sphnix-autodoc-typehints build requirement out of ring1
-------------------------------------------------------------------
Tue Feb 27 06:23:55 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 7.0.0:
* BREAKING CHANGE: drop support for python 3.7 (#2436)
* feat: add curie method to NamespaceManager (#2365)
* feat: add optional target_graph argument to Graph.cbd and use it for
DESCRIBE queries (#2322)
* feat: Don't generate prefixes for unknown URIs (#2467)
* feat: Longturtle improvements (#2500)
* fix: SPARQL count with optionals (#2448)
* fix: GROUP_CONCAT handling of empty separator (issue) (#2474)
* fix: add NORMALIZE_LITERALS to rdflib.__all__ (#2489)
* fix: correct imports and __all__ (#2340)
* fix: dbpedia URL to use https instead of http (#2444)
* fix: eliminate bare except: (#2350)
* fix: eliminate some mutable default arguments in SPARQL code (#2301)
* fix: formatting of SequencePath and AlternativePath (#2504)
* fix: handling of rdf:HTML literals (#2490)
* fix: HTTP 308 Permanent Redirect status code handling (#2389)
* fix: lexical-to-value mapping of rdf:HTML literals (#2483)
* fix: TriG handling of GRAPH keyword without a graph ID (#2469)
* fix: TriG parser error handling for nested graphs (#2468)
- Switch to autosetup and pyproject macros.
- Shift docs build to the install phase, the module needs to be queryable.
- Drop patch reproducible.patch, included.
-------------------------------------------------------------------
Wed Dec 13 08:40:59 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>
- Add reproducible.patch for reproducible builds (boo#1062303)
-------------------------------------------------------------------
Mon Feb 7 23:38:10 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-rdflib
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,56 +16,36 @@
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "doc"
%define psuffix -doc
%bcond_without doc
%else
%define psuffix %{nil}
%bcond_with doc
%endif
%{?!python_module:%define python_module() python3-%{**}}
# Tests don't work and cause a dependency loop with python-SPARQLWrapper
%bcond_with tests
%bcond_without libalternatives
%{?sle15_python_module_pythons}
Name: python-rdflib%{psuffix}
Version: 7.1.4
Name: python-rdflib
Version: 6.1.1
Release: 0
Summary: A Python library for working with RDF
License: BSD-3-Clause
URL: https://rdflib.net/
URL: http://rdflib.net/
Source: https://files.pythonhosted.org/packages/source/r/rdflib/rdflib-%{version}.tar.gz
# PATCH-FIX-UPSTREAM sphinx8.patch gh#RDFLib/rdflib#2956 -- daniel.garcia@suse.com
Patch0: sphinx8.patch
# PATCH-FIX-OPENSUSE reproducible-doc-build.patch gh#RDFLib/rdflib#2645 -- daniel.garcia@suse.com
Patch1: reproducible-doc-build.patch
BuildRequires: alts
BuildRequires: %{python_module html5lib}
BuildRequires: %{python_module isodate}
BuildRequires: %{python_module pyparsing}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module xml}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: alts
BuildRequires: python3-Sphinx
BuildRequires: python3-sphinxcontrib-apidoc
Requires: python-html5lib
Requires: python-isodate
Requires: python-pyparsing
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
%if %{with tests}
BuildRequires: %{python_module SPARQLWrapper}
BuildRequires: %{python_module flake8}
BuildRequires: %{python_module pytest}
%endif
%if %{with doc}
BuildRequires: %{python_module rdflib = %{version}}
BuildRequires: python3-Sphinx
BuildRequires: python3-myst-parser
BuildRequires: python3-sphinx-autodoc-typehints
BuildRequires: python3-sphinxcontrib-apidoc
BuildRequires: python3-typing_extensions
Provides: %{python_module rdflib-doc = %{version}}
%else
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module poetry-core}
BuildRequires: %{python_module pyparsing}
BuildRequires: %{python_module wheel}
BuildRequires: %{python_module xml}
Requires: python-pyparsing
%endif
%python_subpackages
%description
@@ -74,66 +54,72 @@ language for representing information. The library contains an RDF/XML
parser/serializer that conforms to the RDF/XML Syntax Specification (Revised).
The library also contains both in-memory and persistent Graph backends.
%package -n %{name}-doc
Summary: A Python library for working with RDF
Provides: %{python_module rdflib-doc = %{version}}
%description -n %{name}-doc
RDFLib is a Python library for working with RDF, a simple yet powerful
language for representing information. The library contains an RDF/XML
parser/serializer that conforms to the RDF/XML Syntax Specification (Revised).
The library also contains both in-memory and persistent Graph backends.
%prep
%autosetup -p1 -n rdflib-%{version}
%setup -q -n rdflib-%{version}
# remove unwanted shebang
find rdflib -name "*.py" | xargs sed -i '1 { /^#!/ d }'
chmod -x rdflib/plugins/parsers/notation3.py
%if %{without doc}
%build
%pyproject_wheel
%endif
%python_build
%install
%if %{with doc}
# Build the docs, we need the module queryable
pushd docs
PYTHONPATH=%{buildroot}%{python3_sitelib} %make_build html
%make_build html
# Remove hidden file
rm -r _build/html/.buildinfo
popd
%fdupes docs/_build/html
%else
%pyproject_install
%install
%python_install
%python_clone -a %{buildroot}%{_bindir}/rdfs2dot
%python_clone -a %{buildroot}%{_bindir}/rdfpipe
%python_clone -a %{buildroot}%{_bindir}/rdfgraphisomorphism
%python_clone -a %{buildroot}%{_bindir}/rdf2dot
%python_clone -a %{buildroot}%{_bindir}/csv2rdf
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%fdupes docs/_build/html
%if %{with tests}
%check
%pytest
%endif
%if %{with doc}
%files -n %{name}
%doc docs/_build/html
%post
%python_install_alternative rdfs2dot
%python_install_alternative rdfpipe
%python_install_alternative rdfgraphisomorphism
%python_install_alternative rdf2dot
%python_install_alternative csv2rdf
%else
%pre
%python_libalternatives_reset_alternative rdfs2dot
%python_libalternatives_reset_alternative rdfpipe
%python_libalternatives_reset_alternative rdfgraphisomorphism
%python_libalternatives_reset_alternative rdf2dot
%python_libalternatives_reset_alternative csv2rdf
%postun
%python_uninstall_alternative rdfs2dot
%python_uninstall_alternative rdfpipe
%python_uninstall_alternative rdfgraphisomorphism
%python_uninstall_alternative rdf2dot
%python_uninstall_alternative csv2rdf
%files %{python_files}
%license LICENSE
%doc README.md
%doc CHANGELOG.md CONTRIBUTORS README.md
%python_alternative %{_bindir}/csv2rdf
%python_alternative %{_bindir}/rdf2dot
%python_alternative %{_bindir}/rdfgraphisomorphism
%python_alternative %{_bindir}/rdfpipe
%python_alternative %{_bindir}/rdfs2dot
%{python_sitelib}/rdflib
%{python_sitelib}/rdflib-%{version}.dist-info
%endif
%{python_sitelib}/rdflib/
%{python_sitelib}/rdflib-%{version}-py*.egg-info
%files -n %{name}-doc
%doc docs/_build/html
%changelog

BIN
rdflib-6.1.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
rdflib-7.1.4.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,26 +0,0 @@
diff --git a/rdflib/term.py b/rdflib/term.py
index 3e397674..4e0cfcf1 100644
--- a/rdflib/term.py
+++ b/rdflib/term.py
@@ -23,6 +23,7 @@ underlying Graph:
from __future__ import annotations
+import sys
import abc
import re
from fractions import Fraction
@@ -483,7 +484,12 @@ class BNode(IdentifiedNode):
else:
node_id = sn_result
else:
- node_id = uuid4().hex
+ # Do not generate random id for doc, this will help with reproducible
+ # builds https://github.com/RDFLib/rdflib/issues/2645
+ if "sphinx-build" in sys.argv[0]:
+ node_id = "NODEID"
+ else:
+ node_id = uuid4().hex
# note, for two (and only two) string variables,
# concat with + is faster than f"{x}{y}"
value = _prefix + f"{node_id}"

View File

@@ -1,13 +0,0 @@
Index: rdflib-7.1.1/docs/conf.py
===================================================================
--- rdflib-7.1.1.orig/docs/conf.py
+++ rdflib-7.1.1/docs/conf.py
@@ -300,7 +300,7 @@ def autodoc_skip_member_handler(
"""
# https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#event-autodoc-skip-member
if (
- app.env.docname == "apidocs/rdflib"
+ app.env.docname in ["apidocs/rdflib", "apidocs/rdflib.namespace"]
and what == "module"
and type(obj).__name__.endswith("DefinedNamespaceMeta")
):