openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2024
- 1 participants
- 1521 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package darktable for openSUSE:Factory checked in at 2024-07-03 20:30:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/darktable (Old)
and /work/SRC/openSUSE:Factory/.darktable.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "darktable"
Wed Jul 3 20:30:43 2024 rev:111 rq:1185077 version:4.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/darktable/darktable.changes 2024-03-11 15:43:01.454511082 +0100
+++ /work/SRC/openSUSE:Factory/.darktable.new.18349/darktable.changes 2024-07-03 20:30:46.442105440 +0200
@@ -1,0 +2,7 @@
+Mon Jul 1 14:34:50 UTC 2024 - Andreas Schneider <asn(a)cryptomilk.org>
+
+- Update to version 4.8.0:
+ https://github.com/darktable-org/darktable/releases/tag/release-4.8.0
+- Removed darktable-old-glib.patch
+
+-------------------------------------------------------------------
Old:
----
darktable-4.6.1.tar.xz
darktable-4.6.1.tar.xz.asc
darktable-old-glib.patch
New:
----
darktable-4.8.0.tar.xz
darktable-4.8.0.tar.xz.asc
BETA DEBUG BEGIN:
Old: https://github.com/darktable-org/darktable/releases/tag/release-4.8.0
- Removed darktable-old-glib.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ darktable.spec ++++++
--- /var/tmp/diff_new_pack.Pz8a0c/_old 2024-07-03 20:30:47.742153022 +0200
+++ /var/tmp/diff_new_pack.Pz8a0c/_new 2024-07-03 20:30:47.742153022 +0200
@@ -119,7 +119,7 @@
%endif
Name: darktable
-Version: 4.6.1
+Version: 4.8.0
Release: 0
%global pkg_name darktable
%global pkg_version %{version}
@@ -133,8 +133,7 @@
Source98: debian.tar.xz
Source99: README.openSUSE
#
-Patch0: darktable-old-glib.patch
-Patch1: darktable-rawspeed-build-type-override.patch
+Patch0: darktable-rawspeed-build-type-override.patch
#
ExclusiveArch: x86_64 aarch64 ppc64le
# build time tools
++++++ darktable-4.6.1.tar.xz -> darktable-4.8.0.tar.xz ++++++
++++ 578056 lines of diff (skipped)
++++++ darktable.dsc ++++++
--- /var/tmp/diff_new_pack.Pz8a0c/_old 2024-07-03 20:30:49.614221540 +0200
+++ /var/tmp/diff_new_pack.Pz8a0c/_new 2024-07-03 20:30:49.618221686 +0200
@@ -4,7 +4,7 @@
Priority: optional
Binary: darktable darktable-tools-basecurve darktable-tools-noise
Architecture: any-amd64 any-arm64 any-ppc64el
-Version: 4.6.1-1.1
+Version: 4.8.0-1.1
Homepage: http://www.darktable.org/
# libavif-dev (>= 0.9.1),
Build-Depends: cmake (>= 3.18),
++++++ debian.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/changelog new/debian/changelog
--- old/debian/changelog 2024-03-11 08:04:29.000000000 +0100
+++ new/debian/changelog 2024-07-01 16:34:01.783447396 +0200
@@ -1,3 +1,7 @@
+darktable (4.8.0-1.1) experimental; urgency=medium
+
+ * Update to version 4.8.0
+ https://github.com/darktable-org/darktable/releases/tag/release-4.8.0
darktable (4.6.1-1.1) experimental; urgency=medium
* Update to version 4.6.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/control new/debian/control
--- old/debian/control 2023-12-23 10:33:28.000000000 +0100
+++ new/debian/control 2024-07-01 16:33:40.396607146 +0200
@@ -45,7 +45,7 @@
libwebp-dev,
lsb-release,
xsltproc
-Standards-Version: 4.6.0
+Standards-Version: 4.8.0
Homepage: http://www.darktable.org/
Vcs-Git: https://salsa.debian.org/debian-phototools-team/darktable.git
Vcs-Browser: https://salsa.debian.org/debian-phototools-team/darktable
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package efl for openSUSE:Factory checked in at 2024-07-03 20:29:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/efl (Old)
and /work/SRC/openSUSE:Factory/.efl.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "efl"
Wed Jul 3 20:29:56 2024 rev:54 rq:1185079 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/efl/efl.changes 2024-03-06 23:02:54.281774124 +0100
+++ /work/SRC/openSUSE:Factory/.efl.new.18349/efl.changes 2024-07-03 20:30:23.633270629 +0200
@@ -1,0 +2,7 @@
+Wed Jul 3 08:07:50 UTC 2024 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Drop libpoppler-cpp0 BuildRequires: this was there to workaround
+ a bug in poppler-devel, in the times for openSUSE 13.2 and has
+ long been fixed.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ efl.spec ++++++
--- /var/tmp/diff_new_pack.6HitHz/_old 2024-07-03 20:30:24.641307524 +0200
+++ /var/tmp/diff_new_pack.6HitHz/_new 2024-07-03 20:30:24.645307670 +0200
@@ -224,8 +224,6 @@
BuildRequires: doxygen
%endif
%if %{poppler_present}
-# boo#864299 need libpoppler-cpp0 for Leap / SLE
-BuildRequires: libpoppler-cpp0
BuildRequires: libpoppler-devel
%endif
%if 0%{?suse_version}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package scribus for openSUSE:Factory checked in at 2024-07-03 20:29:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scribus (Old)
and /work/SRC/openSUSE:Factory/.scribus.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scribus"
Wed Jul 3 20:29:50 2024 rev:86 rq:1184895 version:1.6.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/scribus/scribus.changes 2024-03-09 20:55:16.391881705 +0100
+++ /work/SRC/openSUSE:Factory/.scribus.new.18349/scribus.changes 2024-07-03 20:30:20.205145159 +0200
@@ -1,0 +2,9 @@
+Tue Jul 2 14:52:57 UTC 2024 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 1.6.2
+ * https://www.scribus.net/scribus-1-6-2-released/
+- Drop patch, merged upstream:
+ * 0001-Fix-build-failure-with-poppler-24.03.0.patch
+ * 0001-Fix-incorrect-value-used-in-initial-build-fix-agains.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-build-failure-with-poppler-24.03.0.patch
0001-Fix-incorrect-value-used-in-initial-build-fix-agains.patch
scribus-1.6.1.tar.xz
scribus-1.6.1.tar.xz.asc
New:
----
scribus-1.6.2.tar.xz
scribus-1.6.2.tar.xz.asc
BETA DEBUG BEGIN:
Old:- Drop patch, merged upstream:
* 0001-Fix-build-failure-with-poppler-24.03.0.patch
* 0001-Fix-incorrect-value-used-in-initial-build-fix-agains.patch
Old: * 0001-Fix-build-failure-with-poppler-24.03.0.patch
* 0001-Fix-incorrect-value-used-in-initial-build-fix-agains.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scribus.spec ++++++
--- /var/tmp/diff_new_pack.Xuaw7X/_old 2024-07-03 20:30:21.061176490 +0200
+++ /var/tmp/diff_new_pack.Xuaw7X/_new 2024-07-03 20:30:21.061176490 +0200
@@ -20,12 +20,12 @@
%bcond_without podofo
%bcond_without released
Name: scribus
-Version: 1.6.1
+Version: 1.6.2
Release: 0
Summary: Page Layout and Desktop Publishing (DTP)
License: GPL-2.0-or-later
URL: https://www.scribus.net/
-# https://sourceforge.net/projects/scribus/files/scribus/1.6.1/
+# https://sourceforge.net/projects/scribus/files/scribus/1.6.2/
Source0: %{name}-%{version}.tar.xz
%if %{with released}
Source1: %{name}-%{version}.tar.xz.asc
@@ -34,8 +34,7 @@
# PATCH-FIX-OPENSUSE
Patch0: 0001-Make-sure-information-displayed-on-the-about-window-.patch
# PATCH-FIX-UPSTREAM poppler...
-Patch1: 0001-Fix-build-failure-with-poppler-24.03.0.patch
-Patch2: 0001-Fix-incorrect-value-used-in-initial-build-fix-agains.patch
+
BuildRequires: cmake >= 3.14.0
BuildRequires: cups-devel
BuildRequires: dos2unix
++++++ scribus-1.6.1.tar.xz -> scribus-1.6.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/scribus/scribus-1.6.1.tar.xz /work/SRC/openSUSE:Factory/.scribus.new.18349/scribus-1.6.2.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-sphinx-issues for openSUSE:Factory checked in at 2024-07-03 20:29:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinx-issues (Old)
and /work/SRC/openSUSE:Factory/.python-sphinx-issues.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinx-issues"
Wed Jul 3 20:29:43 2024 rev:9 rq:1184074 version:4.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sphinx-issues/python-sphinx-issues.changes 2023-04-22 21:59:18.656804106 +0200
+++ /work/SRC/openSUSE:Factory/.python-sphinx-issues.new.18349/python-sphinx-issues.changes 2024-07-03 20:30:14.092921450 +0200
@@ -1,0 +2,11 @@
+Sun Jun 30 07:39:29 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 4.1.0:
+ * Add `:pypi:` role for linking to PyPI projects
+ * Default to linking GH Sponsors for the :user: role
+ * Support Python 3.8-3.12. Older versions are no longer supported.
+ * Backwards-incompatible*: Remove ``__version__``,
+ ``__author__``, and ``__license__`` attributes.
+ Use ``importlib.metadata`` to read this metadata instead.
+
+-------------------------------------------------------------------
Old:
----
3.0.1.tar.gz
New:
----
4.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinx-issues.spec ++++++
--- /var/tmp/diff_new_pack.8GlHyU/_old 2024-07-03 20:30:14.560938580 +0200
+++ /var/tmp/diff_new_pack.8GlHyU/_new 2024-07-03 20:30:14.564938726 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-sphinx-issues
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,19 +16,19 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%bcond_without python2
%{?sle15_python_module_pythons}
Name: python-sphinx-issues
-Version: 3.0.1
+Version: 4.1.0
Release: 0
Summary: A Sphinx extension for linking to a project's issue tracker
License: MIT
URL: https://github.com/sloria/sphinx-issues
Source: https://github.com/sloria/sphinx-issues/archive/%{version}.tar.gz
BuildRequires: %{python_module Sphinx}
+BuildRequires: %{python_module flit-core}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-Sphinx
@@ -47,10 +47,10 @@
%setup -q -n sphinx-issues-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -59,5 +59,6 @@
%files %{python_files}
%doc README.rst
%license LICENSE
-%{python_sitelib}/*
+%{python_sitelib}/sphinx_issues
+%{python_sitelib}/sphinx_issues-%{version}.dist-info
++++++ 3.0.1.tar.gz -> 4.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/.github/dependabot.yml new/sphinx-issues-4.1.0/.github/dependabot.yml
--- old/sphinx-issues-3.0.1/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-issues-4.1.0/.github/dependabot.yml 2024-04-15 05:03:23.000000000 +0200
@@ -0,0 +1,11 @@
+version: 2
+updates:
+- package-ecosystem: pip
+ directory: "/"
+ schedule:
+ interval: daily
+ open-pull-requests-limit: 10
+- package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "monthly"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/.github/workflows/build-release.yml new/sphinx-issues-4.1.0/.github/workflows/build-release.yml
--- old/sphinx-issues-3.0.1/.github/workflows/build-release.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-issues-4.1.0/.github/workflows/build-release.yml 2024-04-15 05:03:23.000000000 +0200
@@ -0,0 +1,77 @@
+name: build
+on:
+ push:
+ branches: ["main"]
+ tags: ["*"]
+ pull_request:
+
+jobs:
+ tests:
+ name: ${{ matrix.name }}
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - { name: "3.8", python: "3.8", tox: py38 }
+ - { name: "3.12", python: "3.12", tox: py312 }
+ steps:
+ - uses: actions/checkout(a)v4.0.0
+ - uses: actions/setup-python@v5
+ with:
+ python-version: ${{ matrix.python }}
+ allow-prereleases: true
+ - run: python -m pip install --upgrade pip
+ - run: python -m pip install tox
+ - run: python -m tox -e ${{ matrix.tox }}
+ build:
+ name: Build package
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ with:
+ python-version: "3.11"
+ - name: Install pypa/build
+ run: python -m pip install build
+ - name: Build a binary wheel and a source tarball
+ run: python -m build
+ - name: Install twine
+ run: python -m pip install twine
+ - name: Check build
+ run: python -m twine check --strict dist/*
+ - name: Store the distribution packages
+ uses: actions/upload-artifact@v4
+ with:
+ name: python-package-distributions
+ path: dist/
+ # this duplicates pre-commit.ci, so only run it on tags
+ # it guarantees that linting is passing prior to a release
+ lint-pre-release:
+ if: startsWith(github.ref, 'refs/tags')
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout(a)v4.0.0
+ - uses: actions/setup-python@v5
+ with:
+ python-version: "3.11"
+ - run: python -m pip install tox
+ - run: python -m tox -e lint
+ publish-to-pypi:
+ name: PyPI release
+ if: startsWith(github.ref, 'refs/tags/')
+ needs: [build, tests, lint-pre-release]
+ runs-on: ubuntu-latest
+ environment:
+ name: pypi
+ url: https://pypi.org/p/sphinx-issues
+ permissions:
+ id-token: write
+ steps:
+ - name: Download all the dists
+ uses: actions/download-artifact@v4
+ with:
+ name: python-package-distributions
+ path: dist/
+ - name: Publish distribution to PyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/.github/workflows/lint.yml new/sphinx-issues-4.1.0/.github/workflows/lint.yml
--- old/sphinx-issues-3.0.1/.github/workflows/lint.yml 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/.github/workflows/lint.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-name: Lint
-
-on: [push, pull_request, workflow_dispatch]
-
-jobs:
- lint:
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
- - uses: pre-commit/action(a)v2.0.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/.github/workflows/test.yml new/sphinx-issues-4.1.0/.github/workflows/test.yml
--- old/sphinx-issues-3.0.1/.github/workflows/test.yml 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/.github/workflows/test.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-name: Test
-
-on: [push, pull_request, workflow_dispatch]
-
-env:
- FORCE_COLOR: 1
-
-jobs:
- test:
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- python-version: ["3.6", "3.10"]
-
- steps:
- - uses: actions/checkout@v2
-
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
- with:
- python-version: ${{ matrix.python-version }}
- cache: pip
- cache-dependency-path: "setup.py"
-
- - name: Install dependencies
- run: |
- python -m pip install -U pip
- python -m pip install -U wheel
- python -m pip install -U tox
-
- - name: Tox tests
- run: |
- tox -e py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/.gitignore new/sphinx-issues-4.1.0/.gitignore
--- old/sphinx-issues-3.0.1/.gitignore 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/.gitignore 2024-04-15 05:03:23.000000000 +0200
@@ -41,3 +41,9 @@
# Sphinx
docs/_build
README.html
+
+# mypy
+.mypy_cache/
+
+# ruff
+.ruff_cache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/.pre-commit-config.yaml new/sphinx-issues-4.1.0/.pre-commit-config.yaml
--- old/sphinx-issues-3.0.1/.pre-commit-config.yaml 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/.pre-commit-config.yaml 2024-04-15 05:03:23.000000000 +0200
@@ -1,20 +1,16 @@
repos:
-- repo: https://github.com/asottile/pyupgrade
- rev: v2.11.0
+- repo: https://github.com/astral-sh/ruff-pre-commit
+ rev: v0.3.5
hooks:
- - id: pyupgrade
- args: [--py36-plus]
-- repo: https://github.com/python/black
- rev: 20.8b1
+ - id: ruff
+ - id: ruff-format
+- repo: https://github.com/python-jsonschema/check-jsonschema
+ rev: 0.28.1
hooks:
- - id: black
-- repo: https://gitlab.com/pycqa/flake8
- rev: 3.9.0
- hooks:
- - id: flake8
- additional_dependencies: [flake8-bugbear==21.4.3]
+ - id: check-github-workflows
+ - id: check-readthedocs
- repo: https://github.com/asottile/blacken-docs
- rev: v1.10.0
+ rev: 1.16.0
hooks:
- id: blacken-docs
- additional_dependencies: [black==20.8b1]
+ additional_dependencies: [black==23.12.1]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/CONTRIBUTING.md new/sphinx-issues-4.1.0/CONTRIBUTING.md
--- old/sphinx-issues-3.0.1/CONTRIBUTING.md 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/CONTRIBUTING.md 2024-04-15 05:03:23.000000000 +0200
@@ -2,32 +2,24 @@
## Setting up for development
-* Create and activate a new virtual environment
-* `pip install -e '.[dev]'`
-* (Optional but recommended) If you're using a Python 3.6 virtual
- environment, install the pre-commit hooks, which will
- format and lint your git staged files:
-
+- Create and activate a new virtual environment
+- `pip install -e '.[dev]'`
+- (Optional but recommended) Install the pre-commit hooks, which will
+ format and lint your git staged files:
```
# The pre-commit CLI was installed above
pre-commit install
```
-* To run tests:
+- To run tests:
```
pytest
```
-* To run syntax checks:
+- To run syntax checks:
```
tox -e lint
```
-
-* (Optional) To run tests on Python 2.7, 3.5, 3.6, and 3.7 virtual environments (must have each interpreter installed):
-
-```
-tox
-```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/LICENSE new/sphinx-issues-4.1.0/LICENSE
--- old/sphinx-issues-3.0.1/LICENSE 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/LICENSE 2024-04-15 05:03:23.000000000 +0200
@@ -1,4 +1,4 @@
-Copyright 2022 Steven Loria
+Copyright Steven Loria and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/MANIFEST.in new/sphinx-issues-4.1.0/MANIFEST.in
--- old/sphinx-issues-3.0.1/MANIFEST.in 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-include *.rst LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/README.rst new/sphinx-issues-4.1.0/README.rst
--- old/sphinx-issues-3.0.1/README.rst 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/README.rst 2024-04-15 05:03:23.000000000 +0200
@@ -3,16 +3,12 @@
=============
.. image:: https://badgen.net/pypi/v/sphinx-issues
- :alt: pypi badge
- :target: https://pypi.org/project/sphinx-issues/
+ :target: https://pypi.org/project/sphinx-issues/
+ :alt: PyPI badge
-.. image:: https://github.com/OpenASL/HowSignBot/workflows/.github/workflows/test.yml/…
- :alt: github actions status
- :target: .github/workflows/test.yml
-
-.. image:: https://badgen.net/badge/code%20style/black/000
- :target: https://github.com/ambv/black
- :alt: Code style: Black
+.. image:: https://github.com/sloria/sphinx-issues/actions/workflows/build-release.yml…
+ :target: https://github.com/sloria/sphinx-issues/actions/workflows/build-release.yml
+ :alt: Build status
A Sphinx extension for linking to your project's issue tracker. Includes roles for linking to issues, pull requests, user profiles, with built-in support for GitHub (though this works with other services).
@@ -139,6 +135,12 @@
:cwe:`CWE-787` - The software writes data past the end, or...
+Use the ``:pypi:`` role to link to PyPI on https://pypi.org.
+
+.. code-block:: rst
+
+ :pypi:`sphinx-issues` - A Sphinx extension for linking to your project's issue tracker.
+
Credits
*******
@@ -153,6 +155,21 @@
Changelog
*********
+4.1.0 (2024-04-14)
+------------------
+
+- Add `:pypi:` role for linking to PyPI projects (`#144 <https://github.com/sloria/sphinx-issues/issues/144>`_).
+ Thanks @shenxianpeng for the suggestion and PR.
+
+4.0.0 (2024-01-19)
+------------------
+
+- Default to linking GH Sponsors for the :user: role (`#129 <https://github.com/sloria/sphinx-issues/issues/129>`_).
+ Thanks @webknjaz for the suggestion.
+- Support Python 3.8-3.12. Older versions are no longer supported.
+- *Backwards-incompatible*: Remove ``__version__``, ``__author__``, and ``__license__`` attributes.
+ Use ``importlib.metadata`` to read this metadata instead.
+
3.0.1 (2022-01-11)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/RELEASING.md new/sphinx-issues-4.1.0/RELEASING.md
--- old/sphinx-issues-3.0.1/RELEASING.md 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-issues-4.1.0/RELEASING.md 2024-04-15 05:03:23.000000000 +0200
@@ -0,0 +1,8 @@
+# Releasing
+
+1. Bump version in `pyproject.toml` and update the changelog
+ with today's date.
+2. Commit: `git commit -m "Bump version and update changelog"`
+3. Tag the commit: `git tag x.y.z`
+4. Push: `git push --tags origin main`. CI will take care of the
+ PyPI release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/pyproject.toml new/sphinx-issues-4.1.0/pyproject.toml
--- old/sphinx-issues-3.0.1/pyproject.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-issues-4.1.0/pyproject.toml 2024-04-15 05:03:23.000000000 +0200
@@ -0,0 +1,55 @@
+[project]
+name = "sphinx-issues"
+version = "4.1.0"
+description = "A Sphinx extension for linking to your project's issue tracker"
+readme = "README.rst"
+license = { file = "LICENSE" }
+authors = [{ name = "Steven Loria", email = "sloria1(a)gmail.com" }]
+classifiers = [
+ "Framework :: Sphinx :: Extension",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: MIT License",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Topic :: Software Development :: Documentation",
+]
+keywords = ["sphinx", "issues", "github"]
+requires-python = ">=3.8"
+dependencies = ["sphinx"]
+
+[project.urls]
+Issues = "https://github.com/sloria/sphinx-issues/issues"
+Source = "https://github.com/sloria/sphinx-issues"
+
+[project.optional-dependencies]
+tests = ["pytest"]
+dev = ["sphinx-issues[tests]", "tox", "pre-commit~=3.6"]
+
+[build-system]
+requires = ["flit_core<4"]
+build-backend = "flit_core.buildapi"
+
+[tool.flit.sdist]
+include = ["tests/", "CONTRIBUTING.md", "NOTICE", "tox.ini"]
+exclude = ["docs/_build/"]
+
+[tool.ruff]
+src = ["src"]
+fix = true
+show-fixes = true
+show-source = true
+
+[tool.ruff.lint]
+ignore = ["E203", "E266", "E501", "E731"]
+select = [
+ "B", # flake8-bugbear
+ "E", # pycodestyle error
+ "F", # pyflakes
+ "I", # isort
+ "UP", # pyupgrade
+ "W", # pycodestyle warning
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/setup.cfg new/sphinx-issues-4.1.0/setup.cfg
--- old/sphinx-issues-3.0.1/setup.cfg 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/setup.cfg 1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-[metadata]
-# This includes the license file in the wheel.
-license_files = LICENSE
-
-[flake8]
-ignore = E203, E266, E501, W503
-max-line-length = 90
-max-complexity = 18
-select = B,C,E,F,W,T4,B9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/setup.py new/sphinx-issues-4.1.0/setup.py
--- old/sphinx-issues-3.0.1/setup.py 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-import re
-from setuptools import setup
-
-INSTALL_REQUIRES = ["sphinx"]
-EXTRAS_REQUIRE = {
- "tests": ["pytest>=6.2.0"],
- "lint": [
- "flake8==3.9.2",
- "flake8-bugbear==20.11.1",
- "pre-commit~=2.7",
- ],
-}
-EXTRAS_REQUIRE["dev"] = EXTRAS_REQUIRE["tests"] + EXTRAS_REQUIRE["lint"] + ["tox"]
-
-
-def find_version(fname):
- """Attempts to find the version number in the file names fname.
- Raises RuntimeError if not found.
- """
- version = ""
- with open(fname) as fp:
- reg = re.compile(r'__version__ = [\'"]([^\'"]*)[\'"]')
- for line in fp:
- m = reg.match(line)
- if m:
- version = m.group(1)
- break
- if not version:
- raise RuntimeError("Cannot find version information")
- return version
-
-
-def read(fname):
- with open(fname) as fp:
- content = fp.read()
- return content
-
-
-setup(
- name="sphinx-issues",
- version=find_version("sphinx_issues.py"),
- description="A Sphinx extension for linking to your project's issue tracker",
- long_description=read("README.rst"),
- install_requires=INSTALL_REQUIRES,
- extras_require=EXTRAS_REQUIRE,
- author="Steven Loria",
- author_email="sloria1(a)gmail.com",
- url="https://github.com/sloria/sphinx-issues",
- license="MIT",
- keywords="sphinx issues github",
- python_requires=">=3.6",
- classifiers=[
- "Intended Audience :: Developers",
- "License :: OSI Approved :: MIT License",
- "Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.6",
- "Programming Language :: Python :: 3.7",
- "Programming Language :: Python :: 3.8",
- "Programming Language :: Python :: 3.9",
- "Programming Language :: Python :: 3.10",
- "Topic :: Software Development :: Documentation",
- ],
- py_modules=["sphinx_issues"],
- project_urls={"Issues": "https://github.com/sloria/sphinx-issues/issues"},
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/sphinx_issues.py new/sphinx-issues-4.1.0/sphinx_issues.py
--- old/sphinx-issues-3.0.1/sphinx_issues.py 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/sphinx_issues.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,390 +0,0 @@
-"""A Sphinx extension for linking to your project's issue tracker."""
-import re
-from typing import Callable, Optional, Tuple
-
-from docutils import nodes, utils
-from sphinx.config import Config
-from sphinx.util.nodes import split_explicit_title
-
-__version__ = "3.0.1"
-__author__ = "Steven Loria"
-__license__ = "MIT"
-
-
-def cve_role(name, rawtext, text, lineno, inliner, options=None, content=None):
- """Sphinx role for linking to a CVE on https://cve.mitre.org.
-
- Examples: ::
-
- :cve:`CVE-2018-17175`
-
- """
- options = options or {}
- content = content or []
- has_explicit_title, title, target = split_explicit_title(text)
-
- target = utils.unescape(target).strip()
- title = utils.unescape(title).strip()
- ref = f"https://cve.mitre.org/cgi-bin/cvename.cgi?name={target}"
- text = title if has_explicit_title else target
- link = nodes.reference(text=text, refuri=ref, **options)
- return [link], []
-
-
-GITHUB_USER_RE = re.compile("^https://github.com/([^/]+)/([^/]+)/.*")
-
-
-def _get_default_group_and_project(
- config: Config, uri_config_option: str
-) -> Optional[Tuple[str, str]]:
- """
- Get the default group/project or None if not set
- """
- old_config = getattr(config, "issues_github_path", None)
- new_config = getattr(config, "issues_default_group_project", None)
-
- if old_config and new_config:
- raise ValueError(
- "Both 'issues_github_path' and 'issues_default_group_project' are set, even"
- " though they define the same setting. "
- "Please only define one of these."
- )
- group_and_project = new_config or old_config
-
- if group_and_project:
- assert isinstance(group_and_project, str)
- try:
- group, project = group_and_project.split("/", maxsplit=1)
- return group, project
- except ValueError as e:
- raise ValueError(
- "`issues_github_path` or `issues_default_group_project` needs to "
- "define a value in the form of `<group or user>/<project>` "
- f"but `{config}` was given."
- ) from e
-
- # If group and project was not set, we need to look for it within the github url
- # for backward compatibility
- if not group_and_project:
- uri = getattr(config, uri_config_option)
- if uri:
- match = GITHUB_USER_RE.match(uri)
- if match:
- return match.groups()[0], match.groups()[1]
-
- return None
-
-
-def _get_placeholder(uri_config_option: str) -> str:
- """
- Get the placeholder from the uri_config_option
- """
- try:
- # i.e. issues_pr_uri -> pr
- return uri_config_option[:-4].split("_", maxsplit=1)[1]
- except IndexError:
- # issues_uri -> issue
- return uri_config_option[:-5]
-
-
-def _get_uri_template(
- config: Config,
- uri_config_option: str,
-) -> str:
- """
- Get a URL format template that can be filled with user information based
- on the given configuration
-
- The result always contains the following placeholder
- - n (the issue number, user, pull request, etc...)
-
- The result can contain the following other placeholders
- - group (same as user in github)
- - project
-
- Examples for possible results:
-
- - "https://github.com/{group}/{project}/issues/{n}"
-
- - "https://gitlab.company.com/{group}/{project}/{n}"
-
- - "https://fancy.issuetrack.com?group={group}&project={project}&issue={n}"
-
- Raises:
- - ValueError if the given uri contains an invalid placeholder
- """
- format_string = str(getattr(config, uri_config_option))
- placeholder = _get_placeholder(uri_config_option)
-
- result = format_string.replace(f"{{{placeholder}}}", "{n}")
-
- try:
- result.format(project="", group="", n="")
- except (NameError, KeyError) as e:
- raise ValueError(
- f"The `{uri_config_option}` option contains invalid placeholders. "
- f"Only {{group}}, {{projects}} and {{{placeholder}}} are allowed."
- f'Invalid format string: "{format_string}".'
- ) from e
- return result
-
-
-def _get_uri(
- uri_config_option: str,
- config: Config,
- number: str,
- group_and_project: Optional[Tuple[str, str]] = None,
-) -> str:
- """
- Get a URI based on the given configuration and do some sanity checking
- """
- format_string = _get_uri_template(config, uri_config_option)
-
- url_vars = {"n": number}
-
- config_group_and_project = _get_default_group_and_project(config, uri_config_option)
- if group_and_project:
- # Group and Project defined by call
- if config_group_and_project:
- to_replace = "/".join(config_group_and_project)
- if to_replace in format_string:
- # Backward compatibility, replace default group/project
- # with {group}/{project}
- format_string = format_string.replace(to_replace, "{group}/{project}")
- (url_vars["group"], url_vars["project"]) = group_and_project
- elif config_group_and_project:
- # If not defined by call use the default if given
- (url_vars["group"], url_vars["project"]) = config_group_and_project
-
- try:
- return format_string.format(**url_vars)
- except (NameError, KeyError) as e:
- # The format string was checked before, that it contains no additional not
- # supported placeholders. So this occur
- raise ValueError(
- f"The `{uri_config_option}` format `{format_string}` requires a "
- f"group/project to be defined in `issues_default_group_project`."
- ) from e
-
-
-def cwe_role(name, rawtext, text, lineno, inliner, options=None, content=None):
- """Sphinx role for linking to a CWE on https://cwe.mitre.org.
-
- Examples: ::
-
- :cwe:`CWE-787`
-
- """
- options = options or {}
- content = content or []
- has_explicit_title, title, target = split_explicit_title(text)
-
- target = utils.unescape(target).strip()
- title = utils.unescape(title).strip()
- number = target[4:]
- ref = f"https://cwe.mitre.org/data/definitions/{number}.html"
- text = title if has_explicit_title else target
- link = nodes.reference(text=text, refuri=ref, **options)
- return [link], []
-
-
-class IssueRole:
- # Symbols used to separate and issue/pull request/merge request etc
- # i.e
- # - group/project#2323 for issues
- # - group/project!1234 for merge requests (in gitlab)
- # - group/project@adbc1234 for commits
- ELEMENT_SEPARATORS = "#@!"
-
- EXTERNAL_REPO_REGEX = re.compile(rf"^(\w+)/(.+)([{ELEMENT_SEPARATORS}])([\w]+)$")
-
- def __init__(
- self,
- config_prefix: str,
- pre_format_text: Callable[[Config, str], str] = None,
- ):
- self.uri_config = f"{config_prefix}_uri"
- self.separator_config = f"{config_prefix}_prefix"
- self.pre_format_text = pre_format_text or self.default_pre_format_text
-
- @staticmethod
- def default_pre_format_text(config: Config, text: str) -> str:
- return text
-
- def format_text(self, config: Config, issue_no: str) -> str:
- """
- Add supported separator in front of the issue or raise an error if invalid
- separator is given
- """
- separator = getattr(config, self.separator_config)
- if separator not in self.ELEMENT_SEPARATORS:
- raise ValueError(
- f"Option {self.separator_config} has to be one of "
- f"{', '.join(self.ELEMENT_SEPARATORS)}."
- )
- text = self.pre_format_text(config, issue_no.lstrip(self.ELEMENT_SEPARATORS))
- return f"{separator}{text}"
-
- def make_node(self, name: str, issue_no: str, config: Config, options=None):
- if issue_no in ("-", "0"):
- return None
-
- options = options or {}
-
- has_explicit_title, title, target = split_explicit_title(issue_no)
-
- if has_explicit_title:
- issue_no = str(target)
-
- repo_match = self.EXTERNAL_REPO_REGEX.match(issue_no)
-
- if repo_match:
- # External repo
- group, project, original_separator, issue_no = repo_match.groups()
- text = f"{group}/{project}{self.format_text(config, issue_no)}"
- ref = _get_uri(
- self.uri_config,
- config,
- issue_no,
- (group, project),
- )
- else:
- text = self.format_text(config, issue_no)
- ref = _get_uri(self.uri_config, config, issue_no)
- if has_explicit_title:
- return nodes.reference(text=title, refuri=ref, **options)
- else:
- return nodes.reference(text=text, refuri=ref, **options)
-
- def __call__(
- self, name, rawtext, text, lineno, inliner, options=None, content=None
- ):
- options = options or {}
- content = content or []
- issue_nos = [each.strip() for each in utils.unescape(text).split(",")]
- config = inliner.document.settings.env.app.config
- ret = []
- for i, issue_no in enumerate(issue_nos):
- node = self.make_node(name, issue_no, config, options=options)
- ret.append(node)
- if i != len(issue_nos) - 1:
- sep = nodes.raw(text=", ", format="html")
- ret.append(sep)
- return ret, []
-
-
-"""Sphinx role for linking to an issue. Must have
-`issues_uri` or `issues_default_group_project` configured in ``conf.py``.
-Examples: ::
- :issue:`123`
- :issue:`42,45`
- :issue:`sloria/konch#123`
-"""
-issue_role = IssueRole(
- config_prefix="issues",
-)
-
-"""Sphinx role for linking to a pull request. Must have
-`issues_pr_uri` or `issues_default_group_project` configured in ``conf.py``.
-Examples: ::
- :pr:`123`
- :pr:`42,45`
- :pr:`sloria/konch#43`
-"""
-pr_role = IssueRole(
- config_prefix="issues_pr",
-)
-
-
-def format_commit_text(config, sha):
- return sha[:7]
-
-
-"""Sphinx role for linking to a commit. Must have
-`issues_commit_uri` or `issues_default_group_project` configured in ``conf.py``.
-Examples: ::
- :commit:`123abc456def`
- :commit:`sloria/konch@123abc456def`
-"""
-commit_role = IssueRole(
- config_prefix="issues_commit",
- pre_format_text=format_commit_text,
-)
-
-"""Sphinx role for linking to a user profile. Defaults to linking to
-GitHub profiles, but the profile URIS can be configured via the
-``issues_user_uri`` config value.
-
-Examples: ::
-
- :user:`sloria`
-
-Anchor text also works: ::
-
- :user:`Steven Loria <sloria>`
-"""
-user_role = IssueRole(config_prefix="issues_user")
-
-
-def setup(app):
- # Format template for issues URI
- # e.g. 'https://github.com/sloria/marshmallow/issues/{issue}
- app.add_config_value(
- "issues_uri",
- default="https://github.com/{group}/{project}/issues/{issue}",
- rebuild="html",
- types=[str],
- )
- app.add_config_value("issues_prefix", default="#", rebuild="html", types=[str])
- # Format template for PR URI
- # e.g. 'https://github.com/sloria/marshmallow/pull/{issue}
- app.add_config_value(
- "issues_pr_uri",
- default="https://github.com/{group}/{project}/pull/{pr}",
- rebuild="html",
- types=[str],
- )
- app.add_config_value("issues_pr_prefix", default="#", rebuild="html", types=[str])
- # Format template for commit URI
- # e.g. 'https://github.com/sloria/marshmallow/commits/{commit}
- app.add_config_value(
- "issues_commit_uri",
- default="https://github.com/{group}/{project}/commit/{commit}",
- rebuild="html",
- types=[str],
- )
- app.add_config_value(
- "issues_commit_prefix", default="@", rebuild="html", types=[str]
- )
- # There is no seperator config as a format_text function is given
-
- # Default User (Group)/Project eg. 'sloria/marshmallow'
- # Called github as the package was working with github only before
- app.add_config_value(
- "issues_github_path", default=None, rebuild="html", types=[str]
- )
- # Same as above but with new naming to reflect the new functionality
- # Only on of both can be set
- app.add_config_value(
- "issues_default_group_project", default=None, rebuild="html", types=[str]
- )
- # Format template for user profile URI
- # e.g. 'https://github.com/{user}'
- app.add_config_value(
- "issues_user_uri",
- default="https://github.com/{user}",
- rebuild="html",
- types=[str],
- )
- app.add_config_value("issues_user_prefix", default="@", rebuild="html", types=[str])
- app.add_role("issue", issue_role)
- app.add_role("pr", pr_role)
- app.add_role("user", user_role)
- app.add_role("commit", commit_role)
- app.add_role("cve", cve_role)
- app.add_role("cwe", cwe_role)
- return {
- "version": __version__,
- "parallel_read_safe": True,
- "parallel_write_safe": True,
- }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/src/sphinx_issues/__init__.py new/sphinx-issues-4.1.0/src/sphinx_issues/__init__.py
--- old/sphinx-issues-3.0.1/src/sphinx_issues/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-issues-4.1.0/src/sphinx_issues/__init__.py 2024-04-15 05:03:23.000000000 +0200
@@ -0,0 +1,412 @@
+"""A Sphinx extension for linking to your project's issue tracker."""
+
+import importlib.metadata
+import re
+from typing import Callable, Optional, Tuple
+
+from docutils import nodes, utils
+from sphinx.config import Config
+from sphinx.util.nodes import split_explicit_title
+
+
+def cve_role(name, rawtext, text, lineno, inliner, options=None, content=None):
+ """Sphinx role for linking to a CVE on https://cve.mitre.org.
+
+ Examples: ::
+
+ :cve:`CVE-2018-17175`
+
+ """
+ options = options or {}
+ content = content or []
+ has_explicit_title, title, target = split_explicit_title(text)
+
+ target = utils.unescape(target).strip()
+ title = utils.unescape(title).strip()
+ ref = f"https://cve.mitre.org/cgi-bin/cvename.cgi?name={target}"
+ text = title if has_explicit_title else target
+ link = nodes.reference(text=text, refuri=ref, **options)
+ return [link], []
+
+
+GITHUB_USER_RE = re.compile("^https://github.com/([^/]+)/([^/]+)/.*")
+
+
+def _get_default_group_and_project(
+ config: Config, uri_config_option: str
+) -> Optional[Tuple[str, str]]:
+ """
+ Get the default group/project or None if not set
+ """
+ old_config = getattr(config, "issues_github_path", None)
+ new_config = getattr(config, "issues_default_group_project", None)
+
+ if old_config and new_config:
+ raise ValueError(
+ "Both 'issues_github_path' and 'issues_default_group_project' are set, even"
+ " though they define the same setting. "
+ "Please only define one of these."
+ )
+ group_and_project = new_config or old_config
+
+ if group_and_project:
+ assert isinstance(group_and_project, str)
+ try:
+ group, project = group_and_project.split("/", maxsplit=1)
+ return group, project
+ except ValueError as e:
+ raise ValueError(
+ "`issues_github_path` or `issues_default_group_project` needs to "
+ "define a value in the form of `<group or user>/<project>` "
+ f"but `{config}` was given."
+ ) from e
+
+ # If group and project was not set, we need to look for it within the github url
+ # for backward compatibility
+ if not group_and_project:
+ uri = getattr(config, uri_config_option)
+ if uri:
+ match = GITHUB_USER_RE.match(uri)
+ if match:
+ return match.groups()[0], match.groups()[1]
+
+ return None
+
+
+def _get_placeholder(uri_config_option: str) -> str:
+ """
+ Get the placeholder from the uri_config_option
+ """
+ try:
+ # i.e. issues_pr_uri -> pr
+ return uri_config_option[:-4].split("_", maxsplit=1)[1]
+ except IndexError:
+ # issues_uri -> issue
+ return uri_config_option[:-5]
+
+
+def _get_uri_template(
+ config: Config,
+ uri_config_option: str,
+) -> str:
+ """
+ Get a URL format template that can be filled with user information based
+ on the given configuration
+
+ The result always contains the following placeholder
+ - n (the issue number, user, pull request, etc...)
+
+ The result can contain the following other placeholders
+ - group (same as user in github)
+ - project
+
+ Examples for possible results:
+
+ - "https://github.com/{group}/{project}/issues/{n}"
+
+ - "https://gitlab.company.com/{group}/{project}/{n}"
+
+ - "https://fancy.issuetrack.com?group={group}&project={project}&issue={n}"
+
+ Raises:
+ - ValueError if the given uri contains an invalid placeholder
+ """
+ format_string = str(getattr(config, uri_config_option))
+ placeholder = _get_placeholder(uri_config_option)
+
+ result = format_string.replace(f"{{{placeholder}}}", "{n}")
+
+ try:
+ result.format(project="", group="", n="")
+ except (NameError, KeyError) as e:
+ raise ValueError(
+ f"The `{uri_config_option}` option contains invalid placeholders. "
+ f"Only {{group}}, {{projects}} and {{{placeholder}}} are allowed."
+ f'Invalid format string: "{format_string}".'
+ ) from e
+ return result
+
+
+def _get_uri(
+ uri_config_option: str,
+ config: Config,
+ number: str,
+ group_and_project: Optional[Tuple[str, str]] = None,
+) -> str:
+ """
+ Get a URI based on the given configuration and do some sanity checking
+ """
+ format_string = _get_uri_template(config, uri_config_option)
+
+ url_vars = {"n": number}
+
+ config_group_and_project = _get_default_group_and_project(config, uri_config_option)
+ if group_and_project:
+ # Group and Project defined by call
+ if config_group_and_project:
+ to_replace = "/".join(config_group_and_project)
+ if to_replace in format_string:
+ # Backward compatibility, replace default group/project
+ # with {group}/{project}
+ format_string = format_string.replace(to_replace, "{group}/{project}")
+ (url_vars["group"], url_vars["project"]) = group_and_project
+ elif config_group_and_project:
+ # If not defined by call use the default if given
+ (url_vars["group"], url_vars["project"]) = config_group_and_project
+
+ try:
+ return format_string.format(**url_vars)
+ except (NameError, KeyError) as e:
+ # The format string was checked before, that it contains no additional not
+ # supported placeholders. So this occur
+ raise ValueError(
+ f"The `{uri_config_option}` format `{format_string}` requires a "
+ f"group/project to be defined in `issues_default_group_project`."
+ ) from e
+
+
+def cwe_role(name, rawtext, text, lineno, inliner, options=None, content=None):
+ """Sphinx role for linking to a CWE on https://cwe.mitre.org.
+
+ Examples: ::
+
+ :cwe:`CWE-787`
+
+ """
+ options = options or {}
+ content = content or []
+ has_explicit_title, title, target = split_explicit_title(text)
+
+ target = utils.unescape(target).strip()
+ title = utils.unescape(title).strip()
+ number = target[4:]
+ ref = f"https://cwe.mitre.org/data/definitions/{number}.html"
+ text = title if has_explicit_title else target
+ link = nodes.reference(text=text, refuri=ref, **options)
+ return [link], []
+
+
+def pypi_role(name, rawtext, text, lineno, inliner, options=None, content=None):
+ """Sphinx role for linking to a PyPI on https://pypi.org/.
+
+ Examples: ::
+
+ :pypi:`sphinx-issues`
+
+ """
+ options = options or {}
+ content = content or []
+ has_explicit_title, title, target = split_explicit_title(text)
+
+ target = utils.unescape(target).strip()
+ title = utils.unescape(title).strip()
+ ref = f"https://pypi.org/project/{target}"
+ text = title if has_explicit_title else target
+ link = nodes.reference(text=text, refuri=ref, **options)
+ return [link], []
+
+
+class IssueRole:
+ # Symbols used to separate and issue/pull request/merge request etc
+ # i.e
+ # - group/project#2323 for issues
+ # - group/project!1234 for merge requests (in gitlab)
+ # - group/project@adbc1234 for commits
+ ELEMENT_SEPARATORS = "#@!"
+
+ EXTERNAL_REPO_REGEX = re.compile(rf"^(\w+)/(.+)([{ELEMENT_SEPARATORS}])([\w]+)$")
+
+ def __init__(
+ self,
+ config_prefix: str,
+ pre_format_text: Callable[[Config, str], str] = None,
+ ):
+ self.uri_config = f"{config_prefix}_uri"
+ self.separator_config = f"{config_prefix}_prefix"
+ self.pre_format_text = pre_format_text or self.default_pre_format_text
+
+ @staticmethod
+ def default_pre_format_text(config: Config, text: str) -> str:
+ return text
+
+ def format_text(self, config: Config, issue_no: str) -> str:
+ """
+ Add supported separator in front of the issue or raise an error if invalid
+ separator is given
+ """
+ separator = getattr(config, self.separator_config)
+ if separator not in self.ELEMENT_SEPARATORS:
+ raise ValueError(
+ f"Option {self.separator_config} has to be one of "
+ f"{', '.join(self.ELEMENT_SEPARATORS)}."
+ )
+ text = self.pre_format_text(config, issue_no.lstrip(self.ELEMENT_SEPARATORS))
+ return f"{separator}{text}"
+
+ def make_node(self, name: str, issue_no: str, config: Config, options=None):
+ if issue_no in ("-", "0"):
+ return None
+
+ options = options or {}
+
+ has_explicit_title, title, target = split_explicit_title(issue_no)
+
+ if has_explicit_title:
+ issue_no = str(target)
+
+ repo_match = self.EXTERNAL_REPO_REGEX.match(issue_no)
+
+ if repo_match:
+ # External repo
+ group, project, original_separator, issue_no = repo_match.groups()
+ text = f"{group}/{project}{self.format_text(config, issue_no)}"
+ ref = _get_uri(
+ self.uri_config,
+ config,
+ issue_no,
+ (group, project),
+ )
+ else:
+ text = self.format_text(config, issue_no)
+ ref = _get_uri(self.uri_config, config, issue_no)
+ if has_explicit_title:
+ return nodes.reference(text=title, refuri=ref, **options)
+ else:
+ return nodes.reference(text=text, refuri=ref, **options)
+
+ def __call__(
+ self, name, rawtext, text, lineno, inliner, options=None, content=None
+ ):
+ options = options or {}
+ content = content or []
+ issue_nos = [each.strip() for each in utils.unescape(text).split(",")]
+ config = inliner.document.settings.env.app.config
+ ret = []
+ for i, issue_no in enumerate(issue_nos):
+ node = self.make_node(name, issue_no, config, options=options)
+ ret.append(node)
+ if i != len(issue_nos) - 1:
+ sep = nodes.raw(text=", ", format="html")
+ ret.append(sep)
+ return ret, []
+
+
+"""Sphinx role for linking to an issue. Must have
+`issues_uri` or `issues_default_group_project` configured in ``conf.py``.
+Examples: ::
+ :issue:`123`
+ :issue:`42,45`
+ :issue:`sloria/konch#123`
+"""
+issue_role = IssueRole(
+ config_prefix="issues",
+)
+
+"""Sphinx role for linking to a pull request. Must have
+`issues_pr_uri` or `issues_default_group_project` configured in ``conf.py``.
+Examples: ::
+ :pr:`123`
+ :pr:`42,45`
+ :pr:`sloria/konch#43`
+"""
+pr_role = IssueRole(
+ config_prefix="issues_pr",
+)
+
+
+def format_commit_text(config, sha):
+ return sha[:7]
+
+
+"""Sphinx role for linking to a commit. Must have
+`issues_commit_uri` or `issues_default_group_project` configured in ``conf.py``.
+Examples: ::
+ :commit:`123abc456def`
+ :commit:`sloria/konch@123abc456def`
+"""
+commit_role = IssueRole(
+ config_prefix="issues_commit",
+ pre_format_text=format_commit_text,
+)
+
+"""Sphinx role for linking to a user profile. Defaults to linking to
+GitHub profiles, but the profile URIS can be configured via the
+``issues_user_uri`` config value.
+
+Examples: ::
+
+ :user:`sloria`
+
+Anchor text also works: ::
+
+ :user:`Steven Loria <sloria>`
+"""
+user_role = IssueRole(config_prefix="issues_user")
+
+
+def setup(app):
+ # Format template for issues URI
+ # e.g. 'https://github.com/sloria/marshmallow/issues/{issue}
+ app.add_config_value(
+ "issues_uri",
+ default="https://github.com/{group}/{project}/issues/{issue}",
+ rebuild="html",
+ types=[str],
+ )
+ app.add_config_value("issues_prefix", default="#", rebuild="html", types=[str])
+ # Format template for PR URI
+ # e.g. 'https://github.com/sloria/marshmallow/pull/{issue}
+ app.add_config_value(
+ "issues_pr_uri",
+ default="https://github.com/{group}/{project}/pull/{pr}",
+ rebuild="html",
+ types=[str],
+ )
+ app.add_config_value("issues_pr_prefix", default="#", rebuild="html", types=[str])
+ # Format template for commit URI
+ # e.g. 'https://github.com/sloria/marshmallow/commits/{commit}
+ app.add_config_value(
+ "issues_commit_uri",
+ default="https://github.com/{group}/{project}/commit/{commit}",
+ rebuild="html",
+ types=[str],
+ )
+ app.add_config_value(
+ "issues_commit_prefix", default="@", rebuild="html", types=[str]
+ )
+ # There is no seperator config as a format_text function is given
+
+ # Default User (Group)/Project eg. 'sloria/marshmallow'
+ # Called github as the package was working with github only before
+ app.add_config_value(
+ "issues_github_path", default=None, rebuild="html", types=[str]
+ )
+ # Same as above but with new naming to reflect the new functionality
+ # Only on of both can be set
+ app.add_config_value(
+ "issues_default_group_project", default=None, rebuild="html", types=[str]
+ )
+ # Format template for user profile URI
+ # e.g. 'https://github.com/{user}'
+ app.add_config_value(
+ "issues_user_uri",
+ # Default to sponsors URL.
+ # GitHub will automatically redirect to profile
+ # if Sponsors isn't set up.
+ default="https://github.com/sponsors/{user}",
+ rebuild="html",
+ types=[str],
+ )
+ app.add_config_value("issues_user_prefix", default="@", rebuild="html", types=[str])
+ app.add_role("issue", issue_role)
+ app.add_role("pr", pr_role)
+ app.add_role("user", user_role)
+ app.add_role("commit", commit_role)
+ app.add_role("cve", cve_role)
+ app.add_role("cwe", cwe_role)
+ app.add_role("pypi", pypi_role)
+ return {
+ "version": importlib.metadata.version("sphinx-issues"),
+ "parallel_read_safe": True,
+ "parallel_write_safe": True,
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/tests/test_sphinx_issues.py new/sphinx-issues-4.1.0/tests/test_sphinx_issues.py
--- old/sphinx-issues-3.0.1/tests/test_sphinx_issues.py 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/tests/test_sphinx_issues.py 2024-04-15 05:03:23.000000000 +0200
@@ -7,10 +7,17 @@
import pytest
import sphinx.application
-from sphinx_issues import commit_role, cve_role, cwe_role, issue_role, pr_role
-from sphinx_issues import setup as issues_setup
-from sphinx_issues import user_role
+from sphinx_issues import (
+ commit_role,
+ cve_role,
+ cwe_role,
+ issue_role,
+ pr_role,
+ pypi_role,
+ user_role,
+)
+from sphinx_issues import setup as issues_setup
BASE_DIR = Path(__file__).parent.absolute()
@@ -28,7 +35,7 @@
]
)
def app(request):
- src, doctree, confdir, outdir = [mkdtemp() for _ in range(4)]
+ src, doctree, confdir, outdir = (mkdtemp() for _ in range(4))
sphinx.application.Sphinx._log = lambda self, message, wfile, nonl=False: None
app = sphinx.application.Sphinx(
srcdir=src, confdir=None, outdir=outdir, doctreedir=doctree, buildername="html"
@@ -80,13 +87,13 @@
"#42",
"https://github.com/marshmallow-code/marshmallow/pull/42",
),
- (user_role, "user", "sloria", "@sloria", "https://github.com/sloria"),
+ (user_role, "user", "sloria", "@sloria", "https://github.com/sponsors/sloria"),
(
user_role,
"user",
"Steven Loria <sloria>",
"Steven Loria",
- "https://github.com/sloria",
+ "https://github.com/sponsors/sloria",
),
(
cve_role,
@@ -103,6 +110,13 @@
"https://cwe.mitre.org/data/definitions/787.html",
),
(
+ pypi_role,
+ "pypi",
+ "sphinx-issues",
+ "sphinx-issues",
+ "https://pypi.org/project/sphinx-issues",
+ ),
+ (
commit_role,
"commit",
"123abc456def",
@@ -178,7 +192,7 @@
@pytest.fixture
def app_custom_uri():
- src, doctree, confdir, outdir = [mkdtemp() for _ in range(4)]
+ src, doctree, confdir, outdir = (mkdtemp() for _ in range(4))
sphinx.application.Sphinx._log = lambda self, message, wfile, nonl=False: None
app = sphinx.application.Sphinx(
srcdir=src, confdir=None, outdir=outdir, doctreedir=doctree, buildername="html"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-issues-3.0.1/tox.ini new/sphinx-issues-4.1.0/tox.ini
--- old/sphinx-issues-3.0.1/tox.ini 2022-01-11 17:41:14.000000000 +0100
+++ new/sphinx-issues-4.1.0/tox.ini 2024-04-15 05:03:23.000000000 +0200
@@ -1,12 +1,12 @@
[tox]
-envlist = lint,py36,py37,py38,py39,py310
+envlist = lint,py{38,39,310,311,312}
[testenv]
extras = tests
commands = pytest {posargs}
[testenv:lint]
-deps = pre-commit~=2.7
+deps = pre-commit~=3.6
skip_install = true
commands = pre-commit run --all-files
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Sphinx for openSUSE:Factory checked in at 2024-07-03 20:29:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Sphinx (Old)
and /work/SRC/openSUSE:Factory/.python-Sphinx.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Sphinx"
Wed Jul 3 20:29:39 2024 rev:106 rq:1184035 version:7.3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Sphinx/python-Sphinx.changes 2024-04-23 18:55:22.636959082 +0200
+++ /work/SRC/openSUSE:Factory/.python-Sphinx.new.18349/python-Sphinx.changes 2024-07-03 20:30:10.976807399 +0200
@@ -1,0 +2,203 @@
+Sat Jun 29 07:05:01 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 7.3.7:
+ * #12299: Defer loading themes defined via entry points until
+ their explicit use by the user or a child theme. Patch by
+ Adam Turner.
+ * #12305: Return the default value for theme.get_config() with
+ an unsupported theme configuration section. Patch by Adam
+ Turner.
+ * #12295: Re-export all AST types in the C and C++ domains.
+ Patch by Adam Turner.
+ * #12295: Re-export various objects from
+ sphinx.domains.python._annotations in sphinx.domains.python.
+ Patch by Jacob Chesslo and Adam Turner.
+ * #12295: Re-export various objects from
+ sphinx.domains.python._object in sphinx.domains.python. Patch
+ by Jacob Chesslo and Adam Turner.
+ * Handle cases when Any is not an instance of type. Patch by
+ Adam Turner.
+ * #12290: Fix a false-positive warning when setting a
+ configuration value with Any as the valid type to a type
+ other than the value's default. Patch by Adam Turner.
+ * Preload all themes defined via entry points. Patch by Adam
+ Turner.
+ * Fix a bad interaction between the 'Furo' theme and the new-
+ style for configuration values. Patch by Adam Turner.
+ * Require tomli on Python 3.10 and earlier. Patch by Adam
+ Turner.
+ * #11858: Increase the minimum supported version of Alabaster
+ to 0.7.14. Patch by Adam Turner.
+ * #11411: Support Docutils 0.21. Patch by Adam Turner.
+ * #12012: Use types-docutils instead of docutils-stubs.
+ * #11693: Support for old-style :file:`Makefile` and
+ :file:`make.bat` output in :program:`sphinx-quickstart`, and
+ the associated options :option:`!-M`, :option:`!-m`,
+ :option:`!--no-use-make-mode`, and :option:`!--use-make-
+ mode`.
+ * #11285: Direct access to
+ :attr:`!sphinx.testing.util.SphinxTestApp._status` or
+ :attr:`!sphinx.testing.util.SphinxTestApp._warning` is
+ deprecated. Use the public properties
+ :attr:`!sphinx.testing.util.SphinxTestApp.status` and
+ :attr:`!sphinx.testing.util.SphinxTestApp.warning` instead.
+ Patch by Bénédikt Tran.
+ * tests: :func:`!sphinx.testing.util.strip_escseq` is
+ deprecated in favour of
+ :func:`!sphinx.util.console.strip_colors`. Patch by Bénédikt
+ Tran.
+ * #12265: Support theme configuration via theme.toml.
+ * #11701: HTML Search: Adopt the new <search> element. Patch by
+ Bénédikt Tran.
+ * #11776: Add long option names to sphinx-build. Patch by Hugo
+ van Kemenade, Adam Turner, Bénédikt Tran, and Ezio Melotti.
+ * Organise the sphinx-build options into groups. Patch by Adam
+ Turner.
+ * #11855: Defer computation of configuration values. Patch by
+ Adam Turner.
+ * Add :no-search: as an alias of the :nosearch: metadata field.
+ Patch by Adam Turner.
+ * #11803: autodoc: Use an overriden __repr__() function in an
+ enum, if defined. Patch by Shengyu Zhang.
+ * #11825: Allow custom targets in the manpage role. Patch by
+ Nicolas Peugnet.
+ * #11892: Improved performance when resolving cross references
+ in the C++ domain. Patch by Rouslan Korneychuk.
+ * #11905: Add a :rst:dir:`versionremoved` directive. Patch by
+ Hugo van Kemenade, Adam Turner, and C.A.M. Gerlach.
+ * #11981: Improve rendering of signatures using slice syntax,
+ e.g., def foo(arg: np.float64[:,:]) -> None: ....
+ * The manpage builder now adds OSC 8 anchors to hyperlinks,
+ using the groff device control command.
+ * #11015: Change the text of the :rst:dir:`versionadded`
+ directive from New in [...] to Added in [...]. Patch by
+ Bénédikt Tran.
+ * #12131: Added :confval:`show_warning_types` configuration
+ option. Patch by Chris Sewell.
+ * #12193: Improve external warnings for unknown roles. In
+ particular, suggest related role names if an object type is
+ mistakenly used. Patch by Chris Sewell.
+ * Add public type alias
+ :class:`sphinx.util.typing.ExtensionMetadata`. This can be
+ used by extension developers to annotate the return type of
+ their setup function. Patch by Chris Sewell.
+ * #11668: Raise a useful error when theme.conf is missing.
+ Patch by Vinay Sajip.
+ * #11622: Ensure that the order of keys in searchindex.js is
+ deterministic. Patch by Pietro Albini.
+ * #11617: ANSI control sequences are stripped from the output
+ when writing to a warnings file with :option:`-w <sphinx-
+ build -w>`. Patch by Bénédikt Tran.
+ * #11666: Skip all hidden directories in
+ CatalogRepository.pofiles. Patch by Aryaz Eghbali.
+ * #9686: html builder: Fix MathJax lazy loading when equations
+ appear in titles. Patch by Bénédikt Tran.
+ * #11483: singlehtml builder: Fix MathJax lazy loading when the
+ index does not contain any math equations. Patch by Bénédikt
+ Tran.
+ * #11697: HTML Search: add 'noindex' meta robots tag. Patch by
+ James Addison.
+ * #11678: Fix a possible ZeroDivisionError in
+ sphinx.ext.coverage. Patch by Stephen Finucane.
+ * #11756: LaTeX: build error with recent TeXLive due to missing
+ substitutefont package (triggered if using fontenc with T2A
+ option and document language is not a Cyrillic one). Patch by
+ Jean-François B.
+ * #11675: Fix rendering of progression bars in environments
+ that do not support ANSI control sequences. Patch by Bénédikt
+ Tran.
+ * #11861: Whitelist more types with an incorrect __module__
+ attribute. Patch by Adam Turner.
+ * #11715: Apply tls_verify and tls_cacerts config to
+ ImageDownloader. Patch by Nick Touran.
+ * Allow hyphens in group names for :rst:dir:`productionlist`
+ cross-references. Patch by Adam Turner.
+ * #11433: Added the :confval:`linkcheck_allow_unauthorized`
+ configuration option. Set this option to False to report HTTP
+ 401 (unauthorized) server responses as broken. Patch by James
+ Addison.
+ * #11868: linkcheck: added a distinct timeout reporting status
+ code. This can be enabled by setting
+ :confval:`linkcheck_report_timeouts_as_broken` to False.
+ Patch by James Addison.
+ * #11869: Refresh the documentation for the linkcheck_timeout
+ setting. Patch by James Addison.
+ * #11874: Configure a default 30-second value for
+ linkcheck_timeout. Patch by James Addison.
+ * #11886: Print the Jinja2 template path chain in
+ TemplateNotFound exceptions. Patch by Colin Marquardt.
+ * #11598: Do not use query components in URLs for assets in
+ EPUB rendering. Patch by David Runge.
+ * #11904: Support unary subtraction when parsing annotations.
+ Patch by James Addison.
+ * #11925: Blacklist the sphinxprettysearchresults extension;
+ the functionality it provides was merged into Sphinx v2.0.0.
+ Patch by James Addison.
+ * #11917: Fix rendering of annotated inherited members for
+ Python 3.9. Patch by Janet Carson.
+ * #11935: C Domain: Fix namespace-pop context. Patch by Frank
+ Dana.
+ * #11923: Avoid zombie processes when parallel builds fail.
+ Patch by Felix von Drigalski.
+ * #11353: Support enumeration classes inheriting from mixin or
+ data types. Patch by Bénédikt Tran.
+ * #11962: Fix target resolution when using :paramtype: fields.
+ Patch by Bénédikt Tran.
+ * #11944: Use anchor in search preview. Patch by Will Lachance.
+ * #12008: Fix case-sensitive lookup of std:label names in
+ intersphinx inventory. Patch by Michael Goerz.
+ * #11958: HTML Search: Fix partial matches overwriting full
+ matches. Patch by William Lachance.
+ * #11959: Fix multiple term matching when word appears in both
+ title and document. Patch by Will Lachance.
+ * #11474: Fix doctrees caching causing files not be rebuilt in
+ some cases, e.g., when :confval:`numfig` is True. Patch by
+ Bénédikt Tran.
+ * #11278: autodoc: Fix rendering of
+ :class:`functools.singledispatchmethod` combined with
+ :func:`@classmethod <classmethod>`. Patch by Bénédikt Tran.
+ * #11894: Do not add checksums to css files if building using
+ the htmlhelp builder. Patch by reduerK akiM.
+ * #12052: Remove <script> and <style> tags from the content of
+ search result summary snippets. Patch by James Addison.
+ * #11578: HTML Search: Order non-main index entries after other
+ results. Patch by Brad King.
+ * #12147: autosummary: Fix a bug whereby the wrong file
+ extension may be used, when multiple suffixes are specified
+ in :confval:`source_suffix`. Patch by Sutou Kouhei.
+ * #10786: improve the error message when a file to be copied
+ (e.g., an asset) is removed during Sphinx execution. Patch by
+ Bénédikt Tran.
+ * #12040: HTML Search: Ensure that document titles that are
+ partially-matched by the user search query are included in
+ search results. Patch by James Addison.
+ * #11970: singlehtml builder: make target URIs to be same-
+ document references in the sense of :rfc:`RFC 3986, §4.4
+ <3986#section-4.4>`, e.g., index.html#foo becomes #foo. Patch
+ by Eric Norige.
+ * #12271: Partially revert Docutils' r9562 to fix EPUB files.
+ Patch by Adam Turner.
+ * #12253: Escape reserved path characters in the remote images
+ post-transform download cache. Patch by James Addison and
+ Adam Turner.
+ * Reorganise tests into directories. Patch by Adam Turner.
+ * Clean up global state in SphinxTestApp. Patch by Adam Turner.
+ * #11285: :func:`!pytest.mark.sphinx` and
+ :class:`!sphinx.testing.util.SphinxTestApp` accept
+ warningiserror, keep_going and verbosity as keyword
+ arguments. Patch by Bénédikt Tran.
+ * #11285: :class:`!sphinx.testing.util.SphinxTestApp` status
+ and warning arguments are checked to be :class:`io.StringIO`
+ objects (the public API incorrectly assumed this without
+ checking it). Patch by Bénédikt Tran.
+ * Report the result of test_run_epubcheck as skipped instead of
+ success when either Java or epubcheck are not available.
+ * Use dynamic allocation of unused port numbers for the test
+ HTTP(S) servers. As a side-effect, this removes the need for
+ test server lockfiles, meaning that any remaining tests/test-
+ server.lock files can safely be deleted.
+- drop fix-autodoc-tests-python-3117.patch,
+ fix-test-expectation-for-enum-rendering-on-python-3.12.3.patch:
+ upstream
+
+-------------------------------------------------------------------
Old:
----
fix-autodoc-tests-python-3117.patch
fix-test-expectation-for-enum-rendering-on-python-3.12.3.patch
sphinx-7.2.6.tar.gz
New:
----
sphinx-7.3.7.tar.gz
BETA DEBUG BEGIN:
Old: server.lock files can safely be deleted.
- drop fix-autodoc-tests-python-3117.patch,
fix-test-expectation-for-enum-rendering-on-python-3.12.3.patch:
Old:- drop fix-autodoc-tests-python-3117.patch,
fix-test-expectation-for-enum-rendering-on-python-3.12.3.patch:
upstream
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Sphinx.spec ++++++
--- /var/tmp/diff_new_pack.ypllQq/_old 2024-07-03 20:30:12.616867426 +0200
+++ /var/tmp/diff_new_pack.ypllQq/_new 2024-07-03 20:30:12.616867426 +0200
@@ -26,12 +26,12 @@
%endif
%{?sle15_python_module_pythons}
Name: python-Sphinx%{psuffix}
-Version: 7.2.6
+Version: 7.3.7
Release: 0
Summary: Python documentation generator
License: BSD-2-Clause
Group: Development/Languages/Python
-URL: http://sphinx-doc.org
+URL: https://www.sphinx-doc.org
Source: https://files.pythonhosted.org/packages/source/s/sphinx/sphinx-%{version}.t…
# Provide intersphinx inventory offline, run update-intersphinx.sh
# https://docs.python.org/3/objects.inv
@@ -42,10 +42,6 @@
Source4: readthedocs.inv
Source5: update-intersphinx.sh
Source99: python-Sphinx.keyring
-# PATCH-FIX-UPSTREAM: fix-autodoc-tests-python-3117.patch gh#sphinx-doc/sphinx#11793
-Patch01: fix-autodoc-tests-python-3117.patch
-# PATCH-FIX-UPSTREAM: fix-test-expectation-for-enum-rendering-on-python-3.12.3.patch gh#sphinx-doc/sphinx#12293
-Patch02: fix-test-expectation-for-enum-rendering-on-python-3.12.3.patch
BuildRequires: %{python_module base}
BuildRequires: %{python_module flit-core}
BuildRequires: %{python_module pip}
@@ -59,6 +55,7 @@
Requires: python-Jinja2 >= 2.3
Requires: python-Pygments >= 2.14
Requires: python-alabaster >= 0.7
+Requires: python-defusedxml >= 0.7.1
Requires: python-docutils >= 0.12
Requires: python-imagesize
Requires: python-packaging
@@ -85,6 +82,7 @@
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module Sphinx = %{version}}
BuildRequires: %{python_module Sphinx-latex = %{version}}
+BuildRequires: %{python_module defusedxml >= 0.7.1}
BuildRequires: %{python_module filelock}
BuildRequires: %{python_module html5lib}
BuildRequires: %{python_module pytest}
@@ -323,8 +321,8 @@
%if ! %{with test}
%files %{python_files} -f %{python_prefix}-sphinx.lang
-%license LICENSE
-%doc AUTHORS CHANGES README.rst
+%license LICENSE.rst
+%doc CHANGES.rst README.rst
%python_alternative %{_bindir}/sphinx-apidoc
%python_alternative %{_bindir}/sphinx-autogen
%python_alternative %{_bindir}/sphinx-build
@@ -336,24 +334,21 @@
%dir %{python_sitelib}/sphinxcontrib
%files %{python_files latex}
-%license LICENSE
-%doc AUTHORS
+%license LICENSE.rst
%{python_sitelib}/sphinx/texinputs/
%endif
%if %{with test}
%if 0%{?suse_version} > 1500
%files -n python-Sphinx-doc-man
-%license LICENSE
-%doc AUTHORS
+%license LICENSE.rst
%{_mandir}/man1/sphinx-all.1%{?ext_man}
%{_mandir}/man1/sphinx-apidoc.1%{?ext_man}
%{_mandir}/man1/sphinx-build.1%{?ext_man}
%{_mandir}/man1/sphinx-quickstart.1%{?ext_man}
%files -n python-Sphinx-doc-html
-%license LICENSE
-%doc AUTHORS
+%license LICENSE.rst
%dir %{_docdir}/python-Sphinx/
%{_docdir}/python-Sphinx/html/
%endif
++++++ sphinx-7.2.6.tar.gz -> sphinx-7.3.7.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-Sphinx/sphinx-7.2.6.tar.gz /work/SRC/openSUSE:Factory/.python-Sphinx.new.18349/sphinx-7.3.7.tar.gz differ: char 20, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package salt for openSUSE:Factory checked in at 2024-07-03 20:29:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/salt (Old)
and /work/SRC/openSUSE:Factory/.salt.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "salt"
Wed Jul 3 20:29:38 2024 rev:152 rq:1185111 version:3006.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/salt/salt.changes 2024-06-19 16:36:44.981758436 +0200
+++ /work/SRC/openSUSE:Factory/.salt.new.18349/salt.changes 2024-07-03 20:30:07.828692177 +0200
@@ -1,0 +2,8 @@
+Wed Jul 3 11:13:00 UTC 2024 - Flex Liu <fliu(a)suse.com>
+
+- Fix performance of user.list_groups with many remote groups
+
+- Added:
+ * fix-user.list_groups-omits-remote-groups.patch
+
+-------------------------------------------------------------------
New:
----
fix-user.list_groups-omits-remote-groups.patch
BETA DEBUG BEGIN:
New:- Added:
* fix-user.list_groups-omits-remote-groups.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ salt.spec ++++++
--- /var/tmp/diff_new_pack.1Rr9yZ/_old 2024-07-03 20:30:10.216779582 +0200
+++ /var/tmp/diff_new_pack.1Rr9yZ/_new 2024-07-03 20:30:10.216779582 +0200
@@ -402,6 +402,8 @@
Patch121: skip-certain-tests-if-necessary-and-mark-some-flaky-.patch
# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/66647
Patch122: fix-status.diskusage-and-exclude-some-tests-to-run-w.patch
+# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/65077
+Patch123: fix-user.list_groups-omits-remote-groups.patch
### IMPORTANT: The line below is used as a snippet marker. Do not touch it.
### SALT PATCHES LIST END
++++++ _lastrevision ++++++
--- /var/tmp/diff_new_pack.1Rr9yZ/_old 2024-07-03 20:30:10.304782803 +0200
+++ /var/tmp/diff_new_pack.1Rr9yZ/_new 2024-07-03 20:30:10.304782803 +0200
@@ -1,3 +1,3 @@
-e2ff2b8c17278bf750998f7619ae9b29fbe017a1
+1aa01d4bf6fdffc46ba5ea6aa7beca9eb4f06bc0
(No newline at EOF)
++++++ fix-user.list_groups-omits-remote-groups.patch ++++++
From 70509ff67d4eb734c88032913134092257a0d35b Mon Sep 17 00:00:00 2001
From: Flex Liu <fliu(a)suse.com>
Date: Tue, 2 Jul 2024 15:25:30 +0800
Subject: [PATCH] Fix user.list_groups omits remote groups
* fixes saltstack/salt#64953 user.list_groups omits remote groups
* fixes saltstack/salt#65029 support for pysss can be removed
* add changlog entries
* add tests for _getgrall and local vs remote group handling
* add negative tests for _getgrall
* root can still read the file and tests run as root
* remove permission check as its probably an unreachable edge case
---------
Co-authored-by: nicholasmhughes <nicholasmhughes(a)gmail.com>
---
changelog/64888.fixed.md | 1 +
changelog/64953.fixed.md | 1 +
changelog/65029.removed.md | 1 +
salt/auth/pam.py | 9 ---
salt/utils/user.py | 73 ++++++++++++-------
.../functional/utils/user/test__getgrall.py | 44 +++++++++++
tests/pytests/unit/utils/test_user.py | 29 ++++++++
7 files changed, 122 insertions(+), 36 deletions(-)
create mode 100644 changelog/64888.fixed.md
create mode 100644 changelog/64953.fixed.md
create mode 100644 changelog/65029.removed.md
create mode 100644 tests/pytests/functional/utils/user/test__getgrall.py
create mode 100644 tests/pytests/unit/utils/test_user.py
diff --git a/changelog/64888.fixed.md b/changelog/64888.fixed.md
new file mode 100644
index 0000000000..08b2efd042
--- /dev/null
+++ b/changelog/64888.fixed.md
@@ -0,0 +1 @@
+Fixed grp.getgrall() in utils/user.py causing performance issues
diff --git a/changelog/64953.fixed.md b/changelog/64953.fixed.md
new file mode 100644
index 0000000000..f0b1ed46f1
--- /dev/null
+++ b/changelog/64953.fixed.md
@@ -0,0 +1 @@
+Fix user.list_groups omits remote groups via sssd, etc.
diff --git a/changelog/65029.removed.md b/changelog/65029.removed.md
new file mode 100644
index 0000000000..d09f10b4ba
--- /dev/null
+++ b/changelog/65029.removed.md
@@ -0,0 +1 @@
+Tech Debt - support for pysss removed due to functionality addition in Python 3.3
diff --git a/salt/auth/pam.py b/salt/auth/pam.py
index f0397c1062..12af29bbdb 100644
--- a/salt/auth/pam.py
+++ b/salt/auth/pam.py
@@ -24,15 +24,6 @@ authenticated against. This defaults to `login`
The Python interface to PAM does not support authenticating as ``root``.
-.. note:: Using PAM groups with SSSD groups on python2.
-
- To use sssd with the PAM eauth module and groups the `pysss` module is
- needed. On RedHat/CentOS this is `python-sss`.
-
- This should not be needed with python >= 3.3, because the `os` modules has the
- `getgrouplist` function.
-
-
.. note:: This module executes itself in a subprocess in order to user the system python
and pam libraries. We do this to avoid openssl version conflicts when
running under a salt onedir build.
diff --git a/salt/utils/user.py b/salt/utils/user.py
index 2f1ca65cf9..3588b3804a 100644
--- a/salt/utils/user.py
+++ b/salt/utils/user.py
@@ -31,13 +31,6 @@ try:
except ImportError:
HAS_GRP = False
-try:
- import pysss
-
- HAS_PYSSS = True
-except ImportError:
- HAS_PYSSS = False
-
try:
import salt.utils.win_functions
@@ -289,30 +282,35 @@ def get_group_list(user, include_default=True):
return []
group_names = None
ugroups = set()
- if hasattr(os, "getgrouplist"):
- # Try os.getgrouplist, available in python >= 3.3
- log.trace("Trying os.getgrouplist for '%s'", user)
- try:
- user_group_list = os.getgrouplist(user, pwd.getpwnam(user).pw_gid)
- group_names = [
- _group.gr_name
- for _group in grp.getgrall()
- if _group.gr_gid in user_group_list
- ]
- except Exception: # pylint: disable=broad-except
- pass
- elif HAS_PYSSS:
- # Try pysss.getgrouplist
- log.trace("Trying pysss.getgrouplist for '%s'", user)
- try:
- group_names = list(pysss.getgrouplist(user))
- except Exception: # pylint: disable=broad-except
- pass
+ # Try os.getgrouplist, available in python >= 3.3
+ log.trace("Trying os.getgrouplist for '%s'", user)
+ try:
+ user_group_list = sorted(os.getgrouplist(user, pwd.getpwnam(user).pw_gid))
+ local_grall = _getgrall()
+ local_gids = sorted(lgrp.gr_gid for lgrp in local_grall)
+ max_idx = -1
+ local_max = local_gids[max_idx]
+ while local_max >= 65000:
+ max_idx -= 1
+ local_max = local_gids[max_idx]
+ user_group_list_local = [lgrp for lgrp in user_group_list if lgrp <= local_max]
+ user_group_list_remote = [rgrp for rgrp in user_group_list if rgrp > local_max]
+ local_group_names = [
+ _group.gr_name
+ for _group in local_grall
+ if _group.gr_gid in user_group_list_local
+ ]
+ remote_group_names = [
+ grp.getgrgid(group_id).gr_name for group_id in user_group_list_remote
+ ]
+ group_names = local_group_names + remote_group_names
+ except Exception: # pylint: disable=broad-except
+ pass
if group_names is None:
# Fall back to generic code
# Include the user's default group to match behavior of
- # os.getgrouplist() and pysss.getgrouplist()
+ # os.getgrouplist()
log.trace("Trying generic group list for '%s'", user)
group_names = [g.gr_name for g in grp.getgrall() if user in g.gr_mem]
try:
@@ -389,3 +387,24 @@ def get_gid(group=None):
return grp.getgrnam(group).gr_gid
except KeyError:
return None
+
+
+def _getgrall(root=None):
+ """
+ Alternative implemetantion for getgrall, that uses only /etc/group
+ """
+ ret = []
+ root = "/" if not root else root
+ etc_group = os.path.join(root, "etc/group")
+ with salt.utils.files.fopen(etc_group) as fp_:
+ for line in fp_:
+ line = salt.utils.stringutils.to_unicode(line)
+ comps = line.strip().split(":")
+ # Generate a getgrall compatible output
+ comps[2] = int(comps[2])
+ if comps[3]:
+ comps[3] = [mem.strip() for mem in comps[3].split(",")]
+ else:
+ comps[3] = []
+ ret.append(grp.struct_group(comps))
+ return ret
diff --git a/tests/pytests/functional/utils/user/test__getgrall.py b/tests/pytests/functional/utils/user/test__getgrall.py
new file mode 100644
index 0000000000..db994019e6
--- /dev/null
+++ b/tests/pytests/functional/utils/user/test__getgrall.py
@@ -0,0 +1,44 @@
+from textwrap import dedent
+
+import pytest
+
+pytest.importorskip("grp")
+
+import grp
+
+import salt.utils.user
+
+
+(a)pytest.fixture(scope="function")
+def etc_group(tmp_path):
+ etcgrp = tmp_path / "etc" / "group"
+ etcgrp.parent.mkdir()
+ etcgrp.write_text(
+ dedent(
+ """games:x:50:
+ docker:x:959:debian,salt
+ salt:x:1000:"""
+ )
+ )
+ return etcgrp
+
+
+def test__getgrall(etc_group):
+ group_lines = [
+ ["games", "x", 50, []],
+ ["docker", "x", 959, ["debian", "salt"]],
+ ["salt", "x", 1000, []],
+ ]
+ expected_grall = [grp.struct_group(comps) for comps in group_lines]
+
+ grall = salt.utils.user._getgrall(root=str(etc_group.parent.parent))
+
+ assert grall == expected_grall
+
+
+def test__getgrall_bad_format(etc_group):
+ with etc_group.open("a") as _fp:
+ _fp.write("\n# some comment here\n")
+
+ with pytest.raises(IndexError):
+ salt.utils.user._getgrall(root=str(etc_group.parent.parent))
diff --git a/tests/pytests/unit/utils/test_user.py b/tests/pytests/unit/utils/test_user.py
new file mode 100644
index 0000000000..17c6b1551f
--- /dev/null
+++ b/tests/pytests/unit/utils/test_user.py
@@ -0,0 +1,29 @@
+from types import SimpleNamespace
+
+import pytest
+
+from tests.support.mock import MagicMock, patch
+
+pytest.importorskip("grp")
+
+import grp
+
+import salt.utils.user
+
+
+def test_get_group_list():
+ getpwname = SimpleNamespace(pw_gid=1000)
+ getgrgid = MagicMock(side_effect=[SimpleNamespace(gr_name="remote")])
+ group_lines = [
+ ["games", "x", 50, []],
+ ["salt", "x", 1000, []],
+ ]
+ getgrall = [grp.struct_group(comps) for comps in group_lines]
+ with patch("os.getgrouplist", MagicMock(return_value=[50, 1000, 12000])), patch(
+ "pwd.getpwnam", MagicMock(return_value=getpwname)
+ ), patch("salt.utils.user._getgrall", MagicMock(return_value=getgrall)), patch(
+ "grp.getgrgid", getgrgid
+ ):
+ group_list = salt.utils.user.get_group_list("salt")
+ assert group_list == ["games", "remote", "salt"]
+ getgrgid.assert_called_once()
--
2.35.3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package osinfo-db for openSUSE:Factory checked in at 2024-07-03 20:29:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/osinfo-db (Old)
and /work/SRC/openSUSE:Factory/.osinfo-db.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osinfo-db"
Wed Jul 3 20:29:34 2024 rev:74 rq:1184947 version:20240701
Changes:
--------
--- /work/SRC/openSUSE:Factory/osinfo-db/osinfo-db.changes 2024-05-27 11:43:52.355445111 +0200
+++ /work/SRC/openSUSE:Factory/.osinfo-db.new.18349/osinfo-db.changes 2024-07-03 20:30:04.916585593 +0200
@@ -1,0 +2,23 @@
+Tue Jul 2 14:41:58 MDT 2024 - carnold(a)suse.com
+
+- Update to database version 20240701
+ osinfo-db-20240701.tar.xz
+
+-------------------------------------------------------------------
+Mon Jul 1 14:42:41 MDT 2024 - carnold(a)suse.com
+
+- Adjust some default hardware requirements (bsc#1227231)
+ adjust-tumbleweed-hardware-requirements.patch
+ add-opensuse-leap-15.6-support.patch
+ add-sle15sp6-support.patch
+
+-------------------------------------------------------------------
+Fri Jun 28 14:05:03 MDT 2024 - carnold(a)suse.com
+
+- bsc#1227116 - osinfo still uses deprecated SL-Micro name
+ Reverse prior decision to drop the use of "Enterprise" in the
+ name of the SUSE Linux Micro product.
+ add-slem6.0-support.patch
+ Drop add-slm6.0-support.patch
+
+-------------------------------------------------------------------
Old:
----
add-slm6.0-support.patch
osinfo-db-20240510.tar.xz
New:
----
add-slem6.0-support.patch
adjust-tumbleweed-hardware-requirements.patch
osinfo-db-20240701.tar.xz
BETA DEBUG BEGIN:
Old: add-slem6.0-support.patch
Drop add-slm6.0-support.patch
BETA DEBUG END:
BETA DEBUG BEGIN:
New: name of the SUSE Linux Micro product.
add-slem6.0-support.patch
Drop add-slm6.0-support.patch
New:- Adjust some default hardware requirements (bsc#1227231)
adjust-tumbleweed-hardware-requirements.patch
add-opensuse-leap-15.6-support.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ osinfo-db.spec ++++++
--- /var/tmp/diff_new_pack.9c4QFN/_old 2024-07-03 20:30:05.700614289 +0200
+++ /var/tmp/diff_new_pack.9c4QFN/_new 2024-07-03 20:30:05.704614435 +0200
@@ -17,7 +17,7 @@
Name: osinfo-db
-Version: 20240510
+Version: 20240701
Release: 0
Summary: Osinfo database files
License: LGPL-2.1-or-later AND GPL-2.0-or-later
@@ -28,10 +28,11 @@
Patch22: add-caasp40-support.patch
Patch23: add-win-2k19-media-info.patch
Patch24: fix-tumbleweed-order.patch
-Patch25: add-slem5.5-support.patch
-Patch26: add-sle15sp6-support.patch
-Patch27: add-opensuse-leap-15.6-support.patch
-Patch28: add-slm6.0-support.patch
+Patch25: adjust-tumbleweed-hardware-requirements.patch
+Patch26: add-slem5.5-support.patch
+Patch27: add-sle15sp6-support.patch
+Patch28: add-opensuse-leap-15.6-support.patch
+Patch29: add-slem6.0-support.patch
BuildRequires: intltool
BuildRequires: osinfo-db-tools
BuildArch: noarch
++++++ add-opensuse-leap-15.6-support.patch ++++++
--- /var/tmp/diff_new_pack.9c4QFN/_old 2024-07-03 20:30:05.732615460 +0200
+++ /var/tmp/diff_new_pack.9c4QFN/_new 2024-07-03 20:30:05.736615606 +0200
@@ -1,8 +1,8 @@
-Index: osinfo-db-20220727/os/opensuse.org/opensuse-15.6.xml
+Index: osinfo-db-20240510/os/opensuse.org/opensuse-15.6.xml
===================================================================
--- /dev/null
-+++ osinfo-db-20220727/os/opensuse.org/opensuse-15.6.xml
-@@ -0,0 +1,246 @@
++++ osinfo-db-20240510/os/opensuse.org/opensuse-15.6.xml
+@@ -0,0 +1,247 @@
+<?xml version="1.0"?>
+<libosinfo version="0.0.1">
+ <!-- Licensed under the GNU General Public License version 2 or later.
@@ -239,12 +239,13 @@
+ <cpu>1600000000</cpu>
+ <n-cpus>1</n-cpus>
+ <ram>1073741824</ram>
-+ <storage>3221225472</storage>
++ <storage>10737418240</storage>
+ </minimum>
+ <recommended>
+ <cpu>2400000000</cpu>
-+ <ram>2147483648</ram>
-+ <storage>17179869184</storage>
++ <n-cpus>4</n-cpus>
++ <ram>4294967296</ram>
++ <storage>42949672960</storage>
+ </recommended>
+ </resources>
+ </os>
++++++ add-sle15sp6-support.patch ++++++
--- /var/tmp/diff_new_pack.9c4QFN/_old 2024-07-03 20:30:05.748616046 +0200
+++ /var/tmp/diff_new_pack.9c4QFN/_new 2024-07-03 20:30:05.752616192 +0200
@@ -1,6 +1,8 @@
+Index: osinfo-db-20240510/os/suse.com/sle-15.6.xml
+===================================================================
--- /dev/null
-+++ b/os/suse.com/sle-15.6.xml
-@@ -0,0 +1,104 @@
++++ osinfo-db-20240510/os/suse.com/sle-15.6.xml
+@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<libosinfo version="0.0.1">
+ <!-- Licensed under the GNU General Public License version 2 or later.
@@ -94,13 +96,14 @@
+ <resources arch="all">
+ <minimum>
+ <cpu>500000000</cpu>
-+ <ram>536870912</ram>
-+ <storage>1074151424</storage>
++ <ram>1073741824</ram>
++ <storage>2147483648</storage>
+ </minimum>
+ <recommended>
+ <cpu>2400000000</cpu>
-+ <ram>1073741824</ram>
-+ <storage>17179869184</storage>
++ <n-cpus>2</n-cpus>
++ <ram>4294967296</ram>
++ <storage>34359738368</storage>
+ </recommended>
+ </resources>
+ </os>
++++++ add-slem6.0-support.patch ++++++
--- /dev/null 2023-08-07 05:04:54.296175996 -0600
+++ osinfo-db-20230719/os/suse.com/slem-6.0.xml 2023-08-07 10:58:08.228681018 -0600
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<libosinfo version="0.0.1">
+ <!-- Licensed under the GNU General Public License version 2 or later.
+ See http://www.gnu.org/licenses/ for a copy of the license text -->
+ <os id="http://suse.com/slem/6.0">
+ <short-id>slem6.0</short-id>
+ <name>SUSE Linux Enterprise Micro 6.0</name>
+ <name xml:lang="ka">SUSE Linux Enterprise Micro 6.0</name>
+ <name xml:lang="ko">수세 리눅스 기업용 마이크로 6.0</name>
+ <name xml:lang="pl">SUSE Linux Enterprise Micro 6.0</name>
+ <name xml:lang="it">SUSE Linux Enterprise Micro 6.0</name>
+ <version>6.0</version>
+ <vendor>SUSE</vendor>
+ <vendor xml:lang="ka">SUSE</vendor>
+ <vendor xml:lang="ko">수세</vendor>
+ <vendor xml:lang="uk">SUSE</vendor>
+ <vendor xml:lang="tr">SUSE</vendor>
+ <vendor xml:lang="pt_BR">SUSE</vendor>
+ <vendor xml:lang="pl">SUSE</vendor>
+ <vendor xml:lang="it">SUSE</vendor>
+ <vendor xml:lang="id">SUSE</vendor>
+ <vendor xml:lang="fr">SUSE</vendor>
+ <vendor xml:lang="es">SUSE</vendor>
+ <vendor xml:lang="de">SUSE</vendor>
+ <vendor xml:lang="ca">SUSE</vendor>
+ <family>linux</family>
+ <distro>slem</distro>
+ <derives-from id="http://suse.com/slem/5.5"/>
+ <release-status>prerelease</release-status>
+ <media arch="x86_64">
+ <iso>
+ <system-id>LINUX</system-id>
+ <volume-id>SLE-Micro-6.0-DVD-x86_64.*</volume-id>
+ </iso>
+ <kernel>boot/x86_64/loader/linux</kernel>
+ <initrd>boot/x86_64/loader/initrd</initrd>
+ </media>
+ <media arch="aarch64">
+ <iso>
+ <system-id>LINUX</system-id>
+ <volume-id>SLE-Micro-6.0-DVD-aarch64.*</volume-id>
+ </iso>
+ <kernel>boot/aarch64/linux</kernel>
+ <initrd>boot/aarch64/initrd</initrd>
+ </media>
+ <media arch="ppc64le">
+ <iso>
+ <system-id>LINUX</system-id>
+ <volume-id>SLE-Micro-6.0-DVD-ppc64le.*</volume-id>
+ </iso>
+ <kernel>boot/ppc64le/linux</kernel>
+ <initrd>boot/ppc64le/initrd</initrd>
+ </media>
+ <media arch="s390x">
+ <iso>
+ <system-id>LINUX</system-id>
+ <volume-id>SLE-Micro-6.0-DVD-s390x.*</volume-id>
+ </iso>
+ <kernel>boot/s390x/linux</kernel>
+ <initrd>boot/s390x/initrd</initrd>
+ </media>
+ <resources arch="all">
+ <minimum>
+ <cpu>500000000</cpu>
+ <ram>1073741824</ram>
+ <storage>12884901888</storage>
+ </minimum>
+ <recommended>
+ <cpu>2400000000</cpu>
+ <ram>4294967296</ram>
+ <storage>64424509440</storage>
+ </recommended>
+ </resources>
+ </os>
+</libosinfo>
++++++ adjust-tumbleweed-hardware-requirements.patch ++++++
--- osinfo-db-20240510/os/opensuse.org/opensuse-tumbleweed.xml.orig 2024-07-01 13:06:42.336848537 -0600
+++ osinfo-db-20240510/os/opensuse.org/opensuse-tumbleweed.xml 2024-07-01 13:06:58.400848920 -0600
@@ -134,14 +134,15 @@
<!-- http://en.opensuse.org/Hardware_requirements -->
<minimum>
<cpu>1600000000</cpu>
- <n-cpus>1</n-cpus>
- <ram>1073741824</ram>
- <storage>4294967296</storage>
+ <n-cpus>2</n-cpus>
+ <ram>2147483648</ram>
+ <storage>42949672960</storage>
</minimum>
<recommended>
<cpu>2400000000</cpu>
- <ram>2147483648</ram>
- <storage>21474836480</storage>
+ <n-cpus>4</n-cpus>
+ <ram>4294967296</ram>
+ <storage>64424509440</storage>
</recommended>
</resources>
<installer>
++++++ osinfo-db-20240510.tar.xz -> osinfo-db-20240701.tar.xz ++++++
++++ 2994 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package valkey for openSUSE:Factory checked in at 2024-07-03 20:29:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/valkey (Old)
and /work/SRC/openSUSE:Factory/.valkey.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "valkey"
Wed Jul 3 20:29:33 2024 rev:5 rq:1184945 version:7.2.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/valkey/valkey.changes 2024-07-02 18:15:40.269709693 +0200
+++ /work/SRC/openSUSE:Factory/.valkey.new.18349/valkey.changes 2024-07-03 20:30:02.968514293 +0200
@@ -1,0 +2,5 @@
+Tue Jul 2 07:52:48 UTC 2024 - Andreas Schwab <schwab(a)suse.de>
+
+- valkey.logrotate: fix owner of logfiles
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ valkey.logrotate ++++++
--- /var/tmp/diff_new_pack.FFyKvQ/_old 2024-07-03 20:30:03.784544160 +0200
+++ /var/tmp/diff_new_pack.FFyKvQ/_new 2024-07-03 20:30:03.788544307 +0200
@@ -6,6 +6,6 @@
compress
notifempty
missingok
- su redis redis
+ su valkey valkey
}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package zypper for openSUSE:Factory checked in at 2024-07-03 20:29:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zypper (Old)
and /work/SRC/openSUSE:Factory/.zypper.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "zypper"
Wed Jul 3 20:29:27 2024 rev:341 rq:1184888 version:1.14.76
Changes:
--------
--- /work/SRC/openSUSE:Factory/zypper/zypper.changes 2024-06-29 15:16:14.157624048 +0200
+++ /work/SRC/openSUSE:Factory/.zypper.new.18349/zypper.changes 2024-07-03 20:29:52.228121192 +0200
@@ -1,0 +2,18 @@
+Tue Jul 2 16:05:02 CEST 2024 - ma(a)suse.de
+
+- Show rpm install size before installing (bsc#1224771)
+ If filesystem snapshots are taken before the installation (e.g.
+ by snapper) no disk space is freed by removing old packages. In
+ this case the install size of all packages is a hint how much
+ additional disk space is needed by the new packages static
+ content.
+- version 1.14.76
+
+-------------------------------------------------------------------
+Tue Jul 2 14:06:51 CEST 2024 - ma(a)suse.de
+
+- Fix readline setup to handle Ctrl-C and Ctrl-D corrrectly
+ (bsc#1227205)
+- version 1.14.75
+
+-------------------------------------------------------------------
Old:
----
zypper-1.14.74.tar.bz2
New:
----
zypper-1.14.76.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zypper.spec ++++++
--- /var/tmp/diff_new_pack.CPjmPa/_old 2024-07-03 20:29:52.884145202 +0200
+++ /var/tmp/diff_new_pack.CPjmPa/_new 2024-07-03 20:29:52.888145349 +0200
@@ -17,7 +17,7 @@
Name: zypper
-Version: 1.14.74
+Version: 1.14.76
Release: 0
Source: %{name}-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
++++++ zypper-1.14.74.tar.bz2 -> zypper-1.14.76.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/zypper/zypper-1.14.74.tar.bz2 /work/SRC/openSUSE:Factory/.zypper.new.18349/zypper-1.14.76.tar.bz2 differ: char 11, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2024-07-03 20:29:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libplacebo (Old)
and /work/SRC/openSUSE:Factory/.libplacebo.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libplacebo"
Wed Jul 3 20:29:25 2024 rev:32 rq:1184881 version:7.349.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes 2024-03-27 20:41:48.175428597 +0100
+++ /work/SRC/openSUSE:Factory/.libplacebo.new.18349/libplacebo.changes 2024-07-03 20:29:50.732066435 +0200
@@ -1,0 +2,6 @@
+Tue Jul 2 13:43:01 UTC 2024 - llyyr <llyyr(a)yukari.in>
+
+- Update libplacebo to version 7.349.0. See details in:
+ https://code.videolan.org/videolan/libplacebo/-/tags/v7.349.0
+
+-------------------------------------------------------------------
Old:
----
libplacebo-v6.338.2.tar.bz2
New:
----
libplacebo-v7.349.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libplacebo.spec ++++++
--- /var/tmp/diff_new_pack.kwOhXY/_old 2024-07-03 20:29:51.292086933 +0200
+++ /var/tmp/diff_new_pack.kwOhXY/_new 2024-07-03 20:29:51.296087079 +0200
@@ -15,10 +15,11 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+
%{?sle15_python_module_pythons}
-%define sover 338
+%define sover 349
Name: libplacebo
-Version: 6.338.2
+Version: 7.349.0
Release: 0
Summary: Library for GPU-accelerated video/image rendering primitives
License: LGPL-2.1-or-later
@@ -28,16 +29,16 @@
Source1: https://github.com/Immediate-Mode-UI/Nuklear/raw/c512ac886425f6b6b6c816d67f…
Source9: baselibs.conf
%if 0%{?suse_version} == 1500 && 0%{?sle_version} > 150200
-BuildRequires: gcc13-c++
BuildRequires: gcc13
+BuildRequires: gcc13-c++
%else
BuildRequires: c++_compiler
BuildRequires: c_compiler
%endif
-BuildRequires: meson >= 0.63.0
-BuildRequires: pkgconfig
BuildRequires: %{python_module Jinja2}
BuildRequires: %{python_module glad2}
+BuildRequires: meson >= 0.63.0
+BuildRequires: pkgconfig
BuildRequires: pkgconfig(dav1d)
BuildRequires: pkgconfig(dovi)
BuildRequires: pkgconfig(glfw3)
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.kwOhXY/_old 2024-07-03 20:29:51.328088250 +0200
+++ /var/tmp/diff_new_pack.kwOhXY/_new 2024-07-03 20:29:51.332088397 +0200
@@ -1,2 +1,2 @@
-libplacebo338
+libplacebo349
++++++ libplacebo-v6.338.2.tar.bz2 -> libplacebo-v7.349.0.tar.bz2 ++++++
++++ 9105 lines of diff (skipped)
1
0