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
October 2022
- 1 participants
- 2855 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package irqbalance for openSUSE:Factory checked in at 2022-10-27 13:52:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/irqbalance (Old)
and /work/SRC/openSUSE:Factory/.irqbalance.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "irqbalance"
Thu Oct 27 13:52:14 2022 rev:67 rq:1031212 version:1.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/irqbalance/irqbalance.changes 2022-10-20 11:09:44.831780893 +0200
+++ /work/SRC/openSUSE:Factory/.irqbalance.new.2275/irqbalance.changes 2022-10-27 13:52:17.383994797 +0200
@@ -1,0 +2,6 @@
+Tue Oct 25 21:09:07 UTC 2022 - Dirk M��ller <dmueller(a)suse.com>
+
+- run tests
+- add Avoid-double-free-on-deinit_thermal.patch (bsc#1204607)
+
+-------------------------------------------------------------------
@@ -5 +11 @@
-- build with thermald support on x86_64 (jsc#PED-754)
+- build with thermald support on x86_64 (jsc#PED-1039)
@@ -20,3 +25,0 @@
-- Includes the patches for feature:
- jsc#PED-754
- Enable IRQ Balancer to support SoC die during low power state
New:
----
Avoid-double-free-on-deinit_thermal.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ irqbalance.spec ++++++
--- /var/tmp/diff_new_pack.n6h3hP/_old 2022-10-27 13:52:17.939997582 +0200
+++ /var/tmp/diff_new_pack.n6h3hP/_new 2022-10-27 13:52:17.943997602 +0200
@@ -31,6 +31,8 @@
Source3: sysconfig.irqbalance
Patch1: Set-fd-limit.patch
Patch2: uninitialized.patch
+# https://github.com/Irqbalance/irqbalance/pull/243
+Patch3: Avoid-double-free-on-deinit_thermal.patch
BuildRequires: libcap-ng-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
@@ -84,6 +86,9 @@
install -D -m 0644 misc/irqbalance.service %{buildroot}%{_unitdir}/irqbalance.service
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcirqbalance
+%check
+%make_build check
+
%pre
%service_add_pre irqbalance.service
++++++ Avoid-double-free-on-deinit_thermal.patch ++++++
From b25b1f92ca88aa9f268c93d0d7f66efc0ebf840b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dirk=20M=C3=BCller?= <dirk(a)dmllr.de>
Date: Tue, 25 Oct 2022 23:33:14 +0200
Subject: [PATCH] Avoid double free on deinit_thermal()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
init_thermal() calls deinit_thermal() on error condition,
as well as main() calls deinit_thermal() again, causing
a double-free.
Signed-off-by: Dirk M��ller <dirk(a)dmllr.de>
---
thermal.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/thermal.c b/thermal.c
index 64a9cdf..1d44104 100644
--- a/thermal.c
+++ b/thermal.c
@@ -506,8 +506,14 @@ static gboolean set_netlink_nonblocking(void)
void deinit_thermal(void)
{
- nl_cb_put(callback);
- nl_socket_free(sock);
+ if (callback) {
+ nl_cb_put(callback);
+ callback = NULL;
+ }
+ if (sock) {
+ nl_socket_free(sock);
+ sock = NULL;
+ }
}
/*
--
2.38.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pickleshare for openSUSE:Factory checked in at 2022-10-27 13:52:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pickleshare (Old)
and /work/SRC/openSUSE:Factory/.python-pickleshare.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pickleshare"
Thu Oct 27 13:52:13 2022 rev:6 rq:1031200 version:0.7.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pickleshare/python-pickleshare.changes 2020-03-27 00:23:31.688203031 +0100
+++ /work/SRC/openSUSE:Factory/.python-pickleshare.new.2275/python-pickleshare.changes 2022-10-27 13:52:15.467985202 +0200
@@ -1,0 +2,5 @@
+Tue Oct 25 19:48:06 UTC 2022 - Matej Cepl <mcepl(a)suse.com>
+
+- Remove unnecessary code for building with Python 2.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pickleshare.spec ++++++
--- /var/tmp/diff_new_pack.eHblOE/_old 2022-10-27 13:52:15.943987586 +0200
+++ /var/tmp/diff_new_pack.eHblOE/_new 2022-10-27 13:52:15.947987606 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pickleshare
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,6 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%bcond_without python2
Name: python-pickleshare
Version: 0.7.5
Release: 0
@@ -30,12 +28,6 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
-%if %{with python2}
-BuildRequires: python-pathlib2
-%endif
-%ifpython2
-Requires: python-pathlib2
-%endif
%python_subpackages
%description
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jaraco.collections for openSUSE:Factory checked in at 2022-10-27 13:52:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jaraco.collections (Old)
and /work/SRC/openSUSE:Factory/.python-jaraco.collections.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jaraco.collections"
Thu Oct 27 13:52:12 2022 rev:7 rq:1031198 version:3.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jaraco.collections/python-jaraco.collections.changes 2022-08-31 18:08:32.487304572 +0200
+++ /work/SRC/openSUSE:Factory/.python-jaraco.collections.new.2275/python-jaraco.collections.changes 2022-10-27 13:52:14.643981075 +0200
@@ -1,0 +2,14 @@
+Tue Oct 25 19:21:15 UTC 2022 - Matej Cepl <mcepl(a)suse.com>
+
+- Upgrade to 3.6.0:
+ - Revised DictFilter:
+ - Fixed issue where DictFilter.__contains__ would raise a
+ KeyError.
+ - Relies heavily now on collections.abc.Mapping base class.
+
+-------------------------------------------------------------------
+Tue Oct 25 19:17:07 UTC 2022 - Matej Cepl <mcepl(a)suse.com>
+
+- Remove conditional definition of python_module.
+
+-------------------------------------------------------------------
Old:
----
jaraco.collections-3.5.2.tar.gz
New:
----
jaraco.collections-3.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jaraco.collections.spec ++++++
--- /var/tmp/diff_new_pack.OhRMmW/_old 2022-10-27 13:52:15.183983780 +0200
+++ /var/tmp/diff_new_pack.OhRMmW/_new 2022-10-27 13:52:15.187983800 +0200
@@ -16,10 +16,9 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-jaraco.collections
-Version: 3.5.2
+Version: 3.6.0
Release: 0
Summary: Tools to work with collections
License: MIT
++++++ jaraco.collections-3.5.2.tar.gz -> jaraco.collections-3.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/.github/workflows/main.yml new/jaraco.collections-3.6.0/.github/workflows/main.yml
--- old/jaraco.collections-3.5.2/.github/workflows/main.yml 2022-07-14 07:05:53.000000000 +0200
+++ new/jaraco.collections-3.6.0/.github/workflows/main.yml 2022-10-23 18:42:12.000000000 +0200
@@ -2,27 +2,61 @@
on: [push, pull_request]
+env:
+ # Environment variables to support color support (jaraco/skeleton#66):
+ # Request colored output from CLI tools supporting it. Different tools
+ # interpret the value differently. For some, just being set is sufficient.
+ # For others, it must be a non-zero integer. For yet others, being set
+ # to a non-empty value is sufficient.
+ FORCE_COLOR: -106
+ # MyPy's color enforcement (must be a non-zero number)
+ MYPY_FORCE_COLOR: -42
+ # Recognized by the `py` package, dependency of `pytest` (must be "1")
+ PY_COLORS: 1
+ # Make tox-wrapped tools see color requests
+ TOX_TESTENV_PASSENV: >-
+ FORCE_COLOR
+ MYPY_FORCE_COLOR
+ NO_COLOR
+ PY_COLORS
+ PYTEST_THEME
+ PYTEST_THEME_MODE
+
+ # Suppress noisy pip warnings
+ PIP_DISABLE_PIP_VERSION_CHECK: 'true'
+ PIP_NO_PYTHON_VERSION_WARNING: 'true'
+ PIP_NO_WARN_SCRIPT_LOCATION: 'true'
+
+ # Disable the spinner, noise in GHA; TODO(webknjaz): Fix this upstream
+ # Must be "1".
+ TOX_PARALLEL_NO_SPINNER: 1
+
+
jobs:
test:
strategy:
matrix:
python:
- # Build on pre-releases until stable, then stable releases.
- # actions/setup-python#213
- - ~3.7.0-0
- - ~3.10.0-0
- - ~3.11.0-0
+ - "3.7"
+ - "3.10"
+ - "3.11"
+ # Workaround for actions/setup-python#508
+ dev:
+ - -dev
platform:
- ubuntu-latest
- macos-latest
- windows-latest
+ include:
+ - python: pypy3.9
+ platform: ubuntu-latest
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- name: Setup Python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v4
with:
- python-version: ${{ matrix.python }}
+ python-version: ${{ matrix.python }}${{ matrix.dev }}
- name: Install tox
run: |
python -m pip install tox
@@ -52,9 +86,9 @@
steps:
- uses: actions/checkout@v3
- name: Setup Python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v4
with:
- python-version: "3.10"
+ python-version: 3.11-dev
- name: Install tox
run: |
python -m pip install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/.readthedocs.yaml new/jaraco.collections-3.6.0/.readthedocs.yaml
--- old/jaraco.collections-3.5.2/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/jaraco.collections-3.6.0/.readthedocs.yaml 2022-10-23 18:42:12.000000000 +0200
@@ -0,0 +1,13 @@
+version: 2
+python:
+ install:
+ - path: .
+ extra_requirements:
+ - docs
+
+# workaround for readthedocs/readthedocs.org#9623
+build:
+ # workaround for readthedocs/readthedocs.org#9635
+ os: ubuntu-22.04
+ tools:
+ python: "3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/.readthedocs.yml new/jaraco.collections-3.6.0/.readthedocs.yml
--- old/jaraco.collections-3.5.2/.readthedocs.yml 2022-07-14 07:05:53.000000000 +0200
+++ new/jaraco.collections-3.6.0/.readthedocs.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-version: 2
-python:
- install:
- - path: .
- extra_requirements:
- - docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/CHANGES.rst new/jaraco.collections-3.6.0/CHANGES.rst
--- old/jaraco.collections-3.5.2/CHANGES.rst 2022-07-14 07:05:53.000000000 +0200
+++ new/jaraco.collections-3.6.0/CHANGES.rst 2022-10-23 18:42:12.000000000 +0200
@@ -1,3 +1,11 @@
+v3.6.0
+======
+
+Revised ``DictFilter``:
+
+ - Fixed issue where ``DictFilter.__contains__`` would raise a ``KeyError``.
+ - Relies heavily now on ``collections.abc.Mapping`` base class.
+
v3.5.2
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/PKG-INFO new/jaraco.collections-3.6.0/PKG-INFO
--- old/jaraco.collections-3.5.2/PKG-INFO 2022-07-14 07:06:17.886474400 +0200
+++ new/jaraco.collections-3.6.0/PKG-INFO 2022-10-23 18:42:50.609867600 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jaraco.collections
-Version: 3.5.2
+Version: 3.6.0
Summary: Collection objects similar to those in stdlib by jaraco
Home-page: https://github.com/jaraco/jaraco.collections
Author: Jason R. Coombs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/docs/conf.py new/jaraco.collections-3.6.0/docs/conf.py
--- old/jaraco.collections-3.5.2/docs/conf.py 2022-07-14 07:05:53.000000000 +0200
+++ new/jaraco.collections-3.6.0/docs/conf.py 2022-10-23 18:42:12.000000000 +0200
@@ -1,10 +1,16 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-extensions = ['sphinx.ext.autodoc', 'jaraco.packaging.sphinx', 'rst.linker']
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'jaraco.packaging.sphinx',
+]
master_doc = "index"
+html_theme = "furo"
+# Link dates and other references in the changelog
+extensions += ['rst.linker']
link_files = {
'../CHANGES.rst': dict(
using=dict(GH='https://github.com'),
@@ -25,7 +31,7 @@
)
}
-# Be strict about any broken references:
+# Be strict about any broken references
nitpicky = True
# Include Python intersphinx mapping to prevent failures
@@ -35,4 +41,7 @@
'python': ('https://docs.python.org/3', None),
}
+# Preserve authored syntax for defaults
+autodoc_preserve_defaults = True
+
extensions += ['jaraco.tidelift']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/jaraco/collections.py new/jaraco.collections-3.6.0/jaraco/collections.py
--- old/jaraco.collections-3.5.2/jaraco/collections.py 2022-07-14 07:05:53.000000000 +0200
+++ new/jaraco.collections-3.6.0/jaraco/collections.py 2022-10-23 18:42:12.000000000 +0200
@@ -63,7 +63,7 @@
return len(tuple(iter(self)))
-class DictFilter(object):
+class DictFilter(collections.abc.Mapping):
"""
Takes a dict, and simulates a sub-dict based on the keys.
@@ -92,15 +92,21 @@
...
KeyError: 'e'
+ >>> 'e' in filtered
+ False
+
+ Pattern is useful for excluding keys with a prefix.
+
+ >>> filtered = DictFilter(sample, include_pattern=r'(?![ace])')
+ >>> dict(filtered)
+ {'b': 2, 'd': 4}
+
Also note that DictFilter keeps a reference to the original dict, so
if you modify the original dict, that could modify the filtered dict.
>>> del sample['d']
- >>> del sample['a']
- >>> filtered == {'b': 2, 'c': 3}
- True
- >>> filtered != {'b': 2, 'c': 3}
- False
+ >>> dict(filtered)
+ {'b': 2}
"""
def __init__(self, dict, include_keys=[], include_pattern=None):
@@ -120,29 +126,18 @@
@property
def include_keys(self):
- return self.specified_keys.union(self.pattern_keys)
-
- def keys(self):
- return self.include_keys.intersection(self.dict.keys())
-
- def values(self):
- return map(self.dict.get, self.keys())
+ return self.specified_keys | self.pattern_keys
def __getitem__(self, i):
if i not in self.include_keys:
raise KeyError(i)
return self.dict[i]
- def items(self):
- keys = self.keys()
- values = map(self.dict.get, keys)
- return zip(keys, values)
-
- def __eq__(self, other):
- return dict(self) == other
+ def __iter__(self):
+ return filter(self.include_keys.__contains__, self.dict.keys())
- def __ne__(self, other):
- return dict(self) != other
+ def __len__(self):
+ return len(list(self))
def dict_map(function, dictionary):
@@ -370,7 +365,7 @@
True
>>> 'HELLO' in d
True
- >>> print(repr(FoldedCaseKeyedDict({'heLlo': 'world'})).replace("u'", "'"))
+ >>> print(repr(FoldedCaseKeyedDict({'heLlo': 'world'})))
{'heLlo': 'world'}
>>> d = FoldedCaseKeyedDict({'heLlo': 'world'})
>>> print(d['hello'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/jaraco.collections.egg-info/PKG-INFO new/jaraco.collections-3.6.0/jaraco.collections.egg-info/PKG-INFO
--- old/jaraco.collections-3.5.2/jaraco.collections.egg-info/PKG-INFO 2022-07-14 07:06:17.000000000 +0200
+++ new/jaraco.collections-3.6.0/jaraco.collections.egg-info/PKG-INFO 2022-10-23 18:42:50.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jaraco.collections
-Version: 3.5.2
+Version: 3.6.0
Summary: Collection objects similar to those in stdlib by jaraco
Home-page: https://github.com/jaraco/jaraco.collections
Author: Jason R. Coombs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/jaraco.collections.egg-info/SOURCES.txt new/jaraco.collections-3.6.0/jaraco.collections.egg-info/SOURCES.txt
--- old/jaraco.collections-3.5.2/jaraco.collections.egg-info/SOURCES.txt 2022-07-14 07:06:17.000000000 +0200
+++ new/jaraco.collections-3.6.0/jaraco.collections.egg-info/SOURCES.txt 2022-10-23 18:42:50.000000000 +0200
@@ -2,7 +2,7 @@
.editorconfig
.flake8
.pre-commit-config.yaml
-.readthedocs.yml
+.readthedocs.yaml
CHANGES.rst
LICENSE
README.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/jaraco.collections.egg-info/requires.txt new/jaraco.collections-3.6.0/jaraco.collections.egg-info/requires.txt
--- old/jaraco.collections-3.5.2/jaraco.collections.egg-info/requires.txt 2022-07-14 07:06:17.000000000 +0200
+++ new/jaraco.collections-3.6.0/jaraco.collections.egg-info/requires.txt 2022-10-23 18:42:50.000000000 +0200
@@ -2,15 +2,17 @@
jaraco.classes
[docs]
-sphinx
+sphinx>=3.5
jaraco.packaging>=9
rst.linker>=1.9
+furo
jaraco.tidelift>=1.4
[testing]
pytest>=6
pytest-checkdocs>=2.4
pytest-flake8
+flake8<5
pytest-cov
pytest-enabler>=1.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.collections-3.5.2/setup.cfg new/jaraco.collections-3.6.0/setup.cfg
--- old/jaraco.collections-3.5.2/setup.cfg 2022-07-14 07:06:17.886474400 +0200
+++ new/jaraco.collections-3.6.0/setup.cfg 2022-10-23 18:42:50.613867500 +0200
@@ -32,6 +32,7 @@
pytest >= 6
pytest-checkdocs >= 2.4
pytest-flake8
+ flake8 < 5
pytest-black >= 0.3.7; \
python_implementation != "PyPy"
pytest-cov
@@ -39,9 +40,10 @@
python_implementation != "PyPy"
pytest-enabler >= 1.3
docs =
- sphinx
+ sphinx >= 3.5
jaraco.packaging >= 9
rst.linker >= 1.9
+ furo
jaraco.tidelift >= 1.4
[options.entry_points]
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jaraco.text for openSUSE:Factory checked in at 2022-10-27 13:52:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jaraco.text (Old)
and /work/SRC/openSUSE:Factory/.python-jaraco.text.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jaraco.text"
Thu Oct 27 13:52:11 2022 rev:10 rq:1031197 version:3.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jaraco.text/python-jaraco.text.changes 2022-08-20 20:27:55.825230743 +0200
+++ /work/SRC/openSUSE:Factory/.python-jaraco.text.new.2275/python-jaraco.text.changes 2022-10-27 13:52:13.731976508 +0200
@@ -1,0 +2,6 @@
+Tue Oct 25 19:19:05 UTC 2022 - Matej Cepl <mcepl(a)suse.com>
+
+- Update to 3.10.0:
+ - Prefer casefold in FoldedCase.
+
+-------------------------------------------------------------------
Old:
----
jaraco.text-3.9.1.tar.gz
New:
----
jaraco.text-3.10.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jaraco.text.spec ++++++
--- /var/tmp/diff_new_pack.aazOy2/_old 2022-10-27 13:52:14.267979192 +0200
+++ /var/tmp/diff_new_pack.aazOy2/_new 2022-10-27 13:52:14.275979232 +0200
@@ -16,10 +16,9 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-jaraco.text
-Version: 3.9.1
+Version: 3.10.0
Release: 0
Summary: Tools to work with text
License: MIT
++++++ jaraco.text-3.9.1.tar.gz -> jaraco.text-3.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/.github/workflows/main.yml new/jaraco.text-3.10.0/.github/workflows/main.yml
--- old/jaraco.text-3.9.1/.github/workflows/main.yml 2022-08-18 22:35:05.000000000 +0200
+++ new/jaraco.text-3.10.0/.github/workflows/main.yml 2022-10-20 20:22:46.000000000 +0200
@@ -2,25 +2,61 @@
on: [push, pull_request]
+env:
+ # Environment variables to support color support (jaraco/skeleton#66):
+ # Request colored output from CLI tools supporting it. Different tools
+ # interpret the value differently. For some, just being set is sufficient.
+ # For others, it must be a non-zero integer. For yet others, being set
+ # to a non-empty value is sufficient.
+ FORCE_COLOR: -106
+ # MyPy's color enforcement (must be a non-zero number)
+ MYPY_FORCE_COLOR: -42
+ # Recognized by the `py` package, dependency of `pytest` (must be "1")
+ PY_COLORS: 1
+ # Make tox-wrapped tools see color requests
+ TOX_TESTENV_PASSENV: >-
+ FORCE_COLOR
+ MYPY_FORCE_COLOR
+ NO_COLOR
+ PY_COLORS
+ PYTEST_THEME
+ PYTEST_THEME_MODE
+
+ # Suppress noisy pip warnings
+ PIP_DISABLE_PIP_VERSION_CHECK: 'true'
+ PIP_NO_PYTHON_VERSION_WARNING: 'true'
+ PIP_NO_WARN_SCRIPT_LOCATION: 'true'
+
+ # Disable the spinner, noise in GHA; TODO(webknjaz): Fix this upstream
+ # Must be "1".
+ TOX_PARALLEL_NO_SPINNER: 1
+
+
jobs:
test:
strategy:
matrix:
python:
- - 3.7
- - '3.10'
- - '3.11'
+ - "3.7"
+ - "3.10"
+ - "3.11"
+ # Workaround for actions/setup-python#508
+ dev:
+ - -dev
platform:
- ubuntu-latest
- macos-latest
- windows-latest
+ include:
+ - python: pypy3.9
+ platform: ubuntu-latest
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
- python-version: ${{ matrix.python }}-dev
+ python-version: ${{ matrix.python }}${{ matrix.dev }}
- name: Install tox
run: |
python -m pip install tox
@@ -50,9 +86,9 @@
steps:
- uses: actions/checkout@v3
- name: Setup Python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v4
with:
- python-version: "3.11-dev"
+ python-version: 3.11-dev
- name: Install tox
run: |
python -m pip install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/.readthedocs.yaml new/jaraco.text-3.10.0/.readthedocs.yaml
--- old/jaraco.text-3.9.1/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/jaraco.text-3.10.0/.readthedocs.yaml 2022-10-20 20:22:46.000000000 +0200
@@ -0,0 +1,13 @@
+version: 2
+python:
+ install:
+ - path: .
+ extra_requirements:
+ - docs
+
+# workaround for readthedocs/readthedocs.org#9623
+build:
+ # workaround for readthedocs/readthedocs.org#9635
+ os: ubuntu-22.04
+ tools:
+ python: "3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/.readthedocs.yml new/jaraco.text-3.10.0/.readthedocs.yml
--- old/jaraco.text-3.9.1/.readthedocs.yml 2022-08-18 22:35:05.000000000 +0200
+++ new/jaraco.text-3.10.0/.readthedocs.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-version: 2
-python:
- install:
- - path: .
- extra_requirements:
- - docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/CHANGES.rst new/jaraco.text-3.10.0/CHANGES.rst
--- old/jaraco.text-3.9.1/CHANGES.rst 2022-08-18 22:35:05.000000000 +0200
+++ new/jaraco.text-3.10.0/CHANGES.rst 2022-10-20 20:22:46.000000000 +0200
@@ -1,3 +1,8 @@
+v3.10.0
+=======
+
+Prefer ``casefold`` in ``FoldedCase``.
+
v3.9.1
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/PKG-INFO new/jaraco.text-3.10.0/PKG-INFO
--- old/jaraco.text-3.9.1/PKG-INFO 2022-08-18 22:35:36.883043500 +0200
+++ new/jaraco.text-3.10.0/PKG-INFO 2022-10-20 20:23:27.848896500 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jaraco.text
-Version: 3.9.1
+Version: 3.10.0
Summary: Module for text manipulation
Home-page: https://github.com/jaraco/jaraco.text
Author: Jason R. Coombs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/docs/conf.py new/jaraco.text-3.10.0/docs/conf.py
--- old/jaraco.text-3.9.1/docs/conf.py 2022-08-18 22:35:05.000000000 +0200
+++ new/jaraco.text-3.10.0/docs/conf.py 2022-10-20 20:22:46.000000000 +0200
@@ -1,10 +1,16 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-extensions = ['sphinx.ext.autodoc', 'jaraco.packaging.sphinx', 'rst.linker']
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'jaraco.packaging.sphinx',
+]
master_doc = "index"
+html_theme = "furo"
+# Link dates and other references in the changelog
+extensions += ['rst.linker']
link_files = {
'../CHANGES.rst': dict(
using=dict(GH='https://github.com'),
@@ -25,7 +31,7 @@
)
}
-# Be strict about any broken references:
+# Be strict about any broken references
nitpicky = True
# Include Python intersphinx mapping to prevent failures
@@ -35,4 +41,7 @@
'python': ('https://docs.python.org/3', None),
}
+# Preserve authored syntax for defaults
+autodoc_preserve_defaults = True
+
extensions += ['jaraco.tidelift']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/jaraco/text/__init__.py new/jaraco.text-3.10.0/jaraco/text/__init__.py
--- old/jaraco.text-3.9.1/jaraco/text/__init__.py 2022-08-18 22:35:05.000000000 +0200
+++ new/jaraco.text-3.10.0/jaraco/text/__init__.py 2022-10-20 20:22:46.000000000 +0200
@@ -92,37 +92,40 @@
>>> FoldedCase('hello') > FoldedCase('Hello')
False
+
+ >>> FoldedCase('��') == FoldedCase('ss')
+ True
"""
def __lt__(self, other):
- return self.lower() < other.lower()
+ return self.casefold() < other.casefold()
def __gt__(self, other):
- return self.lower() > other.lower()
+ return self.casefold() > other.casefold()
def __eq__(self, other):
- return self.lower() == other.lower()
+ return self.casefold() == other.casefold()
def __ne__(self, other):
- return self.lower() != other.lower()
+ return self.casefold() != other.casefold()
def __hash__(self):
- return hash(self.lower())
+ return hash(self.casefold())
def __contains__(self, other):
- return super().lower().__contains__(other.lower())
+ return super().casefold().__contains__(other.casefold())
def in_(self, other):
"Does self appear in other?"
return self in FoldedCase(other)
- # cache lower since it's likely to be called frequently.
+ # cache casefold since it's likely to be called frequently.
@method_cache
- def lower(self):
- return super().lower()
+ def casefold(self):
+ return super().casefold()
def index(self, sub):
- return self.lower().index(sub.lower())
+ return self.casefold().index(sub.casefold())
def split(self, splitter=' ', maxsplit=0):
pattern = re.compile(re.escape(splitter), re.I)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/jaraco.text.egg-info/PKG-INFO new/jaraco.text-3.10.0/jaraco.text.egg-info/PKG-INFO
--- old/jaraco.text-3.9.1/jaraco.text.egg-info/PKG-INFO 2022-08-18 22:35:36.000000000 +0200
+++ new/jaraco.text-3.10.0/jaraco.text.egg-info/PKG-INFO 2022-10-20 20:23:27.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jaraco.text
-Version: 3.9.1
+Version: 3.10.0
Summary: Module for text manipulation
Home-page: https://github.com/jaraco/jaraco.text
Author: Jason R. Coombs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/jaraco.text.egg-info/SOURCES.txt new/jaraco.text-3.10.0/jaraco.text.egg-info/SOURCES.txt
--- old/jaraco.text-3.9.1/jaraco.text.egg-info/SOURCES.txt 2022-08-18 22:35:36.000000000 +0200
+++ new/jaraco.text-3.10.0/jaraco.text.egg-info/SOURCES.txt 2022-10-20 20:23:27.000000000 +0200
@@ -2,7 +2,7 @@
.editorconfig
.flake8
.pre-commit-config.yaml
-.readthedocs.yml
+.readthedocs.yaml
CHANGES.rst
LICENSE
README.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/jaraco.text.egg-info/requires.txt new/jaraco.text-3.10.0/jaraco.text.egg-info/requires.txt
--- old/jaraco.text-3.9.1/jaraco.text.egg-info/requires.txt 2022-08-18 22:35:36.000000000 +0200
+++ new/jaraco.text-3.10.0/jaraco.text.egg-info/requires.txt 2022-10-20 20:23:27.000000000 +0200
@@ -8,9 +8,10 @@
importlib_resources
[docs]
-sphinx
+sphinx>=3.5
jaraco.packaging>=9
rst.linker>=1.9
+furo
jaraco.tidelift>=1.4
[testing]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco.text-3.9.1/setup.cfg new/jaraco.text-3.10.0/setup.cfg
--- old/jaraco.text-3.9.1/setup.cfg 2022-08-18 22:35:36.883043500 +0200
+++ new/jaraco.text-3.10.0/setup.cfg 2022-10-20 20:23:27.848896500 +0200
@@ -46,9 +46,10 @@
pathlib2; python_version < "3.10"
docs =
- sphinx
+ sphinx >= 3.5
jaraco.packaging >= 9
rst.linker >= 1.9
+ furo
jaraco.tidelift >= 1.4
[options.entry_points]
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xcb-util-cursor for openSUSE:Factory checked in at 2022-10-27 13:52:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xcb-util-cursor (Old)
and /work/SRC/openSUSE:Factory/.xcb-util-cursor.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xcb-util-cursor"
Thu Oct 27 13:52:10 2022 rev:7 rq:1031187 version:0.1.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/xcb-util-cursor/xcb-util-cursor.changes 2017-11-04 19:28:28.914890905 +0100
+++ /work/SRC/openSUSE:Factory/.xcb-util-cursor.new.2275/xcb-util-cursor.changes 2022-10-27 13:52:12.783971761 +0200
@@ -1,0 +2,17 @@
+Tue Oct 18 18:20:45 UTC 2022 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- Update to version 0.1.4
+ * Update README for gitlab migration
+ * Add README.md to EXTRA_DIST
+ * Use AC_CONFIG_FILES to replace the deprecated AC_OUTPUT with parameters
+ * Update m4 to xorg/util/xcb-util-m4@c617eee22ae5c285e79e81
+ * gitlab CI: add a basic build test
+ * configure: Drop AM_MAINTAINER_MODE
+ * autogen.sh: Honor NOCONFIGURE=1
+ * autogen.sh: use quoted string variables
+ * autogen: add default patch prefix
+ * autogen.sh: use exec instead of waiting for configure to finish
+ * documentation: Call xcb_free_cursor() when done
+ * Fix out-of-source builds
+
+-------------------------------------------------------------------
Old:
----
xcb-util-cursor-0.1.3.tar.bz2
New:
----
xcb-util-cursor-0.1.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xcb-util-cursor.spec ++++++
--- /var/tmp/diff_new_pack.zOwqDU/_old 2022-10-27 13:52:13.259974145 +0200
+++ /var/tmp/diff_new_pack.zOwqDU/_new 2022-10-27 13:52:13.267974185 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xcb-util-cursor
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,21 +12,21 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define lname libxcb-cursor0
Name: xcb-util-cursor
-Version: 0.1.3
+Version: 0.1.4
Release: 0
Summary: XCB cursor library (libxcursor port)
License: MIT
Group: Development/Libraries/C and C++
-Url: http://xcb.freedesktop.org/
+URL: http://xcb.freedesktop.org/
#Git-Clone: git://anongit.freedesktop.org/xcb/util-cursor
#Git-Web: http://cgit.freedesktop.org/xcb/util-cursor/
-Source: http://xcb.freedesktop.org/dist/%{name}-%{version}.tar.bz2
+Source: http://xcb.freedesktop.org/dist/%{name}-%{version}.tar.xz
Source1: baselibs.conf
BuildRequires: autoconf
BuildRequires: automake
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libxshmfence for openSUSE:Factory checked in at 2022-10-27 13:52:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxshmfence (Old)
and /work/SRC/openSUSE:Factory/.libxshmfence.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxshmfence"
Thu Oct 27 13:52:09 2022 rev:7 rq:1031186 version:1.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/libxshmfence/libxshmfence.changes 2018-02-28 20:00:36.884560024 +0100
+++ /work/SRC/openSUSE:Factory/.libxshmfence.new.2275/libxshmfence.changes 2022-10-27 13:52:11.719966432 +0200
@@ -1,0 +2,11 @@
+Tue Oct 18 18:29:13 UTC 2022 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- Update to version 1.3.1
+ * Update README for gitlab migration
+ * Update configure.ac bug URL for gitlab migration
+ * Fix spelling/wording issues
+ * gitlab CI: add a basic build test
+ * alloc: prefer atomic close-on-exec without O_TMPFILE as well
+ * alloc: prefer SHM_ANON on FreeBSD a la memfd_create
+
+-------------------------------------------------------------------
Old:
----
libxshmfence-1.3.tar.bz2
New:
----
libxshmfence-1.3.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libxshmfence.spec ++++++
--- /var/tmp/diff_new_pack.qvWyLe/_old 2022-10-27 13:52:12.291969297 +0200
+++ /var/tmp/diff_new_pack.qvWyLe/_new 2022-10-27 13:52:12.303969357 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libxshmfence
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,22 +12,22 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libxshmfence
-Version: 1.3
+Version: 1.3.1
Release: 0
%define lname libxshmfence1
Summary: A tiny library that exposes a event API on top of Linux futexes
License: HPND
Group: Development/Libraries/C and C++
-Url: http://xorg.freedesktop.org/
+URL: http://xorg.freedesktop.org/
#Git-Clone: git://anongit.freedesktop.org/xorg/lib/libxshmfence
#Git-Web: http://cgit.freedesktop.org/xorg/lib/libxshmfence/
-Source: http://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.tar.b…
+Source: http://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.tar.xz
Source1: baselibs.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package expat for openSUSE:Factory checked in at 2022-10-27 13:52:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/expat (Old)
and /work/SRC/openSUSE:Factory/.expat.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "expat"
Thu Oct 27 13:52:07 2022 rev:70 rq:1031257 version:2.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/expat/expat.changes 2022-09-23 14:14:18.089852296 +0200
+++ /work/SRC/openSUSE:Factory/.expat.new.2275/expat.changes 2022-10-27 13:52:10.583960744 +0200
@@ -1,0 +2,27 @@
+Wed Oct 26 06:19:38 UTC 2022 - David Anes <david.anes(a)suse.com>
+
+- Update to 2.5.0: (bsc#1204708)
+ * Security fixes:
+ - CVE-2022-43680 -- Fix heap use-after-free after overeager
+ destruction of a shared DTD in function
+ XML_ExternalEntityParserCreate in out-of-memory situations.
+ Expected impact is denial of service or potentially arbitrary
+ code execution.
+ * Bug fixes:
+ - Fix curruption from undefined entities
+ - Fix case when parsing was suspended while processing nested
+ entities
+ - Stop leaking opening tag bindings after a closing tag mismatch
+ error where a parser is reset through XML_ParserReset and then
+ reused to parse
+ - CMake: Fix generation of pkg-config file
+ - MinGW|CMake: Fix static library name
+ * Other changes:
+ - Protect header expat_config.h from multiple inclusion
+ - examples: Make use of XML_GetBuffer and be more consistent
+ across examples
+ - Address compiler warnings
+ - Version info bumped from 9:9:8 to 9:10:8; see
+ https://verbump.de/ for what these numbers do
+
+-------------------------------------------------------------------
Old:
----
expat-2.4.9.tar.xz
expat-2.4.9.tar.xz.asc
New:
----
expat-2.5.0.tar.xz
expat-2.5.0.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ expat.spec ++++++
--- /var/tmp/diff_new_pack.GaLuzF/_old 2022-10-27 13:52:11.175963708 +0200
+++ /var/tmp/diff_new_pack.GaLuzF/_new 2022-10-27 13:52:11.179963728 +0200
@@ -16,9 +16,9 @@
#
-%global unversion 2_4_9
+%global unversion 2_5_0
Name: expat
-Version: 2.4.9
+Version: 2.5.0
Release: 0
Summary: XML Parser Toolkit
License: MIT
++++++ expat-2.4.9.tar.xz -> expat-2.5.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/CMake.README new/expat-2.5.0/CMake.README
--- old/expat-2.4.9/CMake.README 2022-09-20 16:27:48.000000000 +0200
+++ new/expat-2.5.0/CMake.README 2022-10-25 17:09:08.000000000 +0200
@@ -3,25 +3,25 @@
The cmake based buildsystem for expat works on Windows (cygwin, mingw, Visual
Studio) and should work on all other platform cmake supports.
-Assuming ~/expat-2.4.9 is the source directory of expat, add a subdirectory
+Assuming ~/expat-2.5.0 is the source directory of expat, add a subdirectory
build and change into that directory:
-~/expat-2.4.9$ mkdir build && cd build
-~/expat-2.4.9/build$
+~/expat-2.5.0$ mkdir build && cd build
+~/expat-2.5.0/build$
From that directory, call cmake first, then call make, make test and
make install in the usual way:
-~/expat-2.4.9/build$ cmake ..
+~/expat-2.5.0/build$ cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
....
-- Configuring done
-- Generating done
--- Build files have been written to: /home/patrick/expat-2.4.9/build
+-- Build files have been written to: /home/patrick/expat-2.5.0/build
If you want to specify the install location for your files, append
-DCMAKE_INSTALL_PREFIX=/your/install/path to the cmake call.
-~/expat-2.4.9/build$ make && make test && make install
+~/expat-2.5.0/build$ make && make test && make install
Scanning dependencies of target expat
[ 5%] Building C object CMakeFiles/expat.dir/lib/xmlparse.c.o
[ 11%] Building C object CMakeFiles/expat.dir/lib/xmlrole.c.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/CMakeLists.txt new/expat-2.5.0/CMakeLists.txt
--- old/expat-2.4.9/CMakeLists.txt 2022-09-20 16:27:48.000000000 +0200
+++ new/expat-2.5.0/CMakeLists.txt 2022-10-25 17:09:08.000000000 +0200
@@ -38,7 +38,7 @@
project(expat
VERSION
- 2.4.9
+ 2.5.0
LANGUAGES
C
)
@@ -436,9 +436,9 @@
set_property(TARGET expat PROPERTY ${build_type_upper}_POSTFIX ${EXPAT_${build_type_upper}_POSTFIX})
endforeach()
-set(LIBCURRENT 9) # sync
-set(LIBREVISION 9) # with
-set(LIBAGE 8) # configure.ac!
+set(LIBCURRENT 9) # sync
+set(LIBREVISION 10) # with
+set(LIBAGE 8) # configure.ac!
math(EXPR LIBCURRENT_MINUS_AGE "${LIBCURRENT} - ${LIBAGE}")
if(NOT WIN32)
@@ -459,7 +459,7 @@
endif()
endif()
-if(MINGW)
+if(MINGW AND EXPAT_SHARED_LIBS)
set_target_properties(expat PROPERTIES SUFFIX "-${LIBCURRENT_MINUS_AGE}.dll")
endif()
@@ -469,7 +469,7 @@
# Everything but MSVC is already adding prefix "lib", automatically.
# NOTE: "set_property(TARGET expat PROPERTY PREFIX lib)" would only affect *.dll
# files but not *.lib files, so we have to rely on property OUTPUT_NAME, instead.
- # Property CMAKE_*_POSTFIX still applies.
+ # Target property <CONFIG>_POSTFIX still applies.
set(_EXPAT_OUTPUT_NAME libexpat)
set_property(TARGET expat PROPERTY OUTPUT_NAME ${_EXPAT_OUTPUT_NAME})
else()
@@ -520,8 +520,8 @@
foreach(_build_type ${CMAKE_BUILD_TYPE} Debug Release RelWithDebInfo MinSizeRel)
string(TOLOWER "${_build_type}" _build_type_lower)
string(TOUPPER "${_build_type}" _build_type_upper)
- set_property(TARGET expat PROPERTY "pkgconfig_${_build_type_lower}_name" "expat${CMAKE_${_build_type_upper}_POSTFIX}")
- set_property(TARGET expat PROPERTY "pkgconfig_${_build_type_lower}_output_name" "${_EXPAT_OUTPUT_NAME}${CMAKE_${_build_type_upper}_POSTFIX}")
+ set_property(TARGET expat PROPERTY "pkgconfig_${_build_type_lower}_name" "expat${EXPAT_${_build_type_upper}_POSTFIX}")
+ set_property(TARGET expat PROPERTY "pkgconfig_${_build_type_lower}_output_name" "${_EXPAT_OUTPUT_NAME}${EXPAT_${_build_type_upper}_POSTFIX}")
if(_EXPAT_LIBM_FOUND)
set_property(TARGET expat PROPERTY "pkgconfig_libm" "-lm")
else()
@@ -580,12 +580,12 @@
#
if(EXPAT_BUILD_EXAMPLES)
add_executable(elements examples/elements.c)
- set_property(TARGET elements PROPERTY RUNTIME_OUTPUT_DIRECTORY examples)
- target_link_libraries(elements expat)
-
add_executable(outline examples/outline.c)
- set_property(TARGET outline PROPERTY RUNTIME_OUTPUT_DIRECTORY examples)
- target_link_libraries(outline expat)
+
+ foreach(_target elements outline)
+ set_property(TARGET ${_target} PROPERTY RUNTIME_OUTPUT_DIRECTORY examples)
+ target_link_libraries(${_target} expat)
+ endforeach()
endif()
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/Changes new/expat-2.5.0/Changes
--- old/expat-2.4.9/Changes 2022-09-20 16:49:35.000000000 +0200
+++ new/expat-2.5.0/Changes 2022-10-25 17:09:08.000000000 +0200
@@ -2,6 +2,40 @@
https://github.com/libexpat/libexpat/labels/help%20wanted
If you can help, please get in touch. Thanks!
+Release 2.5.0 Tue October 25 2022
+ Security fixes:
+ #616 #649 #650 CVE-2022-43680 -- Fix heap use-after-free after overeager
+ destruction of a shared DTD in function
+ XML_ExternalEntityParserCreate in out-of-memory situations.
+ Expected impact is denial of service or potentially
+ arbitrary code execution.
+
+ Bug fixes:
+ #612 #645 Fix curruption from undefined entities
+ #613 #654 Fix case when parsing was suspended while processing nested
+ entities
+ #616 #652 #653 Stop leaking opening tag bindings after a closing tag
+ mismatch error where a parser is reset through
+ XML_ParserReset and then reused to parse
+ #656 CMake: Fix generation of pkg-config file
+ #658 MinGW|CMake: Fix static library name
+
+ Other changes:
+ #663 Protect header expat_config.h from multiple inclusion
+ #666 examples: Make use of XML_GetBuffer and be more
+ consistent across examples
+ #648 Address compiler warnings
+ #667 #668 Version info bumped from 9:9:8 to 9:10:8;
+ see https://verbump.de/ for what these numbers do
+
+ Special thanks to:
+ Jann Horn
+ Mark Brand
+ Osyotr
+ Rhodri James
+ and
+ Google Project Zero
+
Release 2.4.9 Tue September 20 2022
Security fixes:
#629 #640 CVE-2022-40674 -- Heap use-after-free vulnerability in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/README.md new/expat-2.5.0/README.md
--- old/expat-2.4.9/README.md 2022-09-20 16:27:48.000000000 +0200
+++ new/expat-2.5.0/README.md 2022-10-25 17:09:08.000000000 +0200
@@ -5,7 +5,7 @@
[![Downloads GitHub](https://img.shields.io/github/downloads/libexpat/libexpat/total?lab…
-# Expat, Release 2.4.9
+# Expat, Release 2.5.0
This is Expat, a C library for parsing XML, started by
[James Clark](https://en.wikipedia.org/wiki/James_Clark_%28programmer%29) in 1997.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/configure new/expat-2.5.0/configure
--- old/expat-2.4.9/configure 2022-09-20 17:05:40.000000000 +0200
+++ new/expat-2.5.0/configure 2022-10-25 17:34:51.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for expat 2.4.9.
+# Generated by GNU Autoconf 2.71 for expat 2.5.0.
#
# Report bugs to <expat-bugs(a)libexpat.org>.
#
@@ -621,8 +621,8 @@
# Identity of this package.
PACKAGE_NAME='expat'
PACKAGE_TARNAME='expat'
-PACKAGE_VERSION='2.4.9'
-PACKAGE_STRING='expat 2.4.9'
+PACKAGE_VERSION='2.5.0'
+PACKAGE_STRING='expat 2.5.0'
PACKAGE_BUGREPORT='expat-bugs(a)libexpat.org'
PACKAGE_URL=''
@@ -1415,7 +1415,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures expat 2.4.9 to adapt to many kinds of systems.
+\`configure' configures expat 2.5.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1486,7 +1486,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of expat 2.4.9:";;
+ short | recursive ) echo "Configuration of expat 2.5.0:";;
esac
cat <<\_ACEOF
@@ -1620,7 +1620,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-expat configure 2.4.9
+expat configure 2.5.0
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1772,7 +1772,7 @@
#define $2 innocuous_$2
/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below. */
+ which can conflict with char $2 (void); below. */
#include <limits.h>
#undef $2
@@ -1783,7 +1783,7 @@
#ifdef __cplusplus
extern "C"
#endif
-char $2 ();
+char $2 (void);
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
@@ -2251,7 +2251,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by expat $as_me 2.4.9, which was
+It was created by expat $as_me 2.5.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3818,7 +3818,7 @@
# Define the identity of the package.
PACKAGE='expat'
- VERSION='2.4.9'
+ VERSION='2.5.0'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -3924,9 +3924,9 @@
-LIBCURRENT=9 # sync
-LIBREVISION=9 # with
-LIBAGE=8 # CMakeLists.txt!
+LIBCURRENT=9 # sync
+LIBREVISION=10 # with
+LIBAGE=8 # CMakeLists.txt!
ac_config_headers="$ac_config_headers expat_config.h"
@@ -3940,6 +3940,8 @@
+
+
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
@@ -13210,8 +13212,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char dlopen ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen (void);
int
main (void)
{
@@ -13272,8 +13280,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char shl_load ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load (void);
int
main (void)
{
@@ -13316,8 +13330,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char dlopen ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen (void);
int
main (void)
{
@@ -13355,8 +13375,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char dlopen ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen (void);
int
main (void)
{
@@ -13394,8 +13420,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char dld_link ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link (void);
int
main (void)
{
@@ -18708,22 +18740,23 @@
int use_ebcdic (int i) {
return ebcdic_mm[i] + ebcdic_ii[i];
}
- extern int foo;
-
-int
-main (void)
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
+ int
+ main (int argc, char **argv)
+ {
+ /* Intimidate the compiler so that it does not
+ optimize the arrays away. */
+ char *p = argv[0];
+ ascii_mm[1] = *p++; ebcdic_mm[1] = *p++;
+ ascii_ii[1] = *p++; ebcdic_ii[1] = *p++;
+ return use_ascii (argc) == use_ebcdic (*p);
+ }
_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+if ac_fn_c_try_link "$LINENO"
then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ if grep BIGenDianSyS conftest$ac_exeext >/dev/null; then
ac_cv_c_bigendian=yes
fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if grep LiTTleEnDian conftest$ac_exeext >/dev/null ; then
if test "$ac_cv_c_bigendian" = unknown; then
ac_cv_c_bigendian=no
else
@@ -18732,7 +18765,8 @@
fi
fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -19008,8 +19042,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char _mwvalidcheckl ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char _mwvalidcheckl (void);
int
main (void)
{
@@ -19048,8 +19088,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char cos ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cos (void);
int
main (void)
{
@@ -19090,8 +19136,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char cos ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cos (void);
int
main (void)
{
@@ -19146,8 +19198,14 @@
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char arc4random_buf ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char arc4random_buf (void);
int
main (void)
{
@@ -20364,7 +20422,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by expat $as_me 2.4.9, which was
+This file was extended by expat $as_me 2.5.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20432,7 +20490,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-expat config.status 2.4.9
+expat config.status 2.5.0
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/configure.ac new/expat-2.5.0/configure.ac
--- old/expat-2.4.9/configure.ac 2022-09-20 16:27:48.000000000 +0200
+++ new/expat-2.5.0/configure.ac 2022-10-25 17:09:08.000000000 +0200
@@ -81,11 +81,14 @@
dnl If the API changes incompatibly set LIBAGE back to 0
dnl
-LIBCURRENT=9 # sync
-LIBREVISION=9 # with
-LIBAGE=8 # CMakeLists.txt!
+LIBCURRENT=9 # sync
+LIBREVISION=10 # with
+LIBAGE=8 # CMakeLists.txt!
AC_CONFIG_HEADERS([expat_config.h])
+AH_TOP([#ifndef EXPAT_CONFIG_H
+#define EXPAT_CONFIG_H 1])
+AH_BOTTOM([#endif // ndef EXPAT_CONFIG_H])
AM_PROG_AR
AC_PROG_INSTALL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/doc/reference.html new/expat-2.5.0/doc/reference.html
--- old/expat-2.4.9/doc/reference.html 2022-09-20 16:27:48.000000000 +0200
+++ new/expat-2.5.0/doc/reference.html 2022-10-25 17:09:08.000000000 +0200
@@ -50,7 +50,7 @@
<div>
<h1>
The Expat XML Parser
- <small>Release 2.4.9</small>
+ <small>Release 2.5.0</small>
</h1>
</div>
<div class="content">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/doc/xmlwf.1 new/expat-2.5.0/doc/xmlwf.1
--- old/expat-2.4.9/doc/xmlwf.1 2022-09-20 17:05:47.000000000 +0200
+++ new/expat-2.5.0/doc/xmlwf.1 2022-10-25 17:34:58.000000000 +0200
@@ -5,7 +5,7 @@
\\$2 \(la\\$1\(ra\\$3
..
.if \n(.g .mso www.tmac
-.TH XMLWF 1 "September 20, 2022" "" ""
+.TH XMLWF 1 "October 25, 2022" "" ""
.SH NAME
xmlwf \- Determines if an XML document is well-formed
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/doc/xmlwf.xml new/expat-2.5.0/doc/xmlwf.xml
--- old/expat-2.4.9/doc/xmlwf.xml 2022-09-20 16:27:48.000000000 +0200
+++ new/expat-2.5.0/doc/xmlwf.xml 2022-10-25 17:09:08.000000000 +0200
@@ -21,7 +21,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY dhfirstname "<firstname>Scott</firstname>">
<!ENTITY dhsurname "<surname>Bronson</surname>">
- <!ENTITY dhdate "<date>September 20, 2022</date>">
+ <!ENTITY dhdate "<date>October 25, 2022</date>">
<!-- Please adjust this^^ date whenever cutting a new release. -->
<!ENTITY dhsection "<manvolnum>1</manvolnum>">
<!ENTITY dhemail "<email>bronson(a)rinspin.com</email>">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/examples/elements.c new/expat-2.5.0/examples/elements.c
--- old/expat-2.4.9/examples/elements.c 2022-09-19 16:20:21.000000000 +0200
+++ new/expat-2.5.0/examples/elements.c 2022-10-25 17:09:08.000000000 +0200
@@ -14,7 +14,7 @@
Copyright (c) 2001-2003 Fred L. Drake, Jr. <fdrake(a)users.sourceforge.net>
Copyright (c) 2004-2006 Karl Waclawek <karl(a)waclawek.net>
Copyright (c) 2005-2007 Steven Solie <steven(a)solie.ca>
- Copyright (c) 2016-2019 Sebastian Pipping <sebastian(a)pipping.org>
+ Copyright (c) 2016-2022 Sebastian Pipping <sebastian(a)pipping.org>
Copyright (c) 2017 Rhodri James <rhodri(a)wildebeest.org.uk>
Copyright (c) 2019 Zhongyuan Zhou <zhouzhongyuan(a)huawei.com>
Licensed under the MIT license:
@@ -49,7 +49,6 @@
#endif
#ifdef XML_UNICODE_WCHAR_T
-# include <wchar.h>
# define XML_FMT_STR "ls"
#else
# define XML_FMT_STR "s"
@@ -58,7 +57,7 @@
static void XMLCALL
startElement(void *userData, const XML_Char *name, const XML_Char **atts) {
int i;
- int *depthPtr = (int *)userData;
+ int *const depthPtr = (int *)userData;
(void)atts;
for (i = 0; i < *depthPtr; i++)
@@ -69,34 +68,54 @@
static void XMLCALL
endElement(void *userData, const XML_Char *name) {
- int *depthPtr = (int *)userData;
+ int *const depthPtr = (int *)userData;
(void)name;
*depthPtr -= 1;
}
int
-main(int argc, char *argv[]) {
- char buf[BUFSIZ];
+main(void) {
XML_Parser parser = XML_ParserCreate(NULL);
int done;
int depth = 0;
- (void)argc;
- (void)argv;
+
+ if (! parser) {
+ fprintf(stderr, "Couldn't allocate memory for parser\n");
+ return 1;
+ }
XML_SetUserData(parser, &depth);
XML_SetElementHandler(parser, startElement, endElement);
+
do {
- size_t len = fread(buf, 1, sizeof(buf), stdin);
- done = len < sizeof(buf);
- if (XML_Parse(parser, buf, (int)len, done) == XML_STATUS_ERROR) {
- fprintf(stderr, "%" XML_FMT_STR " at line %" XML_FMT_INT_MOD "u\n",
- XML_ErrorString(XML_GetErrorCode(parser)),
- XML_GetCurrentLineNumber(parser));
+ void *const buf = XML_GetBuffer(parser, BUFSIZ);
+ if (! buf) {
+ fprintf(stderr, "Couldn't allocate memory for buffer\n");
+ XML_ParserFree(parser);
+ return 1;
+ }
+
+ const size_t len = fread(buf, 1, BUFSIZ, stdin);
+
+ if (ferror(stdin)) {
+ fprintf(stderr, "Read error\n");
+ XML_ParserFree(parser);
+ return 1;
+ }
+
+ done = feof(stdin);
+
+ if (XML_ParseBuffer(parser, (int)len, done) == XML_STATUS_ERROR) {
+ fprintf(stderr,
+ "Parse error at line %" XML_FMT_INT_MOD "u:\n%" XML_FMT_STR "\n",
+ XML_GetCurrentLineNumber(parser),
+ XML_ErrorString(XML_GetErrorCode(parser)));
XML_ParserFree(parser);
return 1;
}
} while (! done);
+
XML_ParserFree(parser);
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/examples/outline.c new/expat-2.5.0/examples/outline.c
--- old/expat-2.4.9/examples/outline.c 2022-09-19 16:20:21.000000000 +0200
+++ new/expat-2.5.0/examples/outline.c 2022-10-25 17:09:08.000000000 +0200
@@ -12,7 +12,7 @@
Copyright (c) 2001-2003 Fred L. Drake, Jr. <fdrake(a)users.sourceforge.net>
Copyright (c) 2005-2007 Steven Solie <steven(a)solie.ca>
Copyright (c) 2005-2006 Karl Waclawek <karl(a)waclawek.net>
- Copyright (c) 2016-2019 Sebastian Pipping <sebastian(a)pipping.org>
+ Copyright (c) 2016-2022 Sebastian Pipping <sebastian(a)pipping.org>
Copyright (c) 2017 Rhodri James <rhodri(a)wildebeest.org.uk>
Licensed under the MIT license:
@@ -51,73 +51,74 @@
# define XML_FMT_STR "s"
#endif
-#define BUFFSIZE 8192
-
-char Buff[BUFFSIZE];
-
-int Depth;
-
static void XMLCALL
-start(void *data, const XML_Char *el, const XML_Char **attr) {
+startElement(void *userData, const XML_Char *name, const XML_Char **atts) {
int i;
- (void)data;
+ int *const depthPtr = (int *)userData;
- for (i = 0; i < Depth; i++)
+ for (i = 0; i < *depthPtr; i++)
printf(" ");
- printf("%" XML_FMT_STR, el);
+ printf("%" XML_FMT_STR, name);
- for (i = 0; attr[i]; i += 2) {
- printf(" %" XML_FMT_STR "='%" XML_FMT_STR "'", attr[i], attr[i + 1]);
+ for (i = 0; atts[i]; i += 2) {
+ printf(" %" XML_FMT_STR "='%" XML_FMT_STR "'", atts[i], atts[i + 1]);
}
printf("\n");
- Depth++;
+ *depthPtr += 1;
}
static void XMLCALL
-end(void *data, const XML_Char *el) {
- (void)data;
- (void)el;
+endElement(void *userData, const XML_Char *name) {
+ int *const depthPtr = (int *)userData;
+ (void)name;
- Depth--;
+ *depthPtr -= 1;
}
int
-main(int argc, char *argv[]) {
- XML_Parser p = XML_ParserCreate(NULL);
- (void)argc;
- (void)argv;
+main(void) {
+ XML_Parser parser = XML_ParserCreate(NULL);
+ int done;
+ int depth = 0;
- if (! p) {
+ if (! parser) {
fprintf(stderr, "Couldn't allocate memory for parser\n");
- exit(-1);
+ return 1;
}
- XML_SetElementHandler(p, start, end);
+ XML_SetUserData(parser, &depth);
+ XML_SetElementHandler(parser, startElement, endElement);
- for (;;) {
- int done;
- int len;
+ do {
+ void *const buf = XML_GetBuffer(parser, BUFSIZ);
+ if (! buf) {
+ fprintf(stderr, "Couldn't allocate memory for buffer\n");
+ XML_ParserFree(parser);
+ return 1;
+ }
+
+ const size_t len = fread(buf, 1, BUFSIZ, stdin);
- len = (int)fread(Buff, 1, BUFFSIZE, stdin);
if (ferror(stdin)) {
fprintf(stderr, "Read error\n");
- exit(-1);
+ XML_ParserFree(parser);
+ return 1;
}
+
done = feof(stdin);
- if (XML_Parse(p, Buff, len, done) == XML_STATUS_ERROR) {
+ if (XML_ParseBuffer(parser, (int)len, done) == XML_STATUS_ERROR) {
fprintf(stderr,
"Parse error at line %" XML_FMT_INT_MOD "u:\n%" XML_FMT_STR "\n",
- XML_GetCurrentLineNumber(p),
- XML_ErrorString(XML_GetErrorCode(p)));
- exit(-1);
+ XML_GetCurrentLineNumber(parser),
+ XML_ErrorString(XML_GetErrorCode(parser)));
+ XML_ParserFree(parser);
+ return 1;
}
+ } while (! done);
- if (done)
- break;
- }
- XML_ParserFree(p);
+ XML_ParserFree(parser);
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/expat_config.h new/expat-2.5.0/expat_config.h
--- old/expat-2.4.9/expat_config.h 2022-09-20 17:05:46.000000000 +0200
+++ new/expat-2.5.0/expat_config.h 2022-10-25 17:34:58.000000000 +0200
@@ -1,6 +1,9 @@
/* expat_config.h. Generated from expat_config.h.in by configure. */
/* expat_config.h.in. Generated from configure.ac by autoheader. */
+#ifndef EXPAT_CONFIG_H
+#define EXPAT_CONFIG_H 1
+
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
@@ -11,7 +14,7 @@
/* #undef HAVE_ARC4RANDOM */
/* Define to 1 if you have the `arc4random_buf' function. */
-/* #undef HAVE_ARC4RANDOM_BUF */
+#define HAVE_ARC4RANDOM_BUF 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
@@ -77,7 +80,7 @@
#define PACKAGE_NAME "expat"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "expat 2.4.9"
+#define PACKAGE_STRING "expat 2.5.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "expat"
@@ -86,7 +89,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.4.9"
+#define PACKAGE_VERSION "2.5.0"
/* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
@@ -94,7 +97,7 @@
#define STDC_HEADERS 1
/* Version number of package */
-#define VERSION "2.4.9"
+#define VERSION "2.5.0"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -133,3 +136,5 @@
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
+
+#endif // ndef EXPAT_CONFIG_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/expat_config.h.cmake new/expat-2.5.0/expat_config.h.cmake
--- old/expat-2.4.9/expat_config.h.cmake 2022-09-19 23:35:05.000000000 +0200
+++ new/expat-2.5.0/expat_config.h.cmake 2022-10-24 18:34:52.000000000 +0200
@@ -1,5 +1,8 @@
/* expat_config.h.cmake. Based upon generated expat_config.h.in. */
+#ifndef EXPAT_CONFIG_H
+#define EXPAT_CONFIG_H 1
+
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
#cmakedefine BYTEORDER @BYTEORDER@
@@ -113,3 +116,5 @@
/* Define to `unsigned' if <sys/types.h> does not define. */
#cmakedefine size_t @SIZE_T@
+
+#endif // ndef EXPAT_CONFIG_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/expat_config.h.in new/expat-2.5.0/expat_config.h.in
--- old/expat-2.4.9/expat_config.h.in 2022-09-20 17:05:41.000000000 +0200
+++ new/expat-2.5.0/expat_config.h.in 2022-10-25 17:34:52.000000000 +0200
@@ -1,5 +1,8 @@
/* expat_config.h.in. Generated from configure.ac by autoheader. */
+#ifndef EXPAT_CONFIG_H
+#define EXPAT_CONFIG_H 1
+
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
@@ -132,3 +135,5 @@
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
+
+#endif // ndef EXPAT_CONFIG_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/lib/expat.h new/expat-2.5.0/lib/expat.h
--- old/expat-2.4.9/lib/expat.h 2022-09-20 16:27:48.000000000 +0200
+++ new/expat-2.5.0/lib/expat.h 2022-10-25 17:09:08.000000000 +0200
@@ -1054,8 +1054,8 @@
See http://semver.org.
*/
#define XML_MAJOR_VERSION 2
-#define XML_MINOR_VERSION 4
-#define XML_MICRO_VERSION 9
+#define XML_MINOR_VERSION 5
+#define XML_MICRO_VERSION 0
#ifdef __cplusplus
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/lib/xmlparse.c new/expat-2.5.0/lib/xmlparse.c
--- old/expat-2.4.9/lib/xmlparse.c 2022-09-20 16:49:35.000000000 +0200
+++ new/expat-2.5.0/lib/xmlparse.c 2022-10-25 17:09:08.000000000 +0200
@@ -1,4 +1,4 @@
-/* 90815a2b2c80c03b2b889fe1d427bb2b9e3282aa065e42784e001db4f23de324 (2.4.9+)
+/* 5ab094ffadd6edfc94c3eee53af44a86951f9f1f0933ada3114bbce2bfb02c99 (2.5.0+)
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
@@ -35,6 +35,7 @@
Copyright (c) 2021 Dong-hee Na <donghee.na(a)python.org>
Copyright (c) 2022 Samanta Navarro <ferivoz(a)riseup.net>
Copyright (c) 2022 Jeffrey Walton <noloader(a)gmail.com>
+ Copyright (c) 2022 Jann Horn <jannh(a)google.com>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
@@ -1068,6 +1069,14 @@
parserInit(parser, encodingName);
if (encodingName && ! parser->m_protocolEncodingName) {
+ if (dtd) {
+ // We need to stop the upcoming call to XML_ParserFree from happily
+ // destroying parser->m_dtd because the DTD is shared with the parent
+ // parser and the only guard that keeps XML_ParserFree from destroying
+ // parser->m_dtd is parser->m_isParamEntity but it will be set to
+ // XML_TRUE only later in XML_ExternalEntityParserCreate (or not at all).
+ parser->m_dtd = NULL;
+ }
XML_ParserFree(parser);
return NULL;
}
@@ -3011,9 +3020,6 @@
int len;
const char *rawName;
TAG *tag = parser->m_tagStack;
- parser->m_tagStack = tag->parent;
- tag->parent = parser->m_freeTagList;
- parser->m_freeTagList = tag;
rawName = s + enc->minBytesPerChar * 2;
len = XmlNameLength(enc, rawName);
if (len != tag->rawNameLength
@@ -3021,6 +3027,9 @@
*eventPP = rawName;
return XML_ERROR_TAG_MISMATCH;
}
+ parser->m_tagStack = tag->parent;
+ tag->parent = parser->m_freeTagList;
+ parser->m_freeTagList = tag;
--parser->m_tagLevel;
if (parser->m_endElementHandler) {
const XML_Char *localPart;
@@ -4975,10 +4984,10 @@
parser->m_handlerArg, parser->m_declElementType->name,
parser->m_declAttributeId->name, parser->m_declAttributeType, 0,
role == XML_ROLE_REQUIRED_ATTRIBUTE_VALUE);
- poolClear(&parser->m_tempPool);
handleDefault = XML_FALSE;
}
}
+ poolClear(&parser->m_tempPool);
break;
case XML_ROLE_DEFAULT_ATTRIBUTE_VALUE:
case XML_ROLE_FIXED_ATTRIBUTE_VALUE:
@@ -5386,7 +5395,7 @@
*
* If 'standalone' is false, the DTD must have no
* parameter entities or we wouldn't have passed the outer
- * 'if' statement. That measn the only entity in the hash
+ * 'if' statement. That means the only entity in the hash
* table is the external subset name "#" which cannot be
* given as a parameter entity name in XML syntax, so the
* lookup must have returned NULL and we don't even reach
@@ -5798,19 +5807,27 @@
if (result != XML_ERROR_NONE)
return result;
- else if (textEnd != next
- && parser->m_parsingStatus.parsing == XML_SUSPENDED) {
+
+ if (textEnd != next && parser->m_parsingStatus.parsing == XML_SUSPENDED) {
entity->processed = (int)(next - (const char *)entity->textPtr);
return result;
- } else {
+ }
+
#ifdef XML_DTD
- entityTrackingOnClose(parser, entity, __LINE__);
+ entityTrackingOnClose(parser, entity, __LINE__);
#endif
- entity->open = XML_FALSE;
- parser->m_openInternalEntities = openEntity->next;
- /* put openEntity back in list of free instances */
- openEntity->next = parser->m_freeInternalEntities;
- parser->m_freeInternalEntities = openEntity;
+ entity->open = XML_FALSE;
+ parser->m_openInternalEntities = openEntity->next;
+ /* put openEntity back in list of free instances */
+ openEntity->next = parser->m_freeInternalEntities;
+ parser->m_freeInternalEntities = openEntity;
+
+ // If there are more open entities we want to stop right here and have the
+ // upcoming call to XML_ResumeParser continue with entity content, or it would
+ // be ignored altogether.
+ if (parser->m_openInternalEntities != NULL
+ && parser->m_parsingStatus.parsing == XML_SUSPENDED) {
+ return XML_ERROR_NONE;
}
#ifdef XML_DTD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/lib/xmltok_impl.h new/expat-2.5.0/lib/xmltok_impl.h
--- old/expat-2.4.9/lib/xmltok_impl.h 2022-09-19 16:20:22.000000000 +0200
+++ new/expat-2.5.0/lib/xmltok_impl.h 2022-10-24 18:34:52.000000000 +0200
@@ -45,7 +45,7 @@
BT_LF, /* line feed = "\n" */
BT_GT, /* greater than = ">" */
BT_QUOT, /* quotation character = "\"" */
- BT_APOS, /* aposthrophe = "'" */
+ BT_APOS, /* apostrophe = "'" */
BT_EQUALS, /* equal sign = "=" */
BT_QUEST, /* question mark = "?" */
BT_EXCL, /* exclamation mark = "!" */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/tests/runtests.c new/expat-2.5.0/tests/runtests.c
--- old/expat-2.4.9/tests/runtests.c 2022-09-20 16:49:35.000000000 +0200
+++ new/expat-2.5.0/tests/runtests.c 2022-10-25 17:09:08.000000000 +0200
@@ -11,7 +11,7 @@
Copyright (c) 2005-2007 Steven Solie <steven(a)solie.ca>
Copyright (c) 2005-2012 Karl Waclawek <karl(a)waclawek.net>
Copyright (c) 2016-2022 Sebastian Pipping <sebastian(a)pipping.org>
- Copyright (c) 2017-2018 Rhodri James <rhodri(a)wildebeest.org.uk>
+ Copyright (c) 2017-2022 Rhodri James <rhodri(a)wildebeest.org.uk>
Copyright (c) 2017 Joe Orton <jorton(a)redhat.com>
Copyright (c) 2017 Jos�� Guti��rrez de la Concha <jose(a)zeroc.com>
Copyright (c) 2018 Marco Maggi <marco.maggi-ipsu(a)poste.it>
@@ -4990,7 +4990,7 @@
}
END_TEST
-void
+static void XMLCALL
suspending_comment_handler(void *userData, const XML_Char *data) {
UNUSED_P(data);
XML_Parser parser = (XML_Parser)userData;
@@ -6734,6 +6734,102 @@
}
END_TEST
+/* Regression test for GH issue #612: unfinished m_declAttributeType
+ * allocation in ->m_tempPool can corrupt following allocation.
+ */
+static int XMLCALL
+external_entity_unfinished_attlist(XML_Parser parser, const XML_Char *context,
+ const XML_Char *base,
+ const XML_Char *systemId,
+ const XML_Char *publicId) {
+ const char *text = "<!ELEMENT barf ANY>\n"
+ "<!ATTLIST barf my_attr (blah|%blah;a|foo) #REQUIRED>\n"
+ "<!--COMMENT-->\n";
+ XML_Parser ext_parser;
+
+ UNUSED_P(base);
+ UNUSED_P(publicId);
+ if (systemId == NULL)
+ return XML_STATUS_OK;
+
+ ext_parser = XML_ExternalEntityParserCreate(parser, context, NULL);
+ if (ext_parser == NULL)
+ fail("Could not create external entity parser");
+
+ if (_XML_Parse_SINGLE_BYTES(ext_parser, text, (int)strlen(text), XML_TRUE)
+ == XML_STATUS_ERROR)
+ xml_failure(ext_parser);
+
+ XML_ParserFree(ext_parser);
+ return XML_STATUS_OK;
+}
+
+START_TEST(test_pool_integrity_with_unfinished_attr) {
+ const char *text = "<?xml version='1.0' encoding='UTF-8'?>\n"
+ "<!DOCTYPE foo [\n"
+ "<!ELEMENT foo ANY>\n"
+ "<!ENTITY % entp SYSTEM \"external.dtd\">\n"
+ "%entp;\n"
+ "]>\n"
+ "<a></a>\n";
+ const XML_Char *expected = XCS("COMMENT");
+ CharData storage;
+
+ CharData_Init(&storage);
+ XML_SetParamEntityParsing(g_parser, XML_PARAM_ENTITY_PARSING_ALWAYS);
+ XML_SetExternalEntityRefHandler(g_parser, external_entity_unfinished_attlist);
+ XML_SetAttlistDeclHandler(g_parser, dummy_attlist_decl_handler);
+ XML_SetCommentHandler(g_parser, accumulate_comment);
+ XML_SetUserData(g_parser, &storage);
+ if (_XML_Parse_SINGLE_BYTES(g_parser, text, (int)strlen(text), XML_TRUE)
+ == XML_STATUS_ERROR)
+ xml_failure(g_parser);
+ CharData_CheckXMLChars(&storage, expected);
+}
+END_TEST
+
+typedef struct {
+ XML_Parser parser;
+ CharData *storage;
+} ParserPlusStorage;
+
+static void XMLCALL
+accumulate_and_suspend_comment_handler(void *userData, const XML_Char *data) {
+ ParserPlusStorage *const parserPlusStorage = (ParserPlusStorage *)userData;
+ accumulate_comment(parserPlusStorage->storage, data);
+ XML_StopParser(parserPlusStorage->parser, XML_TRUE);
+}
+
+START_TEST(test_nested_entity_suspend) {
+ const char *const text = "<!DOCTYPE a [\n"
+ " <!ENTITY e1 '<!--e1-->'>\n"
+ " <!ENTITY e2 '<!--e2 head-->&e1;<!--e2 tail-->'>\n"
+ " <!ENTITY e3 '<!--e3 head-->&e2;<!--e3 tail-->'>\n"
+ "]>\n"
+ "<a><!--start-->&e3;<!--end--></a>";
+ const XML_Char *const expected = XCS("start") XCS("e3 head") XCS("e2 head")
+ XCS("e1") XCS("e2 tail") XCS("e3 tail") XCS("end");
+ CharData storage;
+ XML_Parser parser = XML_ParserCreate(NULL);
+ ParserPlusStorage parserPlusStorage = {parser, &storage};
+
+ CharData_Init(&storage);
+ XML_SetParamEntityParsing(parser, XML_PARAM_ENTITY_PARSING_ALWAYS);
+ XML_SetCommentHandler(parser, accumulate_and_suspend_comment_handler);
+ XML_SetUserData(parser, &parserPlusStorage);
+
+ enum XML_Status status = XML_Parse(parser, text, (int)strlen(text), XML_TRUE);
+ while (status == XML_STATUS_SUSPENDED) {
+ status = XML_ResumeParser(parser);
+ }
+ if (status != XML_STATUS_OK)
+ xml_failure(parser);
+
+ CharData_CheckXMLChars(&storage, expected);
+ XML_ParserFree(parser);
+}
+END_TEST
+
/*
* Namespaces tests.
*/
@@ -7661,7 +7757,7 @@
fail("Version mismatch");
#if ! defined(XML_UNICODE) || defined(XML_UNICODE_WCHAR_T)
- if (xcstrcmp(version_text, XCS("expat_2.4.9"))) /* needs bump on releases */
+ if (xcstrcmp(version_text, XCS("expat_2.5.0"))) /* needs bump on releases */
fail("XML_*_VERSION in expat.h out of sync?\n");
#else
/* If we have XML_UNICODE defined but not XML_UNICODE_WCHAR_T
@@ -7873,6 +7969,28 @@
}
END_TEST
+START_TEST(test_misc_tag_mismatch_reset_leak) {
+#ifdef XML_NS
+ const char *const text = "<open xmlns='https://namespace1.test'></close>";
+ XML_Parser parser = XML_ParserCreateNS(NULL, XCS('\n'));
+
+ if (XML_Parse(parser, text, (int)strlen(text), XML_TRUE) != XML_STATUS_ERROR)
+ fail("Call to parse was expected to fail");
+ if (XML_GetErrorCode(parser) != XML_ERROR_TAG_MISMATCH)
+ fail("Call to parse was expected to fail from a closing tag mismatch");
+
+ XML_ParserReset(parser, NULL);
+
+ if (XML_Parse(parser, text, (int)strlen(text), XML_TRUE) != XML_STATUS_ERROR)
+ fail("Call to parse was expected to fail");
+ if (XML_GetErrorCode(parser) != XML_ERROR_TAG_MISMATCH)
+ fail("Call to parse was expected to fail from a closing tag mismatch");
+
+ XML_ParserFree(parser);
+#endif
+}
+END_TEST
+
static void
alloc_setup(void) {
XML_Memory_Handling_Suite memsuite = {duff_allocator, duff_reallocator, free};
@@ -10090,6 +10208,53 @@
}
END_TEST
+static int XMLCALL
+external_entity_parser_create_alloc_fail_handler(XML_Parser parser,
+ const XML_Char *context,
+ const XML_Char *base,
+ const XML_Char *systemId,
+ const XML_Char *publicId) {
+ UNUSED_P(base);
+ UNUSED_P(systemId);
+ UNUSED_P(publicId);
+
+ if (context != NULL)
+ fail("Unexpected non-NULL context");
+
+ // The following number intends to fail the upcoming allocation in line
+ // "parser->m_protocolEncodingName = copyString(encodingName,
+ // &(parser->m_mem));" in function parserInit.
+ allocation_count = 3;
+
+ const XML_Char *const encodingName = XCS("UTF-8"); // needs something non-NULL
+ const XML_Parser ext_parser
+ = XML_ExternalEntityParserCreate(parser, context, encodingName);
+ if (ext_parser != NULL)
+ fail(
+ "Call to XML_ExternalEntityParserCreate was expected to fail out-of-memory");
+
+ allocation_count = ALLOC_ALWAYS_SUCCEED;
+ return XML_STATUS_ERROR;
+}
+
+START_TEST(test_alloc_reset_after_external_entity_parser_create_fail) {
+ const char *const text = "<!DOCTYPE doc SYSTEM 'foo'><doc/>";
+
+ XML_SetExternalEntityRefHandler(
+ g_parser, external_entity_parser_create_alloc_fail_handler);
+ XML_SetParamEntityParsing(g_parser, XML_PARAM_ENTITY_PARSING_ALWAYS);
+
+ if (XML_Parse(g_parser, text, (int)strlen(text), XML_TRUE)
+ != XML_STATUS_ERROR)
+ fail("Call to parse was expected to fail");
+
+ if (XML_GetErrorCode(g_parser) != XML_ERROR_EXTERNAL_ENTITY_HANDLING)
+ fail("Call to parse was expected to fail from the external entity handler");
+
+ XML_ParserReset(g_parser, NULL);
+}
+END_TEST
+
static void
nsalloc_setup(void) {
XML_Memory_Handling_Suite memsuite = {duff_allocator, duff_reallocator, free};
@@ -12169,6 +12334,9 @@
tcase_add_test(tc_basic, test_bad_notation);
tcase_add_test(tc_basic, test_default_doctype_handler);
tcase_add_test(tc_basic, test_empty_element_abort);
+ tcase_add_test__ifdef_xml_dtd(tc_basic,
+ test_pool_integrity_with_unfinished_attr);
+ tcase_add_test(tc_basic, test_nested_entity_suspend);
suite_add_tcase(s, tc_namespace);
tcase_add_checked_fixture(tc_namespace, namespace_setup, namespace_teardown);
@@ -12221,6 +12389,7 @@
tcase_add_test(tc_misc, test_misc_stop_during_end_handler_issue_240_2);
tcase_add_test__ifdef_xml_dtd(
tc_misc, test_misc_deny_internal_entity_closing_doctype_issue_317);
+ tcase_add_test(tc_misc, test_misc_tag_mismatch_reset_leak);
suite_add_tcase(s, tc_alloc);
tcase_add_checked_fixture(tc_alloc, alloc_setup, alloc_teardown);
@@ -12279,6 +12448,8 @@
tcase_add_test(tc_alloc, test_alloc_long_public_id);
tcase_add_test(tc_alloc, test_alloc_long_entity_value);
tcase_add_test(tc_alloc, test_alloc_long_notation);
+ tcase_add_test__ifdef_xml_dtd(
+ tc_alloc, test_alloc_reset_after_external_entity_parser_create_fail);
suite_add_tcase(s, tc_nsalloc);
tcase_add_checked_fixture(tc_nsalloc, nsalloc_setup, nsalloc_teardown);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.4.9/win32/expat.iss new/expat-2.5.0/win32/expat.iss
--- old/expat-2.4.9/win32/expat.iss 2022-09-20 16:27:48.000000000 +0200
+++ new/expat-2.5.0/win32/expat.iss 2022-10-25 17:09:08.000000000 +0200
@@ -37,7 +37,7 @@
; OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
; USE OR OTHER DEALINGS IN THE SOFTWARE.
-#define expatVer "2.4.9"
+#define expatVer "2.5.0"
[Setup]
AppName=Expat
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package translate-toolkit for openSUSE:Factory checked in at 2022-10-27 13:52:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/translate-toolkit (Old)
and /work/SRC/openSUSE:Factory/.translate-toolkit.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "translate-toolkit"
Thu Oct 27 13:52:06 2022 rev:51 rq:1031389 version:3.7.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/translate-toolkit/translate-toolkit.changes 2022-10-11 18:04:02.369938316 +0200
+++ /work/SRC/openSUSE:Factory/.translate-toolkit.new.2275/translate-toolkit.changes 2022-10-27 13:52:09.187953752 +0200
@@ -1,0 +2,18 @@
+Wed Oct 26 16:27:56 UTC 2022 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 3.7.3:
+ * Addded new classified rewriter
+ * Updated CLDR data
+ * Fixes in the Android, GWT and RC formats.
+ * Rewritten installation to use modern setuptools features.
+ * Added support for Resource Dictionary format.
+ * Fixes in the CSV, PO and RC formats.
+ * Fixes in the JSON, YAML, RC, and properties formats.
+ * see https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releas…
+ * see https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releas…
+ * see https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releas…
+ * see https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releas…
+ * see https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releas…
+- switch to obs_scm due to broken upstream tarball (gh#translate/translate#4744)
+
+-------------------------------------------------------------------
Old:
----
translate-toolkit-3.6.1.tar.gz
New:
----
_service
translate-3.7.3.obscpio
translate.obsinfo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ translate-toolkit.spec ++++++
--- /var/tmp/diff_new_pack.Apmb71/_old 2022-10-27 13:52:09.983957739 +0200
+++ /var/tmp/diff_new_pack.Apmb71/_new 2022-10-27 13:52:09.991957779 +0200
@@ -42,16 +42,17 @@
%define manpages translatetoolkit %binaries_and_manpages
Name: translate-toolkit%{psuffix}
-Version: 3.6.1
+Version: 3.7.3
Release: 0
Summary: Tools and API to assist with translation and software localization
License: GPL-2.0-or-later
URL: https://toolkit.translatehouse.org/
-Source: https://github.com/translate/translate/releases/download/%{version}/%{modna…
+Source: translate-%{version}.tar
Patch0: xliff-xsd-no-network.patch
Patch1: sphinx-intersphinx.patch
BuildRequires: %{python_module Levenshtein >= 0.12}
BuildRequires: %{python_module Sphinx}
+BuildRequires: %{python_module sphinx-bootstrap-theme}
BuildRequires: %{python_module beautifulsoup4 >= 4.3}
# extra modules here are needed for manpages
BuildRequires: %{python_module cheroot >= 8.3.0}
@@ -147,7 +148,7 @@
toolkit or to use the libraries in other localization tools.
%prep
-%setup -q -n %{modname}-%{version}
+%setup -q -n translate-%{version}
%autopatch -p1
sed -i 296"s|'share'|'translate/share'|" setup.py
@@ -185,7 +186,7 @@
# move documentation files to datadir, use default flavor version for common
install -d -m 755 %{buildroot}%{_defaultdocdir}/%{modname}
-mv %{buildroot}%{python_sitelib}/translate/docs/_build/html %{buildroot}%{_defaultdocdir}/%{modname}
+mv docs/_build/html %{buildroot}%{_defaultdocdir}/%{modname}
%{python_expand rm -rf %{buildroot}%{$python_sitelib}/translate/docs
rm -rf %{buildroot}home/abuild/.local/lib/python%{$python_version}/site-packages/
}
@@ -207,7 +208,8 @@
%check
%if %{with test}
rm -v translate/storage/test_fluent.py
-%pytest
+# https://github.com/translate/translate/issues/4745
+%pytest -k 'not test_wrap_gettext'
%endif
%post
++++++ _service ++++++
<services>
<service name="obs_scm" mode="disabled">
<param name="url">https://github.com/translate/translate.git</param>
<param name="revision">3.7.3</param>
<param name="version">3.7.3</param>
<param name="submodules">enable</param>
<param name="scm">git</param>
</service>
<service mode="disabled" name="set_version" />
<service mode="buildtime" name="tar" />
</services>
++++++ translate.obsinfo ++++++
name: translate
version: 3.7.3
mtime: 1662541755
commit: 0dedea661ca6047b1c81429a16d28efd5be2b058
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gettext-runtime for openSUSE:Factory checked in at 2022-10-27 13:52:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gettext-runtime (Old)
and /work/SRC/openSUSE:Factory/.gettext-runtime.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gettext-runtime"
Thu Oct 27 13:52:04 2022 rev:89 rq:1030692 version:0.21.1
Changes:
--------
gettext-java.changes: same change
--- /work/SRC/openSUSE:Factory/gettext-runtime/gettext-runtime-mini.changes 2022-04-23 19:44:55.802909403 +0200
+++ /work/SRC/openSUSE:Factory/.gettext-runtime.new.2275/gettext-runtime-mini.changes 2022-10-27 13:52:06.379939690 +0200
@@ -1,0 +2,17 @@
+Sat Oct 15 10:38:53 UTC 2022 - Stephan Kulow <coolo(a)suse.com>
+
+- Update to Version 0.21.1
+
+ * Runtime behaviour:
+ - On AIX, locale names with a script or with an uppercase language are now
+ supported.
+ For example, sr_Cyrl_RS.UTF-8 is treated like sr_RS.UTF-8@cyrillic, and
+ EN_US.UTF-8 is treated like en_US.UTF-8.
+
+ * The base Unicode standard is now updated to 14.0.0.
+
+ * Portability:
+ - Building on macOS 11/arm64 is now supported.
+ - Building on Linux/powerpc64le with glibc ��� 2.35 is now supported.
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/gettext-runtime/gettext-runtime.changes 2022-04-23 19:44:55.830909437 +0200
+++ /work/SRC/openSUSE:Factory/.gettext-runtime.new.2275/gettext-runtime.changes 2022-10-27 13:52:06.431939951 +0200
@@ -1,0 +2,22 @@
+Mon Oct 24 08:42:39 UTC 2022 - Dirk M��ller <dmueller(a)suse.com>
+
+- update keyring for the last version update
+
+-------------------------------------------------------------------
+Sat Oct 15 10:38:53 UTC 2022 - Stephan Kulow <coolo(a)suse.com>
+
+- Update to Version 0.21.1
+
+ * Runtime behaviour:
+ - On AIX, locale names with a script or with an uppercase language are now
+ supported.
+ For example, sr_Cyrl_RS.UTF-8 is treated like sr_RS.UTF-8@cyrillic, and
+ EN_US.UTF-8 is treated like en_US.UTF-8.
+
+ * The base Unicode standard is now updated to 14.0.0.
+
+ * Portability:
+ - Building on macOS 11/arm64 is now supported.
+ - Building on Linux/powerpc64le with glibc ��� 2.35 is now supported.
+
+-------------------------------------------------------------------
Old:
----
gettext-0.21.tar.xz
gettext-0.21.tar.xz.sig
gettext-csharp.keyring
gettext-java.keyring
gettext-runtime-mini.keyring
New:
----
gettext-0.21.1.tar.xz
gettext-0.21.1.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gettext-csharp.spec ++++++
--- /var/tmp/diff_new_pack.FEfKN1/_old 2022-10-27 13:52:07.663946120 +0200
+++ /var/tmp/diff_new_pack.FEfKN1/_new 2022-10-27 13:52:07.671946160 +0200
@@ -20,7 +20,7 @@
%global debug_package %{nil}
%endif
Name: gettext-csharp
-Version: 0.21
+Version: 0.21.1
Release: 0
Summary: Native Language Support (NLS) for C#
License: LGPL-2.1-or-later
@@ -31,7 +31,7 @@
Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh
Source4: gettext-rpmlintrc
-Source5: %{name}.keyring
+Source5: gettext-runtime.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch
++++++ gettext-java.spec ++++++
--- /var/tmp/diff_new_pack.FEfKN1/_old 2022-10-27 13:52:07.699946301 +0200
+++ /var/tmp/diff_new_pack.FEfKN1/_new 2022-10-27 13:52:07.707946341 +0200
@@ -17,7 +17,7 @@
Name: gettext-java
-Version: 0.21
+Version: 0.21.1
Release: 0
Summary: Java Support for Native Language Support (NLS)
License: LGPL-2.1-or-later
@@ -28,7 +28,7 @@
Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh
Source4: gettext-rpmlintrc
-Source5: %{name}.keyring
+Source5: gettext-runtime.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch
++++++ gettext-runtime-mini.spec ++++++
--- /var/tmp/diff_new_pack.FEfKN1/_old 2022-10-27 13:52:07.739946501 +0200
+++ /var/tmp/diff_new_pack.FEfKN1/_new 2022-10-27 13:52:07.747946541 +0200
@@ -20,7 +20,7 @@
%bcond_without mini
Name: gettext-runtime-mini
-Version: 0.21
+Version: 0.21.1
Release: 0
BuildRequires: gcc-c++
BuildRequires: libtool
@@ -58,7 +58,7 @@
Source3: gettext-linkdupes.sh
Source4: baselibs.conf
Source5: gettext-rpmlintrc
-Source6: %name.keyring
+Source6: gettext-runtime.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch
++++++ gettext-runtime.spec ++++++
--- /var/tmp/diff_new_pack.FEfKN1/_old 2022-10-27 13:52:07.771946661 +0200
+++ /var/tmp/diff_new_pack.FEfKN1/_new 2022-10-27 13:52:07.779946701 +0200
@@ -20,7 +20,7 @@
%bcond_with mini
Name: gettext-runtime
-Version: 0.21
+Version: 0.21.1
Release: 0
BuildRequires: gcc-c++
BuildRequires: libtool
@@ -58,7 +58,7 @@
Source3: gettext-linkdupes.sh
Source4: baselibs.conf
Source5: gettext-rpmlintrc
-Source6: %name.keyring
+Source6: gettext-runtime.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch
++++++ gettext-0.21-jdk17.patch ++++++
--- /var/tmp/diff_new_pack.FEfKN1/_old 2022-10-27 13:52:07.835946982 +0200
+++ /var/tmp/diff_new_pack.FEfKN1/_new 2022-10-27 13:52:07.839947002 +0200
@@ -1,28 +1,34 @@
---- gettext-0.21/gettext-runtime/configure.ac 2022-04-08 16:40:35.014012388 +0200
-+++ gettext-0.21/gettext-runtime/configure.ac 2022-04-08 16:42:34.054638232 +0200
-@@ -34,7 +34,7 @@
+Index: gettext-0.21.1/gettext-runtime/configure.ac
+===================================================================
+--- gettext-0.21.1.orig/gettext-runtime/configure.ac
++++ gettext-0.21.1/gettext-runtime/configure.ac
+@@ -34,7 +34,7 @@ AC_PROG_INSTALL
gt_JAVA_CHOICE
-
--gt_JAVACOMP([1.5], [1.6])
-+gt_JAVACOMP([1.8], [1.8])
- AC_CHECK_PROG([JAR], [jar], [jar])
- if test -n "$HAVE_JAVACOMP" && test -n "$JAR" && test "$JAVA_CHOICE" != no; then
- BUILDJAVA=yes
---- gettext-0.21/gettext-tools/configure.ac 2022-04-08 16:40:35.138012934 +0200
-+++ gettext-0.21/gettext-tools/configure.ac 2022-04-08 16:59:13.080602790 +0200
-@@ -35,7 +35,7 @@
+ AS_IF([test "$JAVA_CHOICE" != no], [
+- gt_JAVACOMP([1.5], [1.6])
++ gt_JAVACOMP([1.8], [1.8])
+ AC_CHECK_PROG([JAR], [jar], [jar])
+ if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then
+ BUILDJAVA=yes
+Index: gettext-0.21.1/gettext-tools/configure.ac
+===================================================================
+--- gettext-0.21.1.orig/gettext-tools/configure.ac
++++ gettext-0.21.1/gettext-tools/configure.ac
+@@ -35,7 +35,7 @@ AC_PROG_INSTALL
gt_JAVA_CHOICE
-
- gt_JAVAEXEC
--gt_JAVACOMP([1.5])
-+gt_JAVACOMP([1.8], [1.8])
- AC_CHECK_PROG([JAR], [jar], [jar])
- if test -n "$HAVE_JAVACOMP" && test -n "$JAR" && test "$JAVA_CHOICE" != no; then
- BUILDJAVA=yes
---- gettext-0.21/gettext-tools/gnulib-lib/javacomp.c 2022-04-08 16:40:35.238013375 +0200
-+++ gettext-0.21/gettext-tools/gnulib-lib/javacomp.c 2022-04-08 16:41:56.686411176 +0200
-@@ -116,9 +116,8 @@
+ AS_IF([test "$JAVA_CHOICE" != no], [
+ gt_JAVAEXEC
+- gt_JAVACOMP([1.5])
++ gt_JAVACOMP([1.8], [1.8])
+ AC_CHECK_PROG([JAR], [jar], [jar])
+ if test -n "$HAVE_JAVACOMP" && test -n "$JAR" && test "$JAVA_CHOICE" != no; then
+ BUILDJAVA=yes
+Index: gettext-0.21.1/gettext-tools/gnulib-lib/javacomp.c
+===================================================================
+--- gettext-0.21.1.orig/gettext-tools/gnulib-lib/javacomp.c
++++ gettext-0.21.1/gettext-tools/gnulib-lib/javacomp.c
+@@ -116,9 +116,8 @@ default_target_version (void)
&& (java_version_cache[1] >= '2'
&& java_version_cache[1] <= '7')
&& java_version_cache[2] == '\0')
@@ -34,7 +40,7 @@
else
java_version_cache = "1.1";
}
-@@ -128,7 +127,7 @@
+@@ -128,7 +127,7 @@ default_target_version (void)
/* ======================= Source version dependent ======================= */
/* Convert a source version to an index. */
@@ -43,7 +49,7 @@
static unsigned int
source_version_index (const char *source_version)
{
-@@ -144,7 +143,7 @@
+@@ -144,7 +143,7 @@ source_version_index (const char *source
else if (source_version[0] == '9' && source_version[1] == '\0')
return 5;
else if (source_version[0] == '1'
@@ -52,7 +58,7 @@
&& source_version[2] == '\0')
return source_version[1] - '0' + 6;
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
-@@ -171,6 +170,10 @@
+@@ -171,6 +170,10 @@ get_goodcode_snippet (const char *source
return "class conftest { public void m() { var i = new Integer(0); } }\n";
if (strcmp (source_version, "11") == 0)
return "class conftest { Readable r = (var b) -> 0; }\n";
@@ -63,7 +69,7 @@
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
return NULL;
}
-@@ -197,6 +200,10 @@
+@@ -197,6 +200,10 @@ get_failcode_snippet (const char *source
return "class conftestfail { Readable r = (var b) -> 0; }\n";
if (strcmp (source_version, "11") == 0)
return NULL;
@@ -74,7 +80,7 @@
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
return NULL;
}
-@@ -204,7 +211,7 @@
+@@ -204,7 +211,7 @@ get_failcode_snippet (const char *source
/* ======================= Target version dependent ======================= */
/* Convert a target version to an index. */
@@ -83,7 +89,7 @@
static unsigned int
target_version_index (const char *target_version)
{
-@@ -215,7 +222,7 @@
+@@ -215,7 +222,7 @@ target_version_index (const char *target
else if (target_version[0] == '9' && target_version[1] == '\0')
return 8;
else if (target_version[0] == '1'
@@ -92,7 +98,7 @@
&& target_version[2] == '\0')
return target_version[1] - '0' + 9;
error (EXIT_FAILURE, 0, _("invalid target_version argument to compile_java_class"));
-@@ -245,10 +252,10 @@
+@@ -245,10 +252,10 @@ corresponding_classfile_version (const c
return 52;
if (strcmp (target_version, "9") == 0)
return 53;
@@ -107,7 +113,7 @@
error (EXIT_FAILURE, 0, _("invalid target_version argument to compile_java_class"));
return 0;
}
-@@ -2433,7 +2440,7 @@
+@@ -2439,7 +2446,7 @@ compile_java_class (const char * const *
}
}
@@ -116,9 +122,11 @@
err = true;
done2:
---- gettext-0.21/gettext-tools/src/write-java.c 2022-04-08 16:40:35.218013286 +0200
-+++ gettext-0.21/gettext-tools/src/write-java.c 2022-04-08 16:41:56.690411201 +0200
-@@ -1208,8 +1208,14 @@
+Index: gettext-0.21.1/gettext-tools/src/write-java.c
+===================================================================
+--- gettext-0.21.1.orig/gettext-tools/src/write-java.c
++++ gettext-0.21.1/gettext-tools/src/write-java.c
+@@ -1209,8 +1209,14 @@ msgdomain_write_java (message_list_ty *m
Java compilers create the class files in the source file's directory -
which is in a temporary directory in our case. */
java_sources[0] = java_file_name;
++++++ gettext-0.21.tar.xz -> gettext-0.21.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/gettext-runtime/gettext-0.21.tar.xz /work/SRC/openSUSE:Factory/.gettext-runtime.new.2275/gettext-0.21.1.tar.xz differ: char 26, line 1
++++++ gettext-0.21.tar.xz.sig -> gettext-0.21.1.tar.xz.sig ++++++
--- /work/SRC/openSUSE:Factory/gettext-runtime/gettext-0.21.tar.xz.sig 2020-10-06 17:06:01.265263540 +0200
+++ /work/SRC/openSUSE:Factory/.gettext-runtime.new.2275/gettext-0.21.1.tar.xz.sig 2022-10-27 13:52:06.275939170 +0200
@@ -1,17 +1,16 @@
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
-iQIcBAABCAAGBQJfHh9mAAoJEPW+iyZ8akBtIXIQAKGUlp67181VBHA050f8pcxX
-QHnQbna51vvUI/5zwO5gOJb/ocVBsrXM0wfBUmnSOVH+vKw2CGOil9QfmhTVEWNN
-R4DBiFs3hMefabzdp177vWn6gBWYVZ10hQy/ptx4kaNEFHHaXo+ei0p0nfkpab5D
-0cNniOCm35tkK0WeFgPESQeGpmItWXRsSkg+xeZblm1DJ4gbQYqCPgFJSYVZzq6G
-PEfyISC1OAll8o0dz8D2nddkiVboBMaurXpuMt7CVCCjiEUWGyWiEdfhxBI/aE+z
-bZ7hVCV2dThoFvz3ay90IjisjBhsNGQ9cEEB+hyvCfCX0c93OnAuD35nBvb4RfFK
-Be1rFqp0SN7ZkeHp4djdDoze34ui0SHWRpzNjD7Hf/mz3SyxzuY6t7sPL1YObz8i
-dlCXJ8uYoG9ZU74eDK9epVb880hOPL6G1NVqX859wS14vPH/IGIC7W+BYPBcYsSJ
-InxaD2CU38iBrhNS6s8Y9hXjnTqyWWQ4e1yRl1m76MpSXDDwEUzTv2isyPlSJst6
-341V2TPAesXJzB/ndMcusUM2gK+63cH1VSByLn1FYB+InFxKzyUTP6JNqv3eECV8
-WTLD5RIccp391fuGtbIfccVVucOZhahzCxvouXGjQTmT6t28p72oCvroUySkvgoe
-6en2/1+QyIzFLJqLCKBq
-=02/q
+iQIzBAABCgAdFiEEkAG4WvnhuD3xvalC9b6LJnxqQG0FAmNDU6UACgkQ9b6LJnxq
+QG0TBg//SO/rw2U2fSAFX43+TMLUm5ZkvClz1lqE+nbRyb86ShLgyDJrDzZ+BeYo
+FEWTelhLs82ruiZ0ed8xy1gvErW614CxOgMwHPb3ZTkI3Q6mJqFzujYcKnCRsRv+
+hX+iAu/A4P+UMvreWvfDKoF0qe9ORARg8tE9dgCCN63+QLu+3HrTuxvOaIChghbx
+BaNn27MmgkutvXYspnx6u5koZXQpnt17YNJe1wbNAVym1O6ByfWPoP7+OYds8wAF
+jOoAALHj/zrJYL/Sg3SjKdfvVHNesyMFNg/HSA0w4mZbnuLjBcl0lO6qU9RBubgx
+aqqS/+zwvI3om/EdqKZxGvRTfhz/MUQ5rij3gjopz27MLW6Z5lsbGDq6PQYIFxBA
+0KXE0LHWCQRZu/8Z+zAiiiitEYhhYDX4A3ycbhCF+ZJ6TfJ5t8qYYNvzGGp4k2Gv
+h8VVFGnZJqDLwa0pbkFi2aGAI3HzVaSAJOhUJjdQ9HAujgSppLmZxODbHcq3KXnq
+iR88aqzmOg5dH5m+kENV+9KfysWptmdaIpcdmJTPXtRcdeL7QtfH+Bpq+ePgPThM
+JT2Yz+uWiTQqDBTIpJHhSKYTdim34ynKJbDnYphTncdvXm/juuK762dpy5jhcoiJ
+Ah8LfiikxiKDjJVivSs7zx1lQPnvJvC9UtlZZrMqx+GYD0y8w20=
+=U/vR
-----END PGP SIGNATURE-----
++++++ gettext-runtime.keyring ++++++
--- /var/tmp/diff_new_pack.FEfKN1/_old 2022-10-27 13:52:07.935947482 +0200
+++ /var/tmp/diff_new_pack.FEfKN1/_new 2022-10-27 13:52:07.939947502 +0200
@@ -1,258 +1,64 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: SKS 1.1.4
-Comment: Hostname: sks.fidocon.de
-
-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
-Kl9ar93FdtZF9g==
-=Vv6n
------END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+Dw==
+=MDRR
+-----END PGP PUBLIC KEY BLOCK-----
++++++ use-acinit-for-libtextstyle.patch ++++++
--- /var/tmp/diff_new_pack.FEfKN1/_old 2022-10-27 13:52:07.975947683 +0200
+++ /var/tmp/diff_new_pack.FEfKN1/_new 2022-10-27 13:52:07.983947723 +0200
@@ -1,9 +1,11 @@
---- gettext-0.21/libtextstyle/configure.ac
-+++ gettext-0.21/libtextstyle/configure.ac
-@@ -17,11 +17,10 @@
+Index: gettext-0.21.1/libtextstyle/configure.ac
+===================================================================
+--- gettext-0.21.1.orig/libtextstyle/configure.ac
++++ gettext-0.21.1/libtextstyle/configure.ac
+@@ -17,11 +17,10 @@ dnl along with this program. If not, se
dnl Process this file with autoconf to produce a configure script.
- AC_PREREQ([2.63])
+ AC_PREREQ([2.64])
-AC_INIT
+AC_INIT([libtextstyle],
+ m4_esyscmd([source ./version.sh; echo $VERSION_NUMBER | tr -d '\n']))
@@ -12,6 +14,6 @@
-. $srcdir/version.sh
-gl_INIT_PACKAGE([libtextstyle], [$VERSION_NUMBER])
AM_INIT_AUTOMAKE([1.13 silent-rules])
- AM_CONFIG_HEADER([config.h])
+ AC_CONFIG_HEADERS([config.h])
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2022-10-27 09:20:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Thu Oct 27 09:20:01 2022 rev:1902 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.M4p2Jg/_old 2022-10-27 09:20:05.167015762 +0200
+++ /var/tmp/diff_new_pack.M4p2Jg/_new 2022-10-27 09:20:05.175015802 +0200
@@ -20,9 +20,10 @@
Release: 0
License: BSD-3-Clause
Group: System/Fhs
+%global debug_package %{nil}
Provides: %name-%version
-Provides: product() = openSUSE-Addon-NonOss
+Provides: product() = openSUSE%2DAddon%2DNonOss
Provides: product(openSUSE-Addon-NonOss) = 20221026-0
Provides: product-label() = non%20oss%20addon
Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20221026
stub.spec: same change
1
0