openSUSE Commits
Threads by month
- ----- 2025 -----
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2023
- 1 participants
- 2327 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rpmlint for openSUSE:Factory checked in at 2023-09-29 21:13:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint (Old)
and /work/SRC/openSUSE:Factory/.rpmlint.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint"
Fri Sep 29 21:13:14 2023 rev:456 rq:1113857 version:2.4.0+git20230927.bf3988d
Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes 2023-09-22 21:47:16.780567518 +0200
+++ /work/SRC/openSUSE:Factory/.rpmlint.new.28202/rpmlint.changes 2023-09-29 21:14:09.715021687 +0200
@@ -1,0 +2,7 @@
+Wed Sep 27 10:26:53 UTC 2023 - filippo.bonazzi(a)suse.com
+
+- Update to version 2.4.0+git20230927.bf3988d:
+ * Add whitelisting for 90-kubeadm.conf (bsc#1215542)
+ * sysctl-whitelist: remove old microos-tools entry
+
+-------------------------------------------------------------------
Old:
----
rpmlint-2.4.0+git20230918.4498739.tar.xz
New:
----
rpmlint-2.4.0+git20230927.bf3988d.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.Cvh9et/_old 2023-09-29 21:14:11.055070036 +0200
+++ /var/tmp/diff_new_pack.Cvh9et/_new 2023-09-29 21:14:11.055070036 +0200
@@ -23,7 +23,7 @@
%define name_suffix -%{flavor}
%endif
Name: rpmlint%{name_suffix}
-Version: 2.4.0+git20230918.4498739
+Version: 2.4.0+git20230927.bf3988d
Release: 0
Summary: RPM file correctness checker
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Cvh9et/_old 2023-09-29 21:14:11.099071623 +0200
+++ /var/tmp/diff_new_pack.Cvh9et/_new 2023-09-29 21:14:11.103071768 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/rpm-software-management/rpmlint.git</param>
- <param name="changesrevision">4498739e8bc4b975050553d5f97a6709489c3481</param></service></servicedata>
+ <param name="changesrevision">bf3988dbd87c6507a3d32740602cf0fb99efb2e2</param></service></servicedata>
(No newline at EOF)
++++++ rpmlint-2.4.0+git20230918.4498739.tar.xz -> rpmlint-2.4.0+git20230927.bf3988d.tar.xz ++++++
/work/SRC/openSUSE:Factory/rpmlint/rpmlint-2.4.0+git20230918.4498739.tar.xz /work/SRC/openSUSE:Factory/.rpmlint.new.28202/rpmlint-2.4.0+git20230927.bf3988d.tar.xz differ: char 15, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openSUSE-MicroOS for openSUSE:Factory checked in at 2023-09-29 21:13:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-MicroOS (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-MicroOS.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-MicroOS"
Fri Sep 29 21:13:13 2023 rev:65 rq:1113882 version:16.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-MicroOS/openSUSE-MicroOS.changes 2023-09-08 21:15:42.450827584 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-MicroOS.new.28202/openSUSE-MicroOS.changes 2023-09-29 21:14:06.718913588 +0200
@@ -1,0 +2,5 @@
+Wed Sep 20 12:59:51 UTC 2023 - Fabian Vogt <fvogt(a)suse.com>
+
+- Replace reference to the obsoleted ignition-dracut-grub2 package
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.ZqjLRv/_old 2023-09-29 21:14:08.434975503 +0200
+++ /var/tmp/diff_new_pack.ZqjLRv/_new 2023-09-29 21:14:08.438975648 +0200
@@ -212,7 +212,7 @@
EOF
# Workaround: Force network-legacy, network-wicked is not usable (boo#1182227)
- if rpm -q ignition-dracut-grub2; then
+ if rpm -q combustion; then
# Modify module-setup.sh, but undo the modification on the first call
mv /usr/lib/dracut/modules.d/40network/module-setup.sh{,.orig}
sed 's#echo "kernel-network-modules $network_handler"$#echo kernel-network-modules network-legacy; mv /usr/lib/dracut/modules.d/40network/module-setup.sh{.orig,}#' \
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qpdf for openSUSE:Factory checked in at 2023-09-29 21:13:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qpdf (Old)
and /work/SRC/openSUSE:Factory/.qpdf.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qpdf"
Fri Sep 29 21:13:12 2023 rev:69 rq:1113867 version:11.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/qpdf/qpdf.changes 2023-09-06 18:56:17.887505205 +0200
+++ /work/SRC/openSUSE:Factory/.qpdf.new.28202/qpdf.changes 2023-09-29 21:14:05.194858601 +0200
@@ -16,0 +17,6 @@
+Tue Jul 25 11:50:29 UTC 2023 - ecsos <ecsos(a)opensuse.org>
+
+- Don't build doc for Leap. Will break building of packages.
+ Only build doc for Tumbleweed.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qpdf.spec ++++++
--- /var/tmp/diff_new_pack.yPNBGt/_old 2023-09-29 21:14:06.442903629 +0200
+++ /var/tmp/diff_new_pack.yPNBGt/_new 2023-09-29 21:14:06.442903629 +0200
@@ -53,6 +53,7 @@
from other PDF files or to inspect or extract information from
existing PDF files.
+%if 0%{?suse_version} > 1500
%package htmldoc
Summary: Documentation files for qpdf
Group: Documentation/HTML
@@ -60,6 +61,7 @@
%description htmldoc
This package contains the documentation for qpdf
+%endif
%package devel
Summary: Development files for qpdf PDF manipulation library
@@ -86,10 +88,12 @@
%build
%global optflags %optflags -fexcess-precision=fast
%cmake \
+%if 0%{?suse_version} > 1500
-DBUILD_DOC=ON \
-DBUILD_DOC_DIST=ON \
-DBUILD_DOC_HTML=ON \
-DBUILD_DOC_PDF=ON \
+%endif
-DCMAKE_INSTALL_DOCDIR='${datarootdir}'share/doc/packages/%{name}
%cmake_build
@@ -98,6 +102,7 @@
%install
%cmake_install
+%if 0%{?suse_version} > 1500
mkdir -m755 -p %{buildroot}%{_docdir}/%{name}/html
mkdir -m755 -p %{buildroot}%{_docdir}/%{name}/singlehtml
pushd build/manual/doc-dist
@@ -105,6 +110,7 @@
cp -a manual-single-page-html/* %{buildroot}%{_docdir}/%{name}/singlehtml/
install -Dm644 qpdf-manual.pdf %{buildroot}%{_docdir}/%{name}/qpdf-manual.pdf
popd
+%endif
# create symlinks for html and singlehtml duplicate docs
%fdupes -s %{buildroot}%{_docdir}/%{name}
@@ -113,15 +119,23 @@
%postun -n libqpdf%{so_version} -p /sbin/ldconfig
%files
+%if 0%{?suse_version} > 1500
+%doc qpdf-manual.pdf
+%endif
%dir %{_docdir}/%{name}
-%doc ChangeLog README-doc.txt qpdf-manual.pdf
+%doc ChangeLog README-doc.txt
+%if 0%{?suse_version} > 1500
+%doc qpdf-manual.pdf
+%endif
%license Artistic-2.0 LICENSE.txt
%{_bindir}/*
%{_mandir}/man1/*
+%if 0%{?suse_version} > 1500
%files htmldoc
%doc %{_docdir}/%{name}/html
%doc %{_docdir}/%{name}/singlehtml
+%endif
%files -n libqpdf%{so_version}
%{_libdir}/libqpdf.so.%{so_version}*
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pv for openSUSE:Factory checked in at 2023-09-29 21:13:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pv (Old)
and /work/SRC/openSUSE:Factory/.pv.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pv"
Fri Sep 29 21:13:11 2023 rev:21 rq:1113866 version:1.7.24
Changes:
--------
--- /work/SRC/openSUSE:Factory/pv/pv.changes 2023-08-01 14:15:26.571456969 +0200
+++ /work/SRC/openSUSE:Factory/.pv.new.28202/pv.changes 2023-09-29 21:14:03.870810829 +0200
@@ -1,0 +2,5 @@
+Tue Sep 26 13:31:17 UTC 2023 - pgajdos(a)suse.com
+
+- add _constraints [bsc#1215338]
+
+-------------------------------------------------------------------
New:
----
_constraints
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _constraints ++++++
<constraints>
<hardware>
<physicalmemory>
<size unit="M">4096</size>
</physicalmemory>
</hardware>
</constraints>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pyxdg for openSUSE:Factory checked in at 2023-09-29 21:13:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyxdg (Old)
and /work/SRC/openSUSE:Factory/.python-pyxdg.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyxdg"
Fri Sep 29 21:13:11 2023 rev:15 rq:1113838 version:0.28
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyxdg/python-pyxdg.changes 2023-04-22 21:58:17.992441417 +0200
+++ /work/SRC/openSUSE:Factory/.python-pyxdg.new.28202/python-pyxdg.changes 2023-09-29 21:14:02.690768253 +0200
@@ -1,0 +2,5 @@
+Tue Sep 26 08:43:46 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- Don't import deprecated imp module
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyxdg.spec ++++++
--- /var/tmp/diff_new_pack.rHns0A/_old 2023-09-29 21:14:03.722805489 +0200
+++ /var/tmp/diff_new_pack.rHns0A/_new 2023-09-29 21:14:03.726805633 +0200
@@ -54,6 +54,7 @@
%setup -q -n pyxdg-%{version} -b 1
%autopatch -p1
cp -r ../pyxdg-rel-%{version}-test-example/test/example test/
+sed -i 's/imp /importlib /' test/test_basedirectory.py
%build
%python_build
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Net-DNS for openSUSE:Factory checked in at 2023-09-29 21:13:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Net-DNS (Old)
and /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Net-DNS"
Fri Sep 29 21:13:10 2023 rev:73 rq:1113827 version:1.400.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Net-DNS/perl-Net-DNS.changes 2023-06-14 16:28:54.942311964 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.28202/perl-Net-DNS.changes 2023-09-29 21:14:01.122711678 +0200
@@ -1,0 +2,6 @@
+Tue Sep 5 16:51:30 UTC 2023 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 1.40
+ see /usr/share/doc/packages/perl-Net-DNS/Changes
+
+-------------------------------------------------------------------
Old:
----
Net-DNS-1.39.tar.gz
New:
----
Net-DNS-1.40.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Net-DNS.spec ++++++
--- /var/tmp/diff_new_pack.GwFIz8/_old 2023-09-29 21:14:02.394757573 +0200
+++ /var/tmp/diff_new_pack.GwFIz8/_new 2023-09-29 21:14:02.398757718 +0200
@@ -18,12 +18,13 @@
%define cpan_name Net-DNS
Name: perl-Net-DNS
-Version: 1.39
+Version: 1.400.0
Release: 0
+%define cpan_version 1.40
License: MIT
Summary: Perl Interface to the Domain Name System
URL: https://metacpan.org/release/%{cpan_name}
-Source0: https://cpan.metacpan.org/authors/id/N/NL/NLNETLABS/%{cpan_name}-%{version}…
+Source0: https://cpan.metacpan.org/authors/id/N/NL/NLNETLABS/%{cpan_name}-%{cpan_ver…
Source1: cpanspec.yml
BuildArch: noarch
BuildRequires: perl
@@ -57,6 +58,111 @@
Requires: perl(PerlIO) >= 1.05
Requires: perl(Scalar::Util) >= 1.19
Requires: perl(Time::Local) >= 1.19
+Provides: perl(Net::DNS) = 1.400.0
+Provides: perl(Net::DNS::Domain)
+Provides: perl(Net::DNS::DomainName)
+Provides: perl(Net::DNS::DomainName1035)
+Provides: perl(Net::DNS::DomainName2535)
+Provides: perl(Net::DNS::Header)
+Provides: perl(Net::DNS::Mailbox)
+Provides: perl(Net::DNS::Mailbox1035)
+Provides: perl(Net::DNS::Mailbox2535)
+Provides: perl(Net::DNS::Nameserver)
+Provides: perl(Net::DNS::Packet)
+Provides: perl(Net::DNS::Parameters)
+Provides: perl(Net::DNS::Question)
+Provides: perl(Net::DNS::RR)
+Provides: perl(Net::DNS::RR::A)
+Provides: perl(Net::DNS::RR::AAAA)
+Provides: perl(Net::DNS::RR::AFSDB)
+Provides: perl(Net::DNS::RR::AMTRELAY)
+Provides: perl(Net::DNS::RR::APL)
+Provides: perl(Net::DNS::RR::APL::Item)
+Provides: perl(Net::DNS::RR::CAA)
+Provides: perl(Net::DNS::RR::CDNSKEY)
+Provides: perl(Net::DNS::RR::CDS)
+Provides: perl(Net::DNS::RR::CERT)
+Provides: perl(Net::DNS::RR::CNAME)
+Provides: perl(Net::DNS::RR::CSYNC)
+Provides: perl(Net::DNS::RR::DHCID)
+Provides: perl(Net::DNS::RR::DNAME)
+Provides: perl(Net::DNS::RR::DNSKEY)
+Provides: perl(Net::DNS::RR::DS)
+Provides: perl(Net::DNS::RR::EUI48)
+Provides: perl(Net::DNS::RR::EUI64)
+Provides: perl(Net::DNS::RR::GPOS)
+Provides: perl(Net::DNS::RR::HINFO)
+Provides: perl(Net::DNS::RR::HIP)
+Provides: perl(Net::DNS::RR::HTTPS)
+Provides: perl(Net::DNS::RR::IPSECKEY)
+Provides: perl(Net::DNS::RR::ISDN)
+Provides: perl(Net::DNS::RR::KEY)
+Provides: perl(Net::DNS::RR::KX)
+Provides: perl(Net::DNS::RR::L32)
+Provides: perl(Net::DNS::RR::L64)
+Provides: perl(Net::DNS::RR::LOC)
+Provides: perl(Net::DNS::RR::LP)
+Provides: perl(Net::DNS::RR::MB)
+Provides: perl(Net::DNS::RR::MG)
+Provides: perl(Net::DNS::RR::MINFO)
+Provides: perl(Net::DNS::RR::MR)
+Provides: perl(Net::DNS::RR::MX)
+Provides: perl(Net::DNS::RR::NAPTR)
+Provides: perl(Net::DNS::RR::NID)
+Provides: perl(Net::DNS::RR::NS)
+Provides: perl(Net::DNS::RR::NSEC)
+Provides: perl(Net::DNS::RR::NSEC3)
+Provides: perl(Net::DNS::RR::NSEC3PARAM)
+Provides: perl(Net::DNS::RR::NULL)
+Provides: perl(Net::DNS::RR::OPENPGPKEY)
+Provides: perl(Net::DNS::RR::OPT)
+Provides: perl(Net::DNS::RR::OPT::CHAIN)
+Provides: perl(Net::DNS::RR::OPT::CLIENT_SUBNET)
+Provides: perl(Net::DNS::RR::OPT::COOKIE)
+Provides: perl(Net::DNS::RR::OPT::DAU)
+Provides: perl(Net::DNS::RR::OPT::DHU)
+Provides: perl(Net::DNS::RR::OPT::EXPIRE)
+Provides: perl(Net::DNS::RR::OPT::EXTENDED_ERROR)
+Provides: perl(Net::DNS::RR::OPT::KEY_TAG)
+Provides: perl(Net::DNS::RR::OPT::N3U)
+Provides: perl(Net::DNS::RR::OPT::NSID)
+Provides: perl(Net::DNS::RR::OPT::PADDING)
+Provides: perl(Net::DNS::RR::OPT::REPORT_CHANNEL)
+Provides: perl(Net::DNS::RR::OPT::TCP_KEEPALIVE)
+Provides: perl(Net::DNS::RR::PTR)
+Provides: perl(Net::DNS::RR::PX)
+Provides: perl(Net::DNS::RR::RP)
+Provides: perl(Net::DNS::RR::RRSIG)
+Provides: perl(Net::DNS::RR::RT)
+Provides: perl(Net::DNS::RR::SIG)
+Provides: perl(Net::DNS::RR::SMIMEA)
+Provides: perl(Net::DNS::RR::SOA)
+Provides: perl(Net::DNS::RR::SPF)
+Provides: perl(Net::DNS::RR::SRV)
+Provides: perl(Net::DNS::RR::SSHFP)
+Provides: perl(Net::DNS::RR::SVCB)
+Provides: perl(Net::DNS::RR::TKEY)
+Provides: perl(Net::DNS::RR::TLSA)
+Provides: perl(Net::DNS::RR::TSIG)
+Provides: perl(Net::DNS::RR::TXT)
+Provides: perl(Net::DNS::RR::URI)
+Provides: perl(Net::DNS::RR::X25)
+Provides: perl(Net::DNS::RR::ZONEMD)
+Provides: perl(Net::DNS::Resolver)
+Provides: perl(Net::DNS::Resolver::Base)
+Provides: perl(Net::DNS::Resolver::MSWin32)
+Provides: perl(Net::DNS::Resolver::Recurse)
+Provides: perl(Net::DNS::Resolver::UNIX)
+Provides: perl(Net::DNS::Resolver::android)
+Provides: perl(Net::DNS::Resolver::cygwin)
+Provides: perl(Net::DNS::Resolver::os2)
+Provides: perl(Net::DNS::Resolver::os390)
+Provides: perl(Net::DNS::Text)
+Provides: perl(Net::DNS::Update)
+Provides: perl(Net::DNS::ZoneFile)
+Provides: perl(Net::DNS::ZoneFile::Generator)
+Provides: perl(Net::DNS::ZoneFile::Text)
+%define __perllib_provides /bin/true
Recommends: perl(Digest::BubbleBabble) >= 0.02
Recommends: perl(Net::LibIDN2) >= 1
%{perl_requires}
@@ -70,7 +176,7 @@
the zone file presentation format described in RFC1035.
%prep
-%autosetup -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor
++++++ Net-DNS-1.39.tar.gz -> Net-DNS-1.40.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/Changes new/Net-DNS-1.40/Changes
--- old/Net-DNS-1.39/Changes 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/Changes 2023-08-30 20:05:53.000000000 +0200
@@ -1,4 +1,16 @@
-$Id: Changes 1929 2023-06-01 11:40:49Z willem $ -*-text-*-
+$Id: Changes 1936 2023-08-30 18:05:44Z willem $ -*-text-*-
+
+
+**** 1.40 Aug 30, 2023
+
+ Add support for SVCB dohpath and ohttp parameters.
+ More robust test of bgbusy() SpamAssassin workaround.
+
+Fix rt.cpan.org #149456
+ t/05-SOA.t test fails in 2038
+
+Fix rt.cpan.org #149280
+ Deep recursion on subroutine "Net::DNS::Resolver::Recurse::_recurse"
**** 1.39 Jun 1, 2023
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/META.json new/Net-DNS-1.40/META.json
--- old/Net-DNS-1.39/META.json 2023-06-01 13:41:16.000000000 +0200
+++ new/Net-DNS-1.40/META.json 2023-08-30 20:06:01.000000000 +0200
@@ -71,6 +71,6 @@
}
},
"release_status" : "stable",
- "version" : "1.39",
+ "version" : "1.40",
"x_serialization_backend" : "JSON::PP version 4.08"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/META.yml new/Net-DNS-1.40/META.yml
--- old/Net-DNS-1.39/META.yml 2023-06-01 13:41:16.000000000 +0200
+++ new/Net-DNS-1.40/META.yml 2023-08-30 20:06:01.000000000 +0200
@@ -47,5 +47,5 @@
Scalar::Util: '1.19'
Time::Local: '1.19'
perl: '5.008009'
-version: '1.39'
+version: '1.40'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/RR/OPT.pm new/Net-DNS-1.40/lib/Net/DNS/RR/OPT.pm
--- old/Net-DNS-1.39/lib/Net/DNS/RR/OPT.pm 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/lib/Net/DNS/RR/OPT.pm 2023-08-30 20:05:53.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = (qw$Id: OPT.pm 1921 2023-05-08 18:39:59Z willem $)[2];
+our $VERSION = (qw$Id: OPT.pm 1934 2023-08-25 12:14:08Z willem $)[2];
use base qw(Net::DNS::RR);
@@ -79,12 +79,6 @@
return $self->udpsize(@value);
}
-sub size {
- my ( $self, @value ) = @_; # uncoverable pod
- $self->_deprecate(qq[size() is an alias of "UDPsize()"]);
- return $self->udpsize(@value);
-}
-
sub ttl { ## override RR method
my ( $self, @value ) = @_;
$self->_deprecate(qq[please use "flags()", "rcode()" or "version()"]);
@@ -157,6 +151,12 @@
return $self->{udpsize} || 0;
}
+sub size {
+ my ( $self, @value ) = @_; # uncoverable pod
+ $self->_deprecate(qq[size() is an alias of "UDPsize()"]);
+ return $self->udpsize(@value);
+}
+
sub rcode {
my ( $self, @value ) = @_;
@@ -442,19 +442,19 @@
my $error = $Net::DNS::Parameters::dnserrorbyval{$code};
my @error = defined($error) ? ( 'ERROR' => $error ) : ();
my $extra = Net::DNS::Text->decode( \$text, 0, length $text );
- my $REGEX = q/("[^"]*")|([\[\]{}:,])|\s+/;
for ( $extra->value ) {
last unless /^[\[\{]/;
- s/([\@\$])/\\$1/g;
- my $info = eval join( ' ', map { s/^:$/=>/; $_ } grep {defined} split /$REGEX/o );
- return {'INFO-CODE' => $code, @error, 'EXTRA-TEXT' => $info || last};
+ s/([\$\@])/\\$1/g; ## Here be dragons!
+ my $REGEX = q/("[^"]*"|[\[\]{}:,]|[-0-9.Ee+]+)|\s+|(.)/;
+ my @split = grep { defined && length } split /$REGEX/o;
+ my $value = eval join( ' ', 'no integer;', map { s/^:$/=>/; $_ } @split );
+ return {'INFO-CODE' => $code, @error, 'EXTRA-TEXT' => $value} if ref($value);
}
- return {'INFO-CODE' => $code, @error, 'EXTRA-TEXT' => $extra->string};
+ return {'INFO-CODE' => $code, @error, 'EXTRA-TEXT' => $extra->value};
}
package Net::DNS::RR::OPT::REPORT_CHANNEL; # draft-ietf-dnsop-dns-error-reporting
-$Net::DNS::Parameters::ednsoptionbyval{65023} = 'REPORT-CHANNEL'; ## experimental/private use
sub _compose {
my ( undef, @argument ) = map { ref($_) ? %$_ : $_ } @_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/RR/SOA.pm new/Net-DNS-1.40/lib/Net/DNS/RR/SOA.pm
--- old/Net-DNS-1.39/lib/Net/DNS/RR/SOA.pm 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/lib/Net/DNS/RR/SOA.pm 2023-08-30 20:05:53.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = (qw$Id: SOA.pm 1896 2023-01-30 12:59:25Z willem $)[2];
+our $VERSION = (qw$Id: SOA.pm 1931 2023-08-23 13:14:15Z willem $)[2];
use base qw(Net::DNS::RR);
@@ -60,7 +60,8 @@
sub _parse_rdata { ## populate RR from rdata in argument list
my ( $self, @argument ) = @_;
- for (qw(mname rname serial)) { $self->$_( shift @argument ) }
+ for (qw(mname rname)) { $self->$_( shift @argument ) }
+ $self->serial( shift @argument ) if scalar @argument; # possibly undefined
for (qw(refresh retry expire minimum)) {
last unless scalar @argument;
$self->$_( Net::DNS::RR::ttl( {}, shift @argument ) );
@@ -145,11 +146,9 @@
return 1 unless defined $n1; # ( undef, any )
# unwise to assume 64-bit arithmetic, or that 32-bit integer overflow goes unpunished
- use integer;
- if ( $n2 < 0 ) { # fold, leaving $n2 non-negative
- $n1 = ( $n1 & 0xFFFFFFFF ) ^ 0x80000000; # -2**31 <= $n1 < 2**32
- $n2 = ( $n2 & 0x7FFFFFFF ); # 0 <= $n2 < 2**31
- }
+ use integer; # fold, leaving $n2 non-negative
+ $n1 = ( $n1 & 0xFFFFFFFF ) ^ ( $n2 & 0x80000000 ); # -2**31 <= $n1 < 2**32
+ $n2 = ( $n2 & 0x7FFFFFFF ); # 0 <= $n2 < 2**31
return $n1 < $n2 ? ( $n1 > ( $n2 - 0x80000000 ) ) : ( $n2 < ( $n1 - 0x80000000 ) );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/RR/SVCB.pm new/Net-DNS-1.40/lib/Net/DNS/RR/SVCB.pm
--- old/Net-DNS-1.39/lib/Net/DNS/RR/SVCB.pm 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/lib/Net/DNS/RR/SVCB.pm 2023-08-30 20:05:53.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = (qw$Id: SVCB.pm 1896 2023-01-30 12:59:25Z willem $)[2];
+our $VERSION = (qw$Id: SVCB.pm 1930 2023-08-21 14:10:10Z willem $)[2];
use base qw(Net::DNS::RR);
@@ -15,7 +15,6 @@
use integer;
-use MIME::Base64;
use Net::DNS::DomainName;
use Net::DNS::RR::A;
use Net::DNS::RR::AAAA;
@@ -31,6 +30,7 @@
ech => 'key5',
ipv6hint => 'key6',
dohpath => 'key7', # draft-schwartz-svcb-dns
+ ohttp => 'key8', # draft-pauly-ohai-svcb-config
);
@@ -189,9 +189,9 @@
return $self->key1( _string(@value) );
}
-sub no_default_alpn { ## no-default-alpn
+sub no_default_alpn { ## no-default-alpn (Boolean)
my ( $self, @value ) = @_; # uncoverable pod
- return $self->key2( ( defined(wantarray) ? @value : '' ), @value );
+ return $self->key2( ( defined(wantarray) ? () : '' ), @value );
}
sub port { ## port=1234
@@ -204,9 +204,9 @@
return $self->key4( _ipv4(@value) );
}
-sub ech { ## ech=base64string
+sub ech { ## Format not specified
my ( $self, @value ) = @_;
- return $self->key5( map { _base64($_) } @value );
+ return $self->key5(@value); # RESERVED
}
sub ipv6hint { ## ipv6hint=2001:DB8::1,...
@@ -219,6 +219,11 @@
return $self->key7(@value);
}
+sub ohttp { ## ohttp (Boolean)
+ my ( $self, @value ) = @_; # uncoverable pod
+ return $self->key8( ( defined(wantarray) ? () : '' ), @value );
+}
+
########################################
@@ -229,11 +234,6 @@
return Net::DNS::Text->decode( \$raw, 0, length($raw) )->string;
}
-sub _base64 {
- my @arg = @_;
- return _presentation( map { MIME::Base64::decode($_) } @arg );
-}
-
sub _integer16 {
my @arg = @_;
return _presentation( map { pack( 'n', $_ ) } @arg );
@@ -254,17 +254,17 @@
local $_ = join ',', @arg; # reassemble argument string
s/\\,/\\044/g; # disguise (RFC1035) escaped comma
die <<"QQ" if /\\092,|\\092\\092/;
-SVCB: Please use standard RFC1035 escapes\n draft-ietf-dnsop-svcb-https double-escape nonsense not implemented
+SVCB: Please use standard RFC1035 escapes
+ draft-ietf-dnsop-svcb-https double-escape nonsense not implemented
QQ
return _presentation( map { Net::DNS::Text->new($_)->encode() } split /,/ );
}
-our $AUTOLOAD;
-
sub AUTOLOAD { ## Dynamic constructor/accessor methods
my ( $self, @argument ) = @_;
+ our $AUTOLOAD;
my ($method) = reverse split /::/, $AUTOLOAD;
my $super = "SUPER::$method";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/Resolver/Base.pm new/Net-DNS-1.40/lib/Net/DNS/Resolver/Base.pm
--- old/Net-DNS-1.39/lib/Net/DNS/Resolver/Base.pm 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/lib/Net/DNS/Resolver/Base.pm 2023-08-30 20:05:53.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = (qw$Id: Base.pm 1910 2023-03-30 19:16:30Z willem $)[2];
+our $VERSION = (qw$Id: Base.pm 1930 2023-08-21 14:10:10Z willem $)[2];
#
@@ -257,8 +257,7 @@
sub print {
- print shift->string;
- return;
+ return print shift->string;
}
@@ -624,9 +623,9 @@
return time() <= $expire unless IO::Select->new($handle)->can_read(0);
+ return unless $query; # SpamAssassin 3.4.1 workaround
return if $self->{igntc};
return unless $handle->socktype() == SOCK_DGRAM;
- return unless $query; # SpamAssassin 3.4.1 workaround
my $ans = $self->_bgread($handle);
$$appendix[2] = [$ans];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/Resolver/Recurse.pm new/Net-DNS-1.40/lib/Net/DNS/Resolver/Recurse.pm
--- old/Net-DNS-1.39/lib/Net/DNS/Resolver/Recurse.pm 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/lib/Net/DNS/Resolver/Recurse.pm 2023-08-30 20:05:53.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = (qw$Id: Recurse.pm 1896 2023-01-30 12:59:25Z willem $)[2];
+our $VERSION = (qw$Id: Recurse.pm 1930 2023-08-21 14:10:10Z willem $)[2];
=head1 NAME
@@ -127,21 +127,22 @@
sub _referral {
my ( $self, $packet ) = @_;
return unless $packet;
- my @auth = grep { $_->type eq 'NS' } $packet->answer, $packet->authority;
+ my @ans = $packet->answer;
+ my @auth = grep { $_->type eq 'NS' } $packet->authority, @ans;
return unless scalar(@auth);
my $owner = lc( $auth[0]->owner );
my $cache = $self->{persistent}->{$owner};
return $owner if $cache && scalar(@$cache);
- my @addr = grep { $_->can('address') } $packet->additional;
+ my @addr = grep { $_->can('address') } $packet->additional, @ans;
my @ip;
my @ns = map { lc( $_->nsdname ) } @auth;
foreach my $ns (@ns) {
- push @ip, map { $_->address } grep { $ns eq lc( $_->owner ) } @addr;
+ push @ip, map { $ns eq lc( $_->owner ) ? $_->address : () } @addr;
}
- $self->_diag("resolving glue for $owner") unless scalar(@ip);
- @ip = $self->nameservers( $ns[0], $ns[-1] ) unless scalar(@ip);
- $self->_diag("caching nameservers for $owner");
+ $self->_diag("resolving missing glue for $owner") unless scalar(@ip);
+ @ip = $self->nameservers( $ns[0], $ns[-1] ) unless scalar(@ip);
+ $self->_diag("caching nameserver addresses for $owner");
$self->{persistent}->{$owner} = \@ip;
return $owner;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS.pm new/Net-DNS-1.40/lib/Net/DNS.pm
--- old/Net-DNS-1.39/lib/Net/DNS.pm 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/lib/Net/DNS.pm 2023-08-30 20:05:53.000000000 +0200
@@ -4,9 +4,9 @@
use warnings;
our $VERSION;
-$VERSION = '1.39';
+$VERSION = '1.40';
$VERSION = eval {$VERSION};
-our $SVNVERSION = (qw$Id: DNS.pm 1929 2023-06-01 11:40:49Z willem $)[2];
+our $SVNVERSION = (qw$Id: DNS.pm 1936 2023-08-30 18:05:44Z willem $)[2];
=head1 NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/01-resolver.t new/Net-DNS-1.40/t/01-resolver.t
--- old/Net-DNS-1.39/t/01-resolver.t 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/t/01-resolver.t 2023-08-30 20:05:53.000000000 +0200
@@ -1,15 +1,22 @@
#!/usr/bin/perl
-# $Id: 01-resolver.t 1910 2023-03-30 19:16:30Z willem $ -*-perl-*-
+# $Id: 01-resolver.t 1934 2023-08-25 12:14:08Z willem $ -*-perl-*-
#
use strict;
use warnings;
-use Test::More tests => 34;
+use Test::More tests => 35;
use TestToolkit;
use Net::DNS::Resolver;
use Net::DNS::Resolver::Recurse;
+{ ## off-line dry tests
+
+ package Net::DNS::Resolver;
+ sub _create_tcp_socket {return} ## stub
+ sub _create_udp_socket {return} ## stub
+}
+
my @NOIP = qw(:: 0.0.0.0);
@@ -103,12 +110,15 @@
exception( 'deprecated make_query_packet()', $deprecated );
noexception( 'no repeated deprecation warning', $deprecated );
-exit;
+SKIP: {
+ skip( 'Unable to emulate SpamAssassin socket usage', 1 ) if $^O eq 'MSWin32';
+ my $handle = \*DATA; ## exercise SpamAssassin's use of plain sockets
+ ok( !$resolver->bgbusy($handle), 'bgbusy(): SpamAssassin workaround' );
+}
-package Net::DNS::Resolver; ## off-line dry test
-sub _create_tcp_socket {return} ## stub
-sub _create_udp_socket {return} ## stub
+exit;
-__END__
+__DATA__
+arbitrary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/05-OPT.t new/Net-DNS-1.40/t/05-OPT.t
--- old/Net-DNS-1.39/t/05-OPT.t 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/t/05-OPT.t 2023-08-30 20:05:53.000000000 +0200
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# $Id: 05-OPT.t 1910 2023-03-30 19:16:30Z willem $ -*-perl-*-
+# $Id: 05-OPT.t 1934 2023-08-25 12:14:08Z willem $ -*-perl-*-
#
use strict;
@@ -9,8 +9,9 @@
use Net::DNS;
use Net::DNS::Parameters;
+local $Net::DNS::Parameters::ednsoptionbyval{65023} = 'REPORT-CHANNEL'; ## experimental/private use
-use constant UTIL => scalar eval { require Scalar::Util; Scalar::Util->can('isdual') }; ## no critic
+use constant UTIL => scalar eval { require Scalar::Util; Scalar::Util->can('isdual') }; ## no critic
my $code = 41;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/05-SOA.t new/Net-DNS-1.40/t/05-SOA.t
--- old/Net-DNS-1.39/t/05-SOA.t 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/t/05-SOA.t 2023-08-30 20:05:53.000000000 +0200
@@ -1,11 +1,11 @@
#!/usr/bin/perl
-# $Id: 05-SOA.t 1910 2023-03-30 19:16:30Z willem $ -*-perl-*-
+# $Id: 05-SOA.t 1934 2023-08-25 12:14:08Z willem $ -*-perl-*-
#
use strict;
use warnings;
use integer;
-use Test::More tests => 35;
+use Test::More tests => 43;
use Net::DNS;
@@ -69,6 +69,10 @@
sprintf( '%u', $serial ),
"rr->serial($serial) steps from $initial to $serial"
);
+ is( sprintf( '%u', $rr->serial($serial) ),
+ sprintf( '%u', $serial + 1 ),
+ "rr->serial($serial) increments existing serial number"
+ );
$initial = $serial;
}
}
@@ -106,12 +110,22 @@
for my $rr ( Net::DNS::RR->new('name SOA mname rname') ) {
- my $pretime = time() - 10;
my $posttime = UNIXTIME;
- my $postincr = $posttime + 1;
+ my $pretime = $posttime - 10;
$rr->serial($pretime);
- is( $rr->serial($posttime), $posttime, "rr->serial(UNIXTIME) steps from $pretime to $posttime" );
- is( $rr->serial($posttime), $postincr, "rr->serial(UNIXTIME) increments $posttime to $postincr" );
+ is( sprintf( '%u', $rr->serial($posttime) ),
+ sprintf( '%u', $posttime ),
+ "rr->serial(UNIXTIME) steps from $pretime to $posttime"
+ );
+}
+
+
+for my $rr ( Net::DNS::RR->new('name SOA mname rname') ) {
+ my $jan2038 = 0x80007B40;
+ is( sprintf( '%x', $rr->serial($jan2038) ),
+ sprintf( '%x', $jan2038 ),
+ "rr->serial(UNIXTIME) will still work after 19 Jan 2038"
+ );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/05-SVCB.t new/Net-DNS-1.40/t/05-SVCB.t
--- old/Net-DNS-1.39/t/05-SVCB.t 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/t/05-SVCB.t 2023-08-30 20:05:53.000000000 +0200
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# $Id: 05-SVCB.t 1910 2023-03-30 19:16:30Z willem $ -*-perl-*-
+# $Id: 05-SVCB.t 1930 2023-08-21 14:10:10Z willem $ -*-perl-*-
#
use strict;
@@ -11,10 +11,10 @@
use TestToolkit;
exit( plan skip_all => 'unresolved AUTOLOAD regression [perl #120694]' )
- if ( $] == 5.018000 )
- or ( $] == 5.018001 );
+ unless ( $] > 5.018001 )
+ or ( $] < 5.018 );
-plan tests => 44;
+plan tests => 46;
my $name = 'SVCB.example';
@@ -22,7 +22,7 @@
my $code = 64;
my @attr = qw( svcpriority targetname port );
my @data = qw( 1 pool.svc.example 1234 );
-my @also = qw(mandatory alpn no-default-alpn port ipv4hint ech ipv6hint);
+my @also = qw(mandatory alpn no-default-alpn port ipv4hint ech ipv6hint dohpath ohttp);
my $wire = '000104706f6f6c03737663076578616d706c65000003000204d2';
@@ -73,6 +73,7 @@
no-default-alpn port=1234 ipv4hint=192.0.2.1
ech=Li4u ipv6hint=2001:db8::1
dohpath=/dns-query{?dns}
+ ohttp
)
END
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/08-IPv4.t new/Net-DNS-1.40/t/08-IPv4.t
--- old/Net-DNS-1.39/t/08-IPv4.t 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/t/08-IPv4.t 2023-08-30 20:05:53.000000000 +0200
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# $Id: 08-IPv4.t 1925 2023-05-31 11:58:59Z willem $ -*-perl-*-
+# $Id: 08-IPv4.t 1930 2023-08-21 14:10:10Z willem $ -*-perl-*-
#
use strict;
@@ -69,7 +69,7 @@
Net::DNS::Resolver->debug($debug);
-plan tests => 64;
+plan tests => 63;
NonFatalBegin();
@@ -431,17 +431,6 @@
}
-{ ## exercise SpamAssassin's use of plain sockets
- my $resolver = Net::DNS::Resolver->new( nameservers => $IP, udp_timeout => 0 );
-
- my $packet = $resolver->_make_query_packet(qw(net-dns.org SOA));
- my $socket = $resolver->_bgsend_udp( $packet, $packet->data );
- delete ${*$socket}{net_dns_bg}; # state vector
- while ( $resolver->bgbusy($socket) ) { sleep 1 }
- ok( !$resolver->bgbusy($socket), 'bgbusy() SpamAssassin workaround' );
-}
-
-
NonFatalEnd();
exit;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/08-IPv6.t new/Net-DNS-1.40/t/08-IPv6.t
--- old/Net-DNS-1.39/t/08-IPv6.t 2023-06-01 13:41:00.000000000 +0200
+++ new/Net-DNS-1.40/t/08-IPv6.t 2023-08-30 20:05:53.000000000 +0200
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# $Id: 08-IPv6.t 1925 2023-05-31 11:58:59Z willem $ -*-perl-*-
+# $Id: 08-IPv6.t 1930 2023-08-21 14:10:10Z willem $ -*-perl-*-
#
use strict;
@@ -72,7 +72,7 @@
Net::DNS::Resolver->debug($debug);
-plan tests => 64;
+plan tests => 63;
NonFatalBegin();
@@ -434,17 +434,6 @@
}
-{ ## exercise SpamAssassin's use of plain sockets
- my $resolver = Net::DNS::Resolver->new( nameservers => $IP, udp_timeout => 0 );
-
- my $packet = $resolver->_make_query_packet(qw(net-dns.org SOA));
- my $socket = $resolver->_bgsend_udp( $packet, $packet->data );
- delete ${*$socket}{net_dns_bg}; # state vector
- while ( $resolver->bgbusy($socket) ) { sleep 1 }
- ok( !$resolver->bgbusy($socket), 'bgbusy() SpamAssassin workaround' );
-}
-
-
NonFatalEnd();
exit;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Text-CSV_XS for openSUSE:Factory checked in at 2023-09-29 21:13:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Text-CSV_XS (Old)
and /work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Text-CSV_XS"
Fri Sep 29 21:13:09 2023 rev:51 rq:1113825 version:1.520.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Text-CSV_XS/perl-Text-CSV_XS.changes 2023-08-09 17:24:32.549114756 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.28202/perl-Text-CSV_XS.changes 2023-09-29 21:13:59.694660154 +0200
@@ -1,0 +2,9 @@
+Fri Sep 22 03:08:01 UTC 2023 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 1.52
+ see /usr/share/doc/packages/perl-Text-CSV_XS/ChangeLog
+
+ 1.52 - 2023-09-21, H.Merijn Brand
+ * Fix possible coredump in cache on non-IO parse (issue 49)
+
+-------------------------------------------------------------------
Old:
----
Text-CSV_XS-1.51.tgz
New:
----
Text-CSV_XS-1.52.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Text-CSV_XS.spec ++++++
--- /var/tmp/diff_new_pack.E7LsR1/_old 2023-09-29 21:14:00.742697967 +0200
+++ /var/tmp/diff_new_pack.E7LsR1/_new 2023-09-29 21:14:00.742697967 +0200
@@ -18,9 +18,9 @@
%define cpan_name Text-CSV_XS
Name: perl-Text-CSV_XS
-Version: 1.510.0
+Version: 1.520.0
Release: 0
-%define cpan_version 1.51
+%define cpan_version 1.52
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Comma-Separated Values manipulation routines
URL: https://metacpan.org/release/%{cpan_name}
@@ -28,7 +28,7 @@
Source1: cpanspec.yml
BuildRequires: perl
BuildRequires: perl-macros
-Provides: perl(Text::CSV_XS) = 1.510.0
+Provides: perl(Text::CSV_XS) = 1.520.0
%define __perllib_provides /bin/true
Recommends: perl(Encode) >= 3.19
%{perl_requires}
++++++ Text-CSV_XS-1.51.tgz -> Text-CSV_XS-1.52.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/CSV_XS.pm new/Text-CSV_XS-1.52/CSV_XS.pm
--- old/Text-CSV_XS-1.51/CSV_XS.pm 2023-08-07 13:57:49.000000000 +0200
+++ new/Text-CSV_XS-1.52/CSV_XS.pm 2023-09-20 18:28:07.000000000 +0200
@@ -23,7 +23,7 @@
use Carp;
use vars qw( $VERSION @ISA @EXPORT_OK %EXPORT_TAGS );
-$VERSION = "1.51";
+$VERSION = "1.52";
@ISA = qw( Exporter );
XSLoader::load ("Text::CSV_XS", $VERSION);
@@ -2709,7 +2709,7 @@
In this call, C<keep_meta_info> is disabled. If C<$offset> is negative, as
with C<splice>, only the last C<abs ($offset)> records of C<$fh> are taken
into consideration. Parameters C<$offset> and C<$length> are expected to be
-an integers. Non-integer values are interpreted as integer without check.
+integers. Non-integer values are interpreted as integer without check.
Given a CSV file with 10 lines:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/CSV_XS.xs new/Text-CSV_XS-1.52/CSV_XS.xs
--- old/Text-CSV_XS-1.51/CSV_XS.xs 2023-08-07 09:06:27.000000000 +0200
+++ new/Text-CSV_XS-1.52/CSV_XS.xs 2023-09-21 09:08:32.000000000 +0200
@@ -556,26 +556,14 @@
} /* _pretty_str */
#define _cache_show_byte(trim,c) \
- warn (" %-21s %02x:%3d\n", trim, c, c)
+ warn (" %-21s %02x:%3d\n", trim, c, c)
#define _cache_show_char(trim,c) \
- warn (" %-21s %02x:%s\n", trim, c, _pretty_str (&c, 1))
+ warn (" %-21s %02x:%s\n", trim, c, _pretty_str (&c, 1))
#define _cache_show_str(trim,l,str) \
- warn (" %-21s %02d:%s\n", trim, l, _pretty_str (str, l))
+ warn (" %-21s %3d:%s\n", trim, l, _pretty_str (str, l))
-#define xs_cache_diag(hv) cx_xs_cache_diag (aTHX_ hv)
-static void cx_xs_cache_diag (pTHX_ HV *hv) {
- SV **svp;
- byte *cache;
- csv_t csvs;
- csv_t *csv = &csvs;
-
- unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) {
- warn ("CACHE: invalid\n");
- return;
- }
-
- cache = (byte *)SvPV_nolen (*svp);
- (void)memcpy (csv, cache, sizeof (csv_t));
+#define _csv_diag(csv) _xs_csv_diag (aTHX_ csv)
+static void _xs_csv_diag (pTHX_ csv_t *csv) {
warn ("CACHE:\n");
_cache_show_char ("quote_char", CH_QUOTE);
_cache_show_char ("escape_char", csv->escape_char);
@@ -625,6 +613,27 @@
char *s = SvPV_nolen (csv->tmp);
_cache_show_str ("tmp", (int)strlen (s), (byte *)s);
}
+ if (csv->cache)
+ warn (" %-20s %4d:0x%08x\n", "cache", sizeof (csv_t), csv->cache);
+ else
+ warn (" %-22s --:no cache yet\n", "cache");
+ } /* _csv_diag */
+
+#define xs_cache_diag(hv) cx_xs_cache_diag (aTHX_ hv)
+static void cx_xs_cache_diag (pTHX_ HV *hv) {
+ SV **svp;
+ byte *cache;
+ csv_t csvs;
+ csv_t *csv = &csvs;
+
+ unless ((svp = hv_fetchs (hv, "_CACHE", FALSE)) && *svp) {
+ warn ("CACHE: invalid\n");
+ return;
+ }
+
+ cache = (byte *)SvPV_nolen (*svp);
+ (void)memcpy (csv, cache, sizeof (csv_t));
+ _csv_diag (csv);
} /* xs_cache_diag */
#define set_eol_is_cr(csv) cx_set_eol_is_cr (aTHX_ csv)
@@ -2181,8 +2190,13 @@
}
}
}
- else /* just copy the cache */
+ else { /* just copy to the cache */
+ SV **svp = hv_fetchs (hv, "_CACHE", FALSE);
+
+ if (svp && *svp)
+ csv.cache = (byte *)SvPV_nolen (*svp);
(void)memcpy (csv.cache, &csv, sizeof (csv_t));
+ }
if (result && csv.types) {
STRLEN i;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/ChangeLog new/Text-CSV_XS-1.52/ChangeLog
--- old/Text-CSV_XS-1.51/ChangeLog 2023-08-07 13:58:29.000000000 +0200
+++ new/Text-CSV_XS-1.52/ChangeLog 2023-09-21 09:59:52.000000000 +0200
@@ -1,3 +1,6 @@
+1.52 - 2023-09-21, H.Merijn Brand
+ * Fix possible coredump in cache on non-IO parse (issue 49)
+
1.51 - 2023-08-07, H.Merijn Brand
* Contact e-mail update
* Attribute skip_empty_rows extended
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/META.json new/Text-CSV_XS-1.52/META.json
--- old/Text-CSV_XS-1.51/META.json 2023-08-07 18:20:03.000000000 +0200
+++ new/Text-CSV_XS-1.52/META.json 2023-09-21 13:20:30.000000000 +0200
@@ -1,48 +1,51 @@
{
- "release_status" : "stable",
- "abstract" : "Comma-Separated Values manipulation routines",
"resources" : {
- "bugtracker" : {
- "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-CSV_XS"
- },
"license" : [
"http://dev.perl.org/licenses/"
],
- "x_IRC" : "irc://irc.perl.org/#csv",
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-CSV_XS"
+ },
"homepage" : "https://metacpan.org/pod/Text::CSV_XS",
+ "x_IRC" : "irc://irc.perl.org/#csv",
"repository" : {
"web" : "https://github.com/Tux/Text-CSV_XS",
"url" : "https://github.com/Tux/Text-CSV_XS",
"type" : "git"
}
},
- "generated_by" : "Author",
- "provides" : {
- "Text::CSV_XS" : {
- "file" : "CSV_XS.pm",
- "version" : "1.51"
- }
+ "author" : [
+ "H.Merijn Brand <hmbrand.org>"
+ ],
+ "license" : [
+ "perl_5"
+ ],
+ "name" : "Text-CSV_XS",
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : 2
},
+ "release_status" : "stable",
"prereqs" : {
- "test" : {
+ "runtime" : {
+ "recommends" : {
+ "Encode" : "3.19"
+ },
"requires" : {
- "Test::More" : "0",
- "Tie::Scalar" : "0"
+ "IO::Handle" : "0",
+ "perl" : "5.006001",
+ "XSLoader" : "0"
}
},
- "build" : {
+ "test" : {
"requires" : {
- "Config" : "0"
+ "Tie::Scalar" : "0",
+ "Test::More" : "0"
}
},
- "runtime" : {
- "recommends" : {
- "Encode" : "3.19"
- },
+ "build" : {
"requires" : {
- "perl" : "5.006001",
- "XSLoader" : "0",
- "IO::Handle" : "0"
+ "Config" : "0"
}
},
"configure" : {
@@ -54,17 +57,14 @@
}
}
},
- "license" : [
- "perl_5"
- ],
- "version" : "1.51",
- "author" : [
- "H.Merijn Brand <hmbrand.org>"
- ],
- "name" : "Text-CSV_XS",
- "meta-spec" : {
- "version" : 2,
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec"
+ "generated_by" : "Author",
+ "abstract" : "Comma-Separated Values manipulation routines",
+ "provides" : {
+ "Text::CSV_XS" : {
+ "file" : "CSV_XS.pm",
+ "version" : "1.52"
+ }
},
- "dynamic_config" : 1
+ "dynamic_config" : 1,
+ "version" : "1.52"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/META.yml new/Text-CSV_XS-1.52/META.yml
--- old/Text-CSV_XS-1.51/META.yml 2023-08-07 18:20:03.000000000 +0200
+++ new/Text-CSV_XS-1.52/META.yml 2023-09-21 13:20:30.000000000 +0200
@@ -16,7 +16,7 @@
provides:
Text::CSV_XS:
file: CSV_XS.pm
- version: '1.51'
+ version: '1.52'
recommends:
Encode: '3.19'
requires:
@@ -31,4 +31,4 @@
homepage: https://metacpan.org/pod/Text::CSV_XS
license: http://dev.perl.org/licenses/
repository: https://github.com/Tux/Text-CSV_XS
-version: '1.51'
+version: '1.52'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Text-CSV_XS-1.51/t/80_diag.t new/Text-CSV_XS-1.52/t/80_diag.t
--- old/Text-CSV_XS-1.51/t/80_diag.t 2023-04-04 15:25:58.000000000 +0200
+++ new/Text-CSV_XS-1.52/t/80_diag.t 2023-09-19 10:50:39.000000000 +0200
@@ -219,7 +219,7 @@
open EH, "<", $diag_file or die "STDERR: $!\n";
is (scalar <EH>, "CACHE:\n", "Title");
while (<EH>) {
- m/^\s+(?:tmp|bptr)\b/ and next;
+ m/^\s+(?:tmp|bptr|cache)\b/ and next;
like ($_, qr{^ \w+\s+[0-9a-f]+:(?:".*"|\s*[0-9]+)$}, "Content");
}
close EH;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Term-Table for openSUSE:Factory checked in at 2023-09-29 21:13:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Term-Table (Old)
and /work/SRC/openSUSE:Factory/.perl-Term-Table.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Term-Table"
Fri Sep 29 21:13:09 2023 rev:8 rq:1113824 version:0.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Term-Table/perl-Term-Table.changes 2022-01-20 00:12:38.778594265 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Term-Table.new.28202/perl-Term-Table.changes 2023-09-29 21:13:57.774590878 +0200
@@ -1,0 +2,10 @@
+Thu Sep 14 03:09:44 UTC 2023 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 0.017
+ see /usr/share/doc/packages/perl-Term-Table/Changes
+
+ 0.017 2023-09-13 10:41:08-07:00 America/Los_Angeles
+
+ - Remove 'Importer' dependency
+
+-------------------------------------------------------------------
Old:
----
Term-Table-0.016.tar.gz
New:
----
Term-Table-0.017.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Term-Table.spec ++++++
--- /var/tmp/diff_new_pack.O8fSdh/_old 2023-09-29 21:13:59.342647453 +0200
+++ /var/tmp/diff_new_pack.O8fSdh/_new 2023-09-29 21:13:59.346647598 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Term-Table
#
-# 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
@@ -18,19 +18,26 @@
%define cpan_name Term-Table
Name: perl-Term-Table
-Version: 0.016
+Version: 0.17.0
Release: 0
-Summary: Format a header and rows into a table
+%define cpan_version 0.017
License: Artistic-1.0 OR GPL-1.0-or-later
+Summary: Format a header and rows into a table
URL: https://metacpan.org/release/%{cpan_name}
-Source0: https://cpan.metacpan.org/authors/id/E/EX/EXODIST/%{cpan_name}-%{version}.t…
+Source0: https://cpan.metacpan.org/authors/id/E/EX/EXODIST/%{cpan_name}-%{cpan_versi…
Source1: cpanspec.yml
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Importer) >= 0.024
BuildRequires: perl(Test2::Tools::Tiny) >= 1.302097
-Requires: perl(Importer) >= 0.024
+Provides: perl(Term::Table) = 0.17.0
+Provides: perl(Term::Table::Cell) = 0.17.0
+Provides: perl(Term::Table::CellStack) = 0.17.0
+Provides: perl(Term::Table::HashBase) = 0.17.0
+Provides: perl(Term::Table::LineBreak) = 0.17.0
+Provides: perl(Term::Table::Spacer) = 0.17.0
+Provides: perl(Term::Table::Util) = 0.17.0
+%define __perllib_provides /bin/true
Recommends: perl(Term::Size::Any) >= 0.002
Recommends: perl(Unicode::GCString) >= 2013.10
Recommends: perl(Unicode::LineBreak) >= 2015.06
@@ -41,7 +48,7 @@
gone wrong. This module is able to generic format rows of data into tables.
%prep
-%autosetup -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor
@@ -56,6 +63,6 @@
%perl_gen_filelist
%files -f %{name}.files
-%doc appveyor.yml Changes README README.md
+%doc Changes README README.md
%license LICENSE
++++++ Term-Table-0.016.tar.gz -> Term-Table-0.017.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/Changes new/Term-Table-0.017/Changes
--- old/Term-Table-0.016/Changes 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/Changes 2023-09-13 19:41:09.000000000 +0200
@@ -1,3 +1,7 @@
+0.017 2023-09-13 10:41:08-07:00 America/Los_Angeles
+
+ - Remove 'Importer' dependency
+
0.016 2022-01-03 12:56:51-08:00 America/Los_Angeles
- Be explicit about bareword filehandles
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/LICENSE new/Term-Table-0.017/LICENSE
--- old/Term-Table-0.016/LICENSE 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/LICENSE 2023-09-13 19:41:09.000000000 +0200
@@ -1,4 +1,4 @@
-This software is copyright (c) 2022 by Chad Granum.
+This software is copyright (c) 2023 by Chad Granum.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@
--- The GNU General Public License, Version 1, February 1989 ---
-This software is Copyright (c) 2022 by Chad Granum.
+This software is Copyright (c) 2023 by Chad Granum.
This is free software, licensed under:
@@ -270,110 +270,143 @@
That's all there is to it!
---- The Artistic License 1.0 ---
+--- The Perl Artistic License 1.0 ---
-This software is Copyright (c) 2022 by Chad Granum.
+This software is Copyright (c) 2023 by Chad Granum.
This is free software, licensed under:
- The Artistic License 1.0
+ The Perl Artistic License 1.0
-The Artistic License
-Preamble
-The intent of this document is to state the conditions under which a Package
-may be copied, such that the Copyright Holder maintains some semblance of
-artistic control over the development of the package, while giving the users of
-the package the right to use and distribute the Package in a more-or-less
-customary fashion, plus the right to make reasonable modifications.
+
+
+ The "Artistic License"
+
+ Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to make
+reasonable modifications.
Definitions:
- - "Package" refers to the collection of files distributed by the Copyright
- Holder, and derivatives of that collection of files created through
- textual modification.
- - "Standard Version" refers to such a Package if it has not been modified,
- or has been modified in accordance with the wishes of the Copyright
- Holder.
- - "Copyright Holder" is whoever is named in the copyright or copyrights for
- the package.
- - "You" is you, if you're thinking about copying or distributing this Package.
- - "Reasonable copying fee" is whatever you can justify on the basis of media
- cost, duplication charges, time of people involved, and so on. (You will
- not be required to justify it to the Copyright Holder, but only to the
- computing community at large as a market that must bear the fee.)
- - "Freely Available" means that no fee is charged for the item itself, though
- there may be fees involved in handling the item. It also means that
- recipients of the item may redistribute it under the same conditions they
- received it.
+ "Package" refers to the collection of files distributed by the
+ Copyright Holder, and derivatives of that collection of files
+ created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been
+ modified, or has been modified in accordance with the wishes
+ of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or
+ copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing
+ this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the
+ basis of media cost, duplication charges, time of people involved,
+ and so on. (You will not be required to justify it to the
+ Copyright Holder, but only to the computing community at large
+ as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item
+ itself, though there may be fees involved in handling the item.
+ It also means that recipients of the item may redistribute it
+ under the same conditions they received it.
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
-2. You may apply bug fixes, portability fixes and other modifications derived
-from the Public Domain or from the Copyright Holder. A Package modified in such
-a way shall still be considered the Standard Version.
-
-3. You may otherwise modify your copy of this Package in any way, provided that
-you insert a prominent notice in each changed file stating how and when you
-changed that file, and provided that you do at least ONE of the following:
-
- a) place your modifications in the Public Domain or otherwise make them
- Freely Available, such as by posting said modifications to Usenet or an
- equivalent medium, or placing the modifications on a major archive site
- such as ftp.uu.net, or by allowing the Copyright Holder to include your
- modifications in the Standard Version of the Package.
-
- b) use the modified Package only within your corporation or organization.
-
- c) rename any non-standard executables so the names do not conflict with
- standard executables, which must also be provided, and provide a separate
- manual page for each non-standard executable that clearly documents how it
- differs from the Standard Version.
-
- d) make other distribution arrangements with the Copyright Holder.
-
-4. You may distribute the programs of this Package in object code or executable
-form, provided that you do at least ONE of the following:
-
- a) distribute a Standard Version of the executables and library files,
- together with instructions (in the manual page or equivalent) on where to
- get the Standard Version.
-
- b) accompany the distribution with the machine-readable source of the Package
- with your modifications.
-
- c) accompany any non-standard executables with their corresponding Standard
- Version executables, giving the non-standard executables non-standard
- names, and clearly documenting the differences in manual pages (or
- equivalent), together with instructions on where to get the Standard
- Version.
+2. You may apply bug fixes, portability fixes and other modifications
+derived from the Public Domain or from the Copyright Holder. A Package
+modified in such a way shall still be considered the Standard Version.
- d) make other distribution arrangements with the Copyright Holder.
+3. You may otherwise modify your copy of this Package in any way, provided
+that you insert a prominent notice in each changed file stating how and
+when you changed that file, and provided that you do at least ONE of the
+following:
-5. You may charge a reasonable copying fee for any distribution of this
-Package. You may charge any fee you choose for support of this Package. You
-may not charge a fee for this Package itself. However, you may distribute this
-Package in aggregate with other (possibly commercial) programs as part of a
-larger (possibly commercial) software distribution provided that you do not
-advertise this Package as a product of your own.
-
-6. The scripts and library files supplied as input to or produced as output
-from the programs of this Package do not automatically fall under the copyright
-of this Package, but belong to whomever generated them, and may be sold
-commercially, and may be aggregated with this Package.
+ a) place your modifications in the Public Domain or otherwise make them
+ Freely Available, such as by posting said modifications to Usenet or
+ an equivalent medium, or placing the modifications on a major archive
+ site such as uunet.uu.net, or by allowing the Copyright Holder to include
+ your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided, and provide
+ a separate manual page for each non-standard executable that clearly
+ documents how it differs from the Standard Version.
-7. C or perl subroutines supplied by you and linked into this Package shall not
-be considered part of this Package.
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files,
+ together with instructions (in the manual page or equivalent) on where
+ to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of
+ the Package with your modifications.
+
+ c) give non-standard executables non-standard names, and clearly
+ document the differences in manual pages (or equivalent), together
+ with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package. You may charge any fee you choose for support of this
+Package. You may not charge a fee for this Package itself. However,
+you may distribute this Package in aggregate with other (possibly
+commercial) programs as part of a larger (possibly commercial) software
+distribution provided that you do not advertise this Package as a
+product of your own. You may embed this Package's interpreter within
+an executable of yours (by linking); this shall be construed as a mere
+form of aggregation, provided that the complete Standard Version of the
+interpreter is so embedded.
+
+6. The scripts and library files supplied as input to or produced as
+output from the programs of this Package do not automatically fall
+under the copyright of this Package, but belong to whoever generated
+them, and may be sold commercially, and may be aggregated with this
+Package. If such scripts or library files are aggregated with this
+Package via the so-called "undump" or "unexec" methods of producing a
+binary executable image, then distribution of such an image shall
+neither be construed as a distribution of this Package nor shall it
+fall under the restrictions of Paragraphs 3 and 4, provided that you do
+not represent such an executable image as a Standard Version of this
+Package.
+
+7. C subroutines (or comparably compiled subroutines in other
+languages) supplied by you and linked into this Package in order to
+emulate subroutines and variables of the language defined by this
+Package shall not be considered part of this Package, but are the
+equivalent of input as in Paragraph 6, provided these subroutines do
+not change the language in any way that would cause it to fail the
+regression tests for the language.
+
+8. Aggregation of this Package with a commercial distribution is always
+permitted provided that the use of this Package is embedded; that is,
+when no overt attempt is made to make this Package's interfaces visible
+to the end user of the commercial distribution. Such use shall not be
+construed as a distribution of this Package.
-8. The name of the Copyright Holder may not be used to endorse or promote
+9. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written permission.
-9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-The End
+ The End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/MANIFEST new/Term-Table-0.017/MANIFEST
--- old/Term-Table-0.016/MANIFEST 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/MANIFEST 2023-09-13 19:41:09.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.024.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.030.
Changes
LICENSE
MANIFEST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/META.json new/Term-Table-0.017/META.json
--- old/Term-Table-0.016/META.json 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/META.json 2023-09-13 19:41:09.000000000 +0200
@@ -4,7 +4,7 @@
"Chad Granum <exodist(a)cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 6.024, CPAN::Meta::Converter version 2.150010",
+ "generated_by" : "Dist::Zilla version 6.030, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
@@ -32,7 +32,6 @@
},
"requires" : {
"Carp" : "0",
- "Importer" : "0.024",
"List::Util" : "0",
"Scalar::Util" : "0",
"perl" : "5.008001"
@@ -55,9 +54,9 @@
"url" : "http://github.com/exodist/Term-Table/"
}
},
- "version" : "0.016",
- "x_generated_by_perl" : "v5.32.1",
- "x_serialization_backend" : "Cpanel::JSON::XS version 4.26",
+ "version" : "0.017",
+ "x_generated_by_perl" : "v5.36.1",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.37",
"x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/META.yml new/Term-Table-0.017/META.yml
--- old/Term-Table-0.016/META.yml 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/META.yml 2023-09-13 19:41:09.000000000 +0200
@@ -8,7 +8,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.024, CPAN::Meta::Converter version 2.150010'
+generated_by: 'Dist::Zilla version 6.030, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -20,14 +20,13 @@
Unicode::LineBreak: '2015.06'
requires:
Carp: '0'
- Importer: '0.024'
List::Util: '0'
Scalar::Util: '0'
perl: '5.008001'
resources:
bugtracker: http://github.com/exodist/Term-Table/issues
repository: http://github.com/exodist/Term-Table/
-version: '0.016'
-x_generated_by_perl: v5.32.1
-x_serialization_backend: 'YAML::Tiny version 1.73'
+version: '0.017'
+x_generated_by_perl: v5.36.1
+x_serialization_backend: 'YAML::Tiny version 1.74'
x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/Makefile.PL new/Term-Table-0.017/Makefile.PL
--- old/Term-Table-0.016/Makefile.PL 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/Makefile.PL 2023-09-13 19:41:09.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.024.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.030.
use strict;
use warnings;
@@ -18,7 +18,6 @@
"NAME" => "Term::Table",
"PREREQ_PM" => {
"Carp" => 0,
- "Importer" => "0.024",
"List::Util" => 0,
"Scalar::Util" => 0
},
@@ -26,7 +25,7 @@
"Test2::Tools::Tiny" => "1.302097",
"utf8" => 0
},
- "VERSION" => "0.016",
+ "VERSION" => "0.017",
"test" => {
"TESTS" => "t/*.t t/Table/*.t"
}
@@ -35,7 +34,6 @@
my %FallbackPrereqs = (
"Carp" => 0,
- "Importer" => "0.024",
"List::Util" => 0,
"Scalar::Util" => 0,
"Test2::Tools::Tiny" => "1.302097",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/cpanfile new/Term-Table-0.017/cpanfile
--- old/Term-Table-0.016/cpanfile 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/cpanfile 2023-09-13 19:41:09.000000000 +0200
@@ -1,8 +1,7 @@
-# This file is generated by Dist::Zilla::Plugin::CPANFile v6.024
+# This file is generated by Dist::Zilla::Plugin::CPANFile v6.030
# Do not edit this file directly. To change prereqs, edit the `dist.ini` file.
requires "Carp" => "0";
-requires "Importer" => "0.024";
requires "List::Util" => "0";
requires "Scalar::Util" => "0";
requires "perl" => "5.008001";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/lib/Term/Table/Cell.pm new/Term-Table-0.017/lib/Term/Table/Cell.pm
--- old/Term-Table-0.016/lib/Term/Table/Cell.pm 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/lib/Term/Table/Cell.pm 2023-09-13 19:41:09.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = '0.016';
+our $VERSION = '0.017';
use Term::Table::LineBreak();
use Term::Table::Util qw/uni_length/;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/lib/Term/Table/CellStack.pm new/Term-Table-0.017/lib/Term/Table/CellStack.pm
--- old/Term-Table-0.016/lib/Term/Table/CellStack.pm 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/lib/Term/Table/CellStack.pm 2023-09-13 19:41:09.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = '0.016';
+our $VERSION = '0.017';
use Term::Table::HashBase qw/-cells -idx/;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/lib/Term/Table/HashBase.pm new/Term-Table-0.017/lib/Term/Table/HashBase.pm
--- old/Term-Table-0.016/lib/Term/Table/HashBase.pm 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/lib/Term/Table/HashBase.pm 2023-09-13 19:41:09.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = '0.016';
+our $VERSION = '0.017';
#################################################################
# #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/lib/Term/Table/LineBreak.pm new/Term-Table-0.017/lib/Term/Table/LineBreak.pm
--- old/Term-Table-0.016/lib/Term/Table/LineBreak.pm 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/lib/Term/Table/LineBreak.pm 2023-09-13 19:41:09.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = '0.016';
+our $VERSION = '0.017';
use Carp qw/croak/;
use Scalar::Util qw/blessed/;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/lib/Term/Table/Spacer.pm new/Term-Table-0.017/lib/Term/Table/Spacer.pm
--- old/Term-Table-0.016/lib/Term/Table/Spacer.pm 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/lib/Term/Table/Spacer.pm 2023-09-13 19:41:09.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = '0.016';
+our $VERSION = '0.017';
sub new { bless {}, $_[0] }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/lib/Term/Table/Util.pm new/Term-Table-0.017/lib/Term/Table/Util.pm
--- old/Term-Table-0.016/lib/Term/Table/Util.pm 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/lib/Term/Table/Util.pm 2023-09-13 19:41:09.000000000 +0200
@@ -4,9 +4,9 @@
use Config qw/%Config/;
-our $VERSION = '0.016';
+our $VERSION = '0.017';
-use Importer Importer => 'import';
+use base 'Exporter';
our @EXPORT_OK = qw/term_size USE_GCS USE_TERM_READKEY USE_TERM_SIZE_ANY uni_length/;
sub DEFAULT_SIZE() { 80 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Term-Table-0.016/lib/Term/Table.pm new/Term-Table-0.017/lib/Term/Table.pm
--- old/Term-Table-0.016/lib/Term/Table.pm 2022-01-03 21:56:51.000000000 +0100
+++ new/Term-Table-0.017/lib/Term/Table.pm 2023-09-13 19:41:09.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = '0.016';
+our $VERSION = '0.017';
use Term::Table::Cell();
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package jq for openSUSE:Factory checked in at 2023-09-29 21:13:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jq (Old)
and /work/SRC/openSUSE:Factory/.jq.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jq"
Fri Sep 29 21:13:08 2023 rev:13 rq:1113801 version:1.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/jq/jq.changes 2023-09-21 22:13:37.132332463 +0200
+++ /work/SRC/openSUSE:Factory/.jq.new.28202/jq.changes 2023-09-29 21:13:56.298537622 +0200
@@ -1,0 +2,6 @@
+Wed Sep 27 04:32:39 UTC 2023 - Andreas Stieger <andreas.stieger(a)gmx.de>
+
+- switch to bootstrapped upstream tarball to fix version output
+ [boo#1215737]
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jq.spec ++++++
--- /var/tmp/diff_new_pack.DNvTSj/_old 2023-09-29 21:13:57.382576734 +0200
+++ /var/tmp/diff_new_pack.DNvTSj/_new 2023-09-29 21:13:57.386576878 +0200
@@ -16,6 +16,7 @@
#
+%define jq_sover 1
Name: jq
Version: 1.7
Release: 0
@@ -23,14 +24,12 @@
License: CC-BY-3.0 AND MIT
Group: Productivity/Text/Utilities
URL: https://github.com/jqlang
-Source: https://github.com/jqlang/jq/archive/refs/tags/jq-%{version}/jq-%{version}.…
-BuildRequires: autoconf
-BuildRequires: automake
+Source: https://github.com/jqlang/jq/releases/download/%{name}-%{version}/%{name}-%…
BuildRequires: chrpath
-BuildRequires: libtool
-#BuildRequires: flex
-BuildRequires: oniguruma-devel
-Requires: libjq1 = %{version}
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(oniguruma)
+# https://github.com/stedolan/jq/issues/1904
+Requires: libjq%{jq_sover} = %{version}
%ifnarch riscv64
BuildRequires: valgrind
%endif
@@ -41,32 +40,31 @@
structured data with the same ease that sed, awk, grep and friends let
you play with text.
-%package -n libjq1
+%package -n libjq%{jq_sover}
Summary: Library for a lightweight and flexible command-line JSON processor
Group: System/Libraries
-%description -n libjq1
+%description -n libjq%{jq_sover}
Library for a lightweight and flexible command-line JSON processor.
%package -n libjq-devel
Summary: Development files for jq
Group: Development/Languages/C and C++
-Requires: libjq1 = %{version}
+Requires: libjq%{jq_sover} = %{version}
%description -n libjq-devel
Development files (headers and libraries for jq).
%prep
-%setup -q -n %{name}-%{name}-%{version}
+%autosetup -p1
%build
-autoreconf -fiv
%configure \
--disable-static \
%ifarch riscv64
--disable-valgrind \
%endif
- --disable-silent-rules
+%{nil}
%make_build
%install
@@ -86,8 +84,7 @@
%make_build check
%endif
-%post -n libjq1 -p /sbin/ldconfig
-%postun -n libjq1 -p /sbin/ldconfig
+%ldconfig_scriptlets -n libjq%{jq_sover}
%files
%license COPYING
@@ -95,10 +92,12 @@
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1%{?ext_man}
-%files -n libjq1
-%{_libdir}/libjq.so.1*
+%files -n libjq%{jq_sover}
+%license COPYING
+%{_libdir}/libjq.so.%{jq_sover}*
%files -n libjq-devel
+%license COPYING
%{_includedir}/jq.h
%{_includedir}/jv.h
%{_libdir}/libjq.so
++++++ jq-1.7.tar.gz ++++++
++++ 230097 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sdl12_compat for openSUSE:Factory checked in at 2023-09-29 21:13:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sdl12_compat (Old)
and /work/SRC/openSUSE:Factory/.sdl12_compat.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sdl12_compat"
Fri Sep 29 21:13:07 2023 rev:6 rq:1113762 version:1.2.68
Changes:
--------
--- /work/SRC/openSUSE:Factory/sdl12_compat/sdl12_compat.changes 2023-06-04 16:41:28.345726227 +0200
+++ /work/SRC/openSUSE:Factory/.sdl12_compat.new.28202/sdl12_compat.changes 2023-09-29 21:13:54.582475707 +0200
@@ -1,0 +2,14 @@
+Tue Sep 26 19:02:23 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 1.2.68
+ * sync dr_mp3 with mainstream
+ * Add null check to SDL_LoadWAV_RW to avoid crashes
+ * Add quirk entry: deactivate GL scaling for Trine (2011 Humble
+ Bundle version) and Mark of the Ninja (HB)
+ * Add quirk entry: set Hyperspace Delivery Boy to run in 16bpp mode
+ * Add quirk handling: add ability to force XInitThreads before
+ main()
+ * Allocate the video surface object statically as a global
+ * Add a hint to clamp the reported screen bit depth
+
+-------------------------------------------------------------------
Old:
----
release-1.2.64.tar.gz
New:
----
release-1.2.68.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sdl12_compat.spec ++++++
--- /var/tmp/diff_new_pack.WFp5aG/_old 2023-09-29 21:13:55.862521890 +0200
+++ /var/tmp/diff_new_pack.WFp5aG/_new 2023-09-29 21:13:55.862521890 +0200
@@ -19,7 +19,7 @@
Name: sdl12_compat
%define lname libSDL-1_2-0
%global _lto_cflags %_lto_cflags -ffat-lto-objects
-Version: 1.2.64
+Version: 1.2.68
Release: 0
Summary: SDL-1.2 Compatibility Layer for Simple DirectMedia Layer 2.0
License: MIT
++++++ release-1.2.64.tar.gz -> release-1.2.68.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/.github/workflows/main.yml new/sdl12-compat-release-1.2.68/.github/workflows/main.yml
--- old/sdl12-compat-release-1.2.64/.github/workflows/main.yml 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/.github/workflows/main.yml 2023-09-26 19:43:48.000000000 +0200
@@ -10,7 +10,7 @@
matrix:
platform:
- { name: Windows, os: windows-latest }
- - { name: Linux, os: ubuntu-20.04, flags: -GNinja }
+ - { name: Linux, os: ubuntu-latest, flags: -GNinja }
- { name: MacOS, os: macos-latest }
steps:
- name: Setup Linux dependencies
@@ -19,14 +19,15 @@
sudo apt-get update
sudo apt-get install cmake ninja-build libgl1-mesa-dev libglu1-mesa-dev
- name: Get sdl12-compat sources
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Get SDL2 headers
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
repository: libsdl-org/SDL
- ref: release-2.0.18
+ ref: SDL2
path: SDL2
- name: Configure CMake
run: cmake -DSDL2_INCLUDE_DIR="${{ github.workspace }}/SDL2/include" -B build ${{ matrix.platform.flags }}
- name: Build
run: cmake --build build/
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/.github/workflows/watcom.yml new/sdl12-compat-release-1.2.68/.github/workflows/watcom.yml
--- old/sdl12-compat-release-1.2.64/.github/workflows/watcom.yml 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/.github/workflows/watcom.yml 2023-09-26 19:43:48.000000000 +0200
@@ -21,7 +21,7 @@
uses: actions/checkout@v2
with:
repository: libsdl-org/SDL
- ref: release-2.24.0
+ ref: SDL2
path: SDL2
- name: Build sdl12-compat
run: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/CMakeLists.txt new/sdl12-compat-release-1.2.68/CMakeLists.txt
--- old/sdl12-compat-release-1.2.64/CMakeLists.txt 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/CMakeLists.txt 2023-09-26 19:43:48.000000000 +0200
@@ -2,9 +2,9 @@
# you can define SDL2_INCLUDE_DIR on the cmdline. For example:
# cmake -DSDL2_INCLUDE_DIR=/opt/SDL2/include/SDL2 [other stuff]
-cmake_minimum_required(VERSION 3.0.0)
+cmake_minimum_required(VERSION 3.0.0...3.5)
project(sdl12_compat
- VERSION 1.2.64
+ VERSION 1.2.68
LANGUAGES C)
option(SDL12TESTS "Enable to build SDL-1.2 test programs" ON)
@@ -16,7 +16,7 @@
endif()
list(APPEND CMAKE_MODULE_PATH
- "${CMAKE_CURRENT_LIST_DIR}/cmake/modules"
+ "${CMAKE_CURRENT_LIST_DIR}/cmake/modules"
)
include(CheckCSourceCompiles)
@@ -33,7 +33,7 @@
# Xcode project file uses 1.0.0, but it's more compatible to use the
# higher version.
set(DYLIB_COMPAT_VERSION 12.0.0 CACHE STRING "library compatibility version")
- set(DYLIB_CURRENT_VERSION 12.64.0 CACHE STRING "library current version")
+ set(DYLIB_CURRENT_VERSION 12.68.0 CACHE STRING "library current version")
include_directories("/opt/X11/include") # hack.
if(CMAKE_VERSION VERSION_LESS 3.9)
else()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/include/SDL/SDL_config.h new/sdl12-compat-release-1.2.68/include/SDL/SDL_config.h
--- old/sdl12-compat-release-1.2.64/include/SDL/SDL_config.h 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/include/SDL/SDL_config.h 2023-09-26 19:43:48.000000000 +0200
@@ -54,6 +54,8 @@
#include <stdarg.h>
#define HAVE_STDARG_H 1
+#define HAVE_STDDEF_H 1
+
/* for now, let's try and say everything that we care about that isn't Windows
has these C runtime functions available. We're trying to avoid a configure
stage, though. Send patches if your platform lacks something. */
@@ -127,9 +129,13 @@
#endif
#endif
+#if defined(__GLIBC__)
+/* glibc certainly includes this, send patches if your OS does too */
+#define HAVE_MALLOC_H 1
+#endif
+
/* things that aren't necessarily in Linux, some are MSVC C runtime, some are BSD. Send patches. */
#if 0
-#define HAVE_MALLOC_H 1
#define HAVE_BCOPY 1
#define HAVE_ATOI 1
#define HAVE_ATOF 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/include/SDL/SDL_platform.h new/sdl12-compat-release-1.2.68/include/SDL/SDL_platform.h
--- old/sdl12-compat-release-1.2.64/include/SDL/SDL_platform.h 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/include/SDL/SDL_platform.h 2023-09-26 19:43:48.000000000 +0200
@@ -70,8 +70,29 @@
#if defined(__APPLE__)
/* lets us know what version of Mac OS X we're compiling on */
-#include "AvailabilityMacros.h"
-#include "TargetConditionals.h"
+#include <AvailabilityMacros.h>
+#include <TargetConditionals.h>
+
+/* Fix building with older SDKs that don't define these
+ See this for more information:
+ https://stackoverflow.com/questions/12132933/preprocessor-macro-for-os-x-ta…
+*/
+#ifndef TARGET_OS_MACCATALYST
+#define TARGET_OS_MACCATALYST 0
+#endif
+#ifndef TARGET_OS_IOS
+#define TARGET_OS_IOS 0
+#endif
+#ifndef TARGET_OS_IPHONE
+#define TARGET_OS_IPHONE 0
+#endif
+#ifndef TARGET_OS_TV
+#define TARGET_OS_TV 0
+#endif
+#ifndef TARGET_OS_SIMULATOR
+#define TARGET_OS_SIMULATOR 0
+#endif
+
#if TARGET_OS_TV
#undef __TVOS__
#define __TVOS__ 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/include/SDL/SDL_version.h new/sdl12-compat-release-1.2.68/include/SDL/SDL_version.h
--- old/sdl12-compat-release-1.2.64/include/SDL/SDL_version.h 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/include/SDL/SDL_version.h 2023-09-26 19:43:48.000000000 +0200
@@ -33,7 +33,7 @@
/* We bumped the patchlevel to 50 for sdl12-compat */
#define SDL_MAJOR_VERSION 1
#define SDL_MINOR_VERSION 2
-#define SDL_PATCHLEVEL 64
+#define SDL_PATCHLEVEL 68
typedef struct SDL_version
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/include/SDL/SDL_video.h new/sdl12-compat-release-1.2.68/include/SDL/SDL_video.h
--- old/sdl12-compat-release-1.2.64/include/SDL/SDL_video.h 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/include/SDL/SDL_video.h 2023-09-26 19:43:48.000000000 +0200
@@ -89,7 +89,7 @@
Uint16 pitch;
void *pixels;
int offset;
- void *hwdata;
+ struct private_hwdata *hwdata;
SDL_Rect clip_rect;
Uint32 unused1;
Uint32 locked;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/src/Makefile.darwin new/sdl12-compat-release-1.2.68/src/Makefile.darwin
--- old/sdl12-compat-release-1.2.64/src/Makefile.darwin 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/src/Makefile.darwin 2023-09-26 19:43:48.000000000 +0200
@@ -18,7 +18,7 @@
LDFLAGS = -mmacosx-version-min=10.6 -dynamiclib -Wl,-undefined,error -Wl,-single_module
#LDFLAGS+= -Wl,-headerpad_max_install_names
LDFLAGS+= -Wl,-install_name,"/usr/local/lib/$(DYLIB)"
-LDFLAGS+= -Wl,-compatibility_version,1.0 -Wl,-current_version,12.64
+LDFLAGS+= -Wl,-compatibility_version,1.0 -Wl,-current_version,12.68
LDLIBS = -Wl,-framework,AppKit
# this is needed for x86_64 - cross-gcc might not add it.
#LDLIBS += -Wl,-lbundle1.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/src/Makefile.linux new/sdl12-compat-release-1.2.68/src/Makefile.linux
--- old/sdl12-compat-release-1.2.64/src/Makefile.linux 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/src/Makefile.linux 2023-09-26 19:43:48.000000000 +0200
@@ -16,7 +16,7 @@
LDFLAGS+= -Wl,--no-undefined
LDLIBS = -ldl
-SHLIB = libSDL-1.2.so.1.2.64
+SHLIB = libSDL-1.2.so.1.2.68
OBJ = SDL12_compat.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/src/Makefile.os2 new/sdl12-compat-release-1.2.68/src/Makefile.os2
--- old/sdl12-compat-release-1.2.64/src/Makefile.os2 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/src/Makefile.os2 2023-09-26 19:43:48.000000000 +0200
@@ -5,7 +5,7 @@
!endif
DLLNAME = SDL12
-VERSION = 1.2.64
+VERSION = 1.2.68
# change SDL2INC to point to the SDL2 headers
SDL2INC = include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/src/Makefile.w32 new/sdl12-compat-release-1.2.68/src/Makefile.w32
--- old/sdl12-compat-release-1.2.64/src/Makefile.w32 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/src/Makefile.w32 2023-09-26 19:43:48.000000000 +0200
@@ -5,7 +5,7 @@
!endif
DLLNAME = SDL
-VERSION = 1.2.64
+VERSION = 1.2.68
# change SDL2INC to point to the SDL2 headers
SDL2INC = include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/src/SDL12_compat.c new/sdl12-compat-release-1.2.68/src/SDL12_compat.c
--- old/sdl12-compat-release-1.2.64/src/SDL12_compat.c 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/src/SDL12_compat.c 2023-09-26 19:43:48.000000000 +0200
@@ -28,7 +28,7 @@
* should be way ahead of what SDL-1.2 Classic would report, so apps can
* decide if they're running under the compat layer, if they really care.
*/
-#define SDL12_COMPAT_VERSION 64
+#define SDL12_COMPAT_VERSION 68
#include <stdarg.h>
#include <limits.h>
@@ -980,6 +980,7 @@
static SDL_Renderer *VideoRenderer20 = NULL;
static SDL_mutex *VideoRendererLock = NULL;
static SDL_Texture *VideoTexture20 = NULL;
+static SDL12_Surface VideoSurface12Location;
static SDL12_Surface *VideoSurface12 = NULL;
static SDL_Palette *VideoPhysicalPalette20 = NULL;
static Uint32 VideoSurfacePresentTicks = 0;
@@ -1273,6 +1274,14 @@
{"fillets", "SDL12COMPAT_ALLOW_SYSWM", "0"},
{"fillets", "SDL12COMPAT_COMPATIBILITY_AUDIOCVT", "1"},
+ /* Hyperspace Delivery Boy relies on the exact imprecision of the format conversion in some
+ earlier versions of SDL 1.2. It also recommends 16-bit in the README, so force it. */
+ {"hdb", "SDL12COMPAT_MAX_BPP", "16"},
+
+ /* Mark of the Ninja doesn't work with OpenGL scaling */
+ {"ninja-bin32", "SDL12COMPAT_OPENGL_SCALING", "0"},
+ {"ninja-bin64", "SDL12COMPAT_OPENGL_SCALING", "0"},
+
/* Misuses SDL_AudioCVT */
{"pink-pony", "SDL12COMPAT_COMPATIBILITY_AUDIOCVT", "1"},
{"pink-pony.bin", "SDL12COMPAT_COMPATIBILITY_AUDIOCVT", "1"},
@@ -1281,6 +1290,16 @@
{"scorched3d", "SDL12COMPAT_OPENGL_SCALING", "0"},
{"scorched3dc", "SDL12COMPAT_OPENGL_SCALING", "0"},
+ /* Trine (the old Humble Bundle version from 2011) doesn't render in-game with GL scaling enabled. */
+ {"trine-bin32", "SDL12COMPAT_OPENGL_SCALING", "0"},
+ {"trine-bin64", "SDL12COMPAT_OPENGL_SCALING", "0"},
+
+ /* Trine (the old Humble Bundle version from 2011)'s launcher needs X11, and needs XInitThreads _before_ GTK+ gets in there. */
+ {"trine-launcher32", "SDL_VIDEODRIVER", "x11"},
+ {"trine-launcher32", "SDL12COMPAT_FORCE_XINITTHREADS", "1"},
+ {"trine-launcher64", "SDL_VIDEODRIVER", "x11"},
+ {"trine-launcher64", "SDL12COMPAT_FORCE_XINITTHREADS", "1"},
+
/* boswars has a bug where SDL_AudioCVT must not require extra buffer space. See Issue #232. */
{"boswars", "SDL12COMPAT_COMPATIBILITY_AUDIOCVT", "1"},
@@ -1381,6 +1400,18 @@
return (float) SDL20_atof(val);
}
+static int
+SDL12Compat_GetHintInt(const char *name, int default_value)
+{
+ const char *val = SDL12Compat_GetHint(name);
+
+ if (!val) {
+ return default_value;
+ }
+
+ return SDL20_atoi(val);
+}
+
static void
SDL12Compat_ApplyQuirks(SDL_bool force_x11)
{
@@ -1483,6 +1514,22 @@
#endif
}
SDL12Compat_ApplyQuirks(force_x11); /* Apply and maybe print a list of any enabled quirks. */
+
+ #ifdef __linux__
+ {
+ const char *viddrv = SDL20_getenv("SDL_VIDEODRIVER");
+ if (viddrv && (SDL20_strcmp(viddrv, "x11") == 0) && SDL12Compat_GetHintBoolean("SDL12COMPAT_FORCE_XINITTHREADS", SDL_TRUE)) {
+ void *lib = dlopen("libX11.so.6", RTLD_GLOBAL|RTLD_NOW);
+ if (lib) {
+ int (*pXInitThreads)(void) = (int(*)(void)) dlsym(lib, "XInitThreads");
+ if (pXInitThreads) {
+ pXInitThreads();
+ }
+ /* leave the library open, so the XInitThreads sticks. */
+ }
+ }
+ }
+ #endif
}
}
if (!okay) {
@@ -1998,6 +2045,21 @@
return SDL20_AtomicGet(&JoystickList[device_index].refcount) ? 1 : 0;
}
+static SDL_PixelFormatEnum
+BPPToPixelFormat(unsigned bpp)
+{
+ #if !SDL_VERSION_ATLEAST(2,0,14)
+ #define SDL_PIXELFORMAT_XRGB8888 SDL_PIXELFORMAT_RGB888
+ #endif
+ switch (bpp) {
+ case 8: return SDL_PIXELFORMAT_INDEX8;
+ case 16: return SDL_PIXELFORMAT_RGB565;
+ case 24: return SDL_PIXELFORMAT_BGR24;
+ case 32: return SDL_PIXELFORMAT_XRGB8888;
+ default: SDL20_SetError("Unsupported bits-per-pixel"); return SDL_PIXELFORMAT_UNKNOWN;
+ }
+}
+
static SDL_PixelFormat *
PixelFormat12to20(SDL_PixelFormat *format20, SDL_Palette *palette20, const SDL12_PixelFormat *format12)
{
@@ -2136,8 +2198,7 @@
}
vmode->modeslist12 = (SDL12_Rect *) ptr;
- vmode->modeslist12[vmode->nummodes] = *mode;
-
+ SDL20_memcpy(&vmode->modeslist12[vmode->nummodes], mode, sizeof(vmode->modeslist12[vmode->nummodes]));
vmode->nummodes++;
return 0;
@@ -2183,6 +2244,7 @@
{
const int total = SDL20_GetNumDisplayModes(VideoDisplayIndex);
const char *maxmodestr;
+ const unsigned max_bpp = SDL12Compat_GetHintInt("SDL12COMPAT_MAX_BPP", 32);
VideoModeList *vmode = NULL;
void *ptr = NULL;
int i, j;
@@ -2235,6 +2297,11 @@
continue; /* can't fit to 16-bits for SDL12_Rect */
}
+ if (SDL_BITSPERPIXEL(mode.format) > max_bpp) {
+ /* If we see any mode > max_bpp, reduce its bpp. */
+ mode.format = BPPToPixelFormat(max_bpp);
+ }
+
if (!vmode || (mode.format != vmode->format)) { /* SDL20_GetDisplayMode() sorts on bpp first. We know when to change arrays. */
ptr = (VideoModeList *) SDL20_realloc(VideoModes, sizeof (VideoModeList) * (VideoModesCount+1));
if (!ptr) {
@@ -2346,6 +2413,7 @@
{
const char *driver = SDL20_GetCurrentVideoDriver();
const char *scale_method_env = SDL12Compat_GetHint("SDL12COMPAT_SCALE_METHOD");
+ const unsigned max_bpp = SDL12Compat_GetHintInt("SDL12COMPAT_MAX_BPP", 32);
SDL_DisplayMode mode;
int i;
@@ -2410,7 +2478,11 @@
SDL20_StopTextInput();
if (SDL20_GetDesktopDisplayMode(VideoDisplayIndex, &mode) == 0) {
- VideoInfoVfmt20 = SDL20_AllocFormat(mode.format);
+ if (SDL_BITSPERPIXEL(mode.format) > max_bpp) {
+ VideoInfoVfmt20 = SDL20_AllocFormat(BPPToPixelFormat(max_bpp));
+ } else {
+ VideoInfoVfmt20 = SDL20_AllocFormat(mode.format);
+ }
VideoInfo12.vfmt = PixelFormat20to12(&VideoInfoVfmt12, &VideoInfoPalette12, VideoInfoVfmt20);
VideoInfo12.current_w = mode.w;
VideoInfo12.current_h = mode.h;
@@ -2591,6 +2663,19 @@
return InitFlags20to12(SDL20_WasInit(sdl20flags)) | extraflags;
}
+static void
+FreeSurfaceContents(SDL12_Surface *surface12)
+{
+ if (surface12->surface20) {
+ SDL20_FreeSurface(surface12->surface20);
+ surface12->surface20 = NULL;
+ }
+ if (surface12->format) {
+ SDL20_free(surface12->format->palette);
+ SDL20_free(surface12->format);
+ surface12->format = NULL;
+ }
+}
static SDL12_Surface *EndVidModeCreate(void);
static void
@@ -4676,7 +4761,7 @@
}
case SDL_MOUSEMOTION:
- if (!VideoSurface12) {
+ if (!VideoSurface12 || !VideoSurface12->surface20) {
return 1; /* we don't have a screen surface yet? Don't send this on to the app. */
}
@@ -4912,26 +4997,21 @@
return rect20;
}
-static SDL12_Surface *
-Surface20to12(SDL_Surface *surface20)
+static SDL_bool
+Surface20to12InPlace(SDL_Surface *surface20,
+ SDL12_Surface *surface12)
{
SDL_BlendMode blendmode = SDL_BLENDMODE_NONE;
- SDL12_Surface *surface12 = NULL;
SDL12_Palette *palette12 = NULL;
SDL12_PixelFormat *format12 = NULL;
Uint32 flags = 0;
if (!surface20) {
- return NULL;
+ return SDL_FALSE;
}
if (surface20->pitch > 65535) {
SDL20_SetError("Pitch is too large"); /* can't fit to 16-bits */
- return NULL;
- }
-
- surface12 = (SDL12_Surface *) SDL20_malloc(sizeof (SDL12_Surface));
- if (!surface12) {
- goto failed;
+ return SDL_FALSE;
}
if (surface20->format->palette) {
@@ -5004,12 +5084,33 @@
Rect20to12(&surface20->clip_rect, &surface12->clip_rect);
surface12->refcount = surface20->refcount;
- return surface12;
+ return SDL_TRUE;
failed:
- SDL20_free(surface12);
SDL20_free(palette12);
SDL20_free(format12);
+ return SDL_FALSE;
+}
+
+static SDL12_Surface *
+Surface20to12(SDL_Surface *surface20)
+{
+ SDL12_Surface *surface12 = NULL;
+
+ surface12 = (SDL12_Surface *) SDL20_malloc(sizeof (SDL12_Surface));
+ if (!surface12) {
+ goto failed;
+ }
+
+ SDL20_zerop(surface12);
+ if (!Surface20to12InPlace(surface20, surface12)) {
+ goto failed;
+ }
+
+ return surface12;
+
+failed:
+ SDL20_free(surface12);
return NULL;
}
@@ -5077,11 +5178,10 @@
}
}
-DECLSPEC12 SDL12_Surface * SDLCALL
-SDL_CreateRGBSurface(Uint32 flags12, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
+static SDL_Surface *
+CreateRGBSurface(Uint32 flags12, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
{
SDL_Surface *surface20;
- SDL12_Surface *surface12;
/* SDL 1.2 checks this. */
if ((width >= 16384) || (height >= 65536)) {
@@ -5127,21 +5227,38 @@
surface20 = SDL20_CreateRGBSurface(0, width, height, depth, Rmask, Gmask, Bmask, Amask);
}
- surface12 = Surface20to12(surface20);
- if (!surface12) {
- SDL20_FreeSurface(surface20);
- return NULL;
- }
-
- SDL_assert((surface12->flags & ~(SDL12_SRCCOLORKEY|SDL12_SRCALPHA)) == 0); /* shouldn't have prealloc, rleaccel, or dontfree. */
+ return surface20;
+}
+static void
+Surface12SetMasks(SDL12_Surface *surface12, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
+{
SetPalette12ForMasks(surface12, Rmask, Gmask, Bmask);
if (Amask != 0) {
surface12->flags |= SDL12_SRCALPHA;
- SDL20_SetSurfaceBlendMode(surface20, SDL_BLENDMODE_BLEND);
+ SDL20_SetSurfaceBlendMode(surface12->surface20, SDL_BLENDMODE_BLEND);
+ }
+}
+
+DECLSPEC12 SDL12_Surface * SDLCALL
+SDL_CreateRGBSurface(Uint32 flags12, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
+{
+ SDL12_Surface *surface12;
+ SDL_Surface *surface20;
+
+ surface20 = CreateRGBSurface(flags12, width, height, depth, Rmask, Gmask, Bmask, Amask);
+ if (!surface20) {
+ return NULL;
+ }
+ surface12 = Surface20to12(surface20);
+ if (!surface12) {
+ SDL20_FreeSurface(surface20);
+ return NULL;
}
+ SDL_assert((surface12->flags & ~(SDL12_SRCCOLORKEY|SDL12_SRCALPHA)) == 0); /* shouldn't have prealloc, rleaccel, or dontfree. */
+ Surface12SetMasks(surface12, Rmask, Gmask, Bmask, Amask);
return surface12;
}
@@ -5170,6 +5287,8 @@
SDL_assert((surface12->flags & ~(SDL12_SRCCOLORKEY|SDL12_SRCALPHA)) == SDL12_PREALLOC); /* should _only_ have prealloc. */
+ /* TODO: Is it correct that this always ignored Amask, or should it be
+ * using Surface12SetMasks which takes Amask into account? */
SetPalette12ForMasks(surface12, Rmask, Gmask, Bmask);
return surface12;
@@ -5182,11 +5301,7 @@
surface12->refcount--;
if (surface12->refcount)
return;
- SDL20_FreeSurface(surface12->surface20);
- if (surface12->format) {
- SDL20_free(surface12->format->palette);
- SDL20_free(surface12->format);
- }
+ FreeSurfaceContents(surface12);
SDL20_free(surface12);
}
}
@@ -5501,11 +5616,9 @@
VideoPhysicalPalette20 = NULL;
}
if (VideoSurface12) {
- SDL12_Surface *screen12 = VideoSurface12;
SDL20_free(VideoSurface12->pixels);
VideoSurface12->pixels = NULL;
- VideoSurface12 = NULL; /* SDL_FreeSurface will ignore the screen surface, so NULL the global variable out. */
- SDL_FreeSurface(screen12);
+ FreeSurfaceContents(VideoSurface12);
}
if (VideoConvertSurface20) {
SDL20_FreeSurface(VideoConvertSurface20);
@@ -5539,16 +5652,27 @@
return NULL;
}
-
-static SDL12_Surface *
-CreateSurface12WithFormat(const int w, const int h, const Uint32 fmt)
+/* Essentially the same as SDL_CreateRGBSurface, but in-place */
+static void
+CreateVideoSurface(const Uint32 fmt)
{
Uint32 rmask, gmask, bmask, amask;
int bpp;
+ SDL_Surface *surface20;
+
if (!SDL20_PixelFormatEnumToMasks(fmt, &bpp, &rmask, &gmask, &bmask, &amask)) {
- return NULL;
+ return;
+ }
+
+ SDL20_zerop(VideoSurface12);
+ surface20 = CreateRGBSurface(0, 0, 0, bpp, rmask, gmask, bmask, amask);
+
+ if (!Surface20to12InPlace(surface20, VideoSurface12)) {
+ FreeSurfaceContents(VideoSurface12);
+ return;
}
- return SDL_CreateRGBSurface(0, w, h, bpp, rmask, gmask, bmask, amask);
+
+ Surface12SetMasks(VideoSurface12, rmask, gmask, bmask, amask);
}
static SDL_Surface *
@@ -5878,6 +6002,7 @@
Uint32 appfmt;
const char *vsync_env = SDL12Compat_GetHint("SDL12COMPAT_SYNC_TO_VBLANK");
float window_size_scaling = SDL12Compat_GetHintFloat("SDL12COMPAT_WINDOW_SCALING", 1.0f);
+ int max_bpp = SDL12Compat_GetHintInt("SDL12COMPAT_MAX_BPP", 32);
SDL_bool use_gl_scaling = SDL_FALSE;
SDL_bool use_highdpi = SDL_TRUE;
SDL_bool fix_bordless_fs_win = SDL_TRUE;
@@ -5885,6 +6010,8 @@
int scaled_height = height;
const char *fromwin_env = NULL;
+ VideoSurface12 = &VideoSurface12Location;
+
if (flags12 & SDL12_OPENGL) {
/* For now we default GL scaling to ENABLED. If an app breaks or is linked directly
to glBindFramebuffer, they'll need to turn it off with this environment variable.
@@ -5951,34 +6078,25 @@
formats, give them 16-bit and we'll convert later. Nothing in SDL 1.2 will
handle > 32 bits, so clamp there, too. AND ALSO, most apps will handle 32-bits
but not 24, so force around that...so basically, you can have 16 or 32 bit. */
- bpp = (bpp <= 16) ? 16 : 32;
+ bpp = (bpp <= 16) ? 16 : max_bpp;
}
if ((bpp != 8) && (bpp != 16) && (bpp != 24) && (bpp != 32)) {
if (flags12 & SDL12_ANYFORMAT) {
- bpp = 32;
+ bpp = max_bpp;
} else {
SDL20_SetError("Unsupported bits-per-pixel");
return NULL;
}
}
- #if !SDL_VERSION_ATLEAST(2,0,14)
- #define SDL_PIXELFORMAT_XRGB8888 SDL_PIXELFORMAT_RGB888
- #endif
- switch (bpp) {
- case 8: appfmt = SDL_PIXELFORMAT_INDEX8; break;
- case 16: appfmt = SDL_PIXELFORMAT_RGB565; break;
- case 24: appfmt = SDL_PIXELFORMAT_BGR24; break;
- case 32: appfmt = SDL_PIXELFORMAT_XRGB8888; break;
- default: SDL20_SetError("Unsupported bits-per-pixel"); return NULL;
- }
+ appfmt = BPPToPixelFormat(bpp);
- SDL_assert((VideoSurface12 != NULL) == (VideoWindow20 != NULL));
+ SDL_assert((VideoSurface12->surface20 != NULL) == (VideoWindow20 != NULL));
- if (VideoSurface12 && ((VideoSurface12->flags & SDL12_OPENGL) != (flags12 & SDL12_OPENGL))) {
+ if (VideoSurface12->surface20 && ((VideoSurface12->flags & SDL12_OPENGL) != (flags12 & SDL12_OPENGL))) {
EndVidModeCreate(); /* rebuild the window if moving to/from a GL context */
- } else if (VideoSurface12 && (VideoSurface12->surface20->format->format != appfmt)) {
+ } else if (VideoSurface12->surface20 && (VideoSurface12->surface20->format->format != appfmt)) {
EndVidModeCreate(); /* rebuild the window if changing pixel format */
} else if (VideoGLContext20) {
/* SDL 1.2 (infuriatingly!) destroys the GL context on each resize in some cases, on various platforms. Try to match that. */
@@ -6120,11 +6238,11 @@
SDL20_SetWindowResizable(VideoWindow20, (flags12 & SDL12_RESIZABLE) ? SDL_TRUE : SDL_FALSE);
}
- if (VideoSurface12) {
+ if (VideoSurface12->surface20) {
SDL20_free(VideoSurface12->pixels);
} else {
- VideoSurface12 = CreateSurface12WithFormat(0, 0, appfmt);
- if (!VideoSurface12) {
+ CreateVideoSurface(appfmt);
+ if (!VideoSurface12->surface20) {
return EndVidModeCreate();
}
}
@@ -6640,7 +6758,7 @@
SDL_DisplayFormat(SDL12_Surface *surface12)
{
const Uint32 flags = surface12->flags & (SDL12_SRCCOLORKEY|SDL12_SRCALPHA|SDL12_RLEACCELOK);
- if (!VideoSurface12) {
+ if (!VideoSurface12 || !VideoSurface12->surface20) {
SDL20_SetError("No video mode has been set");
return NULL;
}
@@ -6656,7 +6774,7 @@
SDL_PixelFormat *fmt20 = NULL;
SDL12_PixelFormat fmt12;
- if (!VideoSurface12) {
+ if (!VideoSurface12 || !VideoSurface12->surface20) {
SDL20_SetError("No video mode has been set");
return NULL;
}
@@ -7210,12 +7328,6 @@
const SDL_bool enable = (VideoWindowGrabbed && VideoCursorHidden) ? SDL_TRUE : SDL_FALSE;
if (MouseInputIsRelative != enable) {
MouseInputIsRelative = enable;
- if (MouseInputIsRelative) {
- /* reset position, we'll have to track it ourselves in SDL_MOUSEMOTION events, since 1.2
- * would give you window coordinates, even in relative mode. */
- SDL20_GetMouseState(&MousePosition.x, &MousePosition.y);
- AdjustOpenGLLogicalScalingPoint(&MousePosition.x, &MousePosition.y);
- }
SDL20_SetRelativeMouseMode(MouseInputIsRelative);
}
}
@@ -7241,7 +7353,7 @@
HandleInputGrab(SDL12_GrabMode mode)
{
/* SDL 1.2 always grabbed input if the video mode was fullscreen. */
- const SDL_bool isfullscreen = (VideoSurface12 && (VideoSurface12->flags & SDL12_FULLSCREEN)) ? SDL_TRUE : SDL_FALSE;
+ const SDL_bool isfullscreen = (VideoSurface12 && VideoSurface12->surface20 && (VideoSurface12->flags & SDL12_FULLSCREEN)) ? SDL_TRUE : SDL_FALSE;
const SDL_bool wantgrab = (isfullscreen || (mode == SDL12_GRAB_ON)) ? SDL_TRUE : SDL_FALSE;
if (VideoWindowGrabbed != wantgrab) {
if (VideoWindow20) {
@@ -7321,7 +7433,8 @@
/* we need to force the "unused" field to 255, since it's "alpha" in SDL2. */
opaquecolors = (SDL_Color *) SDL20_malloc(sizeof (SDL_Color) * ncolors);
if (!opaquecolors) {
- return SDL20_OutOfMemory();
+ SDL20_OutOfMemory();
+ return 0;
}
/* don't SDL_memcpy in case the 'a' field is uninitialized and upsets
@@ -7333,17 +7446,17 @@
opaquecolors[i].a = 255;
}
- retval = 0;
+ retval = 1; /* "The return value is 1 if all colours could be set as requested, and 0 otherwise." */
if (flags & SDL12_LOGPAL) {
if (SDL20_SetPaletteColors(palette20, opaquecolors, firstcolor, ncolors) < 0) {
- retval = -1;
+ retval = 0;
}
}
if ((flags & SDL12_PHYSPAL) && (surface12 == VideoSurface12) && VideoPhysicalPalette20) {
if (SDL20_SetPaletteColors(VideoPhysicalPalette20, opaquecolors, firstcolor, ncolors) < 0) {
- retval = -1;
+ retval = 0;
}
}
@@ -8455,6 +8568,10 @@
*buf = NULL;
+ if (!rwops20) {
+ return NULL;
+ }
+
/* SDL2's LoadWAV requires a seekable stream, but SDL 1.2 didn't,
so if the stream appears unseekable, try to load it into a
memory rwops that we _can_ seek in */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/src/SDL20_include_wrapper.h new/sdl12-compat-release-1.2.68/src/SDL20_include_wrapper.h
--- old/sdl12-compat-release-1.2.64/src/SDL20_include_wrapper.h 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/src/SDL20_include_wrapper.h 2023-09-26 19:43:48.000000000 +0200
@@ -895,10 +895,14 @@
#define SDL_ResetHints IGNORE_THIS_VERSION_OF_SDL_ResetHints
#define SDL_strcasestr IGNORE_THIS_VERSION_OF_SDL_strcasestr
#define SDL_GDKSuspendComplete IGNORE_THIS_VERSION_OF_SDL_GDKSuspendComplete
+#define SDL_HasWindowSurface IGNORE_THIS_VERSION_OF_SDL_HasWindowSurface
+#define SDL_DestroyWindowSurface IGNORE_THIS_VERSION_OF_SDL_DestroyWindowSurface
+#define SDL_GDKGetDefaultUser IGNORE_THIS_VERSION_OF_SDL_GDKGetDefaultUser
+
+#if defined(_WIN32) || defined(__OS2__)
/* *** HACK HACK HACK:
* *** Avoid including SDL_thread.h: it defines SDL_CreateThread() as a macro */
-#if defined(_WIN32) || defined(__OS2__)
#define _SDL_thread_h
#define SDL_thread_h_
#define SDL_PASSED_BEGINTHREAD_ENDTHREAD
@@ -937,6 +941,7 @@
#undef CreateMutex
#endif /* _WIN32 */
+
#ifdef SDL_BlitSurface
#undef SDL_BlitSurface
#endif
@@ -4417,6 +4422,18 @@
#undef SDL_GDKSuspendComplete
#endif
+#ifdef SDL_HasWindowSurface
+#undef SDL_HasWindowSurface
+#endif
+
+#ifdef SDL_DestroyWindowSurface
+#undef SDL_DestroyWindowSurface
+#endif
+
+#ifdef SDL_GDKGetDefaultUser
+#undef SDL_GDKGetDefaultUser
+#endif
+
/* undefine these macros too: */
/* redefine using SDL2_xxx, if needed. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/src/dr_mp3.h new/sdl12-compat-release-1.2.68/src/dr_mp3.h
--- old/sdl12-compat-release-1.2.64/src/dr_mp3.h 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/src/dr_mp3.h 2023-09-26 19:43:48.000000000 +0200
@@ -1,6 +1,6 @@
/*
MP3 audio decoder. Choice of public domain or MIT-0. See license statements at the end of this file.
-dr_mp3 - v0.6.34 - 2022-09-17
+dr_mp3 - v0.6.36 - 2023-06-17
David Reid - mackron(a)gmail.com
@@ -101,12 +101,12 @@
#define DRMP3_VERSION_MAJOR 0
#define DRMP3_VERSION_MINOR 6
-#define DRMP3_VERSION_REVISION 34
+#define DRMP3_VERSION_REVISION 36
#define DRMP3_VERSION_STRING DRMP3_XSTRINGIFY(DRMP3_VERSION_MAJOR) "." DRMP3_XSTRINGIFY(DRMP3_VERSION_MINOR) "." DRMP3_XSTRINGIFY(DRMP3_VERSION_REVISION)
#include <stddef.h> /* For size_t. */
-/* Sized types. */
+/* Sized Types */
typedef signed char drmp3_int8;
typedef unsigned char drmp3_uint8;
typedef signed short drmp3_int16;
@@ -139,7 +139,9 @@
typedef drmp3_uint32 drmp3_bool32;
#define DRMP3_TRUE 1
#define DRMP3_FALSE 0
+/* End Sized Types */
+/* Decorations */
#if !defined(DRMP3_API)
#if defined(DRMP3_DLL)
#if defined(_WIN32)
@@ -169,7 +171,9 @@
#define DRMP3_PRIVATE static
#endif
#endif
+/* End Decorations */
+/* Result Codes */
typedef drmp3_int32 drmp3_result;
#define DRMP3_SUCCESS 0
#define DRMP3_ERROR -1 /* A generic error. */
@@ -225,11 +229,12 @@
#define DRMP3_CANCELLED -51
#define DRMP3_MEMORY_ALREADY_MAPPED -52
#define DRMP3_AT_END -53
-
+/* End Result Codes */
#define DRMP3_MAX_PCM_FRAMES_PER_MP3_FRAME 1152
#define DRMP3_MAX_SAMPLES_PER_FRAME (DRMP3_MAX_PCM_FRAMES_PER_MP3_FRAME*2)
+/* Inline */
#ifdef _MSC_VER
#define DRMP3_INLINE __forceinline
#elif defined(__GNUC__)
@@ -256,12 +261,24 @@
#else
#define DRMP3_INLINE
#endif
+/* End Inline */
DRMP3_API void drmp3_version(drmp3_uint32* pMajor, drmp3_uint32* pMinor, drmp3_uint32* pRevision);
DRMP3_API const char* drmp3_version_string(void);
+/* Allocation Callbacks */
+typedef struct
+{
+ void* pUserData;
+ void* (* onMalloc)(size_t sz, void* pUserData);
+ void* (* onRealloc)(void* p, size_t sz, void* pUserData);
+ void (* onFree)(void* p, void* pUserData);
+} drmp3_allocation_callbacks;
+/* End Allocation Callbacks */
+
+
/*
Low Level Push API
==================
@@ -338,14 +355,6 @@
typedef struct
{
- void* pUserData;
- void* (* onMalloc)(size_t sz, void* pUserData);
- void* (* onRealloc)(void* p, size_t sz, void* pUserData);
- void (* onFree)(void* p, void* pUserData);
-} drmp3_allocation_callbacks;
-
-typedef struct
-{
drmp3_uint32 channels;
drmp3_uint32 sampleRate;
} drmp3_config;
@@ -2433,6 +2442,7 @@
Main Public API
************************************************************************************************************************************************************/
+/* SIZE_MAX */
#if defined(SIZE_MAX)
#define DRMP3_SIZE_MAX SIZE_MAX
#else
@@ -2442,6 +2452,7 @@
#define DRMP3_SIZE_MAX 0xFFFFFFFF
#endif
#endif
+/* End SIZE_MAX */
/* Options. */
#ifndef DRMP3_SEEK_LEADING_MP3_FRAMES
@@ -2949,6 +2960,7 @@
#include <stdio.h>
#include <wchar.h> /* For wcslen(), wcsrtombs() */
+/* Errno */
/* drmp3_result_from_errno() is only used inside DR_MP3_NO_STDIO for now. Move this out if it's ever used elsewhere. */
#include <errno.h>
static drmp3_result drmp3_result_from_errno(int e)
@@ -3352,7 +3364,9 @@
default: return DRMP3_ERROR;
}
}
+/* End Errno */
+/* fopen */
static drmp3_result drmp3_fopen(FILE** ppFile, const char* pFilePath, const char* pOpenMode)
{
#if defined(_MSC_VER) && _MSC_VER >= 1400
@@ -3508,7 +3522,7 @@
return DRMP3_SUCCESS;
}
-
+/* End fopen */
static size_t drmp3__on_read_stdio(void* pUserData, void* pBufferOut, size_t bytesToRead)
@@ -4503,6 +4517,12 @@
/*
REVISION HISTORY
================
+v0.6.36 - 2023-06-17
+ - Fix an incorrect date in revision history. No functional change.
+
+v0.6.35 - 2023-05-22
+ - Minor code restructure. No functional change.
+
v0.6.34 - 2022-09-17
- Fix compilation with DJGPP.
- Fix compilation when compiling with x86 with no SSE2.
@@ -4804,7 +4824,7 @@
===============================================================================
ALTERNATIVE 2 - MIT No Attribution
===============================================================================
-Copyright 2020 David Reid
+Copyright 2023 David Reid
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdl12-compat-release-1.2.64/src/version.rc new/sdl12-compat-release-1.2.68/src/version.rc
--- old/sdl12-compat-release-1.2.64/src/version.rc 2023-05-26 02:38:18.000000000 +0200
+++ new/sdl12-compat-release-1.2.68/src/version.rc 2023-09-26 19:43:48.000000000 +0200
@@ -3,8 +3,8 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,2,64,0
- PRODUCTVERSION 1,2,64,0
+ FILEVERSION 1,2,68,0
+ PRODUCTVERSION 1,2,68,0
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x0L
FILEOS 0x40004L
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "SDL\0"
- VALUE "FileVersion", "1, 2, 64, 0\0"
+ VALUE "FileVersion", "1, 2, 68, 0\0"
VALUE "InternalName", "SDL\0"
VALUE "LegalCopyright", "Copyright (C) 2022 Sam Lantinga\0"
VALUE "OriginalFilename", "SDL.dll\0"
VALUE "ProductName", "Simple DirectMedia Layer 1.2 wrapper\0"
- VALUE "ProductVersion", "1, 2, 64, 0\0"
+ VALUE "ProductVersion", "1, 2, 68, 0\0"
END
END
BLOCK "VarFileInfo"
1
0