openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
April 2023
- 1 participants
- 3148 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package systemd for openSUSE:Factory checked in at 2023-04-29 17:27:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
and /work/SRC/openSUSE:Factory/.systemd.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd"
Sat Apr 29 17:27:53 2023 rev:388 rq:1083513 version:253.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd.changes 2023-04-07 18:16:25.064577031 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new.1533/systemd.changes 2023-04-29 17:27:59.974506749 +0200
@@ -1,0 +2,37 @@
+Fri Apr 28 10:43:02 UTC 2023 - Franck Bui <fbui(a)suse.com>
+
+- Re-add back 'arabic' keymap mapping as YaST needs more time than expected to
+ cope with this change.
+
+-------------------------------------------------------------------
+Thu Apr 27 16:15:57 UTC 2023 - Franck Bui <fbui(a)suse.com>
+
+- systemd.spec: don't call %systemd_{pre,post} on units shipped by the main
+ package since they don't have any effect during installation (systemctl is not
+ yet installed when %pre script is executed). This is actually the reason why
+ it's handled by the %%posttrans scripts of systemd-presets-common-SUSE.
+
+-------------------------------------------------------------------
+Thu Apr 27 07:58:58 UTC 2023 - Franck Bui <fbui(a)suse.com>
+
+- kbd-model-map.legacy: 'arabic' vc keymap has been renamed 'ara' (bsc#1210702)
+
+-------------------------------------------------------------------
+Wed Apr 19 15:14:13 UTC 2023 - Ludwig Nussel <lnussel(a)suse.de>
+
+- add some green to systemd-boot menu
+
+-------------------------------------------------------------------
+Tue Apr 18 09:09:26 UTC 2023 - Martin Vidner <mvidner(a)suse.com>
+
+- kbd-model-map.legacy: drop some entries no longer needed
+ by YaST (related to bsc#1194609)
+
+-------------------------------------------------------------------
+Wed Apr 12 08:45:10 UTC 2023 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- tmpfiles-suse.conf (jsc#PED-3144):
+ - Remove lastlog entry, replaced by lastlog2
+ - Remove btmp entry, not Y2038 safe
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.CrypkE/_old 2023-04-29 17:28:00.982510968 +0200
+++ /var/tmp/diff_new_pack.CrypkE/_new 2023-04-29 17:28:00.990511002 +0200
@@ -716,6 +716,7 @@
-Dremote=%{when journal_remote} \
\
-Dgnu-efi=%{when sd_boot} \
+ -Defi-color-highlight="black,green" \
-Dkernel-install=%{when sd_boot} \
\
-Dsbat-distro="%{?sbat_distro}" \
@@ -963,13 +964,13 @@
# Don't drop %%pre section even if it becomes empty: the build process of
# installation images uses a hardcoded list of packages with a %%pre that needs
# to be run during the build and complains if it can't find one.
+#
+# Note: presets for units shipped by the main package are applied by %%posttrans
+# scripts of systemd-presets-common-SUSE. Hence we don't need to bother running
+# %%systemd_{pre,post} on them, which is fortunate since the helper script the
+# systemd rpm macros rely on is not yet installed.
%pre
-# Units listed below can be enabled at installation according to their preset
-# setting.
-%systemd_pre remote-fs.target
-%systemd_pre getty@.service
-%systemd_pre systemd-timesyncd.service
-%systemd_pre systemd-journald-audit.socket
+:
%post
# Make /etc/machine-id an empty file during package installation. On the first
@@ -1024,13 +1025,6 @@
%journal_catalog_update
%tmpfiles_create
-# Units listed below can be enabled at installation accoding to their preset
-# setting.
-%systemd_post remote-fs.target
-%systemd_post getty@.service
-%systemd_post systemd-timesyncd.service
-%systemd_post systemd-journald-audit.socket
-
# v228 wrongly set world writable suid root permissions on timestamp files used
# by permanent timers. Fix the timestamps that might have been created by the
# affected versions of systemd (bsc#1020601).
++++++ kbd-model-map.legacy ++++++
--- /var/tmp/diff_new_pack.CrypkE/_old 2023-04-29 17:28:01.234512024 +0200
+++ /var/tmp/diff_new_pack.CrypkE/_new 2023-04-29 17:28:01.238512040 +0200
@@ -1,12 +1,14 @@
-# Additional layouts offered by YaST
-Pl02 pl pc105 - terminate:ctrl_alt_bksp
+# Additional layouts offered by YaST arabic and ir (Iran) have never had a
+# console layout, they are symlinks to 'us', but they are needed as YaST uses
+# the console layout as a primary key for picking the X11 layout
+
arabic ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle
-cn-latin1 ca pc105 multix terminate:ctrl_alt_bksp
-cz-lat2-us cz,us pc105 qwerty,basic terminate:ctrl_alt_bksp,grp:shift_toggle
-es-cp850 es pc105 - terminate:ctrl_alt_bksp
+ara ara,us pc105 - terminate:ctrl_alt_bksp,grp:shift_toggle
ir ir pc105 - terminate:ctrl_alt_bksp
-korean kr pc105 - terminate:ctrl_alt_bksp
-lt.std lt pc105 std terminate:ctrl_alt_bksp
-no-latin1 no pc105 - terminate:ctrl_alt_bksp
+
+# FIXME: ruwin_alt-UTF-8 is not needed as the legacy "ru" keymap
+# (/usr/share/kbd/keymaps/i386/qwerty/ru.map.gz) is a dual layout and contains
+# the Latin letters. Keep it until YaST is updated.
+
ruwin_alt-UTF-8 us,ru pc105 ,winkeys terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll
++++++ tmpfiles-suse.conf ++++++
--- /var/tmp/diff_new_pack.CrypkE/_old 2023-04-29 17:28:01.318512376 +0200
+++ /var/tmp/diff_new_pack.CrypkE/_new 2023-04-29 17:28:01.322512392 +0200
@@ -11,6 +11,4 @@
# FIXME: Should these one be moved to shadow ?
f /var/log/wtmp 0664 root utmp -
-f /var/log/btmp 0660 root utmp -
-f /var/log/lastlog 0664 root utmp -
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package jack for openSUSE:Factory checked in at 2023-04-29 17:27:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jack (Old)
and /work/SRC/openSUSE:Factory/.jack.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jack"
Sat Apr 29 17:27:51 2023 rev:73 rq:1083509 version:1.9.22
Changes:
--------
--- /work/SRC/openSUSE:Factory/jack/jack.changes 2022-04-23 19:45:26.646946076 +0200
+++ /work/SRC/openSUSE:Factory/.jack.new.1533/jack.changes 2023-04-29 17:27:57.338495712 +0200
@@ -1,0 +2,13 @@
+Thu Mar 30 07:51:34 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 1.9.22:
+ * The waf autooption ``--example-tools`` has been removed.
+ * The example clients and tools are no longer part of the jack2
+ project.
+ * Drop dependencies that were only used for example clients and
+ tools (readline, sndfile and zita libs)
+ * Fix build with python3.11+
+ * Fix compatibility with macOS 12+
+ * Fix ringbuffer thread safety on ARM
+
+-------------------------------------------------------------------
Old:
----
jack-1.9.21.tar.gz
New:
----
jack-1.9.22.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jack.spec ++++++
--- /var/tmp/diff_new_pack.Cufmuy/_old 2023-04-29 17:27:57.910498106 +0200
+++ /var/tmp/diff_new_pack.Cufmuy/_new 2023-04-29 17:27:57.914498123 +0200
@@ -1,7 +1,7 @@
#
# spec file for package jack
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
%define wdbus 1
%define sonum 0
Name: jack
-Version: 1.9.21
+Version: 1.9.22
Release: 0
#to_be_filled_by_service
Summary: Jack-Audio Connection Kit
@@ -144,7 +144,6 @@
--ports=1024 \
--enable-pkg-config-dbus-service-dir \
--mandir=%{_mandir}/man1 \
- --example-tools=no \
configure
./waf -v %{?_smp_mflags} build
++++++ jack-1.9.21.tar.gz -> jack-1.9.22.tar.gz ++++++
++++ 14204 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package chromaprint for openSUSE:Factory checked in at 2023-04-29 17:27:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chromaprint (Old)
and /work/SRC/openSUSE:Factory/.chromaprint.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromaprint"
Sat Apr 29 17:27:52 2023 rev:21 rq:1083512 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/chromaprint/chromaprint.changes 2022-12-07 17:35:19.936659789 +0100
+++ /work/SRC/openSUSE:Factory/.chromaprint.new.1533/chromaprint.changes 2023-04-29 17:27:58.294499714 +0200
@@ -1,0 +2,6 @@
+Thu Apr 27 17:14:20 UTC 2023 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Add 82781d02.patch: FFmpeg 5.x: Some files return error codes
+ when scanning.
+
+-------------------------------------------------------------------
New:
----
82781d02.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ chromaprint.spec ++++++
--- /var/tmp/diff_new_pack.iTG6al/_old 2023-04-29 17:27:58.818501908 +0200
+++ /var/tmp/diff_new_pack.iTG6al/_new 2023-04-29 17:27:58.822501925 +0200
@@ -1,7 +1,7 @@
#
# spec file for package chromaprint
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2012 Pascal Bleser <pascal.bleser(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
@@ -28,7 +28,7 @@
Source1: baselibs.conf
# PATCH-FIX-UPSTREAM https://github.com/acoustid/chromaprint/commit/8ccad69.patch -- Upgrade code to FFmpeg 5.x APIs
Patch0: 8ccad69.patch
-
+Patch1: https://github.com/acoustid/chromaprint/commit/82781d02.patch
BuildRequires: cmake
BuildRequires: fftw3-devel
BuildRequires: gcc-c++
++++++ 82781d02.patch ++++++
From 82781d02cd3063d071a501218297a90bde9a314f Mon Sep 17 00:00:00 2001
From: Marshal Walker <CatmanIX(a)gmail.com>
Date: Thu, 8 Dec 2022 11:53:58 -0500
Subject: [PATCH] ffmpeg5 fix for issue #122
tested on Arch Linux, needs testing on win/mac/etc (should be fine tho)
---
src/audio/ffmpeg_audio_processor_swresample.h | 4 ++--
src/audio/ffmpeg_audio_reader.h | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/audio/ffmpeg_audio_processor_swresample.h b/src/audio/ffmpeg_audio_processor_swresample.h
index b1d4bea..e8fcb3f 100644
--- a/src/audio/ffmpeg_audio_processor_swresample.h
+++ b/src/audio/ffmpeg_audio_processor_swresample.h
@@ -29,7 +29,7 @@ class FFmpegAudioProcessor {
}
void SetInputChannelLayout(AVChannelLayout *channel_layout) {
- av_opt_set_int(m_swr_ctx, "in_channel_layout", channel_layout->u.mask, 0);
+ av_opt_set_chlayout(m_swr_ctx, "in_chlayout", channel_layout, 0);
}
void SetInputSampleFormat(AVSampleFormat sample_format) {
@@ -41,7 +41,7 @@ class FFmpegAudioProcessor {
}
void SetOutputChannelLayout(AVChannelLayout *channel_layout) {
- av_opt_set_int(m_swr_ctx, "out_channel_layout", channel_layout->u.mask, 0);
+ av_opt_set_chlayout(m_swr_ctx, "out_chlayout", channel_layout, 0);
}
void SetOutputSampleFormat(AVSampleFormat sample_format) {
diff --git a/src/audio/ffmpeg_audio_reader.h b/src/audio/ffmpeg_audio_reader.h
index 1c6b346..35b2934 100644
--- a/src/audio/ffmpeg_audio_reader.h
+++ b/src/audio/ffmpeg_audio_reader.h
@@ -301,9 +301,10 @@ inline bool FFmpegAudioReader::Read(const int16_t **data, size_t *size) {
} else {
m_has_more_frames = false;
}
+ } else {
+ SetError("Error decoding the audio source", ret);
+ return false;
}
- SetError("Error decoding the audio source", ret);
- return false;
}
if (m_frame->nb_samples > 0) {
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package container-build-checks for openSUSE:Factory checked in at 2023-04-29 17:27:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/container-build-checks (Old)
and /work/SRC/openSUSE:Factory/.container-build-checks.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "container-build-checks"
Sat Apr 29 17:27:49 2023 rev:9 rq:1083502 version:1682595397.5ce6d2f
Changes:
--------
--- /work/SRC/openSUSE:Factory/container-build-checks/container-build-checks.changes 2022-08-16 17:06:38.511680402 +0200
+++ /work/SRC/openSUSE:Factory/.container-build-checks.new.1533/container-build-checks.changes 2023-04-29 17:27:55.626488544 +0200
@@ -1,0 +2,9 @@
+Fri Apr 28 09:23:53 UTC 2023 - Fabian Vogt <fvogt(a)suse.com>
+
+- Update to version 1682595397.5ce6d2f:
+ * Handle OCI style images as well
+ * Makefile: Add missing dependency of broken-derived on proper-base
+ * GitHub workflow: Update action versions
+ * GitHub workflow: Test python 3.6 and 3.10
+
+-------------------------------------------------------------------
Old:
----
container-build-checks-1650464301.a198cf9.obscpio
New:
----
container-build-checks-1682595397.5ce6d2f.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ container-build-checks.spec ++++++
--- /var/tmp/diff_new_pack.OMPFdt/_old 2023-04-29 17:27:56.238491106 +0200
+++ /var/tmp/diff_new_pack.OMPFdt/_new 2023-04-29 17:27:56.242491122 +0200
@@ -1,7 +1,7 @@
#
# spec file for package container-build-checks
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: container-build-checks
-Version: 1650464301.a198cf9
+Version: 1682595397.5ce6d2f
Release: 0
Summary: Scripts to validate built container images
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.OMPFdt/_old 2023-04-29 17:27:56.294491340 +0200
+++ /var/tmp/diff_new_pack.OMPFdt/_new 2023-04-29 17:27:56.298491357 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/container-build-checks.git</param>
- <param name="changesrevision">1ff773c9bbb681a3dedb3a8b1514e538cafd6e9a</param></service></servicedata>
+ <param name="changesrevision">5ce6d2ffdcc3a95bc79b69d8d021c0b0bce41ad7</param></service></servicedata>
(No newline at EOF)
++++++ container-build-checks-1650464301.a198cf9.obscpio -> container-build-checks-1682595397.5ce6d2f.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/.github/workflows/test.yml new/container-build-checks-1682595397.5ce6d2f/.github/workflows/test.yml
--- old/container-build-checks-1650464301.a198cf9/.github/workflows/test.yml 2022-04-20 16:18:21.000000000 +0200
+++ new/container-build-checks-1682595397.5ce6d2f/.github/workflows/test.yml 2023-04-27 13:36:37.000000000 +0200
@@ -6,14 +6,22 @@
branches: [ master ]
jobs:
build:
- runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ include:
+ - os: ubuntu-20.04
+ # Version in SLE 15
+ python: "3.6"
+ - os: ubuntu-latest
+ # Version in openSUSE Tumbleweed
+ python: "3.10"
+ runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v2
- # Version in Leap/SLE 15
- - name: Set up Python 3.6
- uses: actions/setup-python@v2
+ - uses: actions/checkout@v3
+ - name: Set up Python 3.10
+ uses: actions/setup-python@v4
with:
- python-version: 3.6
+ python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
pip3 install --upgrade pip
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/Makefile new/container-build-checks-1682595397.5ce6d2f/Makefile
--- old/container-build-checks-1650464301.a198cf9/Makefile 2022-04-20 16:18:21.000000000 +0200
+++ new/container-build-checks-1682595397.5ce6d2f/Makefile 2023-04-27 13:36:37.000000000 +0200
@@ -11,10 +11,23 @@
install -Dm0755 container-build-checks.py $(DESTDIR)/usr/lib/build/post-build-checks/container-build-checks
# Some test containers depend on other test containers. Make sure those are built first.
+tests/broken-derived/built: tests/proper-base/built
tests/proper-derived/built: tests/proper-base/built
+tests/oci-proper-derived/built: tests/oci-proper-base/built
tests/local-proper-derived/built: tests/proper-base/built
# Build the Dockerfile and create the tarball
+tests/oci-%/built: tests/%/Dockerfile
+ @dir=$$(dirname $@)
+ pushd $$dir >/dev/null
+ testname=$$(basename $$dir)
+ echo Building OCI $$testname
+ # Build the container
+ podman build --squash -t "c-b-c-tests/$$testname" .
+ podman push "c-b-c-tests/$$testname" oci-archive:$$testname.tar
+ popd >/dev/null
+ touch $@
+
tests/%/built: tests/%/Dockerfile
@dir=$$(dirname $@)
pushd $$dir >/dev/null
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/container-build-checks.py new/container-build-checks-1682595397.5ce6d2f/container-build-checks.py
--- old/container-build-checks-1650464301.a198cf9/container-build-checks.py 2022-04-20 16:18:21.000000000 +0200
+++ new/container-build-checks-1682595397.5ce6d2f/container-build-checks.py 2023-04-27 13:36:37.000000000 +0200
@@ -14,14 +14,23 @@
class Image:
"""Information about the image to be tested."""
- def __init__(self, containerinfo, tarfile):
- self.containerinfo = containerinfo
- self.tarfile = tarfile
- self.manifest = json.load(tar.extractfile("manifest.json"))
- if len(self.manifest) != 1:
- raise Exception("Manifest doesn't have exactly one entry")
- self.config = json.load(self.tarfile.extractfile(self.manifest[0]["Config"]))
+ def __init__(self, containerinfo, tar):
+ self.containerinfo = containerinfo
+ self.tarfile = tar
+ if "oci-layout" in self.tarfile.getnames():
+ self.index = json.load(tar.extractfile("index.json"))
+ if len(self.index["manifests"]) != 1:
+ raise Exception("OCI index doesn't have exactly one entry")
+ manifest = "blobs/" + self.index["manifests"][0]["digest"].replace(":", "/")
+ self.manifest = json.load(tar.extractfile(manifest))
+ config = "blobs/" + self.manifest["config"]["digest"].replace(":", "/")
+ else:
+ self.manifest = json.load(tar.extractfile("manifest.json"))
+ if len(self.manifest) != 1:
+ raise Exception("Manifest doesn't have exactly one entry")
+ config = self.manifest[0]["Config"]
+ self.config = json.load(self.tarfile.extractfile(config))
self.is_local_build = "release" not in containerinfo and "disturl" not in containerinfo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/tests/oci-proper-base/Dockerfile new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-base/Dockerfile
--- old/container-build-checks-1650464301.a198cf9/tests/oci-proper-base/Dockerfile 1970-01-01 01:00:00.000000000 +0100
+++ new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-base/Dockerfile 2023-04-27 13:36:37.000000000 +0200
@@ -0,0 +1,18 @@
+FROM scratch
+LABEL org.openbuildservice.disturl="obs://build.opensuse.org/openSUSE:Factory/images/e1b24f5d6cbf69cb7f8208acb6…"
+LABEL org.opencontainers.image.created="2021-05-20T00:23:03.624005870Z"
+LABEL org.opencontainers.image.description="Image containing a minimal environment for containers based on openSUSE Tumbleweed."
+LABEL org.opencontainers.image.title="openSUSE Tumbleweed Base Container"
+LABEL org.opencontainers.image.url="https://www.opensuse.org/"
+LABEL org.opencontainers.image.vendor="openSUSE Project"
+LABEL org.opencontainers.image.version="20210519.14.19"
+LABEL org.opensuse.base.created="2021-05-20T00:23:03.624005870Z"
+LABEL org.opensuse.base.description="Image containing a minimal environment for containers based on openSUSE Tumbleweed."
+LABEL org.opensuse.base.disturl="obs://build.opensuse.org/openSUSE:Factory/images/e1b24f5d6cbf69cb7f8208acb6…"
+LABEL org.opensuse.base.reference="registry.opensuse.org/opensuse/tumbleweed:20210519.14.19"
+LABEL org.opensuse.base.title="openSUSE Tumbleweed Base Container"
+LABEL org.opensuse.base.url="https://www.opensuse.org/"
+LABEL org.opensuse.base.vendor="openSUSE Project"
+LABEL org.opensuse.base.version="20210519.14.19"
+LABEL org.opensuse.reference="registry.opensuse.org/opensuse/tumbleweed:20210519.14.19"
+COPY some-file /some-file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/tests/oci-proper-base/checks.out new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-base/checks.out
--- old/container-build-checks-1650464301.a198cf9/tests/oci-proper-base/checks.out 1970-01-01 01:00:00.000000000 +0100
+++ new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-base/checks.out 2023-04-27 13:36:37.000000000 +0200
@@ -0,0 +1,9 @@
+Looking at oci-proper-base.containerinfo
+Release: 14.19
+Tag: opensuse/tumbleweed:latest
+Tag: opensuse/tumbleweed:20210519
+Tag: opensuse/tumbleweed:20210519.14.19
+Detected image specific label prefix: org.opensuse.base
+
+container-build-checks done. Hints: 0 Warnings: 0 Errors: 0
+Exited with 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/tests/oci-proper-base/oci-proper-base.containerinfo new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-base/oci-proper-base.containerinfo
--- old/container-build-checks-1650464301.a198cf9/tests/oci-proper-base/oci-proper-base.containerinfo 1970-01-01 01:00:00.000000000 +0100
+++ new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-base/oci-proper-base.containerinfo 2023-04-27 13:36:37.000000000 +0200
@@ -0,0 +1,30 @@
+{
+ "buildtime" : 1621470206,
+ "disturl" : "obs://build.opensuse.org/openSUSE:Factory/images/e1b24f5d6cbf69cb7f8208acb6…",
+ "file" : "oci-proper-base.tar",
+ "goarch" : "amd64",
+ "goos" : "linux",
+ "imageid" : "11ea66ecb7888f020cd84d080ad417a7d4f02f74361cd1c2a4b4c70ffb0e9d78",
+ "name" : "opensuse-tumbleweed-image",
+ "release" : "14.19",
+ "repos" : [
+ {
+ "url" : "obsrepositories:/"
+ }
+ ],
+ "tags" : [
+ "opensuse/tumbleweed:latest",
+ "opensuse/tumbleweed:20210519",
+ "opensuse/tumbleweed:20210519.14.19"
+ ],
+ "tar_blobids" : [
+ "sha256:11ea66ecb7888f020cd84d080ad417a7d4f02f74361cd1c2a4b4c70ffb0e9d78",
+ "sha256:89a8c2a08e572bfd8ef8eb05648638443f0d50e4c9e9913f01adbeb2e89ec9cd"
+ ],
+ "tar_manifest" : "[{\"Config\":\"sha256:11ea66ecb7888f020cd84d080ad417a7d4f02f74361cd1c2a4b4c70ffb0e9d78\",\"RepoTags\":[\"opensuse/tumbleweed:latest\",\"opensuse/tumbleweed:20210519\",\"opensuse/tumbleweed:20210519.14.19\"],\"Layers\":[\"sha256:89a8c2a08e572bfd8ef8eb05648638443f0d50e4c9e9913f01adbeb2e89ec9cd\"]}]",
+ "tar_md5sum" : "eb472571d516e44c1c05dc73a47f61e7",
+ "tar_mtime" : 1621470212,
+ "tar_sha256sum" : "7e8b9aaad5222b8680f17ffcf4c7f514783d86e3193b7f925c066a14113080de",
+ "tar_size" : 36567552,
+ "version" : "1.0.4"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/tests/oci-proper-base/some-file new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-base/some-file
--- old/container-build-checks-1650464301.a198cf9/tests/oci-proper-base/some-file 1970-01-01 01:00:00.000000000 +0100
+++ new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-base/some-file 2023-04-27 13:36:37.000000000 +0200
@@ -0,0 +1 @@
+Hi!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/tests/oci-proper-derived/Dockerfile new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-derived/Dockerfile
--- old/container-build-checks-1650464301.a198cf9/tests/oci-proper-derived/Dockerfile 1970-01-01 01:00:00.000000000 +0100
+++ new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-derived/Dockerfile 2023-04-27 13:36:37.000000000 +0200
@@ -0,0 +1,15 @@
+FROM c-b-c-tests/oci-proper-base
+LABEL io.buildah.version="1.20.1"
+LABEL org.openbuildservice.disturl="obs://build.opensuse.org/home:favogt:container-checks/containerfile/e6f02b3…"
+LABEL org.opencontainers.image.created="2021-05-21T14:28:22.338350130Z"
+LABEL org.opencontainers.image.description="This contains nano 5.7"
+LABEL org.opencontainers.image.title="Example container"
+LABEL org.opencontainers.image.version="5.7"
+LABEL org.opensuse.example.created="2021-05-21T14:28:22.338350130Z"
+LABEL org.opensuse.example.description="This contains nano 5.7"
+LABEL org.opensuse.example.disturl="obs://build.opensuse.org/home:favogt:container-checks/containerfile/e6f02b3…"
+LABEL org.opensuse.example.reference="registry.opensuse.org/opensuse/example:5.7.7.21"
+LABEL org.opensuse.example.title="Example container"
+LABEL org.opensuse.example.version="5.7"
+LABEL org.opensuse.reference="registry.opensuse.org/opensuse/example:5.7.7.21"
+COPY some-file /some-file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/tests/oci-proper-derived/checks.out new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-derived/checks.out
--- old/container-build-checks-1650464301.a198cf9/tests/oci-proper-derived/checks.out 1970-01-01 01:00:00.000000000 +0100
+++ new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-derived/checks.out 2023-04-27 13:36:37.000000000 +0200
@@ -0,0 +1,10 @@
+Looking at oci-proper-derived.containerinfo
+Release: 7.21
+Tag: opensuse/example:latest
+Tag: opensuse/example:5.7
+Tag: opensuse/example:5.7.7.21
+Tag: kubic/testtag:latest
+Detected image specific label prefix: org.opensuse.example
+
+container-build-checks done. Hints: 0 Warnings: 0 Errors: 0
+Exited with 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/tests/oci-proper-derived/oci-proper-derived.containerinfo new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-derived/oci-proper-derived.containerinfo
--- old/container-build-checks-1650464301.a198cf9/tests/oci-proper-derived/oci-proper-derived.containerinfo 1970-01-01 01:00:00.000000000 +0100
+++ new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-derived/oci-proper-derived.containerinfo 2023-04-27 13:36:37.000000000 +0200
@@ -0,0 +1,31 @@
+{
+ "buildtime" : 1621607310,
+ "disturl" : "obs://build.opensuse.org/home:favogt:container-checks/containerfile/e6f02b3…",
+ "file" : "oci-proper-derived.tar",
+ "goarch" : "amd64",
+ "goos" : "linux",
+ "imageid" : "df309d498c093685243d9d945f368076d88bb6bd181640fae752bf800c3cef09",
+ "release" : "7.21",
+ "repos" : [
+ {
+ "url" : "obsrepositories:/"
+ }
+ ],
+ "tags" : [
+ "opensuse/example:latest",
+ "opensuse/example:5.7",
+ "opensuse/example:5.7.7.21",
+ "kubic/testtag:latest"
+ ],
+ "tar_blobids" : [
+ "sha256:43e763c1a9ac8eaa809d77c4ad0c543d78a826ba9d811eae19624c31e799fd1c",
+ "sha256:a0ea0ce79dfa175149b9f715342e13a9472ee6bfaeccfd4ecc6827f2494aef18",
+ "sha256:df309d498c093685243d9d945f368076d88bb6bd181640fae752bf800c3cef09"
+ ],
+ "tar_manifest" : "[{\"Config\":\"sha256:df309d498c093685243d9d945f368076d88bb6bd181640fae752bf800c3cef09\",\"RepoTags\":[\"opensuse/example:latest\",\"opensuse/example:5.7\",\"opensuse/example:5.7.7.21\"],\"Layers\":[\"sha256:a0ea0ce79dfa175149b9f715342e13a9472ee6bfaeccfd4ecc6827f2494aef18\",\"sha256:43e763c1a9ac8eaa809d77c4ad0c543d78a826ba9d811eae19624c31e799fd1c\"]}]",
+ "tar_md5sum" : "72c8bfea4f24b5954cea7b788093e25c",
+ "tar_mtime" : 1621607315,
+ "tar_sha256sum" : "ee6344740bd7c23a9e4b9f2b5ff031b95566a0a7613ff082ed3a856a5559e297",
+ "tar_size" : 40647680,
+ "version" : "5.7"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/container-build-checks-1650464301.a198cf9/tests/oci-proper-derived/some-file new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-derived/some-file
--- old/container-build-checks-1650464301.a198cf9/tests/oci-proper-derived/some-file 1970-01-01 01:00:00.000000000 +0100
+++ new/container-build-checks-1682595397.5ce6d2f/tests/oci-proper-derived/some-file 2023-04-27 13:36:37.000000000 +0200
@@ -0,0 +1 @@
+Hi!
++++++ container-build-checks.obsinfo ++++++
--- /var/tmp/diff_new_pack.OMPFdt/_old 2023-04-29 17:27:56.410491826 +0200
+++ /var/tmp/diff_new_pack.OMPFdt/_new 2023-04-29 17:27:56.414491843 +0200
@@ -1,5 +1,5 @@
name: container-build-checks
-version: 1650464301.a198cf9
-mtime: 1650464301
-commit: a198cf9474860b6746f131dc2c5d7f04225ba202
+version: 1682595397.5ce6d2f
+mtime: 1682595397
+commit: 5ce6d2ffdcc3a95bc79b69d8d021c0b0bce41ad7
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package zbar for openSUSE:Factory checked in at 2023-04-29 17:27:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zbar (Old)
and /work/SRC/openSUSE:Factory/.zbar.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "zbar"
Sat Apr 29 17:27:48 2023 rev:17 rq:1083495 version:0.23.90
Changes:
--------
--- /work/SRC/openSUSE:Factory/zbar/zbar.changes 2022-12-24 14:50:56.187157215 +0100
+++ /work/SRC/openSUSE:Factory/.zbar.new.1533/zbar.changes 2023-04-29 17:27:54.906485529 +0200
@@ -1,0 +2,5 @@
+Fri Apr 28 08:21:42 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- add py311.patch to fix build against python 3.11
+
+-------------------------------------------------------------------
New:
----
py311.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zbar.spec ++++++
--- /var/tmp/diff_new_pack.Z2szuY/_old 2023-04-29 17:27:55.398487589 +0200
+++ /var/tmp/diff_new_pack.Z2szuY/_new 2023-04-29 17:27:55.402487606 +0200
@@ -1,7 +1,7 @@
#
# spec file for package zbar
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2010 Carlos Goncalves <cgoncalves(a)opensuse.org>.
#
# All modifications and additions to the file contributed by third parties
@@ -28,6 +28,8 @@
URL: https://github.com/mchehab/zbar
Source0: https://linuxtv.org/downloads/%{name}/%{name}-%{version}.tar.bz2
Source98: baselibs.conf
+# PATCH-FIX-UPSTREAM: fix build against python 3.11 - https://github.com/mchehab/zbar/commit/9bb0cc43f7f9e9c676e07b2e511f03bfa1c4…
+Patch1: py311.patch
BuildRequires: libjpeg-devel
BuildRequires: pkgconfig >= 0.9.0
BuildRequires: xmlto
++++++ py311.patch ++++++
From 9bb0cc43f7f9e9c676e07b2e511f03bfa1c491cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx(a)gmail.com>
Date: Wed, 21 Sep 2022 10:32:11 +0700
Subject: [PATCH] python: enum: fix build for Python 3.11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Python 3.9 introduced Py_SET_SIZE function to set size instead of
relying on Py_SIZE() as a macro [3.9].
Python 3.10 started to encourage to use Py_SET_SIZE instead of
assigning into return value of Py_SIZE [3.10].
Python 3.11 flips the switch, turn Py_SIZE into a function [3.11],
thus Py_SIZE(obj) will be a rvalue. We need to use Py_SET_SIZE
to set size now.
[3.9]: https://docs.python.org/3.9/c-api/structures.html#c.Py_SET_SIZE
[3.10]: https://docs.python.org/3.10/c-api/structures.html#c.Py_SIZE
[3.11]: https://docs.python.org/3.11/c-api/structures.html#c.Py_SIZE
Signed-off-by: ��o��n Tr���n C��ng Danh <congdanhqx(a)gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab(a)kernel.org>
---
python/enum.c | 8 ++++++++
1 file changed, 8 insertions(+)
Index: zbar-0.23.90/python/enum.c
===================================================================
--- zbar-0.23.90.orig/python/enum.c
+++ zbar-0.23.90/python/enum.c
@@ -49,10 +49,13 @@ enumitem_new (PyTypeObject *type,
Py_DECREF(self);
return(NULL);
}
-
/* we assume the "fast path" for a single-digit ints (see longobject.c) */
/* this also holds if we get a small_int preallocated long */
+#if PY_VERSION_HEX >= 0x030900A4
+ Py_SET_SIZE(&self->val, Py_SIZE(longval));
+#else
Py_SIZE(&self->val) = Py_SIZE(longval);
+#endif
self->val.ob_digit[0] = longval->ob_digit[0];
Py_DECREF(longval);
#else
@@ -143,7 +146,11 @@ zbarEnumItem_New (PyObject *byname,
/* we assume the "fast path" for a single-digit ints (see longobject.c) */
/* this also holds if we get a small_int preallocated long */
+#if PY_VERSION_HEX >= 0x030900A4
+ Py_SET_SIZE(&self->val, Py_SIZE(longval));
+#else
Py_SIZE(&self->val) = Py_SIZE(longval);
+#endif
self->val.ob_digit[0] = longval->ob_digit[0];
Py_DECREF(longval);
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libcontainers-common for openSUSE:Factory checked in at 2023-04-29 17:27:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcontainers-common (Old)
and /work/SRC/openSUSE:Factory/.libcontainers-common.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcontainers-common"
Sat Apr 29 17:27:47 2023 rev:59 rq:1083468 version:20230214
Changes:
--------
--- /work/SRC/openSUSE:Factory/libcontainers-common/libcontainers-common.changes 2023-03-17 17:02:48.137221385 +0100
+++ /work/SRC/openSUSE:Factory/.libcontainers-common.new.1533/libcontainers-common.changes 2023-04-29 17:27:53.938481476 +0200
@@ -1,0 +2,6 @@
+Wed Apr 26 12:43:41 UTC 2023 - Frederic Crozat <fcrozat(a)suse.com>
+
+- Own /etc/containers/systemd and /usr/share/containers/systemd,
+ useful for podman quadlet.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libcontainers-common.spec ++++++
--- /var/tmp/diff_new_pack.Vy06Fi/_old 2023-04-29 17:27:54.610484289 +0200
+++ /var/tmp/diff_new_pack.Vy06Fi/_new 2023-04-29 17:27:54.614484307 +0200
@@ -115,6 +115,8 @@
install -d -m 0755 %{buildroot}/%{_datadir}/containers/oci/hooks.d
install -d -m 0755 %{buildroot}/%{_sysconfdir}/containers/registries.d
install -d -m 0755 %{buildroot}/%{_sysconfdir}/containers/registries.conf.d
+install -d -m 0755 %{buildroot}/%{_sysconfdir}/containers/systemd
+install -d -m 0755 %{buildroot}/%{_datadir}/containers/systemd
install -D -m 0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/containers/policy.json
install -D -m 0644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/containers/storage.conf
@@ -148,9 +150,11 @@
%dir %{_sysconfdir}/containers/oci/hooks.d
%dir %{_sysconfdir}/containers/registries.d
%dir %{_sysconfdir}/containers/registries.conf.d
+%dir %{_sysconfdir}/containers/systemd
%dir %{_datadir}/containers
%dir %{_datadir}/containers/oci
%dir %{_datadir}/containers/oci/hooks.d
+%dir %{_datadir}/containers/systemd
%config(noreplace) %{_sysconfdir}/containers/policy.json
%config(noreplace) %{_sysconfdir}/containers/storage.conf
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package protobuf for openSUSE:Factory checked in at 2023-04-29 17:27:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/protobuf (Old)
and /work/SRC/openSUSE:Factory/.protobuf.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "protobuf"
Sat Apr 29 17:27:45 2023 rev:72 rq:1083461 version:21.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/protobuf/protobuf.changes 2023-03-25 18:54:21.070348659 +0100
+++ /work/SRC/openSUSE:Factory/.protobuf.new.1533/protobuf.changes 2023-04-29 17:27:52.938477289 +0200
@@ -1,0 +2,11 @@
+Fri Apr 28 07:07:50 UTC 2023 - Fridrich Strba <fstrba(a)suse.com>
+
+- Mention the rpmlintrc file in the spec.
+
+-------------------------------------------------------------------
+Thu Apr 27 06:59:31 UTC 2023 - Fridrich Strba <fstrba(a)suse.com>
+
+- Make possible to build on older systems, like SLE12 that miss
+ some of the used macros.
+
+-------------------------------------------------------------------
New:
----
protobuf-rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ protobuf.spec ++++++
--- /var/tmp/diff_new_pack.rrNxSu/_old 2023-04-29 17:27:53.430479349 +0200
+++ /var/tmp/diff_new_pack.rrNxSu/_new 2023-04-29 17:27:53.434479365 +0200
@@ -16,6 +16,7 @@
#
+%{!?make_build:%global make_build make %{?_smp_mflags}}
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define sover 3_21_12
%define tarname protobuf
@@ -36,6 +37,7 @@
Source0: https://github.com/protocolbuffers/protobuf/archive/v%{version}.tar.gz#/%{t…
Source1: manifest.txt.in
Source2: baselibs.conf
+Source1000: %{name}-rpmlintrc
Patch0: gcc12-disable-__constinit-with-c++-11.patch
# https://github.com/protocolbuffers/protobuf/pull/10355
Patch1: 10355.patch
@@ -167,6 +169,9 @@
%prep
%autosetup -p1 -n %{tarname}-%{version}
+
+# The previous blank line is crucial for older system being able
+# to use the autosetup macro
mkdir gmock
%if %{with python2} || %{with python3}
++++++ protobuf-rpmlintrc ++++++
addFilter("shlib-policy-name-error")
addFilter("env-script-interpreter")
addFilter("spurious-executable-perm")
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-astroid for openSUSE:Factory checked in at 2023-04-29 17:27:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-astroid (Old)
and /work/SRC/openSUSE:Factory/.python-astroid.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-astroid"
Sat Apr 29 17:27:44 2023 rev:45 rq:1083439 version:2.15.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-astroid/python-astroid.changes 2023-04-27 19:57:09.896595939 +0200
+++ /work/SRC/openSUSE:Factory/.python-astroid.new.1533/python-astroid.changes 2023-04-29 17:27:52.230474325 +0200
@@ -1,0 +2,5 @@
+Fri Apr 28 07:12:30 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Correct Requires for typing_extensions.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-astroid.spec ++++++
--- /var/tmp/diff_new_pack.yat1Ex/_old 2023-04-29 17:27:52.738476452 +0200
+++ /var/tmp/diff_new_pack.yat1Ex/_new 2023-04-29 17:27:52.742476468 +0200
@@ -42,7 +42,7 @@
%if 0%{?python_version_nodots} < 38
Requires: python-typed-ast >= 1.4
%endif
-%if 0%{?python_version_nodots} < 310
+%if 0%{?python_version_nodots} < 311
Requires: python-typing-extensions >= 3.10
%endif
%if 0%{?python_version_nodots} < 311
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xdpyinfo for openSUSE:Factory checked in at 2023-04-29 17:27:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdpyinfo (Old)
and /work/SRC/openSUSE:Factory/.xdpyinfo.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xdpyinfo"
Sat Apr 29 17:27:43 2023 rev:10 rq:1083414 version:1.3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/xdpyinfo/xdpyinfo.changes 2022-04-10 19:05:19.986546976 +0200
+++ /work/SRC/openSUSE:Factory/.xdpyinfo.new.1533/xdpyinfo.changes 2023-04-29 17:27:51.418470925 +0200
@@ -1,0 +2,14 @@
+Fri Apr 28 06:27:30 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- Update to version 1.3.4
+ * This release stops compiling support for the XF86-Misc extension by
+ default, and thus stops linking with the deprecated libXxf86misc
+ library by default. This support can still be enabled for now by
+ passing --with-xf86misc to the configure script, but as the server
+ side of this extension was removed in the xserver-1.6.0 release in 2008
+ there is little reason to do so, and the support may be removed entirely
+ in a future release of xdpyinfo.
+- we have xorg-server >= 1.6 since sle11-sp1, so we are on the safe
+ side with our customers
+
+-------------------------------------------------------------------
Old:
----
xdpyinfo-1.3.3.tar.xz
New:
----
xdpyinfo-1.3.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xdpyinfo.spec ++++++
--- /var/tmp/diff_new_pack.Yaa6Qp/_old 2023-04-29 17:27:51.854472750 +0200
+++ /var/tmp/diff_new_pack.Yaa6Qp/_new 2023-04-29 17:27:51.858472767 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xdpyinfo
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: xdpyinfo
-Version: 1.3.3
+Version: 1.3.4
Release: 0
Summary: Utility to display information about an X server
License: MIT
@@ -63,7 +63,8 @@
%files
%defattr(-,root,root)
-%doc ChangeLog COPYING README.md
+%license COPYING
+%doc ChangeLog README.md
%{_bindir}/xdpyinfo
%{_mandir}/man1/xdpyinfo.1%{?ext_man}
++++++ xdpyinfo-1.3.3.tar.xz -> xdpyinfo-1.3.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdpyinfo-1.3.3/ChangeLog new/xdpyinfo-1.3.4/ChangeLog
--- old/xdpyinfo-1.3.3/ChangeLog 2022-04-07 22:47:05.000000000 +0200
+++ new/xdpyinfo-1.3.4/ChangeLog 2023-04-28 02:11:39.000000000 +0200
@@ -1,3 +1,57 @@
+commit ea4083ccb2a5ce4252acabeb2eb7bf49f7be25e0
+Author: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+Date: Thu Apr 27 16:58:51 2023 -0700
+
+ xdpyinfo 1.3.4
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+
+commit e4688bb9e4b6e0333a84420864bf39cf4c4fa86f
+Author: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+Date: Thu Dec 8 18:46:20 2022 -0800
+
+ Call memset() instead of hand-coding our own equivalent
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+
+commit 6bb053f46101e659c4f3a877bf8d17ad37a23225
+Author: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+Date: Thu Dec 8 13:26:00 2022 -0800
+
+ Remove unnecessary downcast of double to float
+
+ The printf family always takes double arguments, not float.
+
+ Clears clang warning of:
+
+ xdpyinfo.c:767:5: warning: implicit conversion increases floating-point
+ precision: 'float' to 'double' [-Wdouble-promotion]
+ (float)dotclock/1000.0,
+ ^~~~~~~~~~~~~~~~
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+
+commit 04f4911bedc988b917a268978d9592780aa34651
+Author: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+Date: Thu Dec 8 13:24:47 2022 -0800
+
+ Variable scope reduction
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+
+commit 563f4c9eb22b5389a2cf63276ec08025ad0d794b
+Author: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+Date: Tue Nov 22 14:12:16 2022 -0800
+
+ configure: Make xf86misc support disabled by default
+
+ Require --with-xf86misc to enable it.
+
+ The server side of the XF86-Misc extension was removed in the xserver-1.6.0
+ release in 2008, so this code is unusable on most systems now.
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
+
commit 61bc4b764030bdc9a731ee74c7c56bf2b2a4bddf
Author: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Date: Thu Apr 7 13:43:48 2022 -0700
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdpyinfo-1.3.3/aclocal.m4 new/xdpyinfo-1.3.4/aclocal.m4
--- old/xdpyinfo-1.3.3/aclocal.m4 2022-04-07 22:46:57.000000000 +0200
+++ new/xdpyinfo-1.3.4/aclocal.m4 2023-04-28 02:11:25.000000000 +0200
@@ -1426,7 +1426,7 @@
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl
-dnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+dnl Copyright (c) 2005, 2023, Oracle and/or its affiliates.
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
@@ -1463,7 +1463,7 @@
# See the "minimum version" comment for each macro you use to see what
# version you require.
m4_defun([XORG_MACROS_VERSION],[
-m4_define([vers_have], [1.19.3])
+m4_define([vers_have], [1.20.0])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,,
@@ -1793,7 +1793,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-xmlto option, it allows maximum flexibilty in making decisions
+# the --with-xmlto option, it allows maximum flexibility in making decisions
# as whether or not to use the xmlto package. When DEFAULT is not specified,
# --with-xmlto assumes 'auto'.
#
@@ -2007,7 +2007,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-asciidoc option, it allows maximum flexibilty in making decisions
+# the --with-asciidoc option, it allows maximum flexibility in making decisions
# as whether or not to use the asciidoc package. When DEFAULT is not specified,
# --with-asciidoc assumes 'auto'.
#
@@ -2077,7 +2077,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-doxygen option, it allows maximum flexibilty in making decisions
+# the --with-doxygen option, it allows maximum flexibility in making decisions
# as whether or not to use the doxygen package. When DEFAULT is not specified,
# --with-doxygen assumes 'auto'.
#
@@ -2161,7 +2161,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-groff option, it allows maximum flexibilty in making decisions
+# the --with-groff option, it allows maximum flexibility in making decisions
# as whether or not to use the groff package. When DEFAULT is not specified,
# --with-groff assumes 'auto'.
#
@@ -2269,7 +2269,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-fop option, it allows maximum flexibilty in making decisions
+# the --with-fop option, it allows maximum flexibility in making decisions
# as whether or not to use the fop package. When DEFAULT is not specified,
# --with-fop assumes 'auto'.
#
@@ -2363,7 +2363,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
+# the --with-ps2pdf option, it allows maximum flexibility in making decisions
# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
# --with-ps2pdf assumes 'auto'.
#
@@ -2418,7 +2418,7 @@
# not at the appropriate level. This macro enables a builder to skip all
# documentation targets except traditional man pages.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2451,7 +2451,7 @@
#
# This macro enables a builder to skip all developer documentation.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2484,7 +2484,7 @@
#
# This macro enables a builder to skip all functional specification targets.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2959,7 +2959,11 @@
AC_DEFUN([XORG_COMPILER_BRAND], [
AC_LANG_CASE(
[C], [
- AC_REQUIRE([AC_PROG_CC_C99])
+ dnl autoconf-2.70 folded AC_PROG_CC_C99 into AC_PROG_CC
+ dnl and complains that AC_PROG_CC_C99 is obsolete
+ m4_version_prereq([2.70],
+ [AC_REQUIRE([AC_PROG_CC])],
+ [AC_REQUIRE([AC_PROG_CC_C99])])
],
[C++], [
AC_REQUIRE([AC_PROG_CXX])
@@ -2975,7 +2979,7 @@
# Minimum version: 1.16.0
#
# Test if the compiler works when passed the given flag as a command line argument.
-# If it succeeds, the flag is appeneded to the given variable. If not, it tries the
+# If it succeeds, the flag is appended to the given variable. If not, it tries the
# next flag in the list until there are no more options.
#
# Note that this does not guarantee that the compiler supports the flag as some
@@ -2991,7 +2995,11 @@
AC_LANG_CASE(
[C], [
- AC_REQUIRE([AC_PROG_CC_C99])
+ dnl autoconf-2.70 folded AC_PROG_CC_C99 into AC_PROG_CC
+ dnl and complains that AC_PROG_CC_C99 is obsolete
+ m4_version_prereq([2.70],
+ [AC_REQUIRE([AC_PROG_CC])],
+ [AC_REQUIRE([AC_PROG_CC_C99])])
define([PREFIX], [C])
define([CACHE_PREFIX], [cc])
define([COMPILER], [$CC])
@@ -3132,7 +3140,7 @@
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
-# Turn some warnings into errors, so we don't accidently get successful builds
+# Turn some warnings into errors, so we don't accidentally get successful builds
# when there are problems that should be fixed.
if test "x$SELECTIVE_WERROR" = "xyes" ; then
@@ -3241,23 +3249,35 @@
AC_LANG_CASE([C], AC_SUBST([CWARNFLAGS]))
]) # XORG_STRICT_OPTION
+# XORG_DEFAULT_NOCODE_OPTIONS
+# ---------------------------
+# Minimum version: 1.20.0
+#
+# Defines default options for X.Org modules which don't compile code,
+# such as fonts, bitmaps, cursors, and docs.
+#
+AC_DEFUN([XORG_DEFAULT_NOCODE_OPTIONS], [
+AC_REQUIRE([AC_PROG_INSTALL])
+XORG_RELEASE_VERSION
+XORG_CHANGELOG
+XORG_INSTALL
+XORG_MANPAGE_SECTIONS
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
+ [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
+]) # XORG_DEFAULT_NOCODE_OPTIONS
+
# XORG_DEFAULT_OPTIONS
# --------------------
# Minimum version: 1.3.0
#
-# Defines default options for X.Org modules.
+# Defines default options for X.Org modules which compile code.
#
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
AC_REQUIRE([AC_PROG_INSTALL])
XORG_COMPILER_FLAGS
XORG_CWARNFLAGS
XORG_STRICT_OPTION
-XORG_RELEASE_VERSION
-XORG_CHANGELOG
-XORG_INSTALL
-XORG_MANPAGE_SECTIONS
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
- [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
+XORG_DEFAULT_NOCODE_OPTIONS
]) # XORG_DEFAULT_OPTIONS
# XORG_INSTALL()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdpyinfo-1.3.3/config.guess new/xdpyinfo-1.3.4/config.guess
--- old/xdpyinfo-1.3.3/config.guess 2022-04-07 22:46:59.000000000 +0200
+++ new/xdpyinfo-1.3.4/config.guess 2023-04-28 02:11:27.000000000 +0200
@@ -1,14 +1,14 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2021 Free Software Foundation, Inc.
+# Copyright 1992-2023 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2021-06-03'
+timestamp='2023-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -60,7 +60,7 @@
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2021 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -437,7 +437,7 @@
# This test works for both compilers.
if test "$CC_FOR_BUILD" != no_compiler_found; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
SUN_ARCH=x86_64
@@ -929,6 +929,9 @@
i*:PW*:*)
GUESS=$UNAME_MACHINE-pc-pw32
;;
+ *:SerenityOS:*:*)
+ GUESS=$UNAME_MACHINE-pc-serenity
+ ;;
*:Interix*:*)
case $UNAME_MACHINE in
x86)
@@ -963,6 +966,12 @@
GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
;;
+ x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
+ GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
+ ;;
+ *:[Mm]anagarm:*:*)
+ GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
+ ;;
*:Minix:*:*)
GUESS=$UNAME_MACHINE-unknown-minix
;;
@@ -1033,7 +1042,7 @@
k1om:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
- loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
+ loongarch32:Linux:*:* | loongarch64:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
m32r*:Linux:*:*)
@@ -1148,16 +1157,27 @@
;;
x86_64:Linux:*:*)
set_cc_for_build
+ CPU=$UNAME_MACHINE
LIBCABI=$LIBC
if test "$CC_FOR_BUILD" != no_compiler_found; then
- if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_X32 >/dev/null
- then
- LIBCABI=${LIBC}x32
- fi
+ ABI=64
+ sed 's/^ //' << EOF > "$dummy.c"
+ #ifdef __i386__
+ ABI=x86
+ #else
+ #ifdef __ILP32__
+ ABI=x32
+ #endif
+ #endif
+EOF
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+ eval "$cc_set_abi"
+ case $ABI in
+ x86) CPU=i686 ;;
+ x32) LIBCABI=${LIBC}x32 ;;
+ esac
fi
- GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
+ GUESS=$CPU-pc-linux-$LIBCABI
;;
xtensa*:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
@@ -1364,8 +1384,11 @@
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
GUESS=i586-pc-haiku
;;
- x86_64:Haiku:*:*)
- GUESS=x86_64-unknown-haiku
+ ppc:Haiku:*:*) # Haiku running on Apple PowerPC
+ GUESS=powerpc-apple-haiku
+ ;;
+ *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
+ GUESS=$UNAME_MACHINE-unknown-haiku
;;
SX-4:SUPER-UX:*:*)
GUESS=sx4-nec-superux$UNAME_RELEASE
@@ -1522,6 +1545,9 @@
i*86:rdos:*:*)
GUESS=$UNAME_MACHINE-pc-rdos
;;
+ i*86:Fiwix:*:*)
+ GUESS=$UNAME_MACHINE-pc-fiwix
+ ;;
*:AROS:*:*)
GUESS=$UNAME_MACHINE-unknown-aros
;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdpyinfo-1.3.3/config.sub new/xdpyinfo-1.3.4/config.sub
--- old/xdpyinfo-1.3.3/config.sub 2022-04-07 22:46:59.000000000 +0200
+++ new/xdpyinfo-1.3.4/config.sub 2023-04-28 02:11:27.000000000 +0200
@@ -1,14 +1,14 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2021 Free Software Foundation, Inc.
+# Copyright 1992-2023 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2021-08-14'
+timestamp='2023-01-21'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -76,7 +76,7 @@
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2021 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -145,7 +145,7 @@
nto-qnx* | linux-* | uclinux-uclibc* \
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
- | storm-chaos* | os2-emx* | rtmk-nova*)
+ | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
basic_machine=$field1
basic_os=$maybe_os
;;
@@ -1020,6 +1020,11 @@
;;
# Here we normalize CPU types with a missing or matching vendor
+ armh-unknown | armh-alt)
+ cpu=armv7l
+ vendor=alt
+ basic_os=${basic_os:-linux-gnueabihf}
+ ;;
dpx20-unknown | dpx20-bull)
cpu=rs6000
vendor=bull
@@ -1070,7 +1075,7 @@
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
cpu=i586
;;
- pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
cpu=i686
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
@@ -1121,7 +1126,7 @@
xscale-* | xscalee[bl]-*)
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
;;
- arm64-*)
+ arm64-* | aarch64le-*)
cpu=aarch64
;;
@@ -1202,7 +1207,7 @@
| k1om \
| le32 | le64 \
| lm32 \
- | loongarch32 | loongarch64 | loongarchx32 \
+ | loongarch32 | loongarch64 \
| m32c | m32r | m32rle \
| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
@@ -1304,7 +1309,7 @@
if test x$basic_os != x
then
-# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
+# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
# set os.
case $basic_os in
gnu/linux*)
@@ -1336,6 +1341,10 @@
kernel=linux
os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
;;
+ managarm*)
+ kernel=managarm
+ os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
+ ;;
*)
kernel=
os=$basic_os
@@ -1748,7 +1757,8 @@
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
- | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*)
+ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
+ | fiwix* | mlibc* )
;;
# This one is extra strict with allowed versions
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
@@ -1756,6 +1766,9 @@
;;
none)
;;
+ kernel* )
+ # Restricted further below
+ ;;
*)
echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
exit 1
@@ -1766,16 +1779,26 @@
# (given a valid OS), if there is a kernel.
case $kernel-$os in
linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
- | linux-musl* | linux-relibc* | linux-uclibc* )
+ | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* )
;;
uclinux-uclibc* )
;;
- -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
+ managarm-mlibc* | managarm-kernel* )
+ ;;
+ -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
# These are just libc implementations, not actual OSes, and thus
# require a kernel.
echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
exit 1
;;
+ -kernel* )
+ echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2
+ exit 1
+ ;;
+ *-kernel* )
+ echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2
+ exit 1
+ ;;
kfreebsd*-gnu* | kopensolaris*-gnu*)
;;
vxworks-simlinux | vxworks-simwindows | vxworks-spe)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdpyinfo-1.3.3/configure new/xdpyinfo-1.3.4/configure
--- old/xdpyinfo-1.3.3/configure 2022-04-07 22:46:58.000000000 +0200
+++ new/xdpyinfo-1.3.4/configure 2023-04-28 02:11:26.000000000 +0200
@@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for xdpyinfo 1.3.3.
+# Generated by GNU Autoconf 2.71 for xdpyinfo 1.3.4.
#
-# Report bugs to <https://gitlab.freedesktop.org/xorg/app/xdpyinfo/issues>.
+# Report bugs to <https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/issues>.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -268,7 +268,7 @@
printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
else
printf "%s\n" "$0: Please tell bug-autoconf(a)gnu.org and
-$0: https://gitlab.freedesktop.org/xorg/app/xdpyinfo/issues
+$0: https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/issues
$0: about your system, including any error possibly output
$0: before this message. Then install a modern shell, or
$0: manually run the script under such a shell if you do
@@ -612,9 +612,9 @@
# Identity of this package.
PACKAGE_NAME='xdpyinfo'
PACKAGE_TARNAME='xdpyinfo'
-PACKAGE_VERSION='1.3.3'
-PACKAGE_STRING='xdpyinfo 1.3.3'
-PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/app/xdpyinfo/issues'
+PACKAGE_VERSION='1.3.4'
+PACKAGE_STRING='xdpyinfo 1.3.4'
+PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/issues'
PACKAGE_URL=''
ac_unique_file="Makefile.am"
@@ -1401,7 +1401,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 xdpyinfo 1.3.3 to adapt to many kinds of systems.
+\`configure' configures xdpyinfo 1.3.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1472,7 +1472,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xdpyinfo 1.3.3:";;
+ short | recursive ) echo "Configuration of xdpyinfo 1.3.4:";;
esac
cat <<\_ACEOF
@@ -1497,7 +1497,7 @@
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--without-dga Disable dga support.
- --without-xf86misc Disable xf86misc support.
+ --with-xf86misc Enable xf86misc support.
--without-xinerama Disable xinerama support.
--with-dmx Enable dmx support.
--with-lint Use a lint-style source code checker (default:
@@ -1574,7 +1574,7 @@
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <https://gitlab.freedesktop.org/xorg/app/xdpyinfo/issues>.
+Report bugs to <https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/issues>.
_ACEOF
ac_status=$?
fi
@@ -1638,7 +1638,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xdpyinfo configure 1.3.3
+xdpyinfo configure 1.3.4
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1846,7 +1846,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xdpyinfo $as_me 1.3.3, which was
+It was created by xdpyinfo $as_me 1.3.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3120,7 +3120,7 @@
# Define the identity of the package.
PACKAGE='xdpyinfo'
- VERSION='1.3.3'
+ VERSION='1.3.4'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -4486,7 +4486,6 @@
-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
if test ${ac_cv_c_undeclared_builtin_options+y}
@@ -7151,7 +7150,7 @@
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
-# Turn some warnings into errors, so we don't accidently get successful builds
+# Turn some warnings into errors, so we don't accidentally get successful builds
# when there are problems that should be fixed.
if test "x$SELECTIVE_WERROR" = "xyes" ; then
@@ -11006,6 +11005,8 @@
+
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION_MAJOR `echo $PACKAGE_VERSION | cut -d . -f 1`
_ACEOF
@@ -11208,6 +11209,7 @@
+
# Checks for pkg-config packages
pkg_failed=no
@@ -11795,7 +11797,7 @@
then :
withval=$with_xf86misc; USE_XF86MISC="$withval"
else $as_nop
- USE_XF86MISC="yes"
+ USE_XF86MISC="no"
fi
if test "x$USE_XF86MISC" != "xno" ; then
@@ -13048,7 +13050,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xdpyinfo $as_me 1.3.3, which was
+This file was extended by xdpyinfo $as_me 1.3.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13108,7 +13110,7 @@
Configuration commands:
$config_commands
-Report bugs to <https://gitlab.freedesktop.org/xorg/app/xdpyinfo/issues>."
+Report bugs to <https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/issues>."
_ACEOF
ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
@@ -13116,7 +13118,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-xdpyinfo config.status 1.3.3
+xdpyinfo config.status 1.3.4
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/xdpyinfo-1.3.3/configure.ac new/xdpyinfo-1.3.4/configure.ac
--- old/xdpyinfo-1.3.3/configure.ac 2022-04-07 22:46:55.000000000 +0200
+++ new/xdpyinfo-1.3.4/configure.ac 2023-04-28 02:11:23.000000000 +0200
@@ -23,8 +23,8 @@
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([xdpyinfo], [1.3.3],
- [https://gitlab.freedesktop.org/xorg/app/xdpyinfo/issues], [xdpyinfo])
+AC_INIT([xdpyinfo], [1.3.4],
+ [https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/issues], [xdpyinfo])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
@@ -76,8 +76,8 @@
fi
-AC_ARG_WITH(xf86misc, AS_HELP_STRING([--without-xf86misc],[Disable xf86misc support.]),
- [USE_XF86MISC="$withval"], [USE_XF86MISC="yes"])
+AC_ARG_WITH(xf86misc, AS_HELP_STRING([--with-xf86misc],[Enable xf86misc support.]),
+ [USE_XF86MISC="$withval"], [USE_XF86MISC="no"])
if test "x$USE_XF86MISC" != "xno" ; then
PKG_CHECK_MODULES(DPY_XF86MISC, xxf86misc,
[SAVE_CPPFLAGS="$CPPFLAGS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdpyinfo-1.3.3/xdpyinfo.c new/xdpyinfo-1.3.4/xdpyinfo.c
--- old/xdpyinfo-1.3.3/xdpyinfo.c 2022-04-07 22:46:55.000000000 +0200
+++ new/xdpyinfo-1.3.4/xdpyinfo.c 2023-04-28 02:11:23.000000000 +0200
@@ -170,12 +170,10 @@
printf ("number of extensions: %d\n", n);
if (extlist) {
- int i;
-
qsort(extlist, (size_t)n, sizeof(char *), StrCmp);
if (!queryExtensions) {
- for (i = 0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
printf (" %s\n", extlist[i]);
}
} else {
@@ -192,7 +190,7 @@
* Generate all extension queries at once, so they can be
* sent to the xserver in a single batch
*/
- for (i = 0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
qe_cookies[i] = xcb_query_extension (xcb_conn,
(uint16_t)strlen(extlist[i]),
extlist[i]);
@@ -203,7 +201,7 @@
* The first call will flush the queue to the server, then
* each one will wait, if needed, for its reply.
*/
- for (i = 0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
xcb_query_extension_reply_t *rep
= xcb_query_extension_reply(xcb_conn, qe_cookies[i], NULL);
@@ -229,7 +227,7 @@
char dummybuf[40];
const char *cp;
int minkeycode, maxkeycode;
- int i, n;
+ int n;
long req_size;
XPixmapFormatValues *pmf;
Window focuswin;
@@ -364,7 +362,7 @@
printf ("number of supported pixmap formats: %d\n", n);
if (pmf) {
printf ("supported pixmap formats:\n");
- for (i = 0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
printf (" depth %d, bits_per_pixel %d, scanline_pad %d\n",
pmf[i].depth, pmf[i].bits_per_pixel, pmf[i].scanline_pad);
}
@@ -457,7 +455,6 @@
XVisualInfo viproto; /* fill in for getting info */
XVisualInfo *vip; /* returned info */
int nvi; /* number of elements returned */
- int i; /* temp variable: iterator */
char eventbuf[80]; /* want 79 chars per line + nul */
static const char *yes = "YES", *no = "NO", *when = "WHEN MAPPED";
double xres, yres;
@@ -487,7 +484,7 @@
depths = XListDepths (dpy, scr, &ndepths);
if (!depths) ndepths = 0;
printf (" depths (%d): ", ndepths);
- for (i = 0; i < ndepths; i++) {
+ for (int i = 0; i < ndepths; i++) {
printf ("%d", depths[i]);
if (i < ndepths - 1) {
putchar (',');
@@ -526,7 +523,7 @@
printf (" number of visuals: %d\n", nvi);
printf (" default visual id: 0x%lx\n",
XVisualIDFromVisual (DefaultVisual (dpy, scr)));
- for (i = 0; i < nvi; i++) {
+ for (int i = 0; i < nvi; i++) {
print_visual_info (vip+i);
}
if (vip) XFree ((char *) vip);
@@ -576,18 +573,16 @@
int indent, /* amount by which to indent */
long mask) /* event mask */
{
- struct _event_table *etp;
int len;
int bitsfound = 0;
buf[0] = buf[lastcol] = '\0'; /* just in case */
-#define INDENT() { register int i; len = indent; \
- for (i = 0; i < indent; i++) buf[i] = ' '; }
+#define INDENT() do { len = indent; memset(buf, ' ', indent); } while (0)
INDENT ();
- for (etp = event_table; etp->name; etp++) {
+ for (struct _event_table *etp = event_table; etp->name; etp++) {
if (mask & etp->value) {
if (len + MASK_NAME_WIDTH > lastcol) {
puts (buf);
@@ -627,11 +622,7 @@
static int
print_multibuf_info(Display *dpy, const char *extname)
{
- int i, j; /* temp variable: iterator */
- int nmono, nstereo; /* count */
- XmbufBufferInfo *mono_info = NULL, *stereo_info = NULL; /* arrays */
#define MULTIBUF_FMT " visual id, max buffers, depth: 0x%lx, %d, %d\n"
- int scr = 0;
int majorrev, minorrev;
if (!XmbufGetVersion(dpy, &majorrev, &minorrev))
@@ -639,8 +630,12 @@
print_standard_extension_info(dpy, extname, majorrev, minorrev);
- for (i = 0; i < ScreenCount (dpy); i++)
+ for (int i = 0; i < ScreenCount (dpy); i++)
{
+ int nmono, nstereo; /* count */
+ XmbufBufferInfo *mono_info = NULL, *stereo_info = NULL; /* arrays */
+ const int scr = 0;
+
if (!XmbufGetScreenInfo (dpy, RootWindow(dpy, scr), &nmono, &mono_info,
&nstereo, &stereo_info)) {
fprintf (stderr,
@@ -648,12 +643,12 @@
ProgramName, scr);
} else {
printf (" screen %d number of mono multibuffer types: %d\n", i, nmono);
- for (j = 0; j < nmono; j++) {
+ for (int j = 0; j < nmono; j++) {
printf (MULTIBUF_FMT, mono_info[j].visualid,
mono_info[j].max_buffers, mono_info[j].depth);
}
printf (" number of stereo multibuffer types: %d\n", nstereo);
- for (j = 0; j < nstereo; j++) {
+ for (int j = 0; j < nstereo; j++) {
printf (MULTIBUF_FMT, stereo_info[j].visualid,
stereo_info[j].max_buffers, stereo_info[j].depth);
}
@@ -681,7 +676,7 @@
{
int majorrev, minorrev;
XSyncSystemCounter *syscounters;
- int ncounters, i;
+ int ncounters;
if (!XSyncInitialize(dpy, &majorrev, &minorrev))
return 0;
@@ -689,7 +684,7 @@
syscounters = XSyncListSystemCounters(dpy, &ncounters);
printf(" system counters: %d\n", ncounters);
- for (i = 0; i < ncounters; i++)
+ for (int i = 0; i < ncounters; i++)
{
printf(" %s id: 0x%08x resolution_lo: %d resolution_hi: %d\n",
syscounters[i].name, (unsigned int)syscounters[i].counter,
@@ -768,7 +763,7 @@
unsigned int flags)
{
printf(" %6.2f %4d %4d %4d %4d %4d %4d %4d %4d ",
- (float)dotclock/1000.0,
+ dotclock/1000.0,
hdisplay, hsyncstart, hsyncend, htotal,
vdisplay, vsyncstart, vsyncend, vtotal);
if (flags & V_PHSYNC) printf(" +hsync");
@@ -786,10 +781,8 @@
static int
print_XF86VidMode_info(Display *dpy, const char *extname)
{
- int majorrev, minorrev, modecount, dotclock, i;
+ int majorrev, minorrev;
XF86VidModeMonitor monitor;
- XF86VidModeModeLine modeline;
- XF86VidModeModeInfo **modelines;
if (!XF86VidModeQueryVersion(dpy, &majorrev, &minorrev))
return 0;
@@ -802,11 +795,11 @@
monitor.model == NULL ? "" : monitor.model);
printf(" Num hsync: %d, Num vsync: %d\n",
monitor.nhsync, monitor.nvsync);
- for (i = 0; i < monitor.nhsync; i++) {
+ for (int i = 0; i < monitor.nhsync; i++) {
printf(" hsync range %d: %6.2f - %6.2f\n", i,
monitor.hsync[i].lo, monitor.hsync[i].hi);
}
- for (i = 0; i < monitor.nvsync; i++) {
+ for (int i = 0; i < monitor.nvsync; i++) {
printf(" vsync range %d: %6.2f - %6.2f\n", i,
monitor.vsync[i].lo, monitor.vsync[i].hi);
}
@@ -819,11 +812,15 @@
}
if ((majorrev > 0) || (majorrev == 0 && minorrev > 5)) {
+ int modecount, dotclock;
+ XF86VidModeModeLine modeline;
+ XF86VidModeModeInfo **modelines;
+
if (XF86VidModeGetAllModeLines(dpy, DefaultScreen(dpy), &modecount,
&modelines)) {
printf(" Available Video Mode Settings:\n");
printf(" Clock Hdsp Hbeg Hend Httl Vdsp Vbeg Vend Vttl Flags\n");
- for (i = 0; i < modecount; i++) {
+ for (int i = 0; i < modecount; i++) {
print_XF86VidMode_modeline
(modelines[i]->dotclock, modelines[i]->hdisplay,
modelines[i]->hsyncstart, modelines[i]->hsyncend,
@@ -872,8 +869,6 @@
print_XF86Misc_info(Display *dpy, const char *extname)
{
int majorrev, minorrev;
- XF86MiscMouseSettings mouseinfo;
- XF86MiscKbdSettings kbdinfo;
if (!XF86MiscQueryVersion(dpy, &majorrev, &minorrev))
return 0;
@@ -882,6 +877,9 @@
old_handler = XSetErrorHandler(silent_errors);
if ((majorrev > 0) || (majorrev == 0 && minorrev > 0)) {
+ XF86MiscKbdSettings kbdinfo;
+ XF86MiscMouseSettings mouseinfo;
+
if (!XF86MiscGetKbdSettings(dpy, &kbdinfo))
return 0;
printf(" Keyboard Settings- Type: %s, Rate: %d, Delay: %d, ServerNumLock: %s\n",
@@ -971,17 +969,16 @@
int majorrev, minorrev;
XdbeScreenVisualInfo *svi;
int numscreens = 0;
- int iscrn, ivis;
if (!XdbeQueryExtension(dpy, &majorrev, &minorrev))
return 0;
print_standard_extension_info(dpy, extname, majorrev, minorrev);
svi = XdbeGetVisualInfo(dpy, (Drawable *)NULL, &numscreens);
- for (iscrn = 0; iscrn < numscreens; iscrn++)
+ for (int iscrn = 0; iscrn < numscreens; iscrn++)
{
printf(" Double-buffered visuals on screen %d\n", iscrn);
- for (ivis = 0; ivis < svi[iscrn].count; ivis++)
+ for (int ivis = 0; ivis < svi[iscrn].count; ivis++)
{
printf(" visual id 0x%lx depth %d perflevel %d\n",
svi[iscrn].visinfo[ivis].visual,
@@ -1008,9 +1005,8 @@
static int
print_xinput_info(Display *dpy, const char *extname)
{
- int loop, num_extensions, num_devices;
+ int loop, num_extensions;
char **extensions;
- XDeviceInfo *devices;
XExtensionVersion *ext;
ext = XGetExtensionVersion(dpy, extname);
@@ -1027,6 +1023,9 @@
(strcmp(extensions[loop], extname) != 0); loop++);
XFreeExtensionList(extensions);
if (loop != num_extensions) {
+ int num_devices;
+ XDeviceInfo *devices;
+
printf(" Extended devices :\n");
devices = XListInputDevices(dpy, &num_devices);
for(loop=0; loop<num_devices; loop++) {
@@ -1070,18 +1069,7 @@
{
int loop, num_extensions;
char **extensions;
- XRenderPictFormat *pictform;
- int count;
int major, minor;
- int i, j;
- XVisualInfo viproto; /* fill in for getting info */
- XVisualInfo *vip; /* returned info */
- int nvi; /* number of elements returned */
- int ndepths = 0, *depths = NULL;
-#if RENDER_MAJOR > 0 || RENDER_MINOR >= 6
- XFilters *filters;
- int f;
-#endif
if (!XRenderQueryVersion (dpy, &major, &minor))
return 0;
@@ -1093,8 +1081,11 @@
(strcmp(extensions[loop], extname) != 0); loop++);
XFreeExtensionList(extensions);
if (loop != num_extensions) {
+ XRenderPictFormat *pictform;
+
printf (" Render formats :\n");
- for (count = 0; (pictform = XRenderFindFormat (dpy, 0, NULL, count)); count++)
+ for (int count = 0; (pictform = XRenderFindFormat (dpy, 0, NULL, count));
+ count++)
{
printf (" pict format:\n");
printf ("\tformat id: 0x%lx\n", pictform->id);
@@ -1111,7 +1102,15 @@
printf("\tcolormap 0x%lx\n", pictform->colormap);
}
printf (" Screen formats :\n");
- for (i = 0; i < ScreenCount (dpy); i++) {
+ for (int i = 0; i < ScreenCount (dpy); i++) {
+ int nvi; /* number of elements returned */
+ XVisualInfo viproto; /* fill in for getting info */
+ XVisualInfo *vip; /* returned info */
+ int ndepths = 0, *depths = NULL;
+#if RENDER_MAJOR > 0 || RENDER_MINOR >= 6
+ XFilters *filters;
+#endif
+
nvi = 0;
viproto.screen = i;
vip = XGetVisualInfo (dpy, VisualScreenMask, &viproto, &nvi);
@@ -1130,7 +1129,7 @@
if (filters)
{
printf (" filters: ");
- for (f = 0; f < filters->nfilter; f++)
+ for (int f = 0; f < filters->nfilter; f++)
{
printf ("%s", filters->filter[f]);
if (f < filters->nalias && filters->alias[f] != FilterAliasNone)
@@ -1142,7 +1141,7 @@
}
#endif
printf ("\n");
- for (j = 0; j < nvi; j++)
+ for (int j = 0; j < nvi; j++)
{
printf (" visual format:\n");
printf (" visual id: 0x%lx\n", vip[j].visualid);
@@ -1155,15 +1154,18 @@
if (vip) XFree ((char *) vip);
depths = XListDepths (dpy, i, &ndepths);
if (!depths) ndepths = 0;
- for (j = 0; j < ndepths; j++)
+ for (int j = 0; j < ndepths; j++)
{
XRenderPictFormat templ;
templ.depth = depths[j];
printf (" depth formats:\n");
printf (" depth %d\n", depths[j]);
- for (count = 0; (pictform = XRenderFindFormat (dpy, PictFormatDepth, &templ, count)); count++)
+ for (int count = 0;
+ (pictform = XRenderFindFormat (dpy, PictFormatDepth, &templ, count));
+ count++) {
printf(" pict format id: 0x%lx\n", pictform->id);
+ }
}
if (depths) XFree (depths);
}
@@ -1204,10 +1206,10 @@
if (!XineramaIsActive(dpy)) {
printf(" Xinerama is inactive.\n");
} else {
- int i, count = 0;
+ int count = 0;
XineramaScreenInfo *xineramaScreens = XineramaQueryScreens(dpy, &count);
- for (i = 0; i < count; i++) {
+ for (int i = 0; i < count; i++) {
XineramaScreenInfo *xs = &xineramaScreens[i];
printf(" head #%d: %dx%d @ %d,%d\n", xs->screen_number,
xs->width, xs->height, xs->x_org, xs->y_org);
@@ -1233,10 +1235,7 @@
{
int event_base, error_base;
int major_version, minor_version, patch_version;
- DMXScreenAttributes sinfo;
- DMXInputAttributes iinfo;
int count;
- int i;
if (!DMXQueryExtension(dpy, &event_base, &error_base)
|| !DMXQueryVersion(dpy, &major_version, &minor_version,
@@ -1246,7 +1245,9 @@
if (!DMXGetScreenCount(dpy, &count)) return 1;
printf(" Screen count: %d\n", count);
- for (i = 0; i < count; i++) {
+ for (int i = 0; i < count; i++) {
+ DMXScreenAttributes sinfo;
+
if (DMXGetScreenAttributes(dpy, i, &sinfo)) {
printf(" %2d %s %ux%u+%d+%d %d @%dx%d\n",
i, sinfo.displayName,
@@ -1263,7 +1264,8 @@
return 1;
printf(" Input count = %d\n", count);
- for (i = 0; i < count; i++) {
+ for (int i = 0; i < count; i++) {
+ DMXInputAttributes iinfo;
#ifdef XINPUT
Display *backend;
char *backendname = NULL;
@@ -1286,11 +1288,11 @@
if (ext
&& ext != (XExtensionVersion *)NoSuchExtension) {
- int dcount, d;
+ int dcount;
XDeviceInfo *devInfo = XListInputDevices(backend,
&dcount);
if (devInfo) {
- for (d = 0; d < dcount; d++) {
+ for (int d = 0; d < dcount; d++) {
if ((unsigned)iinfo.physicalId
== devInfo[d].id
&& devInfo[d].name) {
@@ -1403,16 +1405,14 @@
static void
mark_extension_for_printing(const char *extname)
{
- int i;
-
if (strcmp(extname, "all") == 0)
{
- for (i = 0; i < num_known_extensions; i++)
+ for (int i = 0; i < num_known_extensions; i++)
known_extensions[i].printit = True;
}
else
{
- for (i = 0; i < num_known_extensions; i++)
+ for (int i = 0; i < num_known_extensions; i++)
{
if (strcmp(extname, known_extensions[i].extname) == 0)
{
@@ -1427,8 +1427,7 @@
static void
print_marked_extensions(Display *dpy)
{
- int i;
- for (i = 0; i < num_known_extensions; i++)
+ for (int i = 0; i < num_known_extensions; i++)
{
if (known_extensions[i].printit)
{
@@ -1462,11 +1461,10 @@
{
Display *dpy; /* X connection */
char *displayname = NULL; /* server to contact */
- int i; /* temp variable: iterator */
ProgramName = argv[0];
- for (i = 1; i < argc; i++) {
+ for (int i = 1; i < argc; i++) {
char *arg = argv[i];
size_t len = strlen(arg);
@@ -1504,7 +1502,7 @@
}
print_display_info (dpy);
- for (i = 0; i < ScreenCount (dpy); i++) {
+ for (int i = 0; i < ScreenCount (dpy); i++) {
print_screen_info (dpy, i);
}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libxmlb for openSUSE:Factory checked in at 2023-04-29 17:27:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxmlb (Old)
and /work/SRC/openSUSE:Factory/.libxmlb.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxmlb"
Sat Apr 29 17:27:42 2023 rev:11 rq:1083359 version:0.3.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/libxmlb/libxmlb.changes 2023-01-21 19:10:07.492806483 +0100
+++ /work/SRC/openSUSE:Factory/.libxmlb.new.1533/libxmlb.changes 2023-04-29 17:27:50.650467709 +0200
@@ -1,0 +2,9 @@
+Thu Apr 27 22:24:36 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 0.3.11:
+ * Add limited support for XPath 1.0 'in' (Richard Hughes)
+ * Add support for zstd (Richard Hughes)
+ * Do not assert() when decompressing invalid LZMA (Richard
+ Hughes)
+
+-------------------------------------------------------------------
Old:
----
libxmlb-0.3.10.tar.gz
New:
----
libxmlb-0.3.11.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libxmlb.spec ++++++
--- /var/tmp/diff_new_pack.m1qkf4/_old 2023-04-29 17:27:51.094469569 +0200
+++ /var/tmp/diff_new_pack.m1qkf4/_new 2023-04-29 17:27:51.106469619 +0200
@@ -19,7 +19,7 @@
%define sover 2
Name: libxmlb
-Version: 0.3.10
+Version: 0.3.11
Release: 0
Summary: Library for querying compressed XML metadata
License: LGPL-2.1-or-later
@@ -36,6 +36,7 @@
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: pkgconfig(liblzma)
+BuildRequires: pkgconfig(libzstd)
# Needed for the self tests
BuildRequires: pkgconfig(shared-mime-info)
%{?suse_build_hwcaps_libs}
++++++ libxmlb-0.3.10.tar.gz -> libxmlb-0.3.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/.clang-tidy new/libxmlb-0.3.11/.clang-tidy
--- old/libxmlb-0.3.10/.clang-tidy 1970-01-01 01:00:00.000000000 +0100
+++ new/libxmlb-0.3.11/.clang-tidy 2023-02-20 10:48:39.000000000 +0100
@@ -0,0 +1,42 @@
+---
+Checks: "-*,\
+bugprone-*,\
+-bugprone-assignment-in-if-condition,\
+-bugprone-easily-swappable-parameters,\
+-bugprone-implicit-widening-of-multiplication-result,\
+-bugprone-macro-parentheses,\
+-bugprone-misplaced-widening-cast,\
+-bugprone-narrowing-conversions,\
+-bugprone-reserved-identifier,\
+-bugprone-too-small-loop-variable,\
+-bugprone-unchecked-optional-access,\
+misc-*,\
+-misc-confusable-identifiers,\
+-misc-const-correctness,\
+-misc-non-private-member-variables-in-classes,\
+-misc-no-recursion,\
+-misc-static-assert,\
+-misc-unused-parameters,\
+modernize-*,\
+-modernize-macro-to-enum,\
+-modernize-use-trailing-return-type,\
+-modernize-use-transparent-functors,\
+performance-*,\
+-performance-inefficient-vector-operation,\
+-performance-no-int-to-ptr,\
+readability-*,\
+-readability-avoid-const-params-in-decls,\
+-readability-braces-around-statements,\
+-readability-function-cognitive-complexity,\
+-readability-identifier-length,\
+-readability-identifier-naming,\
+-readability-implicit-bool-conversion,\
+-readability-isolate-declaration,\
+-readability-magic-numbers,\
+-readability-non-const-parameter,\
+-readability-qualified-auto,\
+-readability-redundant-declaration,\
+-readability-suspicious-call-argument,\
+-readability-uppercase-literal-suffix,\
+"
+...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/NEWS new/libxmlb-0.3.11/NEWS
--- old/libxmlb-0.3.10/NEWS 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/NEWS 2023-02-20 10:48:39.000000000 +0100
@@ -1,3 +1,14 @@
+Version 0.3.11
+~~~~~~~~~~~~~~
+Released: 2023-02-20
+
+New Features:
+ - Add limited support for XPath 1.0 'in' (Richard Hughes)
+ - Add support for zstd (Richard Hughes)
+
+Bugfixes:
+ - Do not assert() when decompressing invalid LZMA (Richard Hughes)
+
Version 0.3.10
~~~~~~~~~~~~~~
Released: 2022-09-11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/RELEASE new/libxmlb-0.3.11/RELEASE
--- old/libxmlb-0.3.10/RELEASE 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/RELEASE 2023-02-20 10:48:39.000000000 +0100
@@ -2,11 +2,11 @@
1. Write NEWS entries for libxmlb in the same format as usual.
-git shortlog 0.3.9.. | grep -i -v trivial | grep -v Merge > NEWS.new
+git shortlog 0.3.10.. | grep -i -v trivial | grep -v Merge > NEWS.new
-Version 0.3.10
+Version 0.3.11
~~~~~~~~~~~~~~
-Released: 2022-xx-xx
+Released: 2023-xx-xx
New Features:
Bugfixes:
@@ -15,7 +15,7 @@
Commit changes to git:
# MAKE SURE THESE ARE CORRECT
-export release_ver="0.3.10"
+export release_ver="0.3.11"
git commit -a -m "Release libxmlb ${release_ver}" --no-verify
git tag -s -f -m "Release libxmlb ${release_ver}" "${release_ver}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/contrib/ci/Dockerfile-debian new/libxmlb-0.3.11/contrib/ci/Dockerfile-debian
--- old/libxmlb-0.3.10/contrib/ci/Dockerfile-debian 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/contrib/ci/Dockerfile-debian 2023-02-20 10:48:39.000000000 +0100
@@ -15,10 +15,11 @@
python3-wheel \
shared-mime-info \
liblzma-dev \
+ libzstd-dev \
uuid-dev \
pkg-config
# Meson is too old in unstable, and that won't change until Buster is released
-RUN pip3 install meson
+RUN pip3 install meson --break-system-packages
WORKDIR /build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/contrib/ci/Dockerfile-fedora new/libxmlb-0.3.11/contrib/ci/Dockerfile-fedora
--- old/libxmlb-0.3.10/contrib/ci/Dockerfile-fedora 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/contrib/ci/Dockerfile-fedora 2023-02-20 10:48:39.000000000 +0100
@@ -5,6 +5,7 @@
diffutils \
gcovr \
xz-devel \
+ libzstd-devel \
git-core \
glib2-devel \
gobject-introspection-devel \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/contrib/ci/Dockerfile-fedora-w64 new/libxmlb-0.3.11/contrib/ci/Dockerfile-fedora-w64
--- old/libxmlb-0.3.10/contrib/ci/Dockerfile-fedora-w64 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/contrib/ci/Dockerfile-fedora-w64 2023-02-20 10:48:39.000000000 +0100
@@ -7,6 +7,7 @@
git-core \
meson \
mingw64-xz-libs \
+ mingw64-zstd \
mingw64-gcc \
mingw64-glib2 \
mingw64-pkg-config \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/contrib/libxmlb.spec.in new/libxmlb-0.3.11/contrib/libxmlb.spec.in
--- old/libxmlb-0.3.10/contrib/libxmlb.spec.in 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/contrib/libxmlb.spec.in 2023-02-20 10:48:39.000000000 +0100
@@ -16,6 +16,7 @@
BuildRequires: meson
BuildRequires: gobject-introspection-devel
BuildRequires: xz-devel
+BuildRequires: libzstd-devel
%if 0%{?rhel} == 7
BuildRequires: python36-setuptools
%else
Binary files old/libxmlb-0.3.10/data/test.xml.zstd and new/libxmlb-0.3.11/data/test.xml.zstd differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/meson.build new/libxmlb-0.3.11/meson.build
--- old/libxmlb-0.3.10/meson.build 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/meson.build 2023-02-20 10:48:39.000000000 +0100
@@ -1,5 +1,5 @@
project('libxmlb', 'c',
- version : '0.3.10',
+ version : '0.3.11',
license : 'LGPL-2.1+',
meson_version : '>=0.47.0',
default_options : ['warning_level=2', 'c_std=c99'],
@@ -119,6 +119,7 @@
gio = dependency('gio-2.0', version : '>= 2.45.8')
giounix = dependency('gio-unix-2.0', version : '>= 2.45.8', required: false)
lzma = dependency('liblzma')
+zstd = dependency('libzstd')
if giounix.found()
conf.set('HAVE_GIO_UNIX', '1')
endif
@@ -132,6 +133,7 @@
libxmlb_deps = [
gio,
lzma,
+ zstd,
]
# support stemming of search tokens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/meson.build new/libxmlb-0.3.11/src/meson.build
--- old/libxmlb-0.3.10/src/meson.build 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/meson.build 2023-02-20 10:48:39.000000000 +0100
@@ -49,6 +49,7 @@
'xb-builder-source-ctx.c',
'xb-common.c',
'xb-lzma-decompressor.c',
+ 'xb-zstd-decompressor.c',
'xb-machine.c',
'xb-opcode.c',
'xb-node.c',
@@ -220,6 +221,7 @@
'xb-builder-source-ctx.c',
'xb-common.c',
'xb-lzma-decompressor.c',
+ 'xb-zstd-decompressor.c',
'xb-machine.c',
'xb-node.c',
'xb-node-query.c',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-builder-source-ctx-private.h new/libxmlb-0.3.11/src/xb-builder-source-ctx-private.h
--- old/libxmlb-0.3.10/src/xb-builder-source-ctx-private.h 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-builder-source-ctx-private.h 2023-02-20 10:48:39.000000000 +0100
@@ -6,8 +6,6 @@
#pragma once
-#include <glib-object.h>
-
#include "xb-builder-source-ctx.h"
G_BEGIN_DECLS
@@ -15,7 +13,7 @@
XbBuilderSourceCtx *
xb_builder_source_ctx_new(GFile *file, GInputStream *istream);
void
-xb_builder_source_ctx_set_filename(XbBuilderSourceCtx *self, const gchar *filename);
+xb_builder_source_ctx_set_filename(XbBuilderSourceCtx *self, const gchar *basename);
gchar *
xb_builder_source_ctx_get_content_type(XbBuilderSourceCtx *self,
GCancellable *cancellable,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-builder-source-ctx.h new/libxmlb-0.3.11/src/xb-builder-source-ctx.h
--- old/libxmlb-0.3.10/src/xb-builder-source-ctx.h 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-builder-source-ctx.h 2023-02-20 10:48:39.000000000 +0100
@@ -6,7 +6,7 @@
#pragma once
-#include <glib-object.h>
+#include <gio/gio.h>
G_BEGIN_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-builder-source.c new/libxmlb-0.3.11/src/xb-builder-source.c
--- old/libxmlb-0.3.10/src/xb-builder-source.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-builder-source.c 2023-02-20 10:48:39.000000000 +0100
@@ -15,6 +15,7 @@
#include "xb-builder-source-ctx-private.h"
#include "xb-builder-source-private.h"
#include "xb-lzma-decompressor.h"
+#include "xb-zstd-decompressor.h"
typedef struct {
GInputStream *istream;
@@ -527,6 +528,18 @@
return g_converter_input_stream_new(istream, conv);
}
+static GInputStream *
+xb_builder_source_load_zstd_cb(XbBuilderSource *self,
+ XbBuilderSourceCtx *ctx,
+ gpointer user_data,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GInputStream *istream = xb_builder_source_ctx_get_stream(ctx);
+ g_autoptr(GConverter) conv = G_CONVERTER(xb_zstd_decompressor_new());
+ return g_converter_input_stream_new(istream, conv);
+}
+
static void
xb_builder_source_adapter_free(XbBuilderSourceAdapter *item)
{
@@ -581,6 +594,11 @@
xb_builder_source_load_lzma_cb,
NULL,
NULL);
+ xb_builder_source_add_adapter(self,
+ "application/zstd",
+ xb_builder_source_load_zstd_cb,
+ NULL,
+ NULL);
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-common-private.h new/libxmlb-0.3.11/src/xb-common-private.h
--- old/libxmlb-0.3.10/src/xb-common-private.h 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-common-private.h 2023-02-20 10:48:39.000000000 +0100
@@ -6,7 +6,7 @@
#pragma once
-#include <glib.h>
+#include <gio/gio.h>
gchar *
xb_content_type_guess(const gchar *filename, const guchar *buf, gsize bufsz);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-common.c new/libxmlb-0.3.11/src/xb-common.c
--- old/libxmlb-0.3.10/src/xb-common.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-common.c 2023-02-20 10:48:39.000000000 +0100
@@ -8,7 +8,6 @@
#include "config.h"
-#include <gio/gio.h>
#include <string.h>
#include "xb-common-private.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-lzma-decompressor.c new/libxmlb-0.3.11/src/xb-lzma-decompressor.c
--- old/libxmlb-0.3.10/src/xb-lzma-decompressor.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-lzma-decompressor.c 2023-02-20 10:48:39.000000000 +0100
@@ -117,10 +117,45 @@
"Invalid compressed data");
return G_CONVERTER_ERROR;
}
+ if (res == LZMA_UNSUPPORTED_CHECK) {
+ g_set_error_literal(error,
+ G_IO_ERROR,
+ G_IO_ERROR_NOT_SUPPORTED,
+ "Cannot calculate the integrity check");
+ return G_CONVERTER_ERROR;
+ }
if (res == LZMA_MEM_ERROR) {
g_set_error_literal(error, G_IO_ERROR, G_IO_ERROR_FAILED, "Not enough memory");
return G_CONVERTER_ERROR;
}
+ if (res == LZMA_FORMAT_ERROR) {
+ g_set_error_literal(error,
+ G_IO_ERROR,
+ G_IO_ERROR_NOT_SUPPORTED,
+ "File format not recognized");
+ return G_CONVERTER_ERROR;
+ }
+ if (res == LZMA_OPTIONS_ERROR) {
+ g_set_error_literal(error,
+ G_IO_ERROR,
+ G_IO_ERROR_NOT_SUPPORTED,
+ "Invalid or unsupported options");
+ return G_CONVERTER_ERROR;
+ }
+ if (res == LZMA_BUF_ERROR) {
+ g_set_error_literal(error,
+ G_IO_ERROR,
+ G_IO_ERROR_INVALID_DATA,
+ "No progress is possible");
+ return G_CONVERTER_ERROR;
+ }
+ if (res == LZMA_PROG_ERROR) {
+ g_set_error_literal(error,
+ G_IO_ERROR,
+ G_IO_ERROR_INVALID_ARGUMENT,
+ "Programming error");
+ return G_CONVERTER_ERROR;
+ }
if (res == LZMA_OK || res == LZMA_STREAM_END) {
*bytes_read = inbuf_size - self->lzmastream.avail_in;
*bytes_written = outbuf_size - self->lzmastream.avail_out;
@@ -129,7 +164,9 @@
return G_CONVERTER_CONVERTED;
}
- g_assert_not_reached();
+ /* fallback */
+ g_set_error(error, G_IO_ERROR, G_IO_ERROR_FAILED, "Unhandled error code %u", res);
+ return G_CONVERTER_ERROR;
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-machine.c new/libxmlb-0.3.11/src/xb-machine.c
--- old/libxmlb-0.3.10/src/xb-machine.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-machine.c 2023-02-20 10:48:39.000000000 +0100
@@ -61,6 +61,8 @@
GDestroyNotify user_data_free;
} XbMachineMethodItem;
+#define XB_MACHINE_STACK_LEVELS_MAX 20
+
/**
* xb_machine_set_debug_flags:
* @self: a #XbMachine
@@ -248,7 +250,11 @@
}
static gboolean
-xb_machine_parse_add_func(XbMachine *self, XbStack *opcodes, const gchar *func_name, GError **error)
+xb_machine_parse_add_func(XbMachine *self,
+ XbStack *opcodes,
+ const gchar *func_name,
+ guint8 level,
+ GError **error)
{
XbOpcode *opcode;
@@ -265,6 +271,7 @@
xb_stack_pop(opcodes, NULL, NULL);
return FALSE;
}
+ xb_opcode_set_level(opcode, level);
return TRUE;
}
@@ -344,6 +351,7 @@
XbStack *opcodes,
const gchar *text,
gssize text_len,
+ guint8 level,
GError **error)
{
XbMachinePrivate *priv = GET_PRIVATE(self);
@@ -370,10 +378,18 @@
for (guint i = 0; i < priv->text_handlers->len; i++) {
XbMachineTextHandlerItem *item = g_ptr_array_index(priv->text_handlers, i);
gboolean handled = FALSE;
+ guint opcodes_sz = xb_stack_get_size(opcodes);
if (!item->handler_cb(self, opcodes, str, &handled, item->user_data, error))
return FALSE;
- if (handled)
+ if (handled) {
+ /* ideally the XbMachineTextHandlerFunc would contain a `guint8 level` but
+ * that is now public ABI. Just fixup the level for any added opcodes */
+ for (guint j = xb_stack_get_size(opcodes); j > opcodes_sz; j--) {
+ XbOpcode *op_tmp = xb_stack_peek(opcodes, j - 1);
+ xb_opcode_set_level(op_tmp, level);
+ }
return TRUE;
+ }
}
/* quoted text */
@@ -384,6 +400,7 @@
if (!xb_stack_push(opcodes, &opcode, error))
return FALSE;
xb_opcode_text_init_steal(opcode, g_steal_pointer(&tmp));
+ xb_opcode_set_level(opcode, level);
return TRUE;
}
}
@@ -400,6 +417,7 @@
g_steal_pointer(&tmp),
XB_SILO_UNSET,
g_free);
+ xb_opcode_set_level(opcode, level);
return TRUE;
}
}
@@ -410,6 +428,7 @@
if (!xb_stack_push(opcodes, &opcode, error))
return FALSE;
xb_opcode_bind_init(opcode);
+ xb_opcode_set_level(opcode, level);
return TRUE;
}
@@ -419,6 +438,7 @@
if (!xb_stack_push(opcodes, &opcode, error))
return FALSE;
xb_opcode_integer_init(opcode, val);
+ xb_opcode_set_level(opcode, level);
return TRUE;
}
@@ -437,6 +457,7 @@
const gchar *text,
gssize text_len,
gboolean is_method,
+ guint8 level,
GError **error)
{
XbMachinePrivate *priv = GET_PRIVATE(self);
@@ -450,63 +471,90 @@
for (gssize i = 0; i < text_len; i++) {
for (guint j = 0; j < priv->operators->len; j++) {
XbMachineOperator *op = g_ptr_array_index(priv->operators, j);
- if (strncmp(text + i, op->str, op->strsz) == 0) {
- if (is_method) {
- /* after then before */
+ if (strncmp(text + i, op->str, op->strsz) != 0)
+ continue;
+ if (is_method) {
+ XbOpcode *op_tail;
+ const gchar *op_name = op->name;
+
+ /* after then before */
+ if (!xb_machine_parse_section(self,
+ opcodes,
+ text + i + op->strsz,
+ -1,
+ is_method,
+ level,
+ error))
+ return FALSE;
+ if (i > 0) {
if (!xb_machine_parse_section(self,
opcodes,
- text + i + op->strsz,
- -1,
- is_method,
+ text,
+ i,
+ FALSE,
+ level,
error))
return FALSE;
- if (i > 0) {
- if (!xb_machine_parse_section(self,
- opcodes,
- text,
- i,
- FALSE,
- error))
- return FALSE;
- }
- if (!xb_machine_parse_add_func(self,
- opcodes,
- op->name,
- error))
- return FALSE;
- } else {
- /* before then after */
- if (i > 0) {
- if (!xb_machine_parse_section(self,
- opcodes,
- text,
- i,
- FALSE,
- error))
- return FALSE;
- }
+ }
+
+ /* multiple "eq" sections are converted to "in" */
+ op_tail = xb_stack_peek_tail(opcodes);
+ if (op_tail != NULL && xb_opcode_get_level(op_tail) != level &&
+ g_strcmp0(op_name, "eq") == 0)
+ op_name = "in";
+ if (!xb_machine_parse_add_func(self,
+ opcodes,
+ op_name,
+ level,
+ error))
+ return FALSE;
+ } else {
+ /* before then after */
+ if (i > 0) {
if (!xb_machine_parse_section(self,
opcodes,
- text + i + op->strsz,
- -1,
- is_method,
+ text,
+ i,
+ FALSE,
+ level,
error))
return FALSE;
- if (!xb_machine_parse_add_func(self,
- opcodes,
- op->name,
- error))
- return FALSE;
}
- return TRUE;
+ if (!xb_machine_parse_section(self,
+ opcodes,
+ text + i + op->strsz,
+ -1,
+ is_method,
+ level,
+ error))
+ return FALSE;
+ if (!xb_machine_parse_add_func(self,
+ opcodes,
+ op->name,
+ level,
+ error))
+ return FALSE;
}
+ return TRUE;
}
}
/* nothing matched */
- if (is_method)
- return xb_machine_parse_add_func(self, opcodes, text, error);
- return xb_machine_parse_add_text(self, opcodes, text, text_len, error);
+ if (is_method) {
+ g_autoptr(GError) error_local = NULL;
+ if (!xb_machine_parse_add_text(self,
+ opcodes,
+ text,
+ text_len,
+ level,
+ &error_local)) {
+ if (priv->debug_flags & XB_MACHINE_DEBUG_FLAG_SHOW_PARSING)
+ g_debug("Failed to add text %s, trying function", text);
+ return xb_machine_parse_add_func(self, opcodes, text, level, error);
+ }
+ return TRUE;
+ }
+ return xb_machine_parse_add_text(self, opcodes, text, text_len, level, error);
}
static gboolean
@@ -515,6 +563,7 @@
const gchar *text,
gsize text_len,
gboolean is_method,
+ guint8 level,
GError **error)
{
g_autofree gchar *tmp = NULL;
@@ -531,7 +580,11 @@
if (tmp[i] == ',') {
tmp[i] = '\0';
if (is_method) {
- if (!xb_machine_parse_add_func(self, opcodes, tmp + i + 1, error))
+ if (!xb_machine_parse_add_func(self,
+ opcodes,
+ tmp + i + 1,
+ level,
+ error))
return FALSE;
is_method = FALSE;
} else {
@@ -540,13 +593,14 @@
tmp + i + 1,
-1,
TRUE,
+ level,
error))
return FALSE;
}
}
}
if (tmp[0] != '\0') {
- if (!xb_machine_parse_section(self, opcodes, tmp, -1, is_method, error))
+ if (!xb_machine_parse_section(self, opcodes, tmp, -1, is_method, level, error))
return FALSE;
}
return TRUE;
@@ -582,7 +636,7 @@
g_auto(XbOpcode) op_result = XB_OPCODE_INIT();
g_auto(XbOpcode) op_owned = op;
- /* a function! lets check the arg length */
+ /* not a function */
if (xb_opcode_get_kind(&op) != XB_OPCODE_KIND_FUNCTION) {
XbOpcode *op_out;
if (!xb_stack_push(results, &op_out, error))
@@ -632,6 +686,7 @@
}
if (!xb_stack_push(results, &op_out, error))
return FALSE;
+ xb_opcode_set_level(&op_result, xb_opcode_get_level(&op));
*op_out = xb_opcode_steal(&op_result);
return TRUE;
@@ -691,14 +746,14 @@
XbStack *opcodes,
const gchar *text,
gsize text_len,
- guint level,
+ guint8 level,
GError **error)
{
XbMachinePrivate *priv = GET_PRIVATE(self);
guint tail = 0;
/* sanity check */
- if (level > 20) {
+ if (level > XB_MACHINE_STACK_LEVELS_MAX) {
g_autofree gchar *tmp = g_strndup(text, text_len);
g_set_error(error,
G_IO_ERROR,
@@ -725,6 +780,7 @@
text + tail,
i - tail,
TRUE,
+ level,
error))
return G_MAXSIZE;
i += j;
@@ -737,6 +793,7 @@
text + tail,
i - tail,
FALSE,
+ level,
error))
return G_MAXSIZE;
return i + 1;
@@ -751,7 +808,13 @@
tmp);
return G_MAXSIZE;
}
- if (!xb_machine_parse_sections(self, opcodes, text + tail, text_len - tail, FALSE, error))
+ if (!xb_machine_parse_sections(self,
+ opcodes,
+ text + tail,
+ text_len - tail,
+ FALSE,
+ level,
+ error))
return G_MAXSIZE;
return 0;
}
@@ -781,7 +844,7 @@
{
XbMachineOpcodeFixupItem *item;
XbMachinePrivate *priv = GET_PRIVATE(self);
- guint level = 0;
+ guint8 level = 0;
g_autoptr(XbStack) opcodes = NULL;
g_autofree gchar *opcodes_sig = NULL;
@@ -996,7 +1059,8 @@
return FALSE;
}
continue;
- } else if (kind == XB_OPCODE_KIND_BOUND_UNSET) {
+ }
+ if (kind == XB_OPCODE_KIND_BOUND_UNSET) {
g_autofree gchar *tmp1 = xb_stack_to_string(stack);
g_autofree gchar *tmp2 = xb_stack_to_string(opcodes);
g_set_error(error,
@@ -2137,6 +2201,69 @@
return xb_machine_stack_push_text_steal(self, stack, tmp, error);
}
+static gboolean
+xb_machine_func_in_cb(XbMachine *self,
+ XbStack *stack,
+ gboolean *result,
+ gpointer user_data,
+ gpointer exec_data,
+ GError **error)
+{
+ XbOpcode *op_needle;
+ const gchar *haystack[XB_MACHINE_STACK_LEVELS_MAX + 1] = {NULL};
+ g_auto(XbOpcode) op = XB_OPCODE_INIT();
+ guint8 level = G_MAXUINT8;
+ guint nr_args = 0;
+
+ /* get the size of the haystack, ensuring we only have strings */
+ for (guint i = xb_stack_get_size(stack) - 1; i > 0; i--) {
+ XbOpcode *op_tmp = xb_stack_peek(stack, i);
+
+ /* this is a hack as we do not get the current @level */
+ if (level != G_MAXUINT8) {
+ if (xb_opcode_get_level(op_tmp) != level)
+ break;
+ } else {
+ level = xb_opcode_get_level(op_tmp);
+ }
+ if (!xb_opcode_cmp_str(op_tmp)) {
+ g_set_error(error,
+ G_IO_ERROR,
+ G_IO_ERROR_NOT_SUPPORTED,
+ "%s type not supported",
+ xb_opcode_kind_to_string(xb_opcode_get_kind(op_tmp)));
+ return FALSE;
+ }
+ nr_args++;
+ }
+
+ /* ensure the needle is also a string */
+ op_needle = xb_stack_peek(stack, xb_stack_get_size(stack) - (nr_args + 1));
+ if (!xb_opcode_cmp_str(op_needle)) {
+ g_set_error(error,
+ G_IO_ERROR,
+ G_IO_ERROR_NOT_SUPPORTED,
+ "%s type not supported",
+ xb_opcode_kind_to_string(xb_opcode_get_kind(op_needle)));
+ return FALSE;
+ }
+
+ /* build the haystack */
+ for (guint i = 0; i < nr_args; i++) {
+ g_auto(XbOpcode) op_tmp = XB_OPCODE_INIT();
+ if (!xb_machine_stack_pop(self, stack, &op_tmp, error))
+ return FALSE;
+ haystack[i] = xb_opcode_get_str(&op_tmp);
+ }
+
+ /* get the needle */
+ if (!xb_machine_stack_pop(self, stack, &op, error))
+ return FALSE;
+
+ /* found */
+ return xb_stack_push_bool(stack, g_strv_contains(haystack, xb_opcode_get_str(&op)), error);
+}
+
static void
xb_machine_opcode_fixup_free(XbMachineOpcodeFixupItem *item)
{
@@ -2203,6 +2330,7 @@
xb_machine_add_method(self, "string", 1, xb_machine_func_string_cb, NULL, NULL);
xb_machine_add_method(self, "number", 1, xb_machine_func_number_cb, NULL, NULL);
xb_machine_add_method(self, "string-length", 1, xb_machine_func_strlen_cb, NULL, NULL);
+ xb_machine_add_method(self, "in", 0, xb_machine_func_in_cb, NULL, NULL);
/* built-in operators */
xb_machine_add_operator(self, " and ", "and");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-machine.h new/libxmlb-0.3.11/src/xb-machine.h
--- old/libxmlb-0.3.10/src/xb-machine.h 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-machine.h 2023-02-20 10:48:39.000000000 +0100
@@ -65,12 +65,14 @@
XbStack *opcodes,
gpointer user_data,
GError **error);
+/* when next breaking API add @level here */
typedef gboolean (*XbMachineTextHandlerFunc)(XbMachine *self,
XbStack *opcodes,
const gchar *text,
gboolean *handled,
gpointer user_data,
GError **error);
+/* when next breaking API add @level here */
typedef gboolean (*XbMachineMethodFunc)(XbMachine *self,
XbStack *stack,
gboolean *result_unused,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-opcode-private.h new/libxmlb-0.3.11/src/xb-opcode-private.h
--- old/libxmlb-0.3.10/src/xb-opcode-private.h 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-opcode-private.h 2023-02-20 10:48:39.000000000 +0100
@@ -23,11 +23,12 @@
guint8 tokens_len;
const gchar *tokens[XB_OPCODE_TOKEN_MAX + 1];
GDestroyNotify destroy_func;
+ guint8 level;
};
#define XB_OPCODE_INIT() \
{ \
- 0, 0, NULL, 0, {NULL}, NULL \
+ 0, 0, NULL, 0, {NULL}, NULL, 0 \
}
/**
@@ -49,15 +50,15 @@
}
void
-xb_opcode_init(XbOpcode *opcode,
+xb_opcode_init(XbOpcode *self,
XbOpcodeKind kind,
const gchar *str,
guint32 val,
GDestroyNotify destroy_func);
void
-xb_opcode_clear(XbOpcode *opcode);
+xb_opcode_clear(XbOpcode *self);
void
-xb_opcode_bind_init(XbOpcode *opcode);
+xb_opcode_bind_init(XbOpcode *self);
gboolean
xb_opcode_is_binding(XbOpcode *self);
G_DEPRECATED_FOR(xb_value_bindings_bind_str)
@@ -77,12 +78,17 @@
gchar *
xb_opcode_get_sig(XbOpcode *self);
void
-xb_opcode_bool_init(XbOpcode *opcode, gboolean val);
+xb_opcode_bool_init(XbOpcode *self, gboolean val);
gboolean
xb_opcode_has_flag(XbOpcode *self, XbOpcodeFlags flag);
void
xb_opcode_add_flag(XbOpcode *self, XbOpcodeFlags flag);
+void
+xb_opcode_set_level(XbOpcode *self, guint8 level);
+guint8
+xb_opcode_get_level(XbOpcode *self);
+
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(XbOpcode, xb_opcode_clear)
G_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-opcode.c new/libxmlb-0.3.11/src/xb-opcode.c
--- old/libxmlb-0.3.10/src/xb-opcode.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-opcode.c 2023-02-20 10:48:39.000000000 +0100
@@ -98,28 +98,45 @@
return self->ptr;
}
+void
+xb_opcode_set_level(XbOpcode *self, guint8 level)
+{
+ self->level = level;
+}
+
+guint8
+xb_opcode_get_level(XbOpcode *self)
+{
+ return self->level;
+}
+
static gchar *
xb_opcode_to_string_internal(XbOpcode *self)
{
- /* special cases */
+ g_autoptr(GString) str = g_string_new(NULL);
+
+ /* special cases then bitwise fallbacks */
if (self->kind == XB_OPCODE_KIND_INDEXED_TEXT)
- return g_strdup_printf("$'%s'", xb_opcode_get_str_for_display(self));
- if (self->kind == XB_OPCODE_KIND_INTEGER)
- return g_strdup_printf("%u", xb_opcode_get_val(self));
- if (self->kind == XB_OPCODE_KIND_BOUND_TEXT)
- return g_strdup_printf("?'%s'", xb_opcode_get_str_for_display(self));
- if (self->kind == XB_OPCODE_KIND_BOUND_INTEGER)
- return g_strdup_printf("?%u", xb_opcode_get_val(self));
- if (self->kind == XB_OPCODE_KIND_BOOLEAN)
+ g_string_append_printf(str, "$'%s'", xb_opcode_get_str_for_display(self));
+ else if (self->kind == XB_OPCODE_KIND_INTEGER)
+ g_string_append_printf(str, "%u", xb_opcode_get_val(self));
+ else if (self->kind == XB_OPCODE_KIND_BOUND_TEXT)
+ g_string_append_printf(str, "?'%s'", xb_opcode_get_str_for_display(self));
+ else if (self->kind == XB_OPCODE_KIND_BOUND_INTEGER)
+ g_string_append_printf(str, "?%u", xb_opcode_get_val(self));
+ else if (self->kind == XB_OPCODE_KIND_BOOLEAN)
return g_strdup(xb_opcode_get_val(self) ? "True" : "False");
-
- /* bitwise fallbacks */
- if (self->kind & XB_OPCODE_FLAG_FUNCTION)
- return g_strdup_printf("%s()", xb_opcode_get_str_for_display(self));
- if (self->kind & XB_OPCODE_FLAG_TEXT)
- return g_strdup_printf("'%s'", xb_opcode_get_str_for_display(self));
- g_critical("no to_string for kind 0x%x", self->kind);
- return NULL;
+ else if (self->kind & XB_OPCODE_FLAG_FUNCTION)
+ g_string_append_printf(str, "%s()", xb_opcode_get_str_for_display(self));
+ else if (self->kind & XB_OPCODE_FLAG_TEXT)
+ g_string_append_printf(str, "'%s'", xb_opcode_get_str_for_display(self));
+ else
+ g_string_append_printf(str, "kind:0x%x", self->kind);
+
+ /* add level */
+ if (self->level > 0)
+ g_string_append_printf(str, "^%u", self->level);
+ return g_string_free(g_steal_pointer(&str), FALSE);
}
/**
@@ -302,7 +319,7 @@
/**
* xb_opcode_text_init:
- * @opcode: a stack allocated #XbOpcode to initialise
+ * @self: a stack allocated #XbOpcode to initialise
* @str: a string
*
* Initialises a stack allocated #XbOpcode to contain a text literal.
@@ -312,14 +329,14 @@
* Since: 0.2.0
**/
void
-xb_opcode_text_init(XbOpcode *opcode, const gchar *str)
+xb_opcode_text_init(XbOpcode *self, const gchar *str)
{
- xb_opcode_init(opcode, XB_OPCODE_KIND_TEXT, g_strdup(str), 0, g_free);
+ xb_opcode_init(self, XB_OPCODE_KIND_TEXT, g_strdup(str), 0, g_free);
}
/**
* xb_opcode_init:
- * @opcode: allocated opcode to fill
+ * @self: allocated opcode to fill
* @kind: a #XbOpcodeKind, e.g. %XB_OPCODE_KIND_INTEGER
* @str: a string
* @val: a integer value
@@ -330,22 +347,23 @@
* Since: 0.2.0
**/
void
-xb_opcode_init(XbOpcode *opcode,
+xb_opcode_init(XbOpcode *self,
XbOpcodeKind kind,
const gchar *str,
guint32 val,
GDestroyNotify destroy_func)
{
- opcode->kind = kind;
- opcode->ptr = (gpointer)str;
- opcode->val = val;
- opcode->tokens_len = 0;
- opcode->destroy_func = destroy_func;
+ self->level = G_MAXUINT8;
+ self->kind = kind;
+ self->ptr = (gpointer)str;
+ self->val = val;
+ self->tokens_len = 0;
+ self->destroy_func = destroy_func;
}
/**
* xb_opcode_text_init_static:
- * @opcode: a stack allocated #XbOpcode to initialise
+ * @self: a stack allocated #XbOpcode to initialise
* @str: a string
*
* Initialises a stack allocated #XbOpcode to contain a text literal, where
@@ -354,14 +372,14 @@
* Since: 0.2.0
**/
void
-xb_opcode_text_init_static(XbOpcode *opcode, const gchar *str)
+xb_opcode_text_init_static(XbOpcode *self, const gchar *str)
{
- xb_opcode_init(opcode, XB_OPCODE_KIND_TEXT, str, 0, NULL);
+ xb_opcode_init(self, XB_OPCODE_KIND_TEXT, str, 0, NULL);
}
/**
* xb_opcode_text_init_steal:
- * @opcode: a stack allocated #XbOpcode to initialise
+ * @self: a stack allocated #XbOpcode to initialise
* @str: a string
*
* Initialises a stack allocated #XbOpcode to contain a text literal, stealing
@@ -370,14 +388,14 @@
* Since: 0.2.0
**/
void
-xb_opcode_text_init_steal(XbOpcode *opcode, gchar *str)
+xb_opcode_text_init_steal(XbOpcode *self, gchar *str)
{
- xb_opcode_init(opcode, XB_OPCODE_KIND_TEXT, g_steal_pointer(&str), 0, g_free);
+ xb_opcode_init(self, XB_OPCODE_KIND_TEXT, g_steal_pointer(&str), 0, g_free);
}
/**
* xb_opcode_func_init:
- * @opcode: a stack allocated #XbOpcode to initialise
+ * @self: a stack allocated #XbOpcode to initialise
* @func: a function index
*
* Initialises a stack allocated #XbOpcode to contain a specific function.
@@ -387,14 +405,14 @@
* Since: 0.2.0
**/
void
-xb_opcode_func_init(XbOpcode *opcode, guint32 func)
+xb_opcode_func_init(XbOpcode *self, guint32 func)
{
- xb_opcode_init(opcode, XB_OPCODE_KIND_FUNCTION, NULL, func, NULL);
+ xb_opcode_init(self, XB_OPCODE_KIND_FUNCTION, NULL, func, NULL);
}
/**
* xb_opcode_bind_init:
- * @opcode: a stack allocated #XbOpcode to initialise
+ * @self: a stack allocated #XbOpcode to initialise
*
* Initialises a stack allocated #XbOpcode to contain a bind variable. A value
* needs to be assigned to this opcode at runtime using
@@ -403,9 +421,9 @@
* Since: 0.2.0
**/
void
-xb_opcode_bind_init(XbOpcode *opcode)
+xb_opcode_bind_init(XbOpcode *self)
{
- xb_opcode_init(opcode, XB_OPCODE_KIND_BOUND_INTEGER, NULL, 0, NULL);
+ xb_opcode_init(self, XB_OPCODE_KIND_BOUND_INTEGER, NULL, 0, NULL);
}
/* private */
@@ -462,7 +480,7 @@
/**
* xb_opcode_integer_init:
- * @opcode: a stack allocated #XbOpcode to initialise
+ * @self: a stack allocated #XbOpcode to initialise
* @val: a integer value
*
* Initialises a stack allocated #XbOpcode to contain an integer literal.
@@ -470,14 +488,14 @@
* Since: 0.2.0
**/
void
-xb_opcode_integer_init(XbOpcode *opcode, guint32 val)
+xb_opcode_integer_init(XbOpcode *self, guint32 val)
{
- xb_opcode_init(opcode, XB_OPCODE_KIND_INTEGER, NULL, val, NULL);
+ xb_opcode_init(self, XB_OPCODE_KIND_INTEGER, NULL, val, NULL);
}
/* private */
void
-xb_opcode_bool_init(XbOpcode *opcode, gboolean val)
+xb_opcode_bool_init(XbOpcode *self, gboolean val)
{
- xb_opcode_init(opcode, XB_OPCODE_KIND_BOOLEAN, NULL, !!val, NULL);
+ xb_opcode_init(self, XB_OPCODE_KIND_BOOLEAN, NULL, !!val, NULL);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-opcode.h new/libxmlb-0.3.11/src/xb-opcode.h
--- old/libxmlb-0.3.10/src/xb-opcode.h 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-opcode.h 2023-02-20 10:48:39.000000000 +0100
@@ -90,14 +90,14 @@
xb_opcode_get_val(XbOpcode *self);
void
-xb_opcode_func_init(XbOpcode *opcode, guint32 func);
+xb_opcode_func_init(XbOpcode *self, guint32 func);
void
-xb_opcode_integer_init(XbOpcode *opcode, guint32 val);
+xb_opcode_integer_init(XbOpcode *self, guint32 val);
void
-xb_opcode_text_init(XbOpcode *opcode, const gchar *str);
+xb_opcode_text_init(XbOpcode *self, const gchar *str);
void
-xb_opcode_text_init_static(XbOpcode *opcode, const gchar *str);
+xb_opcode_text_init_static(XbOpcode *self, const gchar *str);
void
-xb_opcode_text_init_steal(XbOpcode *opcode, gchar *str);
+xb_opcode_text_init_steal(XbOpcode *self, gchar *str);
G_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-self-test.c new/libxmlb-0.3.11/src/xb-self-test.c
--- old/libxmlb-0.3.10/src/xb-self-test.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-self-test.c 2023-02-20 10:48:39.000000000 +0100
@@ -224,9 +224,9 @@
{"@a=='b'", "'a',attr(),'b',eq()"},
{"'a'<'b'", "'a','b',lt()"},
{"999>=123", "999,123,ge()"},
- {"not(0)", "0,not()"},
+ {"not(0)", "0^1,not()"},
{"@a", "'a',attr(),'(null)',ne()"},
- {"not(@a)", "'a',attr(),not()"},
+ {"not(@a)", "'a'^1,attr()^1,not()"},
{"'a'=", "'a',eq()"},
{"='b'", "'b',eq()"},
{"999=\'b\'", "999,'b',eq()"},
@@ -235,9 +235,10 @@
{"text()~='beef'", "text(),'beef'[beef],search()"},
{"@type~='dead'", "'type',attr(),'dead',search()"},
{"2", "2,position(),eq()"},
- {"text()=lower-case('firefox')", "text(),'firefox',lower-case(),eq()"},
+ {"text()=lower-case('firefox')", "text(),'firefox'^1,lower-case(),eq()"},
{"$'a'=$'b'", "$'a',$'b',eq()"},
- {"('a'='b')&&('c'='d')", "'a','b',eq(),'c','d',eq(),and()"},
+ {"('a'='b')&&('c'='d')", "'a'^1,'b'^1,eq()^1,'c'^1,'d'^1,eq()^1,and()"},
+ {"text()==('a','b','c')", "text(),'c'^1,'b'^1,'a'^1,in()"},
/* sentinel */
{NULL, NULL}};
const gchar *invalid[] = {"text(",
@@ -291,6 +292,7 @@
{"lower-case('Fire')", "'fire'"},
{"upper-case('��������������')", "'��������������'"},
{"upper-case(lower-case('Fire'))", "'FIRE'"}, /* 2nd pass */
+ {"text()==('a','b','c')", "text(),'c'^1,'b'^1,'a'^1,in()"},
/* sentinel */
{NULL, NULL}};
const gchar *invalid[] = {"'a'='b'", "123>=999", "not(1)", NULL};
@@ -488,6 +490,40 @@
}
static void
+xb_builder_source_zstd_func(void)
+{
+ gboolean ret;
+ g_autofree gchar *path = NULL;
+ g_autofree gchar *tmp_xmlb = g_build_filename(g_get_tmp_dir(), "temp.xmlb", NULL);
+ g_autoptr(GError) error = NULL;
+ g_autoptr(GFile) file = NULL;
+ g_autoptr(GFile) file_src = NULL;
+ g_autoptr(XbBuilder) builder = xb_builder_new();
+ g_autoptr(XbBuilderSource) source = xb_builder_source_new();
+ g_autoptr(XbSilo) silo = NULL;
+
+ /* import a source file */
+ path = g_test_build_filename(G_TEST_DIST, "test.xml.zstd", NULL);
+ file_src = g_file_new_for_path(path);
+ if (!g_file_query_exists(file_src, NULL)) {
+ g_test_skip("does not work in subproject test");
+ return;
+ }
+ ret = xb_builder_source_load_file(source,
+ file_src,
+ XB_BUILDER_SOURCE_FLAG_NONE,
+ NULL,
+ &error);
+ g_assert_no_error(error);
+ g_assert_true(ret);
+ xb_builder_import_source(builder, source);
+ file = g_file_new_for_path(tmp_xmlb);
+ silo = xb_builder_ensure(builder, file, XB_BUILDER_COMPILE_FLAG_NONE, NULL, &error);
+ g_assert_no_error(error);
+ g_assert_nonnull(silo);
+}
+
+static void
xb_builder_chained_adapters_func(void)
{
gboolean ret;
@@ -1364,6 +1400,25 @@
g_assert_nonnull(str);
g_debug("\n%s", str);
+ /* query with predicate 'in' */
+ xb_silo_set_profile_flags(silo, XB_SILO_PROFILE_FLAG_OPTIMIZER);
+ n = xb_silo_query_first(
+ silo,
+ "components/component/id[text()=('gimp.desktop','another.desktop','dave.desktop')]",
+ &error);
+ g_assert_no_error(error);
+ g_assert_nonnull(n);
+ g_assert_cmpstr(xb_node_get_text(n), ==, "gimp.desktop");
+ g_clear_object(&n);
+
+ /* query with predicate 'in' -- single-entry tuple */
+ xb_silo_set_profile_flags(silo, XB_SILO_PROFILE_FLAG_OPTIMIZER);
+ n = xb_silo_query_first(silo, "components/component/id[text()=('gimp.desktop')]", &error);
+ g_assert_no_error(error);
+ g_assert_nonnull(n);
+ g_assert_cmpstr(xb_node_get_text(n), ==, "gimp.desktop");
+ g_clear_object(&n);
+
/* query with predicate logical and */
n = xb_silo_query_first(
silo,
@@ -2744,6 +2799,7 @@
g_test_add_func("/libxmlb/builder{custom-mime}", xb_builder_custom_mime_func);
g_test_add_func("/libxmlb/builder{chained-adapters}", xb_builder_chained_adapters_func);
g_test_add_func("/libxmlb/builder{source-lzma}", xb_builder_source_lzma_func);
+ g_test_add_func("/libxmlb/builder{source-zstd}", xb_builder_source_zstd_func);
g_test_add_func("/libxmlb/builder-node", xb_builder_node_func);
g_test_add_func("/libxmlb/builder-node{token-max}", xb_builder_node_token_max_func);
g_test_add_func("/libxmlb/builder-node{info}", xb_builder_node_info_func);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-silo-query.c new/libxmlb-0.3.11/src/xb-silo-query.c
--- old/libxmlb-0.3.10/src/xb-silo-query.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-silo-query.c 2023-02-20 10:48:39.000000000 +0100
@@ -200,7 +200,7 @@
/* continue matching children ".." */
do {
gboolean result = TRUE;
- guint bindings_offset_end;
+ guint bindings_offset_end = 0;
query_data->sn = sn;
if (!xb_silo_query_node_matches(self,
machine,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-silo.c new/libxmlb-0.3.11/src/xb-silo.c
--- old/libxmlb-0.3.10/src/xb-silo.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-silo.c 2023-02-20 10:48:39.000000000 +0100
@@ -1177,6 +1177,7 @@
{
XbOpcode *op1;
XbOpcode *op2;
+ XbOpcode *tail = xb_stack_peek_tail(opcodes);
if (!_xb_stack_push_two(opcodes, &op1, &op2, error))
return FALSE;
@@ -1184,6 +1185,12 @@
xb_machine_opcode_func_init(self, op1, "position");
xb_machine_opcode_func_init(self, op2, "eq");
+ /* always exists, but maybe a @level would be cleaner */
+ if (tail != NULL) {
+ xb_opcode_set_level(op1, xb_opcode_get_level(tail));
+ xb_opcode_set_level(op2, xb_opcode_get_level(tail));
+ }
+
return TRUE;
}
@@ -1196,6 +1203,7 @@
{
XbOpcode *op1;
XbOpcode *op2;
+ XbOpcode *tail = xb_stack_peek_tail(opcodes);
if (!_xb_stack_push_two(opcodes, &op1, &op2, error))
return FALSE;
@@ -1203,6 +1211,12 @@
xb_opcode_text_init_static(op1, NULL);
xb_machine_opcode_func_init(self, op2, "ne");
+ /* always exists, but maybe a @level would be cleaner */
+ if (tail != NULL) {
+ xb_opcode_set_level(op1, xb_opcode_get_level(tail));
+ xb_opcode_set_level(op2, xb_opcode_get_level(tail));
+ }
+
return TRUE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-value-bindings-private.h new/libxmlb-0.3.11/src/xb-value-bindings-private.h
--- old/libxmlb-0.3.10/src/xb-value-bindings-private.h 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-value-bindings-private.h 2023-02-20 10:48:39.000000000 +0100
@@ -6,7 +6,7 @@
#pragma once
-#include <glib.h>
+#include "xb-value-bindings.h"
gchar *
xb_value_bindings_to_string(XbValueBindings *self);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-value-bindings.c new/libxmlb-0.3.11/src/xb-value-bindings.c
--- old/libxmlb-0.3.10/src/xb-value-bindings.c 2022-09-11 12:09:18.000000000 +0200
+++ new/libxmlb-0.3.11/src/xb-value-bindings.c 2023-02-20 10:48:39.000000000 +0100
@@ -10,8 +10,6 @@
#define G_LOG_DOMAIN "XbValueBindings"
-#include "xb-value-bindings.h"
-
#include "config.h"
#include <glib.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-zstd-decompressor.c new/libxmlb-0.3.11/src/xb-zstd-decompressor.c
--- old/libxmlb-0.3.10/src/xb-zstd-decompressor.c 1970-01-01 01:00:00.000000000 +0100
+++ new/libxmlb-0.3.11/src/xb-zstd-decompressor.c 2023-02-20 10:48:39.000000000 +0100
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2022 Richard Hughes <richard(a)hughsie.com>
+ *
+ * SPDX-License-Identifier: LGPL-2.1+
+ */
+
+#include "xb-zstd-decompressor.h"
+
+#include "config.h"
+
+#include <gio/gio.h>
+#include <zstd.h>
+
+static void
+xb_zstd_decompressor_iface_init(GConverterIface *iface);
+
+struct _XbZstdDecompressor {
+ GObject parent_instance;
+ ZSTD_DStream *zstdstream;
+};
+
+G_DEFINE_TYPE_WITH_CODE(XbZstdDecompressor,
+ xb_zstd_decompressor,
+ G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE(G_TYPE_CONVERTER, xb_zstd_decompressor_iface_init))
+
+static void
+xb_zstd_decompressor_finalize(GObject *object)
+{
+ XbZstdDecompressor *self = XB_ZSTD_DECOMPRESSOR(object);
+ ZSTD_freeDStream(self->zstdstream);
+ G_OBJECT_CLASS(xb_zstd_decompressor_parent_class)->finalize(object);
+}
+
+static void
+xb_zstd_decompressor_init(XbZstdDecompressor *self)
+{
+}
+
+static void
+xb_zstd_decompressor_constructed(GObject *object)
+{
+ XbZstdDecompressor *self = XB_ZSTD_DECOMPRESSOR(object);
+ self->zstdstream = ZSTD_createDStream();
+}
+
+static void
+xb_zstd_decompressor_class_init(XbZstdDecompressorClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+ object_class->finalize = xb_zstd_decompressor_finalize;
+ object_class->constructed = xb_zstd_decompressor_constructed;
+}
+
+XbZstdDecompressor *
+xb_zstd_decompressor_new(void)
+{
+ return g_object_new(XB_TYPE_ZSTD_DECOMPRESSOR, NULL);
+}
+
+static void
+xb_zstd_decompressor_reset(GConverter *converter)
+{
+ XbZstdDecompressor *self = XB_ZSTD_DECOMPRESSOR(converter);
+ ZSTD_initDStream(self->zstdstream);
+}
+
+static GConverterResult
+xb_zstd_decompressor_convert(GConverter *converter,
+ const void *inbuf,
+ gsize inbuf_size,
+ void *outbuf,
+ gsize outbuf_size,
+ GConverterFlags flags,
+ gsize *bytes_read,
+ gsize *bytes_written,
+ GError **error)
+{
+ XbZstdDecompressor *self = XB_ZSTD_DECOMPRESSOR(converter);
+ ZSTD_outBuffer output = {
+ .dst = outbuf,
+ .size = outbuf_size,
+ .pos = 0,
+ };
+ ZSTD_inBuffer input = {
+ .src = inbuf,
+ .size = inbuf_size,
+ .pos = 0,
+ };
+ size_t res;
+
+ res = ZSTD_decompressStream(self->zstdstream, &output, &input);
+ if (res == 0)
+ return G_CONVERTER_FINISHED;
+ if (ZSTD_isError(res)) {
+ g_set_error(error,
+ G_IO_ERROR,
+ G_IO_ERROR_INVALID_DATA,
+ "cannot decompress data: %s",
+ ZSTD_getErrorName(res));
+ return G_CONVERTER_ERROR;
+ }
+ *bytes_read = input.pos;
+ *bytes_written = output.pos;
+ return G_CONVERTER_CONVERTED;
+}
+
+static void
+xb_zstd_decompressor_iface_init(GConverterIface *iface)
+{
+ iface->convert = xb_zstd_decompressor_convert;
+ iface->reset = xb_zstd_decompressor_reset;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libxmlb-0.3.10/src/xb-zstd-decompressor.h new/libxmlb-0.3.11/src/xb-zstd-decompressor.h
--- old/libxmlb-0.3.10/src/xb-zstd-decompressor.h 1970-01-01 01:00:00.000000000 +0100
+++ new/libxmlb-0.3.11/src/xb-zstd-decompressor.h 2023-02-20 10:48:39.000000000 +0100
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2022 Richard Hughes <richard(a)hughsie.com>
+ *
+ * SPDX-License-Identifier: LGPL-2.1+
+ */
+
+#pragma once
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define XB_TYPE_ZSTD_DECOMPRESSOR (xb_zstd_decompressor_get_type())
+G_DECLARE_FINAL_TYPE(XbZstdDecompressor, xb_zstd_decompressor, XB, ZSTD_DECOMPRESSOR, GObject)
+
+XbZstdDecompressor *
+xb_zstd_decompressor_new(void);
+
+G_END_DECLS
1
0