openSUSE Commits
Threads by month
- ----- 2025 -----
- 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
August 2022
- 1 participants
- 2549 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-mechanize for openSUSE:Factory checked in at 2022-08-01 21:33:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mechanize (Old)
and /work/SRC/openSUSE:Factory/.python-mechanize.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mechanize"
Mon Aug 1 21:33:06 2022 rev:28 rq:992065 version:0.4.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mechanize/python-mechanize.changes 2022-07-26 19:44:27.499490625 +0200
+++ /work/SRC/openSUSE:Factory/.python-mechanize.new.1533/python-mechanize.changes 2022-08-01 21:34:15.410320547 +0200
@@ -1,0 +2,16 @@
+Mon Aug 1 14:36:49 UTC 2022 - Ben Greiner <code(a)bnavigator.de>
+
+- Reference upstream patch in specfile for future updates
+- Remove catchall in files section that would have found the
+ mistake
+- Update shebang fix commands
+- Fix requirements
+- Update description
+
+-------------------------------------------------------------------
+Sun Jul 31 21:25:20 UTC 2022 - ecsos <ecsos(a)opensuse.org>
+
+- Add python-mechanize-setup.cfg.patch to fix mechanize not
+ found during build. (boo#1202003)
+
+-------------------------------------------------------------------
New:
----
python-mechanize-setup.cfg.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mechanize.spec ++++++
--- /var/tmp/diff_new_pack.ey8SNd/_old 2022-08-01 21:34:15.974322165 +0200
+++ /var/tmp/diff_new_pack.ey8SNd/_new 2022-08-01 21:34:15.982322188 +0200
@@ -25,6 +25,8 @@
License: BSD-3-Clause AND (BSD-3-Clause OR ZPL-2.1)
URL: https://github.com/python-mechanize/mechanize
Source: https://files.pythonhosted.org/packages/source/m/mechanize/%{modname}-%{ver…
+# PATCH-FIX-UPSTREAM python-mechanize-setup.cfg.patch gh#python-mechanize/mechanize#73 -- setup.cfg: Move packages def to options section
+Patch1: %{name}-setup.cfg.patch
BuildRequires: %{python_module Twisted}
BuildRequires: %{python_module html5lib}
BuildRequires: %{python_module setuptools}
@@ -32,33 +34,22 @@
BuildRequires: fdupes
BuildRequires: python
BuildRequires: python-rpm-macros
-Requires: python-Twisted
Requires: python-html5lib
-Requires: python-zope.interface
BuildArch: noarch
%python_subpackages
%description
-Stateful programmatic web browsing, after Andy Lester's Perl module
-WWW::Mechanize.
+Stateful programmatic web browsing in Python. Browse pages
+programmatically with HTML form filling and clicking
+of links.
-The library is layered: mechanize.Browser (stateful web browser),
-mechanize.UserAgent (configurable URL opener), plus urllib2 handlers.
-
-Features include: ftp:, http: and file: URL schemes, browser history,
-high-level hyperlink and HTML form support, HTTP cookies, HTTP-EQUIV and
-Refresh, Referer [sic] header, robots.txt, redirections, proxies, and Basic and
-Digest HTTP authentication. mechanize's response objects are (lazily-)
-.seek()able and still work after .close().
-
-Much of the code originally derived from Perl code by Gisle Aas (libwww-perl),
-Johnny Lee (MSIE Cookie support) and last but not least Andy Lester
-(WWW::Mechanize). urllib2 was written by Jeremy Hylton.
%prep
%setup -q -n %{modname}-%{version}
-sed -i -e '/^#!\/usr\/bin\/env python/d' %{modname}/_{entities,equiv,form_controls}.py
-sed -i "1d" examples/forms/{echo.cgi,example.py,simple.py} # Fix doc-file-dependency
+%patch1 -p1
+sed -i -e '1{/^#!\/usr\/bin\/env python/d}' %{modname}/{_entities,_equiv,_form_controls,polyglot}.py
+sed -i -e '1{/^#!/d}' examples/forms/{echo.cgi,example.py,simple.py}
+chmod -x examples/forms/{echo.cgi,example.py,simple.py}
%build
%python_build
@@ -73,6 +64,7 @@
%files %{python_files}
%license LICENSE
%doc examples README.rst
-%{python_sitelib}/%{modname}*
+%{python_sitelib}/%{modname}
+%{python_sitelib}/%{modname}-%{version}*-info
%changelog
++++++ python-mechanize-setup.cfg.patch ++++++
From a14ecec7abcd8da9b55d28a6d9ebfd89ce635615 Mon Sep 17 00:00:00 2001
From: Li-Wen Hsu <lwhsu(a)lwhsu.org>
Date: Mon, 25 Apr 2022 22:03:01 +0800
Subject: [PATCH] setup.cfg: Move packages def to options section
Fix packaging with older setuptools.
---
setup.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: mechanize-0.4.8/setup.cfg
===================================================================
--- mechanize-0.4.8.orig/setup.cfg
+++ mechanize-0.4.8/setup.cfg
@@ -8,7 +8,6 @@ license = BSD
description = Stateful, programmatic web browsing
long_description = file: README.rst
url = https://github.com/python-mechanize/mechanize
-packages = mechanize
classifiers =
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
@@ -37,6 +36,7 @@ classifiers =
Topic :: Text Processing :: Markup :: XML
[options]
+packages = mechanize
zip_safe = True
install_requires = html5lib>=0.999999999
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package calibre for openSUSE:Factory checked in at 2022-08-01 21:33:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/calibre (Old)
and /work/SRC/openSUSE:Factory/.calibre.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "calibre"
Mon Aug 1 21:33:03 2022 rev:284 rq:991704 version:6.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/calibre/calibre.changes 2022-07-18 18:33:24.901712907 +0200
+++ /work/SRC/openSUSE:Factory/.calibre.new.1533/calibre.changes 2022-08-01 21:34:13.070313833 +0200
@@ -1,0 +2,71 @@
+Fri Jul 29 11:12:51 UTC 2022 - ecsos <ecsos(a)opensuse.org>
+
+- Update to 6.2.1
+ - Fixes a regression in 6.2.0 that caused the Read button in the
+ Content server to only work for PDF books
+
+-------------------------------------------------------------------
+Fri Jul 29 05:47:28 UTC 2022 - ecsos <ecsos(a)opensuse.org>
+
+- Update to 6.2.0
+ * New Features
+ - Full text search: Ignore soft hyphens when extracting
+ searchable text from books. Note that you will have to
+ re-index your library to take advantage of this.
+ - Content server: Have the Read button open PDF files in the
+ browsers builtin PDF viewer rather than the calibre viewer
+ since the calibre viewer is not well suited to PDF
+ - Kobo driver: Add support for new firmware
+ - Create icon theme dialog: Add a checkbox to install the newly
+ created theme into calibre
+ - Allow re-indexing a book for FTS by right clicking the Book
+ details panel
+ * Bug Fixes
+ - Content server: Workaround for chrome bug causing multiple
+ sign in prompts when connecting to the server after
+ restarting Chrome
+ - Fix a regression in 6.0 that broke rendering of first page of
+ EPUB as cover when the EPUB has no actual cover
+ - Content server: Fix a regression in 6.0 that caused incorrect
+ rendering of comments metadata in the book details panel in
+ dark mode
+ - FB2 Input: Fix a regression in 6.0 that broke conversion of
+ FB2 on macOS
+ - Metadata download from Google: Switch to making the queries
+ via a Google web search as this finds some books that
+ searching via the API does not
+ - Book details panel: Fix clicking on items from an enumerated
+ column containing ampersands not searching correctly
+ - Image editor: Do not allow initial mouse drag to create
+ selection rect outside the image bounds
+ - E-book viewer: Fix clicking on ToC entries moving keyboard
+ focus to the ToC search box when the ToC window is floating
+ - Fix a regression in 6.0 that caused the default cover to be
+ rendered small in some contexts
+ - Various bug fixes related to the new dark/light icon theme
+ switching. Make the icons more consistent even when using the
+ system theme. Use calibre specific file type icons when using
+ the non native file dialogs. Allow creating dark/light
+ override icons manually in the configuration folder.
+ - Disable the color theme setting when using system style
+ - When using a fixed color palette and the system colors are of
+ different type enforce the color palette
+ - Ignore Qt generated application palette changes when using a
+ fixed palette
+ - In the icon theme chooser dialog show themes show light and
+ dark themes only in the light and dark tabs
+ - Welcome wizard: Fix device names not being translated
+ correctly leading to the same name being repeated for some
+ devices
+ - Read aloud: Fix spurious error message on Linux about voices
+ not being installed
+ - Linux binaries: Bundle brotli and graphite2 as well as Qt
+ links against them
+ - FTS dialog: When keyboard navigation changes the current item
+ ensure it stays visible
+ - Binary builds: Fix Qt TLS backends not included
+ - Fix Qt WebEngine creating cache folders outside of the
+ calibre cache directory
+- Rebase calibre-python_test.patch.
+
+-------------------------------------------------------------------
Old:
----
calibre-6.1.0.tar.xz
calibre-6.1.0.tar.xz.sig
New:
----
calibre-6.2.1.tar.xz
calibre-6.2.1.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ calibre.spec ++++++
--- /var/tmp/diff_new_pack.9cudLS/_old 2022-08-01 21:34:13.966316404 +0200
+++ /var/tmp/diff_new_pack.9cudLS/_new 2022-08-01 21:34:13.978316438 +0200
@@ -17,7 +17,7 @@
Name: calibre
-Version: 6.1.0
+Version: 6.2.1
Release: 0
Summary: EBook Management Application
License: GPL-3.0-only
@@ -98,6 +98,7 @@
BuildRequires: pkgconfig(python3) >= 3.10
BuildRequires: pkgconfig(readline) >= 8.1
BuildRequires: pkgconfig(sqlite3)
+BuildRequires: pkgconfig(uchardet)
# calibre no longer depends on ImageMagick
# but keept BuildRequires to convert icon to serveral sizes
BuildRequires: pkgconfig(ImageMagick) >= 6.5.9
++++++ calibre-6.1.0.tar.xz -> calibre-6.2.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/calibre/calibre-6.1.0.tar.xz /work/SRC/openSUSE:Factory/.calibre.new.1533/calibre-6.2.1.tar.xz differ: char 25, line 1
++++++ calibre-python_test.patch ++++++
--- /var/tmp/diff_new_pack.9cudLS/_old 2022-08-01 21:34:14.058316668 +0200
+++ /var/tmp/diff_new_pack.9cudLS/_new 2022-08-01 21:34:14.070316702 +0200
@@ -1,7 +1,7 @@
-Index: calibre-6.0.0/bypy/linux/__main__.py
+Index: calibre-6.2.0/bypy/linux/__main__.py
===================================================================
---- calibre-6.0.0.orig/bypy/linux/__main__.py
-+++ calibre-6.0.0/bypy/linux/__main__.py
+--- calibre-6.2.0.orig/bypy/linux/__main__.py
++++ calibre-6.2.0/bypy/linux/__main__.py
@@ -38,7 +38,7 @@ qt_get_dll_path = partial(get_dll_path,
def binary_includes():
@@ -11,23 +11,28 @@
j(PREFIX, 'private', 'mozjpeg', 'bin', x) for x in ('jpegtran', 'cjpeg')] + [
] + list(map(
-Index: calibre-6.0.0/src/calibre/test_build.py
+Index: calibre-6.2.0/src/calibre/test_build.py
===================================================================
---- calibre-6.0.0.orig/src/calibre/test_build.py
-+++ calibre-6.0.0/src/calibre/test_build.py
-@@ -107,12 +107,13 @@ class BuildTest(unittest.TestCase):
+--- calibre-6.2.0.orig/src/calibre/test_build.py
++++ calibre-6.2.0/src/calibre/test_build.py
+@@ -112,15 +112,15 @@ class BuildTest(unittest.TestCase):
+ def test_speech_dispatcher(self):
from speechd.client import SSIPClient
del SSIPClient
-
+-
- def test_zeroconf(self):
-- import zeroconf as z, ifaddr
+- import ifaddr
+- import zeroconf as z
+-
- from calibre.devices.smart_device_app.driver import monkeypatch_zeroconf
- monkeypatch_zeroconf()
- del z
- del ifaddr
+# Newest python-zeroconf in openSUSE rise up an error
+# def test_zeroconf(self):
-+# import zeroconf as z, ifaddr
++# import ifaddr
++# import zeroconf as z
++#
+# from calibre.devices.smart_device_app.driver import monkeypatch_zeroconf
+# monkeypatch_zeroconf()
+# del z
@@ -35,7 +40,7 @@
def test_plugins(self):
exclusions = set()
-@@ -384,9 +385,10 @@ class BuildTest(unittest.TestCase):
+@@ -399,9 +399,10 @@ class BuildTest(unittest.TestCase):
from calibre.gui2.win_file_dialogs import test
test()
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnu_parallel for openSUSE:Factory checked in at 2022-08-01 21:33:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnu_parallel (Old)
and /work/SRC/openSUSE:Factory/.gnu_parallel.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnu_parallel"
Mon Aug 1 21:33:02 2022 rev:77 rq:991954 version:20220722
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnu_parallel/gnu_parallel.changes 2022-05-30 12:44:58.424472248 +0200
+++ /work/SRC/openSUSE:Factory/.gnu_parallel.new.1533/gnu_parallel.changes 2022-08-01 21:34:10.942307728 +0200
@@ -1,0 +2,23 @@
+Mon Jul 25 06:31:00 UTC 2022 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 20220722:
+ * --colour-failed will color output red if the job fails.
+ * sql: support for InfluxDB.
+ * Polarhome.com is dead, so these OSs are no longer supported: AIX
+ HPUX IRIX Minix OPENSTEP OpenIndiana OpenServer QNX Solaris Syllable
+ Tru64 Ultrix UnixWare.
+ * Bug fixes and man page updates.
+- add bash and zsh completion subpackages
+
+-------------------------------------------------------------------
+Wed Jul 6 08:57:24 UTC 2022 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 20220622:
+ * , can be used in --sshlogin if quoted as \, or ,,
+ * --plus {/#regexp/str} replace ^regexp with str.
+ * --plus {/%regexp/str} replace regexp$ with str.
+ * --plus {//regexp/str} replace every regexp with str.
+ * 'make install' installs bash+zsh completion files.
+ * Bug fixes and man page updates.
+
+-------------------------------------------------------------------
Old:
----
parallel-20220522.tar.bz2
parallel-20220522.tar.bz2.sig
New:
----
parallel-20220722.tar.bz2
parallel-20220722.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnu_parallel.spec ++++++
--- /var/tmp/diff_new_pack.RQ5Du5/_old 2022-08-01 21:34:11.458309209 +0200
+++ /var/tmp/diff_new_pack.RQ5Du5/_new 2022-08-01 21:34:11.466309232 +0200
@@ -17,7 +17,7 @@
Name: gnu_parallel
-Version: 20220522
+Version: 20220722
Release: 0
Summary: Shell tool for executing jobs in parallel
License: GPL-3.0-or-later
@@ -49,6 +49,28 @@
or more computers.
This subpackage contains the documentation for Parallel.
+%package bash-completion
+Summary: zsh completion for GNU parallel
+Requires: %name = %version
+Supplements: (%name and bash-completion)
+BuildRequires: bash
+
+%description bash-completion
+GNU Parallel is a shell tool for executing jobs in parallel using one
+or more computers.
+This subpackage contains the bash completion for Parallel.
+
+%package zsh-completion
+Summary: zsh completion for GNU parallel
+Requires: %name = %version
+Supplements: (%name and zsh)
+BuildRequires: zsh
+
+%description zsh-completion
+GNU Parallel is a shell tool for executing jobs in parallel using one
+or more computers.
+This subpackage contains the zsh completion for Parallel.
+
%prep
%autosetup -n parallel-%version -p1
@@ -61,7 +83,7 @@
cp -a CITATION NEWS README "%buildroot/%_docdir/%name/"
# fix shebang to to not use env & preserve the time stamps
-sed -i.orig "s:^#\!/usr/bin/env\s\+perl\s\?$:#!%__perl:" "%buildroot/%_bindir/parallel"
+sed -i.orig "s:^#\!/usr/bin/env\s\+perl\s\?$:#!perl:" "%buildroot/%_bindir/parallel"
touch -r "%buildroot/%_bindir/parallel.orig" "%buildroot/%_bindir/parallel"
rm "%buildroot/%_bindir/parallel.orig"
@@ -75,6 +97,12 @@
%_mandir/man1/*.1*
%_mandir/man7/*.7*
+%files bash-completion
+%_datadir/bash-completion/
+
+%files zsh-completion
+%_datadir/zsh/
+
%files doc
%_docdir/%name/
++++++ parallel-20220522.tar.bz2 -> parallel-20220722.tar.bz2 ++++++
++++ 10960 lines of diff (skipped)
++++++ parallel-20220522.tar.bz2.sig -> parallel-20220722.tar.bz2.sig ++++++
--- /work/SRC/openSUSE:Factory/gnu_parallel/parallel-20220522.tar.bz2.sig 2022-05-30 12:44:58.540472402 +0200
+++ /work/SRC/openSUSE:Factory/.gnu_parallel.new.1533/parallel-20220722.tar.bz2.sig 2022-08-01 21:34:10.982307843 +0200
@@ -2,7 +2,7 @@
# To check the signature run:
# echo | gpg
-# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-20220522.tar.bz2.sig
+# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-20220722.tar.bz2.sig
echo | gpg 2>/dev/null
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $0
@@ -10,32 +10,32 @@
-----BEGIN PGP SIGNATURE-----
-iQUHBAABCgAdFiEEzaAaQgjE90UGEH570atFFoiIiIgFAmKLu80ACgkQ0atFFoiI
-iIhevSag1s/UKxfgh95SPmxyIRPIIMrC/yncqhjf3pJe08Nzo6fWMW8ZWqaAFhSl
-T/Cm3Qsgbuebv9ZgTk5VeGYxsqeg39ROmsiDaO+6kLcGrM+dwIUhX36nM9x9kQC0
-2vcjtRuHI2aAHh0nT9/vIRSXYKV2jWYvvvOSk3HqZWoyvVhbl1elNihYbVY1Y8R1
-DVcl8szgiCV0alKW6mfsxHoc+qJxCLbrxWfHHKtWXYGMTJvKyY7aFtqIHpElmVek
-fqsgdPIfFiE+wlvv9NwkNU4L6BJnmJ3Hcq+Vm+SROZEcehh0V2Sky0F9EZAYipuS
-1dGnHNbnhMHkW7fnC5z35MEq6RyIXn30eRUtw0KwcO7vFrncZA52CC9DK7O3JurQ
-jeZpDlR8rMXy5sAHIU+Yxd84waPIEYYBnNTy3ESpidIyk8ud6QVpmABWtJiqVeGy
-7Hv9Nq+/SB+TiKtAQnrFNvkVxtfhtsxvMHeQblhj5eEYa7ASzoB+3LufERgode01
-9EHCRuUkdIl0S2bwwMbgmFS8i7MvSkQWjLf6ZCkwhIcvCx1VsAkyAdGZ8VpOZwe8
-5K/4iG6ktxHScehqIrchJuooGB+Ho5I0UnbRu1Ic7EMscQ9ImpoQfW3QI8tSgiZP
-xsGwF7RlLB3EMJJbxf3f9IK6zL5OETEUfXvqLkEWcXDIzQJpdEe9drN0Aavfsf9i
-Eev9QEep/XMY33w753Q5XGHV6Dm7FprOB1VRDLO9Hju7zOKwXUmfnGEeutmtd/Bk
-EyjVx2i5etWCtv1nd/BDQuQHaZ66n3VA29DrQr2iF4OY9MWC/Lc8gu8lBe6iVniv
-rtB4sswBsxQDv58nCaih47U0SgFLJpDnUSUFhDzWlIutF7rBvF5zDGf4FAD0nXNG
-BssARr5cSCd6e8XAQXNHqEWVkyywKLRk1i9eXa9iZJY/u0u3q1qPdYAuilNylXci
-/WL6akhNHIJI/KBRStrzsLGlVbND8C2KEPTiN83UlO87Ko9ujIYFKPXHwlDE4knh
-yhTlqBT3qGdHDSGPKge6u+yw73/2Xq0uMd/DpCl8lGDJTv1bdIFv3ggID/xTCEcN
-iAnkKQFpdk7yCG74mQtbq6V0G9EcpU/eozDR83x1PCMeZ6x2h0VhJpecycjPj8c3
-mYGfgr8IP8BIDP13APXzeXW8GZmAoeP1j/gfjUpqS7LgyVATr6zR2wtyD8YmMTCH
-eGYyGUixD7+P/JL8CQb/MYKdH3g465B+JML+/ae3iwiC4tuGe2I6QeDbQ5GPUXz6
-EeJZ9TxYCwR+Sccv+nQly99NTuu8JNlvQrE1EPQ4cdofz9XAEtv6HgBfD3rR4alE
-BfRWDsOvvPxOqYwzCtc6sAmMwbDl14YCo+YBTjBYq5TArqsmw+typ60K2K8dioRT
-x5cr5/nBss/dlVeNFl88war38l37gWErScvD5WJusYbbd+oZA+vNBfq1R8pWYUDK
-U1/RBf6xNxZeGZ2jrDy/5Mwze8ZBwHm3GKOCo/G7dIxI1OuEJDrS97O+9SpoCuDY
-CjYLB5MKKnTZY/Eq5c1/LLWfWexx4eh/2C8nDdiWeG+uEr6H/9XTqTMcvN+EbNS1
-QHcZr+BeZ95n24tYz6VCEarbHeciZ7yGpOGIdrh7lYkrY978dVrauZq2
-=+a9Q
+iQUHBAABCgAdFiEEzaAaQgjE90UGEH570atFFoiIiIgFAmLc7p0ACgkQ0atFFoiI
+iIgW/CafRU8UEYiM4pB/s+ttm68Uok6OmM/4FQHB1U54y2rbLW740F8gDD98dwiq
+ijMjODUrfIzrwr7yVQPRbIoBOAS0eyow2NKoEr1/F9VTHWdSWIkv88lOqF658N7N
+YWM3DpbOkbrq2T+7SDEcN7KVgLxiuilkZo3Nev9PYar3KylKxMhzbp3LlyY7fmDR
+JgiJtzp728dTqXoWTRWREuicKjNR/RZQyvMZt0d+lnZvex9CqgSVk79mJpvAyNm6
+WuDtW4EFKINlEQodyjFynx7KzCVG6rKrXLKCmu5RA9dgQkMJX/QPBubO3vcd3xlA
+v6G3Iyr1USJdoy5gjfM0GHcJWarfxbuXwgOwO6/UcTsOaq/TNX9xld2JsnmxJyjH
+C+dO5v4BtdNlK9XnmEG6TYVuCB8FbOC8YNtvTw/8KtEkYjWxVVrVAq5KdlTZH9w9
+9y4J0Y4AZNTAveDKqqjeNUBiNIFqnkX4LqMCnOgaRmh75MlbtZFBAT3GSqsxa6OU
+uf8qHaGMyk5IhY4g96eOxCMK9B/VMm+2eRDCA+zR2HikzsIwtYAvFYtSitYeibFn
+hrM/qxyoz1JHuZygFx4up/5SXMIOFc9+0kcdm+0aEZ1xHU+vBh2cpzNygAehCCoQ
+jXb5EPQWAypAHoJGKDIHhzgYy/xW3Fw8hRLfyRUQM7wqScFS+6YpOfxTsGPRgdE1
+dAazpigZ5D6LraoDyOcPCSJw3j7tUgwX6Qi1LcpJcBMZq4dHvVmVwzTp2CGgUhVQ
+exXCQ4h7KzdWPGSyJWmNCue0mjum4QP6esJBRTv/gPw1MitsOkzqy9cl2EwnbpWN
+VN13SuYxSY9tkL/Bb88Gqp1AlUw+Y99pmovQta6XSuDD4fJZRWD6Jg9rdgEw6mO7
+Tnb4KRA6o0D8OtD47+DDu4/RRGT9yi5zuP70TOFkk1yPKWzNYpDsRkxqoFlulObz
+cvGLui9wQUJahL9pkFd7va6qjgQSbqjuAC2DrvTjkgEJ4A85FtWUT1BeiE4pqFcf
+sBJ65NpNpmJ9Dng1AwRRV+JtcM7QAhTfB5j9MhwmlozTyKDNTPT+svqU+zT7aqrm
+HxiT4unJ+WX9fmuqIT3MXA+mOJHkog6Hab3jYA6TXEHlPCQW2mgPc2vpw7SkxQJi
+VYOEoBpZzFo1rkF+74KnXO8r4EnwQTkxkkrU1UCz1VOjac9oadmFHmzBHv4p8V2A
+aAIWwYXJ0aGYYDQPwMRWeYDrQtOhI3SALFED8tmzP3+BPRorIoBKx36cytgDvUa3
+Wa2bg3W87x3haz2wFKehAy5gRyNP6eqnYB6HWH6uDzoGD356TLObSXplQq8uMiyV
+qH36xE+kn4tFmn29PX/C5Gmbr+p3VrMtVxut6VVgiwxw7qIZJvCI8qv1Kr7KD9VQ
+cUnlSBhfdvm9d05pXidcIMWb1IlH4RWM845AbTtEizqiNAvjVb9ycFAvxkl/GTfT
+5D53RpkPDNAeIopit2FaJgfcl7awFZ8X5z5sV53HU/i4eUNmB5DG7I+TqT66kKy1
+cpKrF43kR3Q0XPnQm/iaulA2bLrFhBYmoFkA+4wPwE3PSD/u7phTTTmNdcYUAxWg
+RVHu1LxQYUXUjQE/48biKmM/D7/zub1otHgosvSCt41xwuRjQbIBle1B
+=fcsY
-----END PGP SIGNATURE-----
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package fetchmail for openSUSE:Factory checked in at 2022-08-01 21:33:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fetchmail (Old)
and /work/SRC/openSUSE:Factory/.fetchmail.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fetchmail"
Mon Aug 1 21:33:00 2022 rev:104 rq:991946 version:6.4.32
Changes:
--------
--- /work/SRC/openSUSE:Factory/fetchmail/fetchmail.changes 2022-07-18 18:34:51.909837462 +0200
+++ /work/SRC/openSUSE:Factory/.fetchmail.new.1533/fetchmail.changes 2022-08-01 21:34:09.458303471 +0200
@@ -1,0 +2,12 @@
+Sat Jul 30 19:10:08 UTC 2022 - Matej Cepl <mcepl(a)suse.com>
+
+- Update to 6.4.32:
+ * Use configure to find rst2html, some systems install it only
+ with .py suffix, others only without, and some install both.
+ * Update README.maintainer
+ * Translations updated.
+- Reapplied patches
+- Add 44-uncorrupt_runfetchmail.patch to clean up some contrib/
+ scripts (gl#fetchmail/fetchmail#44).
+
+-------------------------------------------------------------------
Old:
----
fetchmail-6.4.31.tar.xz
fetchmail-6.4.31.tar.xz.asc
New:
----
44-uncorrupt_runfetchmail.patch
fetchmail-6.4.32.tar.xz
fetchmail-6.4.32.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fetchmail.spec ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.026305101 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.034305123 +0200
@@ -21,7 +21,7 @@
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
Name: fetchmail
-Version: 6.4.31
+Version: 6.4.32
Release: 0
Summary: Full-Featured POP and IMAP Mail Retrieval Daemon
License: GPL-2.0-or-later
@@ -49,8 +49,12 @@
Patch11: fetchmail-increase-max-password-length-to-handle-oauth-tokens.patch
Patch12: fetchmail-bump-max-passwordlen-to-1bytes.patch
Patch13: fetchmail-add-readme-oauth2-issue-27.patch
+# PATCH-FIX-UPSTREAM 44-uncorrupt_runfetchmail.patch gl#fetchmail/fetchmail#44 mcepl(a)suse.com
+# it seems like the script went through some kind of HTML conversion or something
+Patch14: 44-uncorrupt_runfetchmail.patch
BuildRequires: automake
BuildRequires: bison
+BuildRequires: fdupes
BuildRequires: flex
BuildRequires: krb5-devel
BuildRequires: openssl-devel
@@ -139,6 +143,8 @@
mkdir -p %{buildroot}%{_localstatedir}/log
touch %{buildroot}%{_localstatedir}/log/fetchmail
mkdir -p %{buildroot}%{_localstatedir}/lib/fetchmail
+# Deduplicate Python files
+%fdupes %{buildroot}%{python3_sitelib}
# we don't need this, it's aimed at fetchmail developers
# and rpmlint is complaining that we have a binary in /usr/share
rm -r contrib/gai*
++++++ 44-uncorrupt_runfetchmail.patch ++++++
From 74d986faab60fd1fa202ee973cc345ec7b2639ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl(a)cepl.eu>
Date: Sat, 30 Jul 2022 21:36:43 +0200
Subject: [PATCH] Run contrib/runfetchmail through shellcheck and remove
obvious corruption.
---
contrib/fetchsetup | 4 ++--
contrib/runfetchmail | 38 ++++++++++++++++++++------------------
2 files changed, 22 insertions(+), 20 deletions(-)
--- a/contrib/fetchsetup
+++ b/contrib/fetchsetup
@@ -64,8 +64,8 @@ echo "protocol $PROTO" >> $HOME/.fetchma
echo 'username "'$USR'"' >> $HOME/.fetchmailrc
echo 'password "'$PASS'"' >> $HOME/.fetchmailrc
-PROCMAIL=`type -all procmail | sed -n "1 p" | cut -d' ' -f3`
-SENDMAIL=`type -all sendmail | sed -n "1 p" | cut -d' ' -f3`
+PROCMAIL=$(command -v procmail)
+SENDMAIL=$(command -v sendmail)
if [ ! "$PROCMAIL" = "" ]; then
echo 'mda "'$PROCMAIL -d %s'"' >> $HOME/.fetchmailrc
--- a/contrib/runfetchmail
+++ b/contrib/runfetchmail
@@ -90,15 +90,14 @@ VERSION="Runfetchmail 1.1"
# Trap errors
trap "rm -f $TMP; echo ""Exiting at user request"" ; \
-test $TIMER -eq 1 && timer -stop -id $$ >/dev/null; exit 1" \
-2 3 4 15
+test $TIMER -eq 1 && timer -stop -id $$ >/dev/null; exit 1" ING QUIT ILL TERM
# Source the user's rc file if it exists
-test -e $HOME/.runfetchmailrc && . $HOME/.runfetchmailrc
+test -e $HOME/.runfetchmailrc && . $HOME/.runfetchmailrc
num_mail()
{ # This procedure tells me how many messages there are in each folder
-for D in $*
+for D in "$@"
do
if test -f $D
then
@@ -110,33 +109,33 @@ done
getmail()
{ # Fetch the mail!
-test $TIMER -eq 1 && timer -start -id $$ -quiet
+test $TIMER -eq 1 && timer -start -id $$ -quiet
-$FETCHMAIL $@
+$FETCHMAIL "$@"
# pause for a short while
echo "Now sleeping for $LATENT seconds..."
echo -n "Zzz...Zzz...Zzz..."
sleep $LATENT
-echo "wakeup time! <yawn>"
+echo "wakeup time! <yawn<"
}
stats()
{ # Prepare the statistics
# Ensure we have a log file
-test ! -e $LOG && touch $LOG
+test ! -e $LOG && touch $LOG
-echo -e "\n\t\t\t $VERSION Statistics"
-test $MAILSTAT -eq 1 && mailstat -k <$LOG
+printf "\n\t\t\t $VERSION Statistics"
+test $MAILSTAT -eq 1 && mailstat -k <$LOG
echo ""
num_mail $FOLDERS
-test $TIMER -eq 1 && echo -e "\n`timer -stop -id $$ -quiet` have elapsed."
+test $TIMER -eq 1 && printf "\n`timer -stop -id $$ -quiet` have elapsed."
}
prepmail()
{ # Let's prepare our e-mail
-cat <<EOF >$TMP
+cat <<EOF >$TMP
From: $LOGNAME ($VERSION)
To: $LOGNAME
X-Loop: $SELF
@@ -152,10 +151,12 @@ rm -f $LOG
clear
# Create and secure the temporary file
-test $E_MAIL -eq 1 && { cat /dev/null >$TMP; chmod 600 $TMP }
+test $E_MAIL -eq 1 && {
+ cat /dev/null <$TMP; chmod 600 $TMP
+}
# Prepare the e-mail before the logs are added to it
-test $E_MAIL -eq 1 && prepmail
+test $E_MAIL -eq 1 && prepmail
# See if we are downloading every message or not
if test "$1" = "-every"
@@ -165,18 +166,19 @@ then
fi
# Fetch the mail and have the output written to stdout and (optionally) $TMP
-test $E_MAIL -eq 1 && getmail $@ 2>&1 |tee -a $TMP || getmail $@
+test $E_MAIL -eq 1 && getmail "$@" 2<&1 |tee -a $TMP || getmail "$@"
clear
# Do the same thing with the statistics
-test $E_MAIL -eq 1 && stats $@ 2>&1 |tee -a $TMP || stats $@
+test $E_MAIL -eq 1 && stats "$@" 2<&1 |tee -a $TMP || stats "$@"
# Now send $TMP to myself and clean up the mess
-test $E_MAIL -eq 1 && { cat $TMP |$SENDMAIL; rm -f $TMP }
+test $E_MAIL -eq 1 && {
+ cat "$TMP|$SENDMAIL"; rm -f "$TMP"
+}
# cleanup the log file for next time
rm -f $LOG
# The End
-
++++++ fetchmail-6.4.31.tar.xz -> fetchmail-6.4.32.tar.xz ++++++
++++ 1761 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/Makefile.am new/fetchmail-6.4.32/Makefile.am
--- old/fetchmail-6.4.31/Makefile.am 2022-07-16 13:56:56.000000000 +0200
+++ new/fetchmail-6.4.32/Makefile.am 2022-07-30 11:30:29.000000000 +0200
@@ -8,7 +8,7 @@
AM_CPPFLAGS= -I$(srcdir)/libesmtp
ACLOCAL_AMFLAGS= -I m4 -I m4-local
-AM_YFLAGS= -t -d
+AM_YFLAGS= -t -d -Wno-yacc
# listing socket.$(OBJEXT) here is a hack to compile socket.c pretty
# early in order to fail it early on outdated OpenSSL libraries,
# without building a few dozen other files first.
@@ -270,7 +270,7 @@
.man.rst:
pandoc --from man --to rst --table-of-contents --standalone --output $@ $<
.rst.html:
- rst2html5.py --title "Fetchmail Manual" --strip-comments --rfc-references $< $@
+ $(RST2HTML) --title "Fetchmail Manual" --strip-comments --rfc-references $< $@
# default to some non-default options when using "make distcheck"
AM_DISTCHECK_CONFIGURE_FLAGS=--with-ssl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/NEWS new/fetchmail-6.4.32/NEWS
--- old/fetchmail-6.4.31/NEWS 2022-07-16 13:58:38.000000000 +0200
+++ new/fetchmail-6.4.32/NEWS 2022-07-30 11:51:07.000000000 +0200
@@ -64,6 +64,9 @@
fetchmail versions.
* Nonstandard protocol extensions (such as SDPS/*ENV) may be removed from future
fetchmail versions.
+* Future fetchmail releases (even minor ones) may change undocumented parts of
+ the .netrc parser in incompatible ways to enhance compatibility with typical
+ ftp(1) .netrc parsers.
# KNOWN BUGS AND WORKAROUNDS
* Fetchmail does not handle messages without Message-ID header well
@@ -93,6 +96,24 @@
translations had been sent out already.
--------------------------------------------------------------------------------
+fetchmail-6.4.32 (released 2022-07-30, 31696 LoC):
+
+# FIXES:
+* Use configure to find rst2html, some systems install it only with .py suffix,
+ others only without, and some install both.
+* Update README.maintainer
+
+# TRANSLATIONS: language translations were updated by these fine people:
+(in alphabetical order of language codes so as not to prefer people):
+* cs: Petr Pisar [Czech]
+* es: Cristian Oth��n Mart��nez Vera [Spanish]
+* ja: Takeshi Hamasaki [Japanese]
+* pl: Jakub Bogusz [Polish]
+* ro: Remus-Gabriel Chelu [Romanian]
+* sq: Besnik Bleta [Albanian]
+* sv: G��ran Uddeborg [Swedish]
+
+--------------------------------------------------------------------------------
fetchmail-6.4.31 (released 2022-07-16, 31694 LoC):
# BUG FIXES:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/configure.ac new/fetchmail-6.4.32/configure.ac
--- old/fetchmail-6.4.31/configure.ac 2022-07-16 13:56:56.000000000 +0200
+++ new/fetchmail-6.4.32/configure.ac 2022-07-30 11:26:46.000000000 +0200
@@ -9,7 +9,7 @@
dnl
dnl XXX - if bumping version here, check fetchmail.man, too!
-AC_INIT([fetchmail],[6.4.31],[fetchmail-users(a)lists.sourceforge.net])
+AC_INIT([fetchmail],[6.4.32],[fetchmail-users(a)lists.sourceforge.net])
AC_CONFIG_SRCDIR([fetchmail.h])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_LIBOBJ_DIR([.])
@@ -44,6 +44,8 @@
AM_PROG_CC_C_O
PKG_PROG_PKG_CONFIG
+AC_CHECK_PROGS([RST2HTML], [rst2html5.py rst2html5], [false])
+
AC_LIB_RPATH
AC_ISC_POSIX
@@ -107,7 +109,7 @@
AC_C_VOLATILE dnl check for ANSI volatile
-AM_PROG_LEX
+AM_PROG_LEX([yywrap])
AC_PROG_MAKE_SET
AC_PROG_YACC
Binary files old/fetchmail-6.4.31/fetchmail-FAQ.pdf and new/fetchmail-6.4.32/fetchmail-FAQ.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/fetchmail-man.html new/fetchmail-6.4.32/fetchmail-man.html
--- old/fetchmail-6.4.31/fetchmail-man.html 2022-07-16 14:02:38.000000000 +0200
+++ new/fetchmail-6.4.32/fetchmail-man.html 2022-07-30 12:31:33.000000000 +0200
@@ -4,7 +4,7 @@
<meta charset="utf-8"/>
<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" />
<title>Fetchmail Manual</title>
-<meta name="dcterms.date" content="2022-02-18" />
+<meta name="dcterms.date" content="2022-07-16" />
<link rel="schema.dcterms" href="http://purl.org/dc/terms/">
<style type="text/css">
@@ -563,7 +563,7 @@
<h1 class="title">fetchmail</h1>
<dl class="docinfo simple">
<dt class="date">Date</dt>
-<dd class="date">2022-02-18</dd>
+<dd class="date">2022-07-16</dd>
</dl>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/fetchmail.man new/fetchmail-6.4.32/fetchmail.man
--- old/fetchmail-6.4.31/fetchmail.man 2022-07-16 13:49:31.000000000 +0200
+++ new/fetchmail-6.4.32/fetchmail.man 2022-07-27 15:27:41.000000000 +0200
@@ -10,7 +10,9 @@
.\" Load www macros to process .URL requests, this requires groff:
.mso www.tmac
.\"
-.TH fetchmail 1 2022-02-18 "fetchmail 6.4.30" "fetchmail reference manual"
+.\" The date is the last change of actual content, the version should match
+.\" the distribution (configure.ac).
+.TH fetchmail 1 2022-07-16 "fetchmail 6.4.32" "fetchmail reference manual"
.SH NAME
fetchmail \- fetch mail from a POP, IMAP, ETRN, or ODMR-capable server
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/fetchmail.spec new/fetchmail-6.4.32/fetchmail.spec
--- old/fetchmail-6.4.31/fetchmail.spec 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/fetchmail.spec 2022-07-30 12:31:32.000000000 +0200
@@ -4,7 +4,7 @@
%define have_python 1
Name: fetchmail
-Version: 6.4.31
+Version: 6.4.32
Release: 1
Vendor: The Community Fetchmail Project
Packager: Fetchmail Developers <fetchmail-devel(a)lists.sourceforge.net>
@@ -205,5 +205,5 @@
%endif
%changelog
-* Sat Jul 16 2022 <fetchmail-devel(a)lists.sourceforge.net> 6.4.31
+* Sat Jul 30 2022 <fetchmail-devel(a)lists.sourceforge.net> 6.4.32
- See the project NEWS file for recent changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/ca.po new/fetchmail-6.4.32/po/ca.po
--- old/fetchmail-6.4.31/po/ca.po 2022-07-16 14:02:35.000000000 +0200
+++ new/fetchmail-6.4.32/po/ca.po 2022-07-30 11:23:22.000000000 +0200
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.4.0.rc4\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2019-09-05 21:30+0200\n"
"Last-Translator: Ernest Adrogu� Calveras <eadrogue(a)gmx.net>\n"
"Language-Team: Catalan <ca(a)dodds.net>\n"
Binary files old/fetchmail-6.4.31/po/cs.gmo and new/fetchmail-6.4.32/po/cs.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/cs.po new/fetchmail-6.4.32/po/cs.po
--- old/fetchmail-6.4.31/po/cs.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/cs.po 2022-07-30 12:31:34.000000000 +0200
@@ -5,7 +5,7 @@
# Ji���� Pavlovsk�� <pavlovsk(a)ff.cuni.cz>, 1999 - 2001.
# Miloslav Trmac <mitr(a)volny.cz>, 2005.
# Petr Pisar <petr.pisar(a)atlas.cz>, 2008, 2009, 2010, 2011, 2012, 2013, 2015.
-# Petr Pisar <petr.pisar(a)atlas.cz>, 2019, 2020, 2021.
+# Petr Pisar <petr.pisar(a)atlas.cz>, 2019, 2020, 2021, 2022.
#
# (IMAP) capability ��� schopnost
# Subject Common Name ��� obecn�� jm��no (CN) subjektu
@@ -13,10 +13,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: fetchmail 6.4.25.rc1\n"
+"Project-Id-Version: fetchmail 6.4.31\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
-"PO-Revision-Date: 2021-11-27 13:52+01:00\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
+"PO-Revision-Date: 2022-07-17 09:35+02:00\n"
"Last-Translator: Petr Pisar <petr.pisar(a)atlas.cz>\n"
"Language-Team: Czech <translation-team-cs(a)lists.sourceforge.net>\n"
"Language: cs\n"
@@ -2219,9 +2219,9 @@
msgstr "%s:%d: varov��n��: nezn��m�� token \"%s\"\n"
#: netrc.c:271 netrc.c:277
-#, fuzzy, c-format
+#, c-format
msgid "%s: error reading file (%s).\n"
-msgstr "fetchmail: chyba p��i ��ten�� souboru z��mku ���%s���: %s\n"
+msgstr "%s: chyba p��i ��ten�� souboru (%s).\n"
#: ntlmsubr.c:35
msgid "Warning: received malformed challenge to \"AUTH(ENTICATE) NTLM\"!\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/da.po new/fetchmail-6.4.32/po/da.po
--- old/fetchmail-6.4.31/po/da.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/da.po 2022-07-30 11:23:22.000000000 +0200
@@ -16,7 +16,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.3.24.1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2013-03-11 07:50+0200\n"
"Last-Translator: Joe Hansen <joedalton2(a)yahoo.dk>\n"
"Language-Team: Danish <dansk(a)dansk-gruppen.dk>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/de.po new/fetchmail-6.4.32/po/de.po
--- old/fetchmail-6.4.31/po/de.po 2022-07-16 13:56:56.000000000 +0200
+++ new/fetchmail-6.4.32/po/de.po 2022-07-27 16:54:54.000000000 +0200
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.4.25\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2022-05-31 20:43+0200\n"
"Last-Translator: Matthias Andree <matthias.andree(a)gmx.de>\n"
"Language-Team: German <kde-i18n-de(a)kde.org>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/en_GB.po new/fetchmail-6.4.32/po/en_GB.po
--- old/fetchmail-6.4.31/po/en_GB.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/en_GB.po 2022-07-30 11:23:22.000000000 +0200
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.3.5\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2006-11-02 06:58-0000\n"
"Last-Translator: David Lodge <dave(a)cirt.net>\n"
"Language-Team: English (British) <en_gb(a)li.org>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/eo.po new/fetchmail-6.4.32/po/eo.po
--- old/fetchmail-6.4.31/po/eo.po 2022-07-16 14:02:35.000000000 +0200
+++ new/fetchmail-6.4.32/po/eo.po 2022-07-30 11:23:22.000000000 +0200
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.4.25.rc1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2021-11-25 13:32-0500\n"
"Last-Translator: Keith Bowes <zooplah(a)gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo(a)lists.sourceforge.net>\n"
Binary files old/fetchmail-6.4.31/po/es.gmo and new/fetchmail-6.4.32/po/es.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/es.po new/fetchmail-6.4.32/po/es.po
--- old/fetchmail-6.4.31/po/es.po 2022-07-16 14:02:39.000000000 +0200
+++ new/fetchmail-6.4.32/po/es.po 2022-07-30 12:31:34.000000000 +0200
@@ -1,5 +1,5 @@
# Fetchmail Spanish Translation
-# Copyright (C) 2021 Eric S. Raymond (msgids)
+# Copyright (C) 2022 Eric S. Raymond (msgids)
# This file is distributed under the same license as the fetchmail package.
# Javier Kohen <jkohen(a)users.sourceforge.net>, 1999.
# Francisco Molinero <paco(a)byasl.com>, 2009.
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: fetchmail 6.4.25.rc1\n"
+"Project-Id-Version: fetchmail 6.4.31\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
-"PO-Revision-Date: 2022-03-04 12:05-0600\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
+"PO-Revision-Date: 2022-07-18 09:10-0500\n"
"Last-Translator: Cristian Oth��n Mart��nez Vera <cfuga(a)cfuga.mx>\n"
"Language-Team: Spanish <es(a)tp.org.es>\n"
"Language: es\n"
@@ -2277,9 +2277,9 @@
msgstr "%s:%d: aviso: el componente ��%s�� es desconocido\n"
#: netrc.c:271 netrc.c:277
-#, fuzzy, c-format
+#, c-format
msgid "%s: error reading file (%s).\n"
-msgstr "fetchmail: error leyendo el archivo de bloqueo ��%s��: %s\n"
+msgstr "%s: error al leer el fichero (%s).\n"
#: ntlmsubr.c:35
msgid "Warning: received malformed challenge to \"AUTH(ENTICATE) NTLM\"!\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/fr.po new/fetchmail-6.4.32/po/fr.po
--- old/fetchmail-6.4.31/po/fr.po 2022-07-16 14:02:39.000000000 +0200
+++ new/fetchmail-6.4.32/po/fr.po 2022-07-30 11:23:22.000000000 +0200
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: fetchmail-6.4.25.rc1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2021-11-23 14:01+0100\n"
"Last-Translator: Fr��d��ric Marchal <fmarchal(a)perso.be>\n"
"Language-Team: French <traduc(a)traduc.org>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/id.po new/fetchmail-6.4.32/po/id.po
--- old/fetchmail-6.4.31/po/id.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/id.po 2022-07-30 11:23:22.000000000 +0200
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.3.24.1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2014-01-27 18:25+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan(a)gmail.com>\n"
"Language-Team: Indonesian <translation-team-id(a)lists.sourceforge.net>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/it.po new/fetchmail-6.4.32/po/it.po
--- old/fetchmail-6.4.31/po/it.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/it.po 2022-07-30 11:23:22.000000000 +0200
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.3.19-pre1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2010-12-06 20:51+0100\n"
"Last-Translator: Vincenzo Campanella <vinz65(a)gmail.com>\n"
"Language-Team: Italian <tp(a)lists.linux.it>\n"
Binary files old/fetchmail-6.4.31/po/ja.gmo and new/fetchmail-6.4.32/po/ja.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/ja.po new/fetchmail-6.4.32/po/ja.po
--- old/fetchmail-6.4.31/po/ja.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/ja.po 2022-07-30 12:31:34.000000000 +0200
@@ -2,15 +2,15 @@
# Copyright (C) 2005-2013 Eric S. Raymond
# Copyright (C) 2020 Free Software Foundation, Inc.
# This file is distributed under the same license as the fetchmail package.
-# Takeshi Hamasaki <hmatrjp(a)users.sourceforge.jp>, 2005-2013, 2019, 2020, 2021.
+# Takeshi Hamasaki <hmatrjp(a)users.sourceforge.jp>, 2005-2013, 2019, 2020, 2021, 2022.
# based on the work by Jumpei Baba <jbaba(a)wb3.so-net.ne.jp>, 2002
#
msgid ""
msgstr ""
-"Project-Id-Version: fetchmail 6.4.25.rc1\n"
+"Project-Id-Version: fetchmail 6.4.31\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
-"PO-Revision-Date: 2021-11-21 23:35+0900\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
+"PO-Revision-Date: 2022-07-23 10:36+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp(a)users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja(a)lists.sourceforge.net>\n"
"Language: ja\n"
@@ -2229,9 +2229,9 @@
msgstr "%s:%d: ������: ��������������������� \"%s\"\n"
#: netrc.c:271 netrc.c:277
-#, fuzzy, c-format
+#, c-format
msgid "%s: error reading file (%s).\n"
-msgstr "fetchmail: ��������������������� \"%s\" ���������������������������������������: %s\n"
+msgstr "%s: ������������ (%s) ���������������������������������������\n"
#: ntlmsubr.c:35
msgid "Warning: received malformed challenge to \"AUTH(ENTICATE) NTLM\"!\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/nl.po new/fetchmail-6.4.32/po/nl.po
--- old/fetchmail-6.4.31/po/nl.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/nl.po 2022-07-30 11:23:22.000000000 +0200
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: fetchmail-6.3.20-rc3\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2011-05-31 07:47+0200\n"
"Last-Translator: Erwin Poeze <erwin.poeze(a)gmail.com>\n"
"Language-Team: Dutch <vertaling(a)vrijschrift.org>\n"
Binary files old/fetchmail-6.4.31/po/pl.gmo and new/fetchmail-6.4.32/po/pl.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/pl.po new/fetchmail-6.4.32/po/pl.po
--- old/fetchmail-6.4.31/po/pl.po 2022-07-16 14:02:35.000000000 +0200
+++ new/fetchmail-6.4.32/po/pl.po 2022-07-30 12:31:34.000000000 +0200
@@ -2,15 +2,15 @@
# Copyright (C) 1998, 2002, 2003, 2005, 2009 Eric S. Raymond (msgids)
# This file is distributed under the same license as the fetchmail package.
# Pawe�� Krawczyk <kravietz(a)ceti.pl>, 1998-1999.
-# Jakub Bogusz <qboosh(a)pld-linux.org>, 2002-2021.
+# Jakub Bogusz <qboosh(a)pld-linux.org>, 2002-2022.
# Thanks for few updates to Adam Go����biowski, 2003.
#
msgid ""
msgstr ""
-"Project-Id-Version: fetchmail 6.4.25.rc1\n"
+"Project-Id-Version: fetchmail 6.4.31\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
-"PO-Revision-Date: 2021-11-21 22:15+0100\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
+"PO-Revision-Date: 2022-07-24 19:24+0200\n"
"Last-Translator: Jakub Bogusz <qboosh(a)pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl(a)lists.sourceforge.net>\n"
"Language: pl\n"
@@ -2249,9 +2249,9 @@
msgstr "%s:%d: uwaga: nieznany symbol \"%s\"\n"
#: netrc.c:271 netrc.c:277
-#, fuzzy, c-format
+#, c-format
msgid "%s: error reading file (%s).\n"
-msgstr "fetchmail: b����d podczas odczytu pliku blokady \"%s\": %s\n"
+msgstr "%s: b����d podczas odczytu pliku (%s).\n"
#: ntlmsubr.c:35
msgid "Warning: received malformed challenge to \"AUTH(ENTICATE) NTLM\"!\n"
Binary files old/fetchmail-6.4.31/po/ro.gmo and new/fetchmail-6.4.32/po/ro.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/ro.po new/fetchmail-6.4.32/po/ro.po
--- old/fetchmail-6.4.31/po/ro.po 2022-07-16 14:02:39.000000000 +0200
+++ new/fetchmail-6.4.32/po/ro.po 2022-07-30 12:31:34.000000000 +0200
@@ -1,5 +1,5 @@
# Romanian translation of fetchmail.
-# Copyright (C) 2020, 2021 Eric S. Raymond (msgids)
+# Copyright (C) 2020 - 2022 Eric S. Raymond (msgids)
# This file is distributed under the same license as the fetchmail package.
#
# Florentina Mu��at <florentina.musat.28(a)gmail.com>, 2020.
@@ -13,13 +13,14 @@
# Actualiz��ri realizate de Remus-Gabriel Chelu <remusgabriel.chelu(a)disroot.org>, 15.01.2022.
# Actualizare a algoritmului formelor de plural (de la ���trei��� la ���patru���, experimental).
# Actualizare a traducerii pentru versiunea 6.4.25.rc1, f��cut�� de R-GC.
+# Actualizare a traducerii pentru versiunea 6.4.31, f��cut�� de R-GC.
#
msgid ""
msgstr ""
-"Project-Id-Version: fetchmail 6.4.25.rc1\n"
+"Project-Id-Version: fetchmail 6.4.31\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
-"PO-Revision-Date: 2022-04-16 00:36+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
+"PO-Revision-Date: 2022-07-17 11:31+0200\n"
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu(a)disroot.org>\n"
"Language-Team: Romanian <translation-team-ro(a)lists.sourceforge.net>\n"
"Language: ro\n"
@@ -29,7 +30,7 @@
"Plural-Forms: nplurals=4; plural=((n==1) ? 0 : (n==2) ? 1 : (n==0 || (n%100 "
"> 0 && n%100 < 20)) ? 2 : 3);\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 2.3.1\n"
# R-GC, scrie:
# ���node���, se refer�� la nodul de re��ea, ce
@@ -2516,9 +2517,9 @@
msgstr "%s:%d: avertisment: jeton necunoscut ���%s���\n"
#: netrc.c:271 netrc.c:277
-#, fuzzy, c-format
+#, c-format
msgid "%s: error reading file (%s).\n"
-msgstr "fetchmail: eroare la citirea fi��ierului de blocare ���%s���: %s\n"
+msgstr "%s: eroare la citirea fi��ierului (%s).\n"
#: ntlmsubr.c:35
msgid "Warning: received malformed challenge to \"AUTH(ENTICATE) NTLM\"!\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/ru.po new/fetchmail-6.4.32/po/ru.po
--- old/fetchmail-6.4.31/po/ru.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/ru.po 2022-07-30 11:23:22.000000000 +0200
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.3.10-pre1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2009-06-05 14:53+0200\n"
"Last-Translator: Pavel Maryanov <acid_jack(a)ukr.net>\n"
"Language-Team: Russian <gnu(a)mx.ru>\n"
Binary files old/fetchmail-6.4.31/po/sq.gmo and new/fetchmail-6.4.32/po/sq.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/sq.po new/fetchmail-6.4.32/po/sq.po
--- old/fetchmail-6.4.31/po/sq.po 2022-07-16 14:02:35.000000000 +0200
+++ new/fetchmail-6.4.32/po/sq.po 2022-07-30 12:31:34.000000000 +0200
@@ -1,12 +1,12 @@
# Translation of fetchmail to Albanian
# This file is distributed under the same license as the fetchmail package.
-# Besnik Bleta <besnik(a)programeshqip.org>, 2004,2008,2015,2019,2020,2021
+# Besnik Bleta <besnik(a)programeshqip.org>, 2004,2008,2015,2019,2020,2021,2022
msgid ""
msgstr ""
-"Project-Id-Version: fetchmail-6.4.25.rc1\n"
+"Project-Id-Version: fetchmail-6.4.31\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
-"PO-Revision-Date: 2021-11-21 14:56+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
+"PO-Revision-Date: 2022-07-17 12:21+0300\n"
"Last-Translator: Besnik Bleta <besnik(a)programeshqip.org>\n"
"Language-Team: Albanian <translation-team-sq(a)lists.sourceforge.net>\n"
"Language: sq\n"
@@ -20,7 +20,7 @@
#: checkalias.c:174
#, c-format
msgid "Checking if %s is really the same node as %s\n"
-msgstr "Po kontrollohet n��se v��rtet %s ��sht�� e nj��jta nyj�� si %s\n"
+msgstr "Po kontrollohet n��se %s ��sht�� v��rtet e nj��jta nyje me %s\n"
#: checkalias.c:178
msgid "Yes, their IP addresses match\n"
@@ -2235,9 +2235,9 @@
msgstr "%s:%d: sinjalizim: token \"%s\" i panjohur\n"
#: netrc.c:271 netrc.c:277
-#, fuzzy, c-format
+#, c-format
msgid "%s: error reading file (%s).\n"
-msgstr "fetchmail: gabim gjat�� leximit t�� lockfile-it \"%s\": %s\n"
+msgstr "%s: gabim n�� lexim kartele (%s).\n"
#: ntlmsubr.c:35
msgid "Warning: received malformed challenge to \"AUTH(ENTICATE) NTLM\"!\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/sr.po new/fetchmail-6.4.32/po/sr.po
--- old/fetchmail-6.4.31/po/sr.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/sr.po 2022-07-30 11:23:22.000000000 +0200
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: fetchmail-6.4.25.rc1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2021-12-11 19:12+0200\n"
"Last-Translator: ���������������� �������������� <miroslavnikolic(a)rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
Binary files old/fetchmail-6.4.31/po/sv.gmo and new/fetchmail-6.4.32/po/sv.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/sv.po new/fetchmail-6.4.32/po/sv.po
--- old/fetchmail-6.4.31/po/sv.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/sv.po 2022-07-30 12:31:34.000000000 +0200
@@ -1,18 +1,18 @@
# Swedish translations for fetchmail package
# Svenska ��vers��ttningar f��r paket fetchmail.
# Copyright �� 2011, 2012, 2013 Eric S. Raymond (msgids)
-# Copyright �� 2019, 2021 Matthias Andree (msgids)
+# Copyright �� 2019, 2021, 2022 Matthias Andree (msgids)
# This file is distributed under the same license as the fetchmail package.
# Luna Jernberg <droidbittin(a)gmail.com>, 2021
-# G��ran Uddeborg <goeran(a)uddeborg.se>, 2011, 2012, 2013, 2019, 2020, 2021.
+# G��ran Uddeborg <goeran(a)uddeborg.se>, 2011, 2012, 2013, 2019, 2020, 2021, 2022.
#
-# $Revision: 1.40 $
+# $Revision: 1.42 $
msgid ""
msgstr ""
-"Project-Id-Version: fetchmail 6.4.25.rc1\n"
+"Project-Id-Version: fetchmail 6.4.31\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
-"PO-Revision-Date: 2021-11-21 10:58+0100\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
+"PO-Revision-Date: 2022-07-17 10:02+0200\n"
"Last-Translator: G��ran Uddeborg <goeran(a)uddeborg.se>\n"
"Language-Team: Swedish <tp-sv(a)listor.tp-sv.se>\n"
"Language: sv\n"
@@ -2215,9 +2215,9 @@
msgstr "%s:%d: varning: ok��nd symbol ���%s���\n"
#: netrc.c:271 netrc.c:277
-#, fuzzy, c-format
+#, c-format
msgid "%s: error reading file (%s).\n"
-msgstr "fetchmail: fel n��r l��sfilen ���%s��� l��stes: %s\n"
+msgstr "%s: fel n��r filen l��stes (%s).\n"
#: ntlmsubr.c:35
msgid "Warning: received malformed challenge to \"AUTH(ENTICATE) NTLM\"!\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/vi.po new/fetchmail-6.4.32/po/vi.po
--- old/fetchmail-6.4.31/po/vi.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/vi.po 2022-07-30 11:23:22.000000000 +0200
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.4.25.rc1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2022-03-20 14:26+0700\n"
"Last-Translator: Tr���n Ng���c Qu��n <vnwildman(a)gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi(a)lists.sourceforge.net>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/po/zh_CN.po new/fetchmail-6.4.32/po/zh_CN.po
--- old/fetchmail-6.4.31/po/zh_CN.po 2022-07-16 14:02:36.000000000 +0200
+++ new/fetchmail-6.4.32/po/zh_CN.po 2022-07-30 11:23:22.000000000 +0200
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: fetchmail 6.4.13-rc1\n"
"Report-Msgid-Bugs-To: fetchmail-devel(a)lists.sourceforge.net\n"
-"POT-Creation-Date: 2022-07-16 11:58+0200\n"
+"POT-Creation-Date: 2022-07-27 16:54+0200\n"
"PO-Revision-Date: 2020-10-15 09:14-0400\n"
"Last-Translator: Boyuan Yang <073plan(a)gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh(a)googlegroups.com>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/rcfile_y.c new/fetchmail-6.4.32/rcfile_y.c
--- old/fetchmail-6.4.31/rcfile_y.c 2022-07-16 14:02:31.000000000 +0200
+++ new/fetchmail-6.4.32/rcfile_y.c 2022-07-30 11:24:04.000000000 +0200
@@ -123,7 +123,7 @@
extern char * yytext;
#define YYPRINT(fp, type, val) fprintf(fp, " = \"%s\"", yytext)
-#line 127 "rcfile_y.c"
+#line 127 "../rcfile_y.c"
# ifndef YY_CAST
# ifdef __cplusplus
@@ -148,8 +148,8 @@
/* Use api.header.include to #include this header
instead of duplicating it here. */
-#ifndef YY_YY_RCFILE_Y_H_INCLUDED
-# define YY_YY_RCFILE_Y_H_INCLUDED
+#ifndef YY_YY__RCFILE_Y_H_INCLUDED
+# define YY_YY__RCFILE_Y_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
@@ -374,7 +374,7 @@
int number;
char *sval;
-#line 378 "rcfile_y.c"
+#line 378 "../rcfile_y.c"
};
typedef union YYSTYPE YYSTYPE;
@@ -389,7 +389,7 @@
int yyparse (void);
-#endif /* !YY_YY_RCFILE_Y_H_INCLUDED */
+#endif /* !YY_YY__RCFILE_Y_H_INCLUDED */
/* Symbol kind. */
enum yysymbol_kind_t
{
@@ -1409,7 +1409,7 @@
case YYSYMBOL_STRING: /* STRING */
#line 85 "../rcfile_y.y"
{ free (((*yyvaluep).sval)); }
-#line 1413 "rcfile_y.c"
+#line 1413 "../rcfile_y.c"
break;
default:
@@ -1679,175 +1679,175 @@
case 8: /* statement: SET LOGFILE optmap STRING */
#line 100 "../rcfile_y.y"
{run.logfile = prependdir ((yyvsp[0].sval), rcfiledir); free((yyvsp[0].sval));}
-#line 1683 "rcfile_y.c"
+#line 1683 "../rcfile_y.c"
break;
case 9: /* statement: SET IDFILE optmap STRING */
#line 101 "../rcfile_y.y"
{run.idfile = prependdir ((yyvsp[0].sval), rcfiledir); free((yyvsp[0].sval));}
-#line 1689 "rcfile_y.c"
+#line 1689 "../rcfile_y.c"
break;
case 10: /* statement: SET PIDFILE optmap STRING */
#line 102 "../rcfile_y.y"
{run.pidfile = prependdir ((yyvsp[0].sval), rcfiledir); free((yyvsp[0].sval));}
-#line 1695 "rcfile_y.c"
+#line 1695 "../rcfile_y.c"
break;
case 11: /* statement: SET DAEMON optmap NUMBER */
#line 103 "../rcfile_y.y"
{run.poll_interval = (yyvsp[0].number);}
-#line 1701 "rcfile_y.c"
+#line 1701 "../rcfile_y.c"
break;
case 12: /* statement: SET POSTMASTER optmap STRING */
#line 104 "../rcfile_y.y"
{run.postmaster = (yyvsp[0].sval);}
-#line 1707 "rcfile_y.c"
+#line 1707 "../rcfile_y.c"
break;
case 13: /* statement: SET BOUNCEMAIL */
#line 105 "../rcfile_y.y"
{run.bouncemail = TRUE;}
-#line 1713 "rcfile_y.c"
+#line 1713 "../rcfile_y.c"
break;
case 14: /* statement: SET NO BOUNCEMAIL */
#line 106 "../rcfile_y.y"
{run.bouncemail = FALSE;}
-#line 1719 "rcfile_y.c"
+#line 1719 "../rcfile_y.c"
break;
case 15: /* statement: SET SPAMBOUNCE */
#line 107 "../rcfile_y.y"
{run.spambounce = TRUE;}
-#line 1725 "rcfile_y.c"
+#line 1725 "../rcfile_y.c"
break;
case 16: /* statement: SET NO SPAMBOUNCE */
#line 108 "../rcfile_y.y"
{run.spambounce = FALSE;}
-#line 1731 "rcfile_y.c"
+#line 1731 "../rcfile_y.c"
break;
case 17: /* statement: SET SOFTBOUNCE */
#line 109 "../rcfile_y.y"
{run.softbounce = TRUE;}
-#line 1737 "rcfile_y.c"
+#line 1737 "../rcfile_y.c"
break;
case 18: /* statement: SET NO SOFTBOUNCE */
#line 110 "../rcfile_y.y"
{run.softbounce = FALSE;}
-#line 1743 "rcfile_y.c"
+#line 1743 "../rcfile_y.c"
break;
case 19: /* statement: SET PROPERTIES optmap STRING */
#line 111 "../rcfile_y.y"
{run.properties = (yyvsp[0].sval);}
-#line 1749 "rcfile_y.c"
+#line 1749 "../rcfile_y.c"
break;
case 20: /* statement: SET SYSLOG */
#line 112 "../rcfile_y.y"
{run.use_syslog = TRUE;}
-#line 1755 "rcfile_y.c"
+#line 1755 "../rcfile_y.c"
break;
case 21: /* statement: SET NO SYSLOG */
#line 113 "../rcfile_y.y"
{run.use_syslog = FALSE;}
-#line 1761 "rcfile_y.c"
+#line 1761 "../rcfile_y.c"
break;
case 22: /* statement: SET INVISIBLE */
#line 114 "../rcfile_y.y"
{run.invisible = TRUE;}
-#line 1767 "rcfile_y.c"
+#line 1767 "../rcfile_y.c"
break;
case 23: /* statement: SET NO INVISIBLE */
#line 115 "../rcfile_y.y"
{run.invisible = FALSE;}
-#line 1773 "rcfile_y.c"
+#line 1773 "../rcfile_y.c"
break;
case 24: /* statement: SET SHOWDOTS */
#line 116 "../rcfile_y.y"
{run.showdots = FLAG_TRUE;}
-#line 1779 "rcfile_y.c"
+#line 1779 "../rcfile_y.c"
break;
case 25: /* statement: SET NO SHOWDOTS */
#line 117 "../rcfile_y.y"
{run.showdots = FLAG_FALSE;}
-#line 1785 "rcfile_y.c"
+#line 1785 "../rcfile_y.c"
break;
case 26: /* statement: define_server serverspecs */
#line 125 "../rcfile_y.y"
{record_current();}
-#line 1791 "rcfile_y.c"
+#line 1791 "../rcfile_y.c"
break;
case 28: /* statement: define_server serverspecs userspecs serv_option */
#line 130 "../rcfile_y.y"
{yyerror(GT_("server option after user options"));}
-#line 1797 "rcfile_y.c"
+#line 1797 "../rcfile_y.c"
break;
case 29: /* define_server: POLL STRING */
#line 133 "../rcfile_y.y"
{reset_server((yyvsp[0].sval), FALSE); free((yyvsp[0].sval));}
-#line 1803 "rcfile_y.c"
+#line 1803 "../rcfile_y.c"
break;
case 30: /* define_server: SKIP STRING */
#line 134 "../rcfile_y.y"
{reset_server((yyvsp[0].sval), TRUE); free((yyvsp[0].sval));}
-#line 1809 "rcfile_y.c"
+#line 1809 "../rcfile_y.c"
break;
case 31: /* define_server: DEFAULTS */
#line 135 "../rcfile_y.y"
{reset_server("defaults", FALSE);}
-#line 1815 "rcfile_y.c"
+#line 1815 "../rcfile_y.c"
break;
case 34: /* alias_list: STRING */
#line 142 "../rcfile_y.y"
{save_str(¤t.server.akalist,(yyvsp[0].sval),0); free((yyvsp[0].sval));}
-#line 1821 "rcfile_y.c"
+#line 1821 "../rcfile_y.c"
break;
case 35: /* alias_list: alias_list STRING */
#line 143 "../rcfile_y.y"
{save_str(¤t.server.akalist,(yyvsp[0].sval),0); free((yyvsp[0].sval));}
-#line 1827 "rcfile_y.c"
+#line 1827 "../rcfile_y.c"
break;
case 36: /* domain_list: STRING */
#line 146 "../rcfile_y.y"
{save_str(¤t.server.localdomains,(yyvsp[0].sval),0); free((yyvsp[0].sval));}
-#line 1833 "rcfile_y.c"
+#line 1833 "../rcfile_y.c"
break;
case 37: /* domain_list: domain_list STRING */
#line 147 "../rcfile_y.y"
{save_str(¤t.server.localdomains,(yyvsp[0].sval),0); free((yyvsp[0].sval));}
-#line 1839 "rcfile_y.c"
+#line 1839 "../rcfile_y.c"
break;
case 39: /* serv_option: VIA STRING */
#line 151 "../rcfile_y.y"
{current.server.via = (yyvsp[0].sval);}
-#line 1845 "rcfile_y.c"
+#line 1845 "../rcfile_y.c"
break;
case 41: /* serv_option: PROTOCOL PROTO */
#line 153 "../rcfile_y.y"
{current.server.protocol = (yyvsp[0].proto);}
-#line 1851 "rcfile_y.c"
+#line 1851 "../rcfile_y.c"
break;
case 42: /* serv_option: PROTOCOL KPOP */
@@ -1863,25 +1863,25 @@
#endif /* KERBEROS_V5 */
current.server.service = KPOP_PORT;
}
-#line 1867 "rcfile_y.c"
+#line 1867 "../rcfile_y.c"
break;
case 43: /* serv_option: PRINCIPAL STRING */
#line 165 "../rcfile_y.y"
{current.server.principal = (yyvsp[0].sval);}
-#line 1873 "rcfile_y.c"
+#line 1873 "../rcfile_y.c"
break;
case 44: /* serv_option: ESMTPNAME STRING */
#line 166 "../rcfile_y.y"
{current.server.esmtp_name = (yyvsp[0].sval);}
-#line 1879 "rcfile_y.c"
+#line 1879 "../rcfile_y.c"
break;
case 45: /* serv_option: ESMTPPASSWORD STRING */
#line 167 "../rcfile_y.y"
{current.server.esmtp_password = (yyvsp[0].sval);}
-#line 1885 "rcfile_y.c"
+#line 1885 "../rcfile_y.c"
break;
case 46: /* serv_option: PROTOCOL SDPS */
@@ -1894,31 +1894,31 @@
yyerror(GT_("SDPS not enabled."));
#endif /* SDPS_ENABLE */
}
-#line 1898 "rcfile_y.c"
+#line 1898 "../rcfile_y.c"
break;
case 47: /* serv_option: UIDL */
#line 176 "../rcfile_y.y"
{current.server.uidl = FLAG_TRUE;}
-#line 1904 "rcfile_y.c"
+#line 1904 "../rcfile_y.c"
break;
case 48: /* serv_option: NO UIDL */
#line 177 "../rcfile_y.y"
{current.server.uidl = FLAG_FALSE;}
-#line 1910 "rcfile_y.c"
+#line 1910 "../rcfile_y.c"
break;
case 49: /* serv_option: CHECKALIAS */
#line 178 "../rcfile_y.y"
{current.server.checkalias = FLAG_TRUE;}
-#line 1916 "rcfile_y.c"
+#line 1916 "../rcfile_y.c"
break;
case 50: /* serv_option: NO CHECKALIAS */
#line 179 "../rcfile_y.y"
{current.server.checkalias = FLAG_FALSE;}
-#line 1922 "rcfile_y.c"
+#line 1922 "../rcfile_y.c"
break;
case 51: /* serv_option: SERVICE STRING */
@@ -1926,7 +1926,7 @@
{
current.server.service = (yyvsp[0].sval);
}
-#line 1930 "rcfile_y.c"
+#line 1930 "../rcfile_y.c"
break;
case 52: /* serv_option: SERVICE NUMBER */
@@ -1937,7 +1937,7 @@
snprintf(buf, sizeof buf, "%d", port);
current.server.service = xstrdup(buf);
}
-#line 1941 "rcfile_y.c"
+#line 1941 "../rcfile_y.c"
break;
case 53: /* serv_option: PORT NUMBER */
@@ -1948,25 +1948,25 @@
snprintf(buf, sizeof buf, "%d", port);
current.server.service = xstrdup(buf);
}
-#line 1952 "rcfile_y.c"
+#line 1952 "../rcfile_y.c"
break;
case 54: /* serv_option: INTERVAL NUMBER */
#line 196 "../rcfile_y.y"
{current.server.interval = (yyvsp[0].number);}
-#line 1958 "rcfile_y.c"
+#line 1958 "../rcfile_y.c"
break;
case 55: /* serv_option: AUTHENTICATE AUTHTYPE */
#line 198 "../rcfile_y.y"
{current.server.authenticate = (yyvsp[0].proto);}
-#line 1964 "rcfile_y.c"
+#line 1964 "../rcfile_y.c"
break;
case 56: /* serv_option: TIMEOUT NUMBER */
#line 200 "../rcfile_y.y"
{current.server.timeout = (yyvsp[0].number);}
-#line 1970 "rcfile_y.c"
+#line 1970 "../rcfile_y.c"
break;
case 57: /* serv_option: ENVELOPE NUMBER STRING */
@@ -1975,7 +1975,7 @@
current.server.envelope = (yyvsp[0].sval);
current.server.envskip = (yyvsp[-1].number);
}
-#line 1979 "rcfile_y.c"
+#line 1979 "../rcfile_y.c"
break;
case 58: /* serv_option: ENVELOPE STRING */
@@ -1984,13 +1984,13 @@
current.server.envelope = (yyvsp[0].sval);
current.server.envskip = 0;
}
-#line 1988 "rcfile_y.c"
+#line 1988 "../rcfile_y.c"
break;
case 59: /* serv_option: QVIRTUAL STRING */
#line 212 "../rcfile_y.y"
{current.server.qvirtual = (yyvsp[0].sval);}
-#line 1994 "rcfile_y.c"
+#line 1994 "../rcfile_y.c"
break;
case 60: /* serv_option: INTERFACE STRING */
@@ -2003,7 +2003,7 @@
#endif
free((yyvsp[0].sval));
}
-#line 2007 "rcfile_y.c"
+#line 2007 "../rcfile_y.c"
break;
case 61: /* serv_option: MONITOR STRING */
@@ -2016,91 +2016,91 @@
free((yyvsp[0].sval));
#endif
}
-#line 2020 "rcfile_y.c"
+#line 2020 "../rcfile_y.c"
break;
case 62: /* serv_option: PLUGIN STRING */
#line 229 "../rcfile_y.y"
{ current.server.plugin = (yyvsp[0].sval); }
-#line 2026 "rcfile_y.c"
+#line 2026 "../rcfile_y.c"
break;
case 63: /* serv_option: PLUGOUT STRING */
#line 230 "../rcfile_y.y"
{ current.server.plugout = (yyvsp[0].sval); }
-#line 2032 "rcfile_y.c"
+#line 2032 "../rcfile_y.c"
break;
case 64: /* serv_option: DNS */
#line 231 "../rcfile_y.y"
{current.server.dns = FLAG_TRUE;}
-#line 2038 "rcfile_y.c"
+#line 2038 "../rcfile_y.c"
break;
case 65: /* serv_option: NO DNS */
#line 232 "../rcfile_y.y"
{current.server.dns = FLAG_FALSE;}
-#line 2044 "rcfile_y.c"
+#line 2044 "../rcfile_y.c"
break;
case 66: /* serv_option: NO ENVELOPE */
#line 233 "../rcfile_y.y"
{current.server.envelope = STRING_DISABLED;}
-#line 2050 "rcfile_y.c"
+#line 2050 "../rcfile_y.c"
break;
case 67: /* serv_option: TRACEPOLLS */
#line 234 "../rcfile_y.y"
{current.server.tracepolls = FLAG_TRUE;}
-#line 2056 "rcfile_y.c"
+#line 2056 "../rcfile_y.c"
break;
case 68: /* serv_option: NO TRACEPOLLS */
#line 235 "../rcfile_y.y"
{current.server.tracepolls = FLAG_FALSE;}
-#line 2062 "rcfile_y.c"
+#line 2062 "../rcfile_y.c"
break;
case 69: /* serv_option: BADHEADER ACCEPT */
#line 236 "../rcfile_y.y"
{current.server.badheader = BHACCEPT;}
-#line 2068 "rcfile_y.c"
+#line 2068 "../rcfile_y.c"
break;
case 70: /* serv_option: BADHEADER REJECT_ */
#line 237 "../rcfile_y.y"
{current.server.badheader = BHREJECT;}
-#line 2074 "rcfile_y.c"
+#line 2074 "../rcfile_y.c"
break;
case 71: /* userspecs: user1opts */
#line 240 "../rcfile_y.y"
{record_current(); user_reset();}
-#line 2080 "rcfile_y.c"
+#line 2080 "../rcfile_y.c"
break;
case 73: /* explicits: explicitdef */
#line 244 "../rcfile_y.y"
{record_current(); user_reset();}
-#line 2086 "rcfile_y.c"
+#line 2086 "../rcfile_y.c"
break;
case 74: /* explicits: explicits explicitdef */
#line 245 "../rcfile_y.y"
{record_current(); user_reset();}
-#line 2092 "rcfile_y.c"
+#line 2092 "../rcfile_y.c"
break;
case 76: /* userdef: USERNAME STRING */
#line 251 "../rcfile_y.y"
{current.remotename = (yyvsp[0].sval);}
-#line 2098 "rcfile_y.c"
+#line 2098 "../rcfile_y.c"
break;
case 78: /* userdef: USERNAME STRING THERE */
#line 253 "../rcfile_y.y"
{current.remotename = (yyvsp[-1].sval);}
-#line 2104 "rcfile_y.c"
+#line 2104 "../rcfile_y.c"
break;
case 85: /* mapping: STRING */
@@ -2111,49 +2111,49 @@
save_str_pair(¤t.localnames, (yyvsp[0].sval), NULL);
}
free((yyvsp[0].sval));}
-#line 2115 "rcfile_y.c"
+#line 2115 "../rcfile_y.c"
break;
case 86: /* mapping: STRING MAP STRING */
#line 274 "../rcfile_y.y"
{save_str_pair(¤t.localnames, (yyvsp[-2].sval), (yyvsp[0].sval)); free((yyvsp[-2].sval)); free((yyvsp[0].sval));}
-#line 2121 "rcfile_y.c"
+#line 2121 "../rcfile_y.c"
break;
case 87: /* folder_list: STRING */
#line 277 "../rcfile_y.y"
{save_str(¤t.mailboxes,(yyvsp[0].sval),0); free((yyvsp[0].sval));}
-#line 2127 "rcfile_y.c"
+#line 2127 "../rcfile_y.c"
break;
case 88: /* folder_list: folder_list STRING */
#line 278 "../rcfile_y.y"
{save_str(¤t.mailboxes,(yyvsp[0].sval),0); free((yyvsp[0].sval));}
-#line 2133 "rcfile_y.c"
+#line 2133 "../rcfile_y.c"
break;
case 89: /* smtp_list: STRING */
#line 281 "../rcfile_y.y"
{save_str(¤t.smtphunt, (yyvsp[0].sval),TRUE); free((yyvsp[0].sval));}
-#line 2139 "rcfile_y.c"
+#line 2139 "../rcfile_y.c"
break;
case 90: /* smtp_list: smtp_list STRING */
#line 282 "../rcfile_y.y"
{save_str(¤t.smtphunt, (yyvsp[0].sval),TRUE); free((yyvsp[0].sval));}
-#line 2145 "rcfile_y.c"
+#line 2145 "../rcfile_y.c"
break;
case 91: /* fetch_list: STRING */
#line 285 "../rcfile_y.y"
{save_str(¤t.domainlist, (yyvsp[0].sval),TRUE); free((yyvsp[0].sval));}
-#line 2151 "rcfile_y.c"
+#line 2151 "../rcfile_y.c"
break;
case 92: /* fetch_list: fetch_list STRING */
#line 286 "../rcfile_y.y"
{save_str(¤t.domainlist, (yyvsp[0].sval),TRUE); free((yyvsp[0].sval));}
-#line 2157 "rcfile_y.c"
+#line 2157 "../rcfile_y.c"
break;
case 93: /* num_list: NUMBER */
@@ -2163,7 +2163,7 @@
id = save_str(¤t.antispam,STRING_DUMMY,0);
id->val.status.num = (yyvsp[0].number);
}
-#line 2167 "rcfile_y.c"
+#line 2167 "../rcfile_y.c"
break;
case 94: /* num_list: num_list NUMBER */
@@ -2173,133 +2173,133 @@
id = save_str(¤t.antispam,STRING_DUMMY,0);
id->val.status.num = (yyvsp[0].number);
}
-#line 2177 "rcfile_y.c"
+#line 2177 "../rcfile_y.c"
break;
case 99: /* user_option: IS STRING THERE */
#line 308 "../rcfile_y.y"
{current.remotename = (yyvsp[-1].sval);}
-#line 2183 "rcfile_y.c"
+#line 2183 "../rcfile_y.c"
break;
case 100: /* user_option: PASSWORD STRING */
#line 309 "../rcfile_y.y"
{current.password = (yyvsp[0].sval);}
-#line 2189 "rcfile_y.c"
+#line 2189 "../rcfile_y.c"
break;
case 104: /* user_option: SMTPADDRESS STRING */
#line 313 "../rcfile_y.y"
{current.smtpaddress = (yyvsp[0].sval);}
-#line 2195 "rcfile_y.c"
+#line 2195 "../rcfile_y.c"
break;
case 105: /* user_option: SMTPNAME STRING */
#line 314 "../rcfile_y.y"
{current.smtpname = (yyvsp[0].sval);}
-#line 2201 "rcfile_y.c"
+#line 2201 "../rcfile_y.c"
break;
case 107: /* user_option: MDA STRING */
#line 316 "../rcfile_y.y"
{current.mda = (yyvsp[0].sval);}
-#line 2207 "rcfile_y.c"
+#line 2207 "../rcfile_y.c"
break;
case 108: /* user_option: BSMTP STRING */
#line 317 "../rcfile_y.y"
{current.bsmtp = prependdir ((yyvsp[0].sval), rcfiledir); free((yyvsp[0].sval));}
-#line 2213 "rcfile_y.c"
+#line 2213 "../rcfile_y.c"
break;
case 109: /* user_option: LMTP */
#line 318 "../rcfile_y.y"
{current.listener = LMTP_MODE;}
-#line 2219 "rcfile_y.c"
+#line 2219 "../rcfile_y.c"
break;
case 110: /* user_option: PRECONNECT STRING */
#line 319 "../rcfile_y.y"
{current.preconnect = (yyvsp[0].sval);}
-#line 2225 "rcfile_y.c"
+#line 2225 "../rcfile_y.c"
break;
case 111: /* user_option: POSTCONNECT STRING */
#line 320 "../rcfile_y.y"
{current.postconnect = (yyvsp[0].sval);}
-#line 2231 "rcfile_y.c"
+#line 2231 "../rcfile_y.c"
break;
case 112: /* user_option: KEEP */
#line 322 "../rcfile_y.y"
{current.keep = FLAG_TRUE;}
-#line 2237 "rcfile_y.c"
+#line 2237 "../rcfile_y.c"
break;
case 113: /* user_option: FLUSH */
#line 323 "../rcfile_y.y"
{current.flush = FLAG_TRUE;}
-#line 2243 "rcfile_y.c"
+#line 2243 "../rcfile_y.c"
break;
case 114: /* user_option: LIMITFLUSH */
#line 324 "../rcfile_y.y"
{current.limitflush = FLAG_TRUE;}
-#line 2249 "rcfile_y.c"
+#line 2249 "../rcfile_y.c"
break;
case 115: /* user_option: FETCHALL */
#line 325 "../rcfile_y.y"
{current.fetchall = FLAG_TRUE;}
-#line 2255 "rcfile_y.c"
+#line 2255 "../rcfile_y.c"
break;
case 116: /* user_option: REWRITE */
#line 326 "../rcfile_y.y"
{current.rewrite = FLAG_TRUE;}
-#line 2261 "rcfile_y.c"
+#line 2261 "../rcfile_y.c"
break;
case 117: /* user_option: FORCECR */
#line 327 "../rcfile_y.y"
{current.forcecr = FLAG_TRUE;}
-#line 2267 "rcfile_y.c"
+#line 2267 "../rcfile_y.c"
break;
case 118: /* user_option: STRIPCR */
#line 328 "../rcfile_y.y"
{current.stripcr = FLAG_TRUE;}
-#line 2273 "rcfile_y.c"
+#line 2273 "../rcfile_y.c"
break;
case 119: /* user_option: PASS8BITS */
#line 329 "../rcfile_y.y"
{current.pass8bits = FLAG_TRUE;}
-#line 2279 "rcfile_y.c"
+#line 2279 "../rcfile_y.c"
break;
case 120: /* user_option: DROPSTATUS */
#line 330 "../rcfile_y.y"
{current.dropstatus = FLAG_TRUE;}
-#line 2285 "rcfile_y.c"
+#line 2285 "../rcfile_y.c"
break;
case 121: /* user_option: DROPDELIVERED */
#line 331 "../rcfile_y.y"
{current.dropdelivered = FLAG_TRUE;}
-#line 2291 "rcfile_y.c"
+#line 2291 "../rcfile_y.c"
break;
case 122: /* user_option: MIMEDECODE */
#line 332 "../rcfile_y.y"
{current.mimedecode = FLAG_TRUE;}
-#line 2297 "rcfile_y.c"
+#line 2297 "../rcfile_y.c"
break;
case 123: /* user_option: IDLE */
#line 333 "../rcfile_y.y"
{current.idle = FLAG_TRUE;}
-#line 2303 "rcfile_y.c"
+#line 2303 "../rcfile_y.c"
break;
case 124: /* user_option: SSL */
@@ -2311,191 +2311,191 @@
yyerror(GT_("SSL is not enabled"));
#endif
}
-#line 2315 "rcfile_y.c"
+#line 2315 "../rcfile_y.c"
break;
case 125: /* user_option: SSLKEY STRING */
#line 342 "../rcfile_y.y"
{current.sslkey = prependdir ((yyvsp[0].sval), rcfiledir); free((yyvsp[0].sval));}
-#line 2321 "rcfile_y.c"
+#line 2321 "../rcfile_y.c"
break;
case 126: /* user_option: SSLCERT STRING */
#line 343 "../rcfile_y.y"
{current.sslcert = prependdir ((yyvsp[0].sval), rcfiledir); free((yyvsp[0].sval));}
-#line 2327 "rcfile_y.c"
+#line 2327 "../rcfile_y.c"
break;
case 127: /* user_option: SSLPROTO STRING */
#line 344 "../rcfile_y.y"
{current.sslproto = (yyvsp[0].sval);}
-#line 2333 "rcfile_y.c"
+#line 2333 "../rcfile_y.c"
break;
case 128: /* user_option: SSLCERTCK */
#line 345 "../rcfile_y.y"
{current.sslcertck = FLAG_TRUE;}
-#line 2339 "rcfile_y.c"
+#line 2339 "../rcfile_y.c"
break;
case 129: /* user_option: SSLCERTFILE STRING */
#line 346 "../rcfile_y.y"
{current.sslcertfile = prependdir((yyvsp[0].sval), rcfiledir); free((yyvsp[0].sval));}
-#line 2345 "rcfile_y.c"
+#line 2345 "../rcfile_y.c"
break;
case 130: /* user_option: SSLCERTPATH STRING */
#line 347 "../rcfile_y.y"
{current.sslcertpath = prependdir((yyvsp[0].sval), rcfiledir); free((yyvsp[0].sval));}
-#line 2351 "rcfile_y.c"
+#line 2351 "../rcfile_y.c"
break;
case 131: /* user_option: SSLCOMMONNAME STRING */
#line 348 "../rcfile_y.y"
{current.sslcommonname = (yyvsp[0].sval);}
-#line 2357 "rcfile_y.c"
+#line 2357 "../rcfile_y.c"
break;
case 132: /* user_option: SSLFINGERPRINT STRING */
#line 349 "../rcfile_y.y"
{current.sslfingerprint = (yyvsp[0].sval);}
-#line 2363 "rcfile_y.c"
+#line 2363 "../rcfile_y.c"
break;
case 133: /* user_option: NO KEEP */
#line 351 "../rcfile_y.y"
{current.keep = FLAG_FALSE;}
-#line 2369 "rcfile_y.c"
+#line 2369 "../rcfile_y.c"
break;
case 134: /* user_option: NO FLUSH */
#line 352 "../rcfile_y.y"
{current.flush = FLAG_FALSE;}
-#line 2375 "rcfile_y.c"
+#line 2375 "../rcfile_y.c"
break;
case 135: /* user_option: NO LIMITFLUSH */
#line 353 "../rcfile_y.y"
{current.limitflush = FLAG_FALSE;}
-#line 2381 "rcfile_y.c"
+#line 2381 "../rcfile_y.c"
break;
case 136: /* user_option: NO FETCHALL */
#line 354 "../rcfile_y.y"
{current.fetchall = FLAG_FALSE;}
-#line 2387 "rcfile_y.c"
+#line 2387 "../rcfile_y.c"
break;
case 137: /* user_option: NO REWRITE */
#line 355 "../rcfile_y.y"
{current.rewrite = FLAG_FALSE;}
-#line 2393 "rcfile_y.c"
+#line 2393 "../rcfile_y.c"
break;
case 138: /* user_option: NO FORCECR */
#line 356 "../rcfile_y.y"
{current.forcecr = FLAG_FALSE;}
-#line 2399 "rcfile_y.c"
+#line 2399 "../rcfile_y.c"
break;
case 139: /* user_option: NO STRIPCR */
#line 357 "../rcfile_y.y"
{current.stripcr = FLAG_FALSE;}
-#line 2405 "rcfile_y.c"
+#line 2405 "../rcfile_y.c"
break;
case 140: /* user_option: NO PASS8BITS */
#line 358 "../rcfile_y.y"
{current.pass8bits = FLAG_FALSE;}
-#line 2411 "rcfile_y.c"
+#line 2411 "../rcfile_y.c"
break;
case 141: /* user_option: NO DROPSTATUS */
#line 359 "../rcfile_y.y"
{current.dropstatus = FLAG_FALSE;}
-#line 2417 "rcfile_y.c"
+#line 2417 "../rcfile_y.c"
break;
case 142: /* user_option: NO DROPDELIVERED */
#line 360 "../rcfile_y.y"
{current.dropdelivered = FLAG_FALSE;}
-#line 2423 "rcfile_y.c"
+#line 2423 "../rcfile_y.c"
break;
case 143: /* user_option: NO MIMEDECODE */
#line 361 "../rcfile_y.y"
{current.mimedecode = FLAG_FALSE;}
-#line 2429 "rcfile_y.c"
+#line 2429 "../rcfile_y.c"
break;
case 144: /* user_option: NO IDLE */
#line 362 "../rcfile_y.y"
{current.idle = FLAG_FALSE;}
-#line 2435 "rcfile_y.c"
+#line 2435 "../rcfile_y.c"
break;
case 145: /* user_option: NO SSL */
#line 364 "../rcfile_y.y"
{current.use_ssl = FLAG_FALSE;}
-#line 2441 "rcfile_y.c"
+#line 2441 "../rcfile_y.c"
break;
case 146: /* user_option: NO SSLCERTCK */
#line 365 "../rcfile_y.y"
{current.sslcertck = FLAG_FALSE;}
-#line 2447 "rcfile_y.c"
+#line 2447 "../rcfile_y.c"
break;
case 147: /* user_option: LIMIT NUMBER */
#line 367 "../rcfile_y.y"
{current.limit = NUM_VALUE_IN((yyvsp[0].number));}
-#line 2453 "rcfile_y.c"
+#line 2453 "../rcfile_y.c"
break;
case 148: /* user_option: WARNINGS NUMBER */
#line 368 "../rcfile_y.y"
{current.warnings = NUM_VALUE_IN((yyvsp[0].number));}
-#line 2459 "rcfile_y.c"
+#line 2459 "../rcfile_y.c"
break;
case 149: /* user_option: FETCHLIMIT NUMBER */
#line 369 "../rcfile_y.y"
{current.fetchlimit = NUM_VALUE_IN((yyvsp[0].number));}
-#line 2465 "rcfile_y.c"
+#line 2465 "../rcfile_y.c"
break;
case 150: /* user_option: FETCHSIZELIMIT NUMBER */
#line 370 "../rcfile_y.y"
{current.fetchsizelimit = NUM_VALUE_IN((yyvsp[0].number));}
-#line 2471 "rcfile_y.c"
+#line 2471 "../rcfile_y.c"
break;
case 151: /* user_option: FASTUIDL NUMBER */
#line 371 "../rcfile_y.y"
{current.fastuidl = NUM_VALUE_IN((yyvsp[0].number));}
-#line 2477 "rcfile_y.c"
+#line 2477 "../rcfile_y.c"
break;
case 152: /* user_option: BATCHLIMIT NUMBER */
#line 372 "../rcfile_y.y"
{current.batchlimit = NUM_VALUE_IN((yyvsp[0].number));}
-#line 2483 "rcfile_y.c"
+#line 2483 "../rcfile_y.c"
break;
case 153: /* user_option: EXPUNGE NUMBER */
#line 373 "../rcfile_y.y"
{current.expunge = NUM_VALUE_IN((yyvsp[0].number));}
-#line 2489 "rcfile_y.c"
+#line 2489 "../rcfile_y.c"
break;
case 154: /* user_option: PROPERTIES STRING */
#line 375 "../rcfile_y.y"
{current.properties = (yyvsp[0].sval);}
-#line 2495 "rcfile_y.c"
+#line 2495 "../rcfile_y.c"
break;
-#line 2499 "rcfile_y.c"
+#line 2499 "../rcfile_y.c"
default: break;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fetchmail-6.4.31/rcfile_y.h new/fetchmail-6.4.32/rcfile_y.h
--- old/fetchmail-6.4.31/rcfile_y.h 2022-07-16 14:02:31.000000000 +0200
+++ new/fetchmail-6.4.32/rcfile_y.h 2022-07-30 11:24:04.000000000 +0200
@@ -35,8 +35,8 @@
especially those whose name start with YY_ or yy_. They are
private implementation details that can be changed or removed. */
-#ifndef YY_YY_RCFILE_Y_H_INCLUDED
-# define YY_YY_RCFILE_Y_H_INCLUDED
+#ifndef YY_YY__RCFILE_Y_H_INCLUDED
+# define YY_YY__RCFILE_Y_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
@@ -261,7 +261,7 @@
int number;
char *sval;
-#line 265 "rcfile_y.h"
+#line 265 "../rcfile_y.h"
};
typedef union YYSTYPE YYSTYPE;
@@ -276,4 +276,4 @@
int yyparse (void);
-#endif /* !YY_YY_RCFILE_Y_H_INCLUDED */
+#endif /* !YY_YY__RCFILE_Y_H_INCLUDED */
++++++ fetchmail-FAQ-list-gmail-options-including-oauthbearer-and-app.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.490306431 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.494306443 +0200
@@ -5,14 +5,12 @@
Git-commit: dbeee6a0c0fc5392953f38d6f0dcffdeeb8ae141
---
- fetchmail-FAQ.html | 24 +++++++++++++++++++++---
+ fetchmail-FAQ.html | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
-diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html
-index 82dd92df..027dc9da 100644
--- a/fetchmail-FAQ.html
+++ b/fetchmail-FAQ.html
-@@ -2004,9 +2004,27 @@ sites.)</p>
+@@ -1949,9 +1949,27 @@ sites.)</p>
<p>Google has started pushing towards more complex authentication
schemes based on OAuth 2.0 that require clients and users
to jump through quite a few hoops, and use web browsers for signing in.
@@ -43,7 +41,4 @@
browsing capabilities or heavy-weight libraries is "less secure" as
Google claims.</p>
---
-2.31.1
-
++++++ fetchmail-add-contrib-fetchnmail-oauth2.py-token-acquisition-u.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.506306478 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.510306489 +0200
@@ -598,7 +598,7 @@
+ main(sys.argv)
--- a/fetchmail.man
+++ b/fetchmail.man
-@@ -1062,7 +1062,8 @@ External tools are necessary to obtain
+@@ -1073,7 +1073,8 @@ External tools are necessary to obtain
such tokens. Access tokens often expire fairly quickly (e.g. 1 hour),
and new ones need to be generated from renewal tokens, so the
"passwordfile", "passwordfd", or "pwmd_*" options may be useful. See the
++++++ fetchmail-add-imap-oauthbearer-support.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.518306512 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.522306523 +0200
@@ -10,17 +10,15 @@
conf.c | 2 +
fetchmail.c | 3 +
fetchmail.h | 2 +
- fetchmail.man | 23 +++++++++++-
+ fetchmail.man | 26 +++++++++++--
fetchmailconf.py | 2 -
imap.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
options.c | 2 +
rcfile_l.l | 1
- 8 files changed, 136 insertions(+), 3 deletions(-)
+ 8 files changed, 137 insertions(+), 5 deletions(-)
-Index: fetchmail-6.4.31/conf.c
-===================================================================
---- fetchmail-6.4.31.orig/conf.c
-+++ fetchmail-6.4.31/conf.c
+--- a/conf.c
++++ b/conf.c
@@ -288,6 +288,8 @@ void dump_config(struct runctl *runp, st
stringdump("auth", "otp");
else if (ctl->server.authenticate == A_MSN)
@@ -30,10 +28,8 @@
#ifdef HAVE_RES_SEARCH
booldump("dns", ctl->server.dns);
-Index: fetchmail-6.4.31/fetchmail.c
-===================================================================
---- fetchmail-6.4.31.orig/fetchmail.c
-+++ fetchmail-6.4.31/fetchmail.c
+--- a/fetchmail.c
++++ b/fetchmail.c
@@ -1783,6 +1783,9 @@ static void dump_params (struct runctl *
case A_SSH:
printf(GT_(" End-to-end encryption assumed.\n"));
@@ -44,10 +40,8 @@
}
if (ctl->server.principal != (char *) NULL)
printf(GT_(" Mail service principal is: %s\n"), ctl->server.principal);
-Index: fetchmail-6.4.31/fetchmail.h
-===================================================================
---- fetchmail-6.4.31.orig/fetchmail.h
-+++ fetchmail-6.4.31/fetchmail.h
+--- a/fetchmail.h
++++ b/fetchmail.h
@@ -79,6 +79,7 @@ struct addrinfo;
#define A_SSH 8 /* authentication at session level */
#define A_MSN 9 /* same as NTLM with keyword MSN */
@@ -64,11 +58,9 @@
#define PASSWORDLEN 256 /* max password length */
#define DIGESTLEN 33 /* length of MD5 digest */
-Index: fetchmail-6.4.31/fetchmail.man
-===================================================================
---- fetchmail-6.4.31.orig/fetchmail.man
-+++ fetchmail-6.4.31/fetchmail.man
-@@ -1004,7 +1004,7 @@ AUTHENTICATION below for details). The
+--- a/fetchmail.man
++++ b/fetchmail.man
+@@ -1006,7 +1006,7 @@ AUTHENTICATION below for details). The
\&\fBpassword\fP, \fBkerberos_v5\fP, \fBkerberos\fP (or, for
excruciating exactness, \fBkerberos_v4\fP), \fBgssapi\fP,
\fBcram\-md5\fP, \fBotp\fP, \fBntlm\fP, \fBmsn\fP (only for POP3),
@@ -77,7 +69,7 @@
When \fBany\fP (the default) is specified, fetchmail tries
first methods that do not require a password (EXTERNAL, GSSAPI, KERBEROS\ IV,
KERBEROS\ 5); then it looks for methods that mask your password
-@@ -1029,8 +1029,24 @@ authentication. This option does not wo
+@@ -1031,8 +1031,24 @@ authentication. This option does not wo
in line with RFC-2743 and IANA registrations, see
.UR https://www.iana.org/assignments/gssapi-service-names/
Generic Security Service Application Program Interface (GSSAPI)/Kerberos/Simple
@@ -104,7 +96,7 @@
.SS Miscellaneous Options
.TP
.B \-f <pathname> | \-\-fetchmailrc <pathname>
-@@ -2323,7 +2339,9 @@ Legal protocol identifiers for use with
+@@ -2325,7 +2341,9 @@ Legal protocol identifiers for use with
.PP
Legal authentication types are 'any', 'password', 'kerberos',
\&'kerberos_v4', 'kerberos_v5' and 'gssapi', 'cram\-md5', 'otp', 'msn'
@@ -115,10 +107,8 @@
The 'password' type specifies
authentication by normal transmission of a password (the password may be
plain text or subject to protocol-specific encryption as in CRAM-MD5);
-Index: fetchmail-6.4.31/fetchmailconf.py
-===================================================================
---- fetchmail-6.4.31.orig/fetchmailconf.py
-+++ fetchmail-6.4.31/fetchmailconf.py
+--- a/fetchmailconf.py
++++ b/fetchmailconf.py
@@ -500,7 +500,7 @@ defaultports = {"auto":None,
"ODMR":"odmr"}
@@ -128,10 +118,8 @@
listboxhelp = {
'title' : 'List Selection Help',
-Index: fetchmail-6.4.31/imap.c
-===================================================================
---- fetchmail-6.4.31.orig/imap.c
-+++ fetchmail-6.4.31/imap.c
+--- a/imap.c
++++ b/imap.c
@@ -26,6 +26,10 @@
#define IMAP4 0 /* IMAP4 rev 0, RFC1730 */
#define IMAP4rev1 1 /* IMAP4 rev 1, RFC2060 */
@@ -271,10 +259,8 @@
/* Yahoo hack - we'll just try ID if it was offered by the server,
* and IGNORE errors. */
{
-Index: fetchmail-6.4.31/options.c
-===================================================================
---- fetchmail-6.4.31.orig/options.c
-+++ fetchmail-6.4.31/options.c
+--- a/options.c
++++ b/options.c
@@ -421,6 +421,8 @@ int parsecmdline (int argc /** argument
ctl->server.authenticate = A_ANY;
else if (strcmp(optarg, "msn") == 0)
@@ -284,10 +270,8 @@
else {
fprintf(stderr,GT_("Invalid authentication `%s' specified.\n"), optarg);
errflag++;
-Index: fetchmail-6.4.31/rcfile_l.l
-===================================================================
---- fetchmail-6.4.31.orig/rcfile_l.l
-+++ fetchmail-6.4.31/rcfile_l.l
+--- a/rcfile_l.l
++++ b/rcfile_l.l
@@ -106,6 +106,7 @@ cram(-md5)? { SETSTATE(0); yylval.proto
msn { SETSTATE(0); yylval.proto = A_MSN; return AUTHTYPE;}
ntlm { SETSTATE(0); yylval.proto = A_NTLM; return AUTHTYPE;}
++++++ fetchmail-add-passwordfile-and-passwordfd-options.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.538306569 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.542306581 +0200
@@ -5,19 +5,17 @@
Git-commit: cdd7182f65734c97723ba5f282040e08d830e650
---
- fetchmail.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++--
- fetchmail.h | 2 ++
- fetchmail.man | 40 ++++++++++++++++++++++++-
- options.c | 16 ++++++++++
- rcfile_l.l | 2 ++
- rcfile_y.y | 6 ++++
+ fetchmail.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ fetchmail.h | 2 +
+ fetchmail.man | 40 +++++++++++++++++++++++++++-
+ options.c | 16 +++++++++++
+ rcfile_l.l | 2 +
+ rcfile_y.y | 6 ++++
6 files changed, 145 insertions(+), 3 deletions(-)
-diff --git a/fetchmail.c b/fetchmail.c
-index ead6d1f2..0292d42a 100644
--- a/fetchmail.c
+++ b/fetchmail.c
-@@ -387,7 +387,7 @@ int main(int argc, char **argv)
+@@ -451,7 +451,7 @@ int main(int argc, char **argv)
/* Server won't care what the password is, but there
must be some non-null string here. */
ctl->password = ctl->remotename;
@@ -26,7 +24,7 @@
{
netrc_entry *p;
-@@ -554,8 +554,81 @@ int main(int argc, char **argv)
+@@ -618,8 +618,81 @@ int main(int argc, char **argv)
if (ctl->active && !(implicitmode && ctl->server.skip)
&& !NO_PASSWORD(ctl) && !ctl->password)
{
@@ -109,7 +107,7 @@
fprintf(stderr,
GT_("fetchmail: can't find a password for %s(a)%s.\n"),
ctl->remotename, ctl->server.pollname);
-@@ -1000,6 +1073,10 @@ static void optmerge(struct query *h2, struct query *h1, int force)
+@@ -1035,6 +1108,10 @@ static void optmerge(struct query *h2, s
FLAG_MERGE(wildcard);
STRING_MERGE(remotename);
STRING_MERGE(password);
@@ -120,7 +118,7 @@
STRING_MERGE(mda);
STRING_MERGE(bsmtp);
FLAG_MERGE(listener);
-@@ -1064,6 +1141,7 @@ static int load_params(int argc, char **argv, int optind)
+@@ -1099,6 +1176,7 @@ static int load_params(int argc, char **
def_opts.smtp_socket = -1;
def_opts.smtpaddress = (char *)0;
def_opts.smtpname = (char *)0;
@@ -128,11 +126,9 @@
def_opts.server.protocol = P_AUTO;
def_opts.server.timeout = CLIENT_TIMEOUT;
def_opts.server.esmtp_name = user;
-diff --git a/fetchmail.h b/fetchmail.h
-index 22b72827..715cc2d0 100644
--- a/fetchmail.h
+++ b/fetchmail.h
-@@ -336,6 +336,8 @@ struct query
+@@ -326,6 +326,8 @@ struct query
int wildcard; /* should unmatched names be passed through */
char *remotename; /* remote login name to use */
char *password; /* remote password to use */
@@ -141,11 +137,9 @@
struct idlist *mailboxes; /* list of mailboxes to check */
/* per-forwarding-target data */
-diff --git a/fetchmail.man b/fetchmail.man
-index aece716e..9c6ed4ad 100644
--- a/fetchmail.man
+++ b/fetchmail.man
-@@ -872,6 +872,37 @@ The default is your login name on the client machine that is running
+@@ -949,6 +949,37 @@ The default is your login name on the cl
\fBfetchmail\fP.
See USER AUTHENTICATION below for a complete description.
.TP
@@ -183,7 +177,7 @@
.B \-I <specification> | \-\-interface <specification>
(Keyword: interface)
.br
-@@ -955,7 +986,8 @@ setting also allows the non-standard "xoauth2" SASL scheme (using
+@@ -1040,7 +1071,8 @@ setting also allows the non-standard "xo
the same token) if the server only claims to support "xoauth2".
External tools are necessary to obtain
such tokens. Access tokens often expire fairly quickly (e.g. 1 hour),
@@ -193,7 +187,7 @@
oauth2.py script from
.URL https://github.com/google/gmail-oauth2-tools/wiki/OAuth2DotPyRunThrough "Google's Oauth2 Run Through" ,
and other oauth2 documentation. For services like gmail, an "App Password"
-@@ -1844,6 +1876,12 @@ T}
+@@ -1953,6 +1985,12 @@ T}
pass[word] \& \& T{
Specify remote account password
T}
@@ -206,11 +200,9 @@
ssl \& \& T{
Connect to server over the specified base protocol using SSL encryption
T}
-diff --git a/options.c b/options.c
-index a181c6d9..99b8e020 100644
--- a/options.c
+++ b/options.c
-@@ -26,6 +26,8 @@ enum {
+@@ -31,6 +31,8 @@ enum {
LA_POSTMASTER,
LA_NOBOUNCE,
LA_AUTH,
@@ -219,7 +211,7 @@
LA_FETCHDOMAINS,
LA_BSMTP,
LA_LMTP,
-@@ -103,6 +105,8 @@ static const struct option longoptions[] = {
+@@ -94,6 +96,8 @@ static const struct option longoptions[]
{"port", required_argument, (int *) 0, 'P' },
{"service", required_argument, (int *) 0, 'P' },
{"auth", required_argument, (int *) 0, LA_AUTH},
@@ -228,7 +220,7 @@
{"timeout", required_argument, (int *) 0, 't' },
{"envelope", required_argument, (int *) 0, 'E' },
{"qvirtual", required_argument, (int *) 0, 'Q' },
-@@ -236,6 +240,7 @@ int parsecmdline (int argc /** argument count */,
+@@ -261,6 +265,7 @@ int parsecmdline (int argc /** argument
memset(ctl, '\0', sizeof(struct query)); /* start clean */
ctl->smtp_socket = -1;
@@ -236,7 +228,7 @@
while (!errflag &&
(c = getopt_long(argc,argv,shortoptions,
-@@ -407,6 +412,17 @@ int parsecmdline (int argc /** argument count */,
+@@ -428,6 +433,17 @@ int parsecmdline (int argc /** argument
errflag++;
}
break;
@@ -254,11 +246,9 @@
case 't':
ctl->server.timeout = xatoi(optarg, &errflag);
if (ctl->server.timeout == 0)
-diff --git a/rcfile_l.l b/rcfile_l.l
-index 824845b3..47a37d0f 100644
--- a/rcfile_l.l
+++ b/rcfile_l.l
-@@ -115,6 +115,8 @@ pwmd_socket { return PWMD_SOCKET; }
+@@ -118,6 +118,8 @@ accept { return ACCEPT; }
reject { return REJECT_; }
user(name)? {SETSTATE(NAME); return USERNAME; }
@@ -267,11 +257,9 @@
<INITIAL,NAME>pass(word)? {SETSTATE(NAME); return PASSWORD; }
folder(s)? { return FOLDER; }
smtp(host)? { return SMTPHOST; }
-diff --git a/rcfile_y.y b/rcfile_y.y
-index 815fbd74..3967adb3 100644
--- a/rcfile_y.y
+++ b/rcfile_y.y
-@@ -61,6 +61,7 @@ extern char * yytext;
+@@ -63,6 +63,7 @@ extern char * yytext;
%token DEFAULTS POLL SKIP VIA AKA LOCALDOMAINS PROTOCOL
%token AUTHENTICATE TIMEOUT KPOP SDPS ENVELOPE QVIRTUAL
%token USERNAME PASSWORD FOLDER SMTPHOST FETCHDOMAINS MDA BSMTP LMTP
@@ -279,7 +267,7 @@
%token SMTPADDRESS SMTPNAME SPAMRESPONSE PRECONNECT POSTCONNECT LIMIT WARNINGS
%token INTERFACE MONITOR PLUGIN PLUGOUT
%token IS HERE THERE TO MAP
-@@ -315,6 +316,8 @@ user_option : TO mapping_list HERE
+@@ -307,6 +308,8 @@ user_option : TO mapping_list HERE
| IS STRING THERE {current.remotename = $2;}
| PASSWORD STRING {current.password = $2;}
@@ -288,7 +276,7 @@
| FOLDER folder_list
| SMTPHOST smtp_list
| FETCHDOMAINS fetch_list
-@@ -539,6 +542,7 @@ static void reset_server(const char *name, int skip)
+@@ -505,6 +508,7 @@ static void reset_server(const char *nam
trailer = FALSE;
memset(¤t,'\0',sizeof(current));
current.smtp_socket = -1;
@@ -296,7 +284,7 @@
current.server.pollname = xstrdup(name);
current.server.skip = skip;
current.server.principal = (char *)NULL;
-@@ -560,6 +564,7 @@ static void user_reset(void)
+@@ -526,6 +530,7 @@ static void user_reset(void)
memset(¤t, '\0', sizeof(current));
current.smtp_socket = -1;
@@ -304,7 +292,7 @@
current.server = save;
}
-@@ -580,6 +585,7 @@ struct query *hostalloc(struct query *init /** pointer to block containing
+@@ -546,6 +551,7 @@ struct query *hostalloc(struct query *in
{
memset(node, '\0', sizeof(struct query));
node->smtp_socket = -1;
@@ -312,7 +300,4 @@
}
/* append to end of list */
---
-2.31.1
-
++++++ fetchmail-add-query_to64_outsize-utility-function.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.554306615 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.558306627 +0200
@@ -5,14 +5,12 @@
Git-commit: cc6e146d516140df800da68976eb7c0aa1cef7c0
---
- base64.c | 7 +++++++
- fetchmail.h | 1 +
+ base64.c | 7 +++++++
+ fetchmail.h | 1 +
2 files changed, 8 insertions(+)
-Index: fetchmail-6.4.22/base64.c
-===================================================================
---- fetchmail-6.4.22.orig/base64.c
-+++ fetchmail-6.4.22/base64.c
+--- a/base64.c
++++ b/base64.c
@@ -66,6 +66,13 @@ fail:
return rc;
}
@@ -27,10 +25,8 @@
int from64tobits(void *out_, const char *in, int maxlen)
/* base 64 to raw bytes in quasi-big-endian order, returning count of bytes */
/* maxlen limits output buffer size, set to zero to ignore */
-Index: fetchmail-6.4.22/fetchmail.h
-===================================================================
---- fetchmail-6.4.22.orig/fetchmail.h
-+++ fetchmail-6.4.22/fetchmail.h
+--- a/fetchmail.h
++++ b/fetchmail.h
@@ -642,6 +642,7 @@ int prc_filecheck(const char *, const fl
/* base64.c */
unsigned len64frombits(unsigned inlen); /** calculate length needed to encode inlen octets. warnings: 1. caller needs to add 1 for a trailing \0 byte himself. 2. returns 0 for inlen 0! */
++++++ fetchmail-add-readme-oauth2-issue-27.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.574306673 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.578306684 +0200
@@ -5,12 +5,9 @@
Git-commit: d52ba9652c9207358e0b9acc11403688f6f16b9e
---
- README.OAUTH2 | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ README.OAUTH2 | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 147 insertions(+)
-diff --git a/README.OAUTH2 b/README.OAUTH2
-new file mode 100644
-index 00000000..e861c812
--- /dev/null
+++ b/README.OAUTH2
@@ -0,0 +1,147 @@
@@ -162,4 +159,3 @@
+ + Google API Dashboard: https://console.developers.google.com/apis/dashboard
+ + Google Cloud Resource Manager: https://console.developers.google.com/cloud-resource-manager
-
++++++ fetchmail-bump-max-passwordlen-to-1bytes.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.594306730 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.598306741 +0200
@@ -5,14 +5,12 @@
Git-commit: 919fd787540c4a3fa4694566edce406df1e42001
---
- fetchmail.h | 2 +-
+ fetchmail.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/fetchmail.h b/fetchmail.h
-index af4d0dd2..ac248805 100644
--- a/fetchmail.h
+++ b/fetchmail.h
-@@ -104,7 +104,7 @@ enum authenticators {
+@@ -116,7 +116,7 @@ struct addrinfo;
#define NAMELEN 64 /* max username length */
/* oauth2 access tokens seem to be about 130 characters; make this longer: */
@@ -22,4 +20,3 @@
/* exit code values */
-
++++++ fetchmail-chase-and-integrate-interface-change.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.622306810 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.622306810 +0200
@@ -5,11 +5,9 @@
Git-commit: d52b7b6859d46134b46e6de9b408739b18745d47
---
- oauth2.c | 3 ++-
+ oauth2.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/oauth2.c b/oauth2.c
-index a8a324b8..4f7a072a 100644
--- a/oauth2.c
+++ b/oauth2.c
@@ -10,6 +10,7 @@
@@ -20,7 +18,7 @@
#include <string.h>
char *get_oauth2_string(struct query *ctl,flag xoauth2)
-@@ -52,7 +53,7 @@ char *get_oauth2_string(struct query *ctl,flag xoauth2)
+@@ -52,7 +53,7 @@ char *get_oauth2_string(struct query *ct
}
oauth2b64 = (char *)xmalloc(2*strlen(oauth2str)+8);
@@ -30,4 +28,3 @@
memset(oauth2str, 0x55, strlen(oauth2str));
free(oauth2str);
-
++++++ fetchmail-give-each-ctl-it-s-own-copy-of-password.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.642306868 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.646306879 +0200
@@ -10,14 +10,12 @@
I haven't tested pwmd, but these seem like obvious fixes.
---
- fetchmail.c | 12 ++++++++++--
+ fetchmail.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
-diff --git a/fetchmail.c b/fetchmail.c
-index 0292d42a..e2828a4f 100644
--- a/fetchmail.c
+++ b/fetchmail.c
-@@ -386,7 +386,7 @@ int main(int argc, char **argv)
+@@ -450,7 +450,7 @@ int main(int argc, char **argv)
if (NO_PASSWORD(ctl))
/* Server won't care what the password is, but there
must be some non-null string here. */
@@ -26,7 +24,7 @@
else if (!ctl->passwordfile && ctl->passwordfd==-1)
{
netrc_entry *p;
-@@ -1072,7 +1072,15 @@ static void optmerge(struct query *h2, struct query *h1, int force)
+@@ -1107,7 +1107,15 @@ static void optmerge(struct query *h2, s
FLAG_MERGE(wildcard);
STRING_MERGE(remotename);
@@ -43,7 +41,4 @@
FLAG_MERGE(passwordfile);
if (force ? h1->passwordfd!=-1 : h2->passwordfd==-1) {
h2->passwordfd = h1->passwordfd;
---
-2.31.1
-
++++++ fetchmail-increase-max-password-length-to-handle-oauth-tokens.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.666306936 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.670306947 +0200
@@ -14,14 +14,12 @@
This simply patches the hard-coded limit to 4096 bytes, but it might
not be sufficient.
---
- fetchmail.h | 2 +-
+ fetchmail.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/fetchmail.h b/fetchmail.h
-index bebb094d..6ff23919 100644
--- a/fetchmail.h
+++ b/fetchmail.h
-@@ -104,7 +104,7 @@ enum authenticators {
+@@ -116,7 +116,7 @@ struct addrinfo;
#define NAMELEN 64 /* max username length */
/* oauth2 access tokens seem to be about 130 characters; make this longer: */
@@ -31,4 +29,3 @@
/* exit code values */
-
++++++ fetchmail-oauth2-c-calculate-and-pass-in-correct-buffer-size-to-to64frombits.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.682306983 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.686306994 +0200
@@ -8,14 +8,12 @@
approximate size.
---
- oauth2.c | 6 ++++--
+ oauth2.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
-diff --git a/oauth2.c b/oauth2.c
-index 4f7a072a..addc91aa 100644
--- a/oauth2.c
+++ b/oauth2.c
-@@ -34,6 +34,7 @@ char *get_oauth2_string(struct query *ctl,flag xoauth2)
+@@ -34,6 +34,7 @@ char *get_oauth2_string(struct query *ct
int oauth2len;
char *oauth2b64;
@@ -23,7 +21,7 @@
oauth2len = strlen(ctl->remotename) + strlen(ctl->password) + 32;
oauth2str = (char *)xmalloc(oauth2len);
-@@ -52,8 +53,9 @@ char *get_oauth2_string(struct query *ctl,flag xoauth2)
+@@ -52,8 +53,9 @@ char *get_oauth2_string(struct query *ct
ctl->password);
}
@@ -36,4 +34,3 @@
memset(oauth2str, 0x55, strlen(oauth2str));
free(oauth2str);
-
++++++ fetchmail-re-read-passwordfile-on-every-poll.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.698307028 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.702307040 +0200
@@ -5,15 +5,13 @@
Git-commit: c2b96715bb39b9cfd1c751eae6b0111bed9c8581
---
- fetchmail.c | 101 +++++++++++++++++++++++++++++++++-----------------
- fetchmail.man | 9 ++---
- 2 files changed, 70 insertions(+), 40 deletions(-)
+ fetchmail.c | 100 ++++++++++++++++++++++++++++++++++++++--------------------
+ fetchmail.man | 9 +----
+ 2 files changed, 69 insertions(+), 40 deletions(-)
-diff --git a/fetchmail.c b/fetchmail.c
-index e2828a4f..eb277c28 100644
--- a/fetchmail.c
+++ b/fetchmail.c
-@@ -586,48 +586,19 @@ int main(int argc, char **argv)
+@@ -650,48 +650,19 @@ int main(int argc, char **argv)
}
ctl->password = xstrdup(msg);
@@ -26,25 +24,25 @@
- int res;
-
- if (fd == -1) {
-- int saveErrno = errno;
-- fprintf(stderr,
-- GT_("fetchmail: unable to open %s: %s\n"),
-- ctl->passwordfile,
-- strerror(saveErrno));
-- return PS_AUTHFAIL;
-- }
--
-- res = read(fd, msg, sizeof(msg)-1);
-- if (res == -1 || close(fd) == -1) {
+ if (access(ctl->passwordfile, R_OK) != 0) {
int saveErrno = errno;
fprintf(stderr,
-- GT_("fetchmail: error reading %s: %s\n"),
+- GT_("fetchmail: unable to open %s: %s\n"),
+ GT_("fetchmail: unable to access %s: %s\n"),
ctl->passwordfile,
strerror(saveErrno));
return PS_AUTHFAIL;
}
+-
+- res = read(fd, msg, sizeof(msg)-1);
+- if (res == -1 || close(fd) == -1) {
+- int saveErrno = errno;
+- fprintf(stderr,
+- GT_("fetchmail: error reading %s: %s\n"),
+- ctl->passwordfile,
+- strerror(saveErrno));
+- return PS_AUTHFAIL;
+- }
- msg[res] = '\0';
-
- newline = memchr(msg, '\n', res);
@@ -67,7 +65,7 @@
} else if (!isatty(0)) {
fprintf(stderr,
GT_("fetchmail: can't find a password for %s(a)%s.\n"),
-@@ -643,6 +614,8 @@ int main(int argc, char **argv)
+@@ -707,6 +678,8 @@ int main(int argc, char **argv)
ctl->password = xstrdup((char *)fm_getpassword(tmpbuf));
free(tmpbuf);
}
@@ -76,7 +74,7 @@
}
}
-@@ -843,6 +816,65 @@ int main(int argc, char **argv)
+@@ -897,6 +870,65 @@ int main(int argc, char **argv)
dofastuidl = 0; /* this is reset in the driver if required */
@@ -142,11 +140,9 @@
querystatus = query_host(ctl);
if (NUM_NONZERO(ctl->fastuidl))
-diff --git a/fetchmail.man b/fetchmail.man
-index b6309d40..6b375d89 100644
--- a/fetchmail.man
+++ b/fetchmail.man
-@@ -877,12 +877,9 @@ See USER AUTHENTICATION below for a complete description.
+@@ -954,12 +954,9 @@ See USER AUTHENTICATION below for a comp
.br
Specifies a file name from which to read the first line to use as the password.
Useful if something changes the password/token often without regenerating a
@@ -161,7 +157,7 @@
.TP
.B \-\-passwordfd <integer>
(Keyword: passwordfd)
-@@ -895,7 +892,7 @@ although it could also be a redirected input file
+@@ -972,7 +969,7 @@ although it could also be a redirected i
(equivalent to "fetchmail \-\-passwordfd 5 5</path/to/file").
Useful if something wants to manage password ownership more securely
than files, or if the password/token changes often,
@@ -170,7 +166,4 @@
mode passwords requires that standard input is a terminal and disables
echo, but passwordfd does not care. Do not do something
like "echo 'password' | fetchmail ...", since echo's arguments are
---
-2.31.1
-
++++++ fetchmail-support-oauthbearer-xoauth2-with-pop3.patch ++++++
--- /var/tmp/diff_new_pack.zVMU3L/_old 2022-08-01 21:34:10.710307063 +0200
+++ /var/tmp/diff_new_pack.zVMU3L/_new 2022-08-01 21:34:10.714307074 +0200
@@ -6,21 +6,19 @@
(Also factor out some common imap/pop3 oauth2 code.)
---
- Makefile.am | 2 +-
- fetchmail.man | 5 +--
- imap.c | 53 +++-------------------
- oauth2.c | 61 +++++++++++++++++++++++++
- oauth2.h | 6 +++
- pop3.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++++--
- 6 files changed, 196 insertions(+), 53 deletions(-)
+ Makefile.am | 2
+ fetchmail.man | 5 --
+ imap.c | 53 +++--------------------
+ oauth2.c | 61 +++++++++++++++++++++++++++
+ oauth2.h | 6 ++
+ pop3.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 6 files changed, 202 insertions(+), 55 deletions(-)
create mode 100644 oauth2.c
create mode 100644 oauth2.h
-Index: fetchmail-6.4.25/Makefile.am
-===================================================================
---- fetchmail-6.4.25.orig/Makefile.am
-+++ fetchmail-6.4.25/Makefile.am
-@@ -68,7 +68,7 @@ fetchmail_SOURCES= fetchmail.h getopt.h
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -74,7 +74,7 @@ fetchmail_SOURCES= fetchmail.h getopt.h
fetchmail.c env.c idle.c options.c daemon.c \
driver.c transact.c sink.c smtp.c \
idlist.c uid.c mxget.c md5ify.c cram.c gssapi.c \
@@ -29,11 +27,9 @@
unmime.c conf.c checkalias.c uid_db.h uid_db.c\
lock.h lock.c \
rcfile_l.l rcfile_y.y \
-Index: fetchmail-6.4.25/fetchmail.man
-===================================================================
---- fetchmail-6.4.25.orig/fetchmail.man
-+++ fetchmail-6.4.25/fetchmail.man
-@@ -1001,7 +1001,7 @@ AUTHENTICATION below for details). The
+--- a/fetchmail.man
++++ b/fetchmail.man
+@@ -1006,7 +1006,7 @@ AUTHENTICATION below for details). The
\&\fBpassword\fP, \fBkerberos_v5\fP, \fBkerberos\fP (or, for
excruciating exactness, \fBkerberos_v4\fP), \fBgssapi\fP,
\fBcram\-md5\fP, \fBotp\fP, \fBntlm\fP, \fBmsn\fP (only for POP3),
@@ -42,7 +38,7 @@
When \fBany\fP (the default) is specified, fetchmail tries
first methods that do not require a password (EXTERNAL, GSSAPI, KERBEROS\ IV,
KERBEROS\ 5); then it looks for methods that mask your password
-@@ -2340,8 +2340,7 @@ Legal protocol identifiers for use with
+@@ -2342,8 +2342,7 @@ Legal protocol identifiers for use with
Legal authentication types are 'any', 'password', 'kerberos',
\&'kerberos_v4', 'kerberos_v5' and 'gssapi', 'cram\-md5', 'otp', 'msn'
(only for POP3), 'ntlm', 'ssh', 'external' (only IMAP),
@@ -52,10 +48,8 @@
The 'password' type specifies
authentication by normal transmission of a password (the password may be
plain text or subject to protocol-specific encryption as in CRAM-MD5);
-Index: fetchmail-6.4.25/imap.c
-===================================================================
---- fetchmail-6.4.25.orig/imap.c
-+++ fetchmail-6.4.25/imap.c
+--- a/imap.c
++++ b/imap.c
@@ -17,6 +17,7 @@
#include <limits.h>
#include <errno.h>
@@ -134,10 +128,8 @@
return ok;
}
-Index: fetchmail-6.4.25/oauth2.c
-===================================================================
--- /dev/null
-+++ fetchmail-6.4.25/oauth2.c
++++ b/oauth2.c
@@ -0,0 +1,61 @@
+/*
+ * oauth2.c -- oauthbearer and xoauth2 support
@@ -200,10 +192,8 @@
+
+ return oauth2b64;
+}
-Index: fetchmail-6.4.25/oauth2.h
-===================================================================
--- /dev/null
-+++ fetchmail-6.4.25/oauth2.h
++++ b/oauth2.h
@@ -0,0 +1,6 @@
+#ifndef OAUTH2_H
+#define OAUTH2_H
@@ -211,10 +201,8 @@
+char *get_oauth2_string(struct query *ctl,flag xoauth2);
+
+#endif /*OAUTH2_H*/
-Index: fetchmail-6.4.25/pop3.c
-===================================================================
---- fetchmail-6.4.25.orig/pop3.c
-+++ fetchmail-6.4.25/pop3.c
+--- a/pop3.c
++++ b/pop3.c
@@ -20,6 +20,7 @@
#include <errno.h>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package herbstluftwm for openSUSE:Factory checked in at 2022-08-01 21:33:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/herbstluftwm (Old)
and /work/SRC/openSUSE:Factory/.herbstluftwm.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "herbstluftwm"
Mon Aug 1 21:33:00 2022 rev:14 rq:991943 version:0.9.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/herbstluftwm/herbstluftwm.changes 2022-03-18 16:42:46.849209011 +0100
+++ /work/SRC/openSUSE:Factory/.herbstluftwm.new.1533/herbstluftwm.changes 2022-08-01 21:34:08.134299672 +0200
@@ -1,0 +2,17 @@
+Mon Aug 1 07:19:24 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 0.9.5:
+ * Key binds for release events.
+ * The Setting 'smart_frame_surroundings' has been changed to accept the
+ following new values: 'off', 'hide_all', and 'hide_gaps'. Setting it to
+ 'hide_gaps' will only hide frame gaps when applicable, 'hide_all' and 'off'
+ mirror the old behaviour with regards to 'true' and 'false'.
+ * New format '%{ }' for easier attribute access in the sprintf command
+ * New setting 'show_frame_decorations' that controls when frame decorations
+ are shown. This should be used instead of the old 'always_show_frame'
+ * New frame attribute 'content_geometry'
+ * New tag attribute 'at_end'
+ * New monitor attribute 'content_geometry'
+ * Fix bug in ipc protocol for big-endian systems
+
+-------------------------------------------------------------------
Old:
----
herbstluftwm-0.9.4.tar.gz
herbstluftwm-0.9.4.tar.gz.sig
New:
----
herbstluftwm-0.9.5.tar.gz
herbstluftwm-0.9.5.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ herbstluftwm.spec ++++++
--- /var/tmp/diff_new_pack.xjVxlj/_old 2022-08-01 21:34:08.714301336 +0200
+++ /var/tmp/diff_new_pack.xjVxlj/_new 2022-08-01 21:34:08.722301359 +0200
@@ -17,7 +17,7 @@
Name: herbstluftwm
-Version: 0.9.4
+Version: 0.9.5
Release: 0
Summary: A manual tiling window manager
License: BSD-2-Clause
++++++ herbstluftwm-0.9.4.tar.gz -> herbstluftwm-0.9.5.tar.gz ++++++
++++ 3872 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package heimer for openSUSE:Factory checked in at 2022-08-01 21:32:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/heimer (Old)
and /work/SRC/openSUSE:Factory/.heimer.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "heimer"
Mon Aug 1 21:32:58 2022 rev:4 rq:991944 version:3.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/heimer/heimer.changes 2022-06-29 16:02:37.296723603 +0200
+++ /work/SRC/openSUSE:Factory/.heimer.new.1533/heimer.changes 2022-08-01 21:34:07.098296700 +0200
@@ -1,0 +2,14 @@
+Mon Aug 1 07:22:13 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 3.5.0:
+ * Fix GitHub Issue #112: Optimizer: Take current node locations
+ into account when building initial layout
+ + This change makes the optimizer way more stable with respect
+ to the original global placement
+ + Tries to find the best possible initial locations for the
+ nodes in a normalized coordinate space
+ + Makes only local changes within a very small search radius
+ (row-wise and cell-wise)
+ * Update German and Dutch translations
+
+-------------------------------------------------------------------
Old:
----
3.4.0.tar.gz
New:
----
3.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ heimer.spec ++++++
--- /var/tmp/diff_new_pack.e2BvFf/_old 2022-08-01 21:34:07.642298261 +0200
+++ /var/tmp/diff_new_pack.e2BvFf/_new 2022-08-01 21:34:07.650298284 +0200
@@ -18,7 +18,7 @@
Name: heimer
-Version: 3.4.0
+Version: 3.5.0
Release: 0
Summary: Mind map, diagram, and note-taking tool
License: CC-BY-SA-3.0 AND GPL-3.0-only
++++++ 3.4.0.tar.gz -> 3.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/CHANGELOG new/Heimer-3.5.0/CHANGELOG
--- old/Heimer-3.4.0/CHANGELOG 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/CHANGELOG 2022-07-30 20:14:08.000000000 +0200
@@ -9,6 +9,26 @@
Other:
+3.5.0
+=====
+
+Release date:
+
+Sat, 30 Jul 2022 21:12:12 +0300
+
+New features:
+
+* Fix GitHub Issue #112: Optimizer: Take current node locations into account when building initial layout
+ - This change makes the optimizer way more stable with respect to the original global placement
+ - Tries to find the best possible initial locations for the nodes in a normalized coordinate space
+ - Makes only local changes within a very small search radius (row-wise and cell-wise)
+
+Other:
+
+* Update German translations
+
+* Update Dutch translations
+
3.4.0
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/CMakeLists.txt new/Heimer-3.5.0/CMakeLists.txt
--- old/Heimer-3.4.0/CMakeLists.txt 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/CMakeLists.txt 2022-07-30 20:14:08.000000000 +0200
@@ -26,7 +26,7 @@
# Global version
set(VERSION_MAJOR 3)
-set(VERSION_MINOR 4)
+set(VERSION_MINOR 5)
set(VERSION_PATCH 0)
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
@@ -94,7 +94,7 @@
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
-set(QT_MIN_VER 5.5.1) # The version in Ubuntu 16.04
+set(QT_MIN_VER 5.9.5) # The version in Ubuntu 18.04 LTS
# This is what Qt Creator 4.13.2 would generate
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Xml Widgets LinguistTools Svg Test Network REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/Jenkinsfile new/Heimer-3.5.0/Jenkinsfile
--- old/Heimer-3.4.0/Jenkinsfile 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/Jenkinsfile 2022-07-30 20:14:08.000000000 +0200
@@ -113,6 +113,22 @@
}
}
}
+ stage('Source .tar.gz') {
+ agent {
+ docker {
+ image 'juzzlin/qt5-22.04:latest'
+ args '--privileged -t -v $WORKSPACE:/heimer'
+ }
+ }
+ steps {
+ sh "./scripts/build-archive"
+ }
+ post {
+ always {
+ archiveArtifacts artifacts: 'heimer*.tar.gz', fingerprint: true
+ }
+ }
+ }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/scripts/build-app-image new/Heimer-3.5.0/scripts/build-app-image
--- old/Heimer-3.4.0/scripts/build-app-image 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/scripts/build-app-image 2022-07-30 20:14:08.000000000 +0200
@@ -2,7 +2,7 @@
# Builds AppImage in Docker
-HEIMER_VERSION=3.4.0
+HEIMER_VERSION=3.5.0
CMD="export LANG=en_US.UTF-8 && \
export LC_ALL=en_US.UTF-8 && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/scripts/build-archive new/Heimer-3.5.0/scripts/build-archive
--- old/Heimer-3.4.0/scripts/build-archive 1970-01-01 01:00:00.000000000 +0100
+++ new/Heimer-3.5.0/scripts/build-archive 2022-07-30 20:14:08.000000000 +0200
@@ -0,0 +1 @@
+git archive --format=tar.gz --prefix=heimer-3.5.0/ HEAD > heimer-3.5.0.tar.gz
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/scripts/build-windows-zip new/Heimer-3.5.0/scripts/build-windows-zip
--- old/Heimer-3.4.0/scripts/build-windows-zip 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/scripts/build-windows-zip 2022-07-30 20:14:08.000000000 +0200
@@ -2,7 +2,7 @@
# Builds ZIP archive for Windows in Docker
-VERSION=3.4.0
+VERSION=3.5.0
CMAKE=/mxe/usr/bin/i686-w64-mingw32.static-cmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/scripts/update-version new/Heimer-3.5.0/scripts/update-version
--- old/Heimer-3.4.0/scripts/update-version 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/scripts/update-version 2022-07-30 20:14:08.000000000 +0200
@@ -18,9 +18,9 @@
sed -i "s/^set(VERSION_MINOR.*/set(VERSION_MINOR ${VERSION_MINOR})/" ${FILE} ||��exit 1
sed -i "s/^set(VERSION_PATCH.*/set(VERSION_PATCH ${VERSION_PATCH})/" ${FILE} ||��exit 1
-for FILE in heimer.pro snapcraft.yaml scripts/build-app-image scripts/build-windows-zip; do
+for FILE in heimer.pro snapcraft.yaml scripts/build-app-image scripts/build-archive scripts/build-windows-zip; do
echo "Updating ${FILE} .."
- sed -i -E "s/[0-9]+\.[0-9]+\.[0-9]+/$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH/" ${FILE} ||��exit 1
+ sed -i -E "s/[0-9]+\.[0-9]+\.[0-9]+/$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH/g" ${FILE} ||��exit 1
done
git diff
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/snapcraft.yaml new/Heimer-3.5.0/snapcraft.yaml
--- old/Heimer-3.4.0/snapcraft.yaml 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/snapcraft.yaml 2022-07-30 20:14:08.000000000 +0200
@@ -1,5 +1,5 @@
name: heimer
-version: '3.4.0'
+version: '3.5.0'
summary: Heimer is a simple cross-platform mind map tool.
description: |
Heimer is a simple cross-platform mind map creation tool.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/src/layout_optimizer.cpp new/Heimer-3.5.0/src/layout_optimizer.cpp
--- old/Heimer-3.4.0/src/layout_optimizer.cpp 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/src/layout_optimizer.cpp 2022-07-30 20:14:08.000000000 +0200
@@ -58,7 +58,7 @@
{
juzzlin::L().info() << "Initializing LayoutOptimizer: aspectRatio=" << aspectRatio << ", minEdgeLength=" << minEdgeLength;
- if (m_mindMapData->graph().numNodes() == 0) {
+ if (!m_mindMapData->graph().numNodes()) {
juzzlin::L().info() << "No nodes";
return false;
}
@@ -68,16 +68,18 @@
area += (node->size().width() + minEdgeLength) * (node->size().height() + minEdgeLength);
}
- const double height = std::sqrt(area / aspectRatio);
- const double width = area / height;
-
- // Builds initial layout
+ // Build initial layout
auto nodes = m_mindMapData->graph().getNodes();
+ const auto originalLayoutDimensions = calculateLayoutDimensions(nodes);
+ juzzlin::L().info() << "Area: " << originalLayoutDimensions.height() * originalLayoutDimensions.width();
+ const double height = std::sqrt(area / aspectRatio);
+ const double width = area / height;
m_layout = std::make_unique<Layout>();
m_layout->cols = static_cast<size_t>(width / (Constants::Node::MIN_WIDTH + minEdgeLength)) + 1;
m_layout->minEdgeLength = minEdgeLength;
std::map<int, std::shared_ptr<Cell>> nodesToCells; // Used when building connections
+ std::vector<std::shared_ptr<Cell>> cells;
const auto rows = static_cast<size_t>(height / (Constants::Node::MIN_HEIGHT + minEdgeLength)) + 1;
for (size_t j = 0; j < rows; j++) {
const auto row = std::make_shared<Row>();
@@ -86,21 +88,56 @@
for (size_t i = 0; i < m_layout->cols; i++) {
const auto cell = std::make_shared<Cell>();
row->cells.push_back(cell);
- cell->rect.x = row->rect.x + static_cast<int>(i) * Constants::Node::MIN_WIDTH;
- cell->rect.y = row->rect.y;
- cell->rect.h = Constants::Node::MIN_HEIGHT;
- cell->rect.w = Constants::Node::MIN_WIDTH;
-
- if (!nodes.empty()) {
- m_layout->all.push_back(cell);
- cell->node = nodes.back();
- nodesToCells[cell->node.lock()->index()] = cell;
- nodes.pop_back();
- }
+ cells.push_back(cell);
+ cell->rect = { row->rect.x + static_cast<int>(i) * Constants::Node::MIN_WIDTH,
+ row->rect.y,
+ Constants::Node::MIN_HEIGHT,
+ Constants::Node::MIN_WIDTH };
}
m_layout->rows.push_back(row);
}
+ m_rowDist = std::uniform_int_distribution<size_t> { 0, m_layout->rows.size() - 1 };
+
+ // Assign nodes to nearest cells
+
+ double minX = std::numeric_limits<double>::max();
+ double maxX = -minX;
+ double minY = std::numeric_limits<double>::max();
+ double maxY = -minY;
+ for (auto && cell : cells) {
+ minX = std::min(minX, cell->x());
+ maxX = std::max(maxX, cell->x());
+ minY = std::min(minY, cell->y());
+ maxY = std::max(maxY, cell->y());
+ }
+ const double cellAreaW = maxX - minX;
+ const double cellAreaH = maxY - minY;
+
+ for (auto && node : nodes) {
+ if (!cells.empty()) {
+ size_t nearestCellIndex = 0;
+ double nearestDistance = std::numeric_limits<double>::max();
+ for (size_t i = 0; i < cells.size(); i++) {
+ const auto cell = cells.at(i);
+ const auto dx = (cell->x() - minX - cellAreaW / 2) / cellAreaW - (node->location().x() - originalLayoutDimensions.x() - originalLayoutDimensions.width() / 2) / originalLayoutDimensions.width();
+ const auto dy = (cell->y() - minY - cellAreaH / 2) / cellAreaH - (node->location().y() - originalLayoutDimensions.y() - originalLayoutDimensions.height() / 2) / originalLayoutDimensions.height();
+ if (double distance = dx * dx + dy * dy; distance < nearestDistance) {
+ nearestDistance = distance;
+ nearestCellIndex = i;
+ }
+ }
+ const auto cell = cells.at(nearestCellIndex);
+ cell->node = node;
+ cells.at(nearestCellIndex) = cells.back();
+ cells.pop_back();
+ nodesToCells[node->index()] = cell;
+ m_layout->all.push_back(cell);
+ } else {
+ return false;
+ }
+ }
+
// Setup connections
for (auto && edge : m_mindMapData->graph().getEdges()) {
@@ -122,73 +159,38 @@
}
OptimizationInfo oi;
- double cost = calculateCost();
- oi.initialCost = cost;
- juzzlin::L().info() << "Initial cost: " << oi.initialCost;
+ oi.initialCost = calculateCost();
+ oi.currentCost = oi.initialCost;
+ oi.sliceSize = m_layout->all.size() * 200;
+ oi.t0 = 33;
+ oi.tC = oi.t0;
- std::uniform_real_distribution<double> dist { 0, 1 };
+ juzzlin::L().info() << "Initial cost: " << oi.initialCost;
- // TODO: Automatically decide optimal t
- const double t0 = 200;
- double t = t0;
- while (t > 0.05 && cost > 0) {
- double acceptRatio = 0;
- int stuck = 0;
+ while (oi.tC > oi.t1 && oi.currentCost > 0) {
+ oi.acceptRatio = 0;
+ size_t stuckCounter = 0;
do {
- double accepts = 0;
- double rejects = 0;
- double sliceCost = cost;
- for (size_t i = 0; i < m_layout->all.size() * 200; i++) {
- const auto change = planChange();
-
- LayoutOptimizer::Impl::Cell::globalMoveId++;
-
- double newCost = cost;
- newCost -= change.sourceCell->getCost();
- newCost -= change.targetCell->getCost();
-
- doChange(change);
- oi.changes++;
-
- LayoutOptimizer::Impl::Cell::globalMoveId++;
-
- newCost += change.sourceCell->getCost();
- newCost += change.targetCell->getCost();
-
- const double delta = newCost - cost;
- if (delta <= 0) {
- cost = newCost;
- accepts++;
- } else {
- if (dist(m_engine) < std::exp(-delta / t)) {
- cost = newCost;
- accepts++;
- } else {
- undoChange(change);
- rejects++;
- }
- }
- }
-
- acceptRatio = accepts / (rejects + 1);
- const double gain = (cost - sliceCost) / sliceCost;
- juzzlin::L().debug() << "Cost: " << cost << " (" << gain * 100 << "%)"
- << " acc: " << acceptRatio << " t: " << t;
-
- if (gain < 0.1) {
- stuck++;
- } else {
- stuck = 0;
+ oi.accepts = 0;
+ oi.rejects = 0;
+ double sliceCost = oi.currentCost;
+ for (size_t i = 0; i < oi.sliceSize; i++) {
+ changeLayoutAndUpdateCost(oi);
}
+ oi.acceptRatio = static_cast<double>(oi.accepts) / static_cast<double>(oi.rejects + 1);
+ const double gain = (oi.currentCost - sliceCost) / sliceCost;
+ juzzlin::L().debug() << "Cost: " << oi.currentCost << " (" << gain * 100 << "%)"
+ << " acc: " << oi.acceptRatio << " t: " << oi.tC;
+ stuckCounter = gain < oi.stuckTh ? stuckCounter + 1 : 0;
- } while (stuck < 5);
+ } while (stuckCounter < oi.stuckLimit);
- t *= 0.7;
+ oi.tC *= oi.cS;
- updateProgress(std::min(1.0, 1.0 - std::log(t) / std::log(t0)));
+ updateProgress(std::min(1.0, 1.0 - std::log(oi.tC) / std::log(oi.t0)));
}
- oi.finalCost = cost;
+ oi.finalCost = oi.currentCost;
return oi;
}
@@ -216,6 +218,18 @@
}
private:
+ QRectF calculateLayoutDimensions(const Graph::NodeVector & nodes) const
+ {
+ if (nodes.empty()) {
+ return {};
+ }
+ QRectF dimensions = nodes.at(0)->placementBoundingRect();
+ for (auto && node : nodes) {
+ dimensions = dimensions.united(node->placementBoundingRect().translated(node->location()));
+ }
+ return dimensions;
+ }
+
double calculateCost() const
{
return std::accumulate(std::begin(m_layout->all), std::end(m_layout->all), double {},
@@ -253,6 +267,32 @@
size_t targetIndex = 0;
};
+ void changeLayoutAndUpdateCost(OptimizationInfo & oi)
+ {
+ const auto change = planChange();
+ LayoutOptimizer::Impl::Cell::globalMoveId++;
+ double newCost = oi.currentCost;
+ newCost -= change.sourceCell->getCost();
+ newCost -= change.targetCell->getCost();
+ doChange(change);
+ oi.changes++;
+ LayoutOptimizer::Impl::Cell::globalMoveId++;
+ newCost += change.sourceCell->getCost();
+ newCost += change.targetCell->getCost();
+ if (const double delta = newCost - oi.currentCost; delta <= 0) {
+ oi.currentCost = newCost;
+ oi.accepts++;
+ } else {
+ if (m_saDist(m_engine) < std::exp(-delta / oi.tC)) {
+ oi.currentCost = newCost;
+ oi.accepts++;
+ } else {
+ undoChange(change);
+ oi.rejects++;
+ }
+ }
+ }
+
void doChange(const Change & change)
{
change.sourceRow->cells.at(change.sourceIndex) = change.targetCell;
@@ -273,17 +313,16 @@
change.targetCell->popRect();
}
+ // Note: Here we plan only very local changes with a very small search radius as we assume that the nodes are already relatively well placed globally.
Change planChange()
{
- std::uniform_int_distribution<size_t> rowDist { 0, m_layout->rows.size() - 1 };
-
Change change;
change.type = Change::Type::Swap;
size_t sourceRowIndex = 0;
size_t targetRowIndex = 0;
do {
- sourceRowIndex = rowDist(m_engine);
+ sourceRowIndex = m_rowDist(m_engine);
change.sourceRow = m_layout->rows.at(sourceRowIndex);
if (change.sourceRow->cells.empty()) {
continue;
@@ -292,13 +331,15 @@
change.sourceIndex = sourceCellDist(m_engine);
change.sourceCell = change.sourceRow->cells.at(change.sourceIndex);
- targetRowIndex = rowDist(m_engine);
+ const auto rowDelta = m_oneOrTwoDist(m_engine);
+ targetRowIndex = sourceRowIndex + rowDelta < m_layout->rows.size() ? sourceRowIndex + rowDelta : sourceRowIndex;
change.targetRow = m_layout->rows.at(targetRowIndex);
if (change.targetRow->cells.empty()) {
continue;
}
- std::uniform_int_distribution<size_t> targetCellDist { 0, change.targetRow->cells.size() - 1 };
- change.targetIndex = targetCellDist(m_engine);
+
+ const auto cellDelta = m_oneOrTwoDist(m_engine);
+ change.targetIndex = change.sourceIndex + cellDelta < change.targetRow->cells.size() ? change.sourceIndex + cellDelta : change.sourceIndex;
change.targetCell = change.targetRow->cells.at(change.targetIndex);
} while (change.sourceCell == change.targetCell);
@@ -312,6 +353,18 @@
struct Rect
{
+ Rect()
+ {
+ }
+
+ Rect(int x, int y, int w, int h)
+ : x(x)
+ , y(y)
+ , w(w)
+ , h(h)
+ {
+ }
+
int x = 0;
int y = 0;
@@ -528,6 +581,13 @@
std::mt19937 m_engine;
+ // Will be initialized once we now the row count after building the initial layout
+ std::uniform_int_distribution<size_t> m_rowDist;
+
+ std::uniform_int_distribution<size_t> m_oneOrTwoDist { 0, 1 };
+
+ std::uniform_real_distribution<double> m_saDist { 0, 1 };
+
ProgressCallback m_progressCallback = nullptr;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/src/layout_optimizer.hpp new/Heimer-3.5.0/src/layout_optimizer.hpp
--- old/Heimer-3.4.0/src/layout_optimizer.hpp 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/src/layout_optimizer.hpp 2022-07-30 20:14:08.000000000 +0200
@@ -33,11 +33,33 @@
struct OptimizationInfo
{
- double initialCost = 0;
+ double acceptRatio = 0;
+
+ double currentCost = 0;
double finalCost = 0;
+ double initialCost = 0;
+
+ double tC = 0;
+
+ double t0 = 0;
+
+ double t1 = 0.05;
+
+ double cS = 0.7;
+
+ size_t accepts = 0;
+
size_t changes = 0;
+
+ size_t rejects = 0;
+
+ size_t sliceSize = 0;
+
+ size_t stuckLimit = 5;
+
+ double stuckTh = 0.1;
};
OptimizationInfo optimize();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/src/translations/heimer_de.ts new/Heimer-3.5.0/src/translations/heimer_de.ts
--- old/Heimer-3.4.0/src/translations/heimer_de.ts 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/src/translations/heimer_de.ts 2022-07-30 20:14:08.000000000 +0200
@@ -490,7 +490,7 @@
<message>
<location filename="../main_window.cpp" line="221"/>
<source>&Export</source>
- <translation></translation>
+ <translation>&Exportieren</translation>
</message>
<message>
<location filename="../main_window.cpp" line="224"/>
@@ -505,7 +505,7 @@
<message>
<location filename="../main_window.cpp" line="247"/>
<source>&File</source>
- <translation></translation>
+ <translation>&Datei</translation>
</message>
<message>
<location filename="../main_window.cpp" line="250"/>
@@ -560,7 +560,7 @@
<message>
<location filename="../main_window.cpp" line="346"/>
<source>&View</source>
- <translation></translation>
+ <translation>&Ansicht</translation>
</message>
<message>
<location filename="../main_window.cpp" line="349"/>
@@ -765,7 +765,7 @@
<message>
<location filename="../tool_bar.cpp" line="154"/>
<source>Font</source>
- <translation></translation>
+ <translation>Schrift</translation>
</message>
<message>
<location filename="../tool_bar.cpp" line="189"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/src/translations/heimer_it.ts new/Heimer-3.5.0/src/translations/heimer_it.ts
--- old/Heimer-3.4.0/src/translations/heimer_it.ts 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/src/translations/heimer_it.ts 2022-07-30 20:14:08.000000000 +0200
@@ -6,59 +6,59 @@
<message>
<location filename="../dialogs/about_dialog.cpp" line="33"/>
<source>About </source>
- <translation type="unfinished">informazioni</translation>
+ <translation>informazioni </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="51"/>
<source> is licenced under </source>
- <translation type="unfinished"> �� concesso in licenza sotto </translation>
+ <translation> �� concesso in licenza sotto </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="53"/>
<source>Package type: </source>
- <translation type="unfinished">Tipo di pacchetto: </translation>
+ <translation>Tipo di pacchetto: </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="54"/>
<source>Project website: </source>
- <translation type="unfinished">Sito web del progetto: </translation>
+ <translation>Sito web del progetto: </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="56"/>
<source>Support </source>
- <translation type="unfinished">Supporto</translation>
+ <translation>Supporto </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="56"/>
<source> via PayPal: </source>
- <translation type="unfinished"></translation>
+ <translation>via PayPal: </translation>
</message>
</context>
<context>
<name>AboutDlg</name>
<message>
<source>About </source>
- <translation type="vanished">informazioni</translation>
+ <translation>informazioni </translation>
</message>
<message>
<source> is licenced under </source>
- <translation type="vanished"> �� concesso in licenza sotto </translation>
+ <translation> �� concesso in licenza sotto </translation>
</message>
<message>
<source>Package type: </source>
- <translation type="vanished">Tipo di pacchetto: </translation>
+ <translation>Tipo di pacchetto: </translation>
</message>
<message>
<source>Project website: </source>
- <translation type="vanished">Sito web del progetto: </translation>
+ <translation>Sito web del progetto: </translation>
</message>
<message>
<source>Support </source>
- <translation type="vanished">Supporto</translation>
+ <translation>Supporto </translation>
</message>
<message>
<source> on Patreon: </source>
- <translation type="vanished">su Patreon: </translation>
+ <translation>su Patreon: </translation>
</message>
</context>
<context>
@@ -66,7 +66,7 @@
<message>
<location filename="../application.cpp" line="198"/>
<source>A new version %1 available at <a href='%2'>%2</a></source>
- <translation type="unfinished"></translation>
+ <translation>Una nuova versione %1 disponibile su <a href='%2'>%2</a></translation>
</message>
<message>
<location filename="../application.cpp" line="205"/>
@@ -138,27 +138,27 @@
<name>DefaultsDlg</name>
<message>
<source>Defaults</source>
- <translation type="vanished">Predefinito</translation>
+ <translation>Predefinito</translation>
</message>
<message>
<source>Edge Arrow Style</source>
- <translation type="vanished">Stile Bordo Freccia</translation>
+ <translation>Stile Bordo Freccia</translation>
</message>
<message>
<source>No arrow</source>
- <translation type="vanished">Nessuna freccia</translation>
+ <translation>Nessuna freccia</translation>
</message>
<message>
<source>Single arrow</source>
- <translation type="vanished">Singola freccia</translation>
+ <translation>Singola freccia</translation>
</message>
<message>
<source>Double arrow</source>
- <translation type="vanished">Doppia freccia</translation>
+ <translation>Doppia freccia</translation>
</message>
<message>
<source>Reversed direction</source>
- <translation type="vanished">Direzione invertita</translation>
+ <translation>Direzione invertita</translation>
</message>
</context>
<context>
@@ -166,32 +166,32 @@
<message>
<location filename="../dialogs/defaults_tab.cpp" line="36"/>
<source>Background</source>
- <translation type="unfinished">Sfondo</translation>
+ <translation>Sfondo</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="37"/>
<source>Edge color</source>
- <translation type="unfinished"></translation>
+ <translation>Colore del bordo</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="38"/>
<source>Grid color</source>
- <translation type="unfinished"></translation>
+ <translation>Colore griglia</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="39"/>
<source>Node color</source>
- <translation type="unfinished"></translation>
+ <translation>Colore del nodo</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="40"/>
<source>Node text color</source>
- <translation type="unfinished"></translation>
+ <translation>Colore testo nodo</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="61"/>
<source>These default settings will be applied each time a new mind map is created.</source>
- <translation type="unfinished"></translation>
+ <translation>Queste impostazioni predefinite verranno applicate ogni volta che viene creata una nuova mappa mentale.</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="76"/>
@@ -216,7 +216,7 @@
<message>
<location filename="../dialogs/defaults_tab.cpp" line="97"/>
<source>Colors</source>
- <translation type="unfinished"></translation>
+ <translation>Colori</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="35"/>
@@ -237,7 +237,7 @@
</message>
<message>
<source>Single arrow</source>
- <translation type="vanished">Singola freccia</translation>
+ <translation>Singola freccia</translation>
</message>
<message>
<location filename="../edge_context_menu.cpp" line="33"/>
@@ -293,36 +293,36 @@
<message>
<location filename="../dialogs/effects_tab.cpp" line="36"/>
<source>Shadow color</source>
- <translation type="unfinished"></translation>
+ <translation>Colore dell'ombra</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="37"/>
<source>Selected item shadow color</source>
- <translation type="unfinished"></translation>
+ <translation>Colore ombra oggetto selezionato</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="87"/>
<source>Shadows</source>
- <translation type="unfinished"></translation>
+ <translation>Ombre</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="90"/>
<source>Shadow effect offset:</source>
- <translation type="unfinished"></translation>
+ <translation>Compensazione dell'effetto ombra:</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="98"/>
<source>Shadow blur radius:</source>
- <translation type="unfinished"></translation>
+ <translation>Raggio sfocatura ombra:</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="108"/>
<source>Selected item shadow blur radius:</source>
- <translation type="unfinished"></translation>
+ <translation>Raggio di sfocatura dell'ombra dell'oggetto selezionato:</translation>
</message>
<message>
<source>Autosave feature will automatically save your mind map on every modification after it has been initially saved once.</source>
- <translation type="obsolete">La funzione di salvataggio automatico salver�� automaticamente la tua mappa mentale ad ogni modifica dopo che �� stata inizialmente salvata una volta.</translation>
+ <translation>La funzione di salvataggio automatico salver�� automaticamente la tua mappa mentale su ogni modifica dopo che �� stata inizialmente salvata una volta.</translation>
</message>
</context>
<context>
@@ -349,11 +349,11 @@
</message>
<message>
<source>Cancel</source>
- <translation type="vanished">Cancella</translation>
+ <translation>Cancella</translation>
</message>
<message>
<source>Optimize</source>
- <translation type="vanished">Ottimizza</translation>
+ <translation>Ottimizza</translation>
</message>
</context>
<context>
@@ -437,7 +437,7 @@
</message>
<message>
<source>&Colors</source>
- <translation type="vanished">&Colori</translation>
+ <translation>&Colori</translation>
</message>
</context>
<context>
@@ -464,7 +464,7 @@
</message>
<message>
<source>Copy on drag</source>
- <translation type="vanished">Copia trascinando</translation>
+ <translation>Copia trascinando</translation>
</message>
<message>
<source>Show grid</source>
@@ -506,19 +506,19 @@
</message>
<message>
<source>Corner radius:</source>
- <translation type="vanished">Raggio dell''angolo:</translation>
+ <translation>Raggio dell''angolo:</translation>
</message>
<message>
<source>Edge width:</source>
- <translation type="vanished">Larghezza del bordo:</translation>
+ <translation>Larghezza del bordo:</translation>
</message>
<message>
<source>Text size:</source>
- <translation type="vanished">Dimensione del testo:</translation>
+ <translation>Dimensione del testo:</translation>
</message>
<message>
<source>Grid size:</source>
- <translation type="vanished">Dimensione della griglia:</translation>
+ <translation>Dimensione della griglia:</translation>
</message>
<message>
<location filename="../main_window.cpp" line="221"/>
@@ -572,7 +572,7 @@
</message>
<message>
<source>&Export to PNG image</source>
- <translation type="vanished">&Esporta in immagine PNG</translation>
+ <translation>&Esporta in immagine PNG</translation>
</message>
<message>
<location filename="../main_window.cpp" line="305"/>
@@ -707,11 +707,11 @@
</message>
<message>
<source>Cancel</source>
- <translation type="vanished">Cancella</translation>
+ <translation>Cancella</translation>
</message>
<message>
<source>Export</source>
- <translation type="vanished">Esporta</translation>
+ <translation>Esporta</translation>
</message>
</context>
<context>
@@ -729,7 +729,7 @@
<message>
<location filename="../widget_factory.cpp" line="44"/>
<source>Reset to defaults</source>
- <translation type="unfinished"></translation>
+ <translation>Ripristina i valori predefiniti</translation>
</message>
</context>
<context>
@@ -752,7 +752,7 @@
<message>
<location filename="../dialogs/settings_dialog.cpp" line="56"/>
<source>Effects</source>
- <translation type="unfinished"></translation>
+ <translation>Effetti</translation>
</message>
</context>
<context>
@@ -789,11 +789,11 @@
</message>
<message>
<source>Cancel</source>
- <translation type="vanished">Cancella</translation>
+ <translation>Cancella</translation>
</message>
<message>
<source>Export</source>
- <translation type="vanished">Esporta</translation>
+ <translation>Esporta</translation>
</message>
</context>
<context>
@@ -859,14 +859,14 @@
<message>
<location filename="../dialogs/whats_new_dialog.cpp" line="29"/>
<source>What's New</source>
- <translation type="unfinished"></translation>
+ <translation>Cosa c'�� di nuovo</translation>
</message>
</context>
<context>
<name>WhatsNewDlg</name>
<message>
<source>What's New</source>
- <translation type="vanished">Cosa c'''�� di nuovo</translation>
+ <translation>Cosa c'�� di nuovo</translation>
</message>
</context>
</TS>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/src/translations/heimer_nl.ts new/Heimer-3.5.0/src/translations/heimer_nl.ts
--- old/Heimer-3.4.0/src/translations/heimer_nl.ts 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/src/translations/heimer_nl.ts 2022-07-30 20:14:08.000000000 +0200
@@ -6,32 +6,32 @@
<message>
<location filename="../dialogs/about_dialog.cpp" line="33"/>
<source>About </source>
- <translation type="unfinished">Over </translation>
+ <translation>Over </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="51"/>
<source> is licenced under </source>
- <translation type="unfinished"> is uitgebracht onder de </translation>
+ <translation> is uitgebracht onder de </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="53"/>
<source>Package type: </source>
- <translation type="unfinished">Soort pakket: </translation>
+ <translation>Soort pakket: </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="54"/>
<source>Project website: </source>
- <translation type="unfinished">Projectwebsite: </translation>
+ <translation>Projectwebsite: </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="56"/>
<source>Support </source>
- <translation type="unfinished">Ondersteunen </translation>
+ <translation>Ondersteunen </translation>
</message>
<message>
<location filename="../dialogs/about_dialog.cpp" line="56"/>
<source> via PayPal: </source>
- <translation type="unfinished"> via PayPal: </translation>
+ <translation> via PayPal: </translation>
</message>
</context>
<context>
@@ -70,7 +70,7 @@
<message>
<location filename="../application.cpp" line="198"/>
<source>A new version %1 available at <a href='%2'>%2</a></source>
- <translation type="unfinished"></translation>
+ <translation>Er is een nieuwe versie, %1, beschikbaar op <a href='%2'>%2</a></translation>
</message>
<message>
<location filename="../application.cpp" line="205"/>
@@ -170,32 +170,32 @@
<message>
<location filename="../dialogs/defaults_tab.cpp" line="36"/>
<source>Background</source>
- <translation type="unfinished">Achtergrond</translation>
+ <translation>Achtergrond</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="37"/>
<source>Edge color</source>
- <translation type="unfinished"></translation>
+ <translation>Kaderkleur</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="38"/>
<source>Grid color</source>
- <translation type="unfinished"></translation>
+ <translation>Roosterkleur</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="39"/>
<source>Node color</source>
- <translation type="unfinished"></translation>
+ <translation>Knoopkleur</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="40"/>
<source>Node text color</source>
- <translation type="unfinished"></translation>
+ <translation>Tekstkleur van knoop</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="61"/>
<source>These default settings will be applied each time a new mind map is created.</source>
- <translation type="unfinished"></translation>
+ <translation>Deze standaardinstellingen worden toegepast bij het maken nieuwe mindmaps.</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="76"/>
@@ -220,7 +220,7 @@
<message>
<location filename="../dialogs/defaults_tab.cpp" line="97"/>
<source>Colors</source>
- <translation type="unfinished"></translation>
+ <translation>Kleuren</translation>
</message>
<message>
<location filename="../dialogs/defaults_tab.cpp" line="35"/>
@@ -297,32 +297,32 @@
<message>
<location filename="../dialogs/effects_tab.cpp" line="36"/>
<source>Shadow color</source>
- <translation type="unfinished"></translation>
+ <translation>Schaduwkleur</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="37"/>
<source>Selected item shadow color</source>
- <translation type="unfinished"></translation>
+ <translation>Schaduwkleur van geselecteerd item</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="87"/>
<source>Shadows</source>
- <translation type="unfinished"></translation>
+ <translation>Schaduwen</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="90"/>
<source>Shadow effect offset:</source>
- <translation type="unfinished"></translation>
+ <translation>Schaduweffectverschuiving:</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="98"/>
<source>Shadow blur radius:</source>
- <translation type="unfinished"></translation>
+ <translation>Schaduwvervaging:</translation>
</message>
<message>
<location filename="../dialogs/effects_tab.cpp" line="108"/>
<source>Selected item shadow blur radius:</source>
- <translation type="unfinished"></translation>
+ <translation>Schaduwvervaging van geselecteerd item</translation>
</message>
<message>
<source>Autosave feature will automatically save your mind map on every modification after it has been initially saved once.</source>
@@ -729,7 +729,7 @@
<message>
<location filename="../widget_factory.cpp" line="44"/>
<source>Reset to defaults</source>
- <translation type="unfinished"></translation>
+ <translation>Standaardwaarden</translation>
</message>
</context>
<context>
@@ -752,7 +752,7 @@
<message>
<location filename="../dialogs/settings_dialog.cpp" line="56"/>
<source>Effects</source>
- <translation type="unfinished"></translation>
+ <translation>Effecten</translation>
</message>
</context>
<context>
@@ -826,7 +826,7 @@
<message>
<location filename="../tool_bar.cpp" line="132"/>
<source>Arrow size:</source>
- <translation type="unfinished"></translation>
+ <translation>Pijlgrootte</translation>
</message>
<message>
<location filename="../tool_bar.cpp" line="149"/>
@@ -859,7 +859,7 @@
<message>
<location filename="../dialogs/whats_new_dialog.cpp" line="29"/>
<source>What's New</source>
- <translation type="unfinished">Wijzigingslog</translation>
+ <translation>Wijzigingslog</translation>
</message>
</context>
<context>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Heimer-3.4.0/src/unit_tests/layout_optimizer_test/layout_optimizer_test.cpp new/Heimer-3.5.0/src/unit_tests/layout_optimizer_test/layout_optimizer_test.cpp
--- old/Heimer-3.4.0/src/unit_tests/layout_optimizer_test/layout_optimizer_test.cpp 2022-06-26 20:42:56.000000000 +0200
+++ new/Heimer-3.5.0/src/unit_tests/layout_optimizer_test/layout_optimizer_test.cpp 2022-07-30 20:14:08.000000000 +0200
@@ -125,7 +125,7 @@
QVERIFY(optimizationInfo.changes > 100);
const double gain = (optimizationInfo.finalCost - optimizationInfo.initialCost) / optimizationInfo.initialCost;
juzzlin::L().info() << "Final cost: " << optimizationInfo.finalCost << " (" << gain * 100 << "%)";
- QVERIFY(gain < -0.3);
+ QVERIFY(gain < -0.25);
lol.extract();
for (auto && node : nodes) {
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mold for openSUSE:Factory checked in at 2022-08-01 21:32:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mold (Old)
and /work/SRC/openSUSE:Factory/.mold.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mold"
Mon Aug 1 21:32:54 2022 rev:17 rq:992001 version:1.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/mold/mold.changes 2022-07-01 13:45:35.226955123 +0200
+++ /work/SRC/openSUSE:Factory/.mold.new.1533/mold.changes 2022-08-01 21:34:05.450291972 +0200
@@ -1,0 +2,5 @@
+Mon Aug 1 05:35:29 UTC 2022 - Martin Li��ka <mliska(a)suse.cz>
+
+- Add fix-tests.patch which fixes tests on i586.
+
+-------------------------------------------------------------------
New:
----
fix-tests.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mold.spec ++++++
--- /var/tmp/diff_new_pack.4hYgyB/_old 2022-08-01 21:34:05.994293533 +0200
+++ /var/tmp/diff_new_pack.4hYgyB/_new 2022-08-01 21:34:06.006293567 +0200
@@ -24,7 +24,8 @@
Group: Development/Tools/Building
URL: https://github.com/rui314/mold
Source: https://github.com/rui314/mold/archive/v%{version}/mold-%{version}.tar.gz
-ExclusiveArch: aarch64 %arm x86_64 aarch64 riscv64
+Patch0: fix-tests.patch
+ExclusiveArch: aarch64 %arm %ix86 x86_64 aarch64 riscv64
BuildRequires: cmake
%if %{suse_version} < 1550
BuildRequires: gcc10-c++
++++++ fix-tests.patch ++++++
diff --git a/test/elf/relocatable.sh b/test/elf/relocatable.sh
index 0065479..c5fe661 100755
--- a/test/elf/relocatable.sh
+++ b/test/elf/relocatable.sh
@@ -14,7 +14,7 @@ t=out/test/elf/$testname
mkdir -p $t
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98667
-[ $MACHINE = i386 ] && { echo skipped; exit; }
+[ $MACHINE = i386 -o $MACHINE = i686 ] && { echo skipped; exit; }
cat <<EOF | $CXX -c -o $t/a.o -xc++ -
int one() { return 1; }
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-frozendict for openSUSE:Factory checked in at 2022-08-01 21:32:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-frozendict (Old)
and /work/SRC/openSUSE:Factory/.python-frozendict.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-frozendict"
Mon Aug 1 21:32:56 2022 rev:6 rq:991937 version:2.3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-frozendict/python-frozendict.changes 2022-06-08 14:25:17.712530194 +0200
+++ /work/SRC/openSUSE:Factory/.python-frozendict.new.1533/python-frozendict.changes 2022-08-01 21:34:06.186294084 +0200
@@ -1,0 +2,9 @@
+Sun Jul 31 10:03:13 UTC 2022 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- Update to 2.3.4
+ - fixed various memory leaks
+ - Implemented a memory leak tracer
+ - Fixed memory leaks in repr() and in costruction of an empty
+ frozendict.
+
+-------------------------------------------------------------------
Old:
----
frozendict-2.3.2.tar.gz
New:
----
frozendict-2.3.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-frozendict.spec ++++++
--- /var/tmp/diff_new_pack.1GiUIV/_old 2022-08-01 21:34:06.706295576 +0200
+++ /var/tmp/diff_new_pack.1GiUIV/_new 2022-08-01 21:34:06.710295587 +0200
@@ -21,7 +21,7 @@
# Do not enable multibuild unless seriously necessary, it in
# combination with arch is a right mess!
Name: python-frozendict
-Version: 2.3.2
+Version: 2.3.4
Release: 0
Summary: An immutable dictionary
License: MIT
++++++ frozendict-2.3.2.tar.gz -> frozendict-2.3.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/PKG-INFO new/frozendict-2.3.4/PKG-INFO
--- old/frozendict-2.3.2/PKG-INFO 2022-04-20 22:14:02.069653700 +0200
+++ new/frozendict-2.3.4/PKG-INFO 2022-07-21 23:27:07.304688700 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: frozendict
-Version: 2.3.2
+Version: 2.3.4
Summary: A simple immutable dictionary
Home-page: https://github.com/Marco-Sulla/python-frozendict
Author: Marco Sulla
@@ -9,7 +9,6 @@
Project-URL: Bug Reports, https://github.com/Marco-Sulla/python-frozendict/issues
Project-URL: Source, https://github.com/Marco-Sulla/python-frozendict
Keywords: immutable hashable picklable frozendict dict dictionary map Mapping MappingProxyType developers stable utility
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
@@ -374,5 +373,3 @@
```
[1] Benchmarks done under Linux 64 bit, Python 3.10.2, using the C Extension.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/VERSION new/frozendict-2.3.4/frozendict/VERSION
--- old/frozendict-2.3.2/frozendict/VERSION 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/VERSION 2022-07-21 23:26:56.000000000 +0200
@@ -1 +1 @@
-2.3.2
\ No newline at end of file
+2.3.4
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_10/cpython_src/Objects/dictobject.c new/frozendict-2.3.4/frozendict/src/3_10/cpython_src/Objects/dictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_10/cpython_src/Objects/dictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_10/cpython_src/Objects/dictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -1637,6 +1637,7 @@
PyTuple_SET_ITEM(args, 0, d1);
temp_dict = PyObject_Call((PyObject *) &PyDict_Type, args, NULL);
+ Py_DECREF(args);
}
if (temp_dict == NULL) {
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_10/frozendictobject.c new/frozendict-2.3.4/frozendict/src/3_10/frozendictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_10/frozendictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_10/frozendictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -279,8 +279,12 @@
}
PyTuple_SET_ITEM(args, 0, d);
+
+ PyObject* res = PyObject_Call((PyObject*) type, args, NULL);
+
+ Py_DECREF(args);
- return PyObject_Call((PyObject*) type, args, NULL);
+ return res;
}
/* Methods */
@@ -347,6 +351,8 @@
Py_ReprLeave(o);
+ Py_DECREF(dict_repr_res);
+
if (error) {
_PyUnicodeWriter_Dealloc(&writer);
return NULL;
@@ -705,7 +711,11 @@
PyTypeObject* type = Py_TYPE(o);
- return PyObject_Call((PyObject *) type, args, NULL);
+ PyObject* res = PyObject_Call((PyObject *) type, args, NULL);
+
+ Py_DECREF(args);
+
+ return res;
}
PyObject* frozendict_deepcopy(PyObject* self, PyObject* memo) {
@@ -1417,12 +1427,19 @@
((PyDictObject*) empty_frozendict)->ma_keys = Py_EMPTY_KEYS;
mp->ma_version_tag = DICT_NEXT_VERSION();
}
+ else {
+ Py_DECREF(mp);
+ }
Py_INCREF(empty_frozendict);
return empty_frozendict;
}
else {
+ if (mp->ma_keys != NULL) {
+ frozendict_keys_decref(mp->ma_keys, 0);
+ }
+
Py_INCREF(Py_EMPTY_KEYS);
mp->ma_keys = Py_EMPTY_KEYS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_6/cpython_src/Objects/dictobject.c new/frozendict-2.3.4/frozendict/src/3_6/cpython_src/Objects/dictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_6/cpython_src/Objects/dictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_6/cpython_src/Objects/dictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -1824,6 +1824,7 @@
PyTuple_SET_ITEM(args, 0, d1);
temp_dict = PyObject_Call((PyObject *) &PyDict_Type, args, NULL);
+ Py_DECREF(args);
}
if (temp_dict == NULL) {
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_6/frozendictobject.c new/frozendict-2.3.4/frozendict/src/3_6/frozendictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_6/frozendictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_6/frozendictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -297,7 +297,11 @@
PyTuple_SET_ITEM(newargs, 0, d);
- return PyObject_Call(type, newargs, NULL);
+ PyObject* res = PyObject_Call((PyObject*) type, newargs, NULL);
+
+ Py_DECREF(newargs);
+
+ return res;
}
/* Methods */
@@ -364,6 +368,8 @@
Py_ReprLeave(o);
+ Py_DECREF(dict_repr_res);
+
if (error) {
_PyUnicodeWriter_Dealloc(&writer);
return NULL;
@@ -717,7 +723,11 @@
PyTypeObject* type = Py_TYPE(o);
- return PyObject_Call((PyObject *) type, args, NULL);
+ PyObject* res = PyObject_Call((PyObject *) type, args, NULL);
+
+ Py_DECREF(args);
+
+ return res;
}
PyObject* frozendict_deepcopy(PyObject* self, PyObject* memo) {
@@ -1418,12 +1428,19 @@
((PyDictObject*) empty_frozendict)->ma_keys = Py_EMPTY_KEYS;
mp->ma_version_tag = DICT_NEXT_VERSION();
}
+ else {
+ Py_DECREF(mp);
+ }
Py_INCREF(empty_frozendict);
return empty_frozendict;
}
else {
+ if (mp->ma_keys != NULL) {
+ frozendict_keys_decref(mp->ma_keys, 0);
+ }
+
Py_INCREF(Py_EMPTY_KEYS);
mp->ma_keys = Py_EMPTY_KEYS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_7/cpython_src/Objects/dictobject.c new/frozendict-2.3.4/frozendict/src/3_7/cpython_src/Objects/dictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_7/cpython_src/Objects/dictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_7/cpython_src/Objects/dictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -1790,6 +1790,7 @@
PyTuple_SET_ITEM(args, 0, d1);
temp_dict = PyObject_Call((PyObject *) &PyDict_Type, args, NULL);
+ Py_DECREF(args);
}
if (temp_dict == NULL) {
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_7/frozendictobject.c new/frozendict-2.3.4/frozendict/src/3_7/frozendictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_7/frozendictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_7/frozendictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -286,7 +286,11 @@
PyTuple_SET_ITEM(args, 0, d);
- return PyObject_Call((PyObject*) type, args, NULL);
+ PyObject* res = PyObject_Call((PyObject*) type, args, NULL);
+
+ Py_DECREF(args);
+
+ return res;
}
/* Methods */
@@ -353,6 +357,8 @@
Py_ReprLeave(o);
+ Py_DECREF(dict_repr_res);
+
if (error) {
_PyUnicodeWriter_Dealloc(&writer);
return NULL;
@@ -711,7 +717,11 @@
PyTypeObject* type = Py_TYPE(o);
- return PyObject_Call((PyObject *) type, args, NULL);
+ PyObject* res = PyObject_Call((PyObject *) type, args, NULL);
+
+ Py_DECREF(args);
+
+ return res;
}
PyObject* frozendict_deepcopy(PyObject* self, PyObject* memo) {
@@ -1434,12 +1444,19 @@
((PyDictObject*) empty_frozendict)->ma_keys = Py_EMPTY_KEYS;
mp->ma_version_tag = DICT_NEXT_VERSION();
}
+ else {
+ Py_DECREF(mp);
+ }
Py_INCREF(empty_frozendict);
return empty_frozendict;
}
else {
+ if (mp->ma_keys != NULL) {
+ frozendict_keys_decref(mp->ma_keys, 0);
+ }
+
Py_INCREF(Py_EMPTY_KEYS);
mp->ma_keys = Py_EMPTY_KEYS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_8/cpython_src/Objects/dictobject.c new/frozendict-2.3.4/frozendict/src/3_8/cpython_src/Objects/dictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_8/cpython_src/Objects/dictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_8/cpython_src/Objects/dictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -1662,6 +1662,7 @@
PyTuple_SET_ITEM(args, 0, d1);
temp_dict = PyObject_Call((PyObject *) &PyDict_Type, args, NULL);
+ Py_DECREF(args);
}
if (temp_dict == NULL) {
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_8/frozendictobject.c new/frozendict-2.3.4/frozendict/src/3_8/frozendictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_8/frozendictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_8/frozendictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -286,7 +286,11 @@
PyTuple_SET_ITEM(args, 0, d);
- return PyObject_Call((PyObject*) type, args, NULL);
+ PyObject* res = PyObject_Call((PyObject*) type, args, NULL);
+
+ Py_DECREF(args);
+
+ return res;
}
/* Methods */
@@ -353,6 +357,8 @@
Py_ReprLeave(o);
+ Py_DECREF(dict_repr_res);
+
if (error) {
_PyUnicodeWriter_Dealloc(&writer);
return NULL;
@@ -711,7 +717,11 @@
PyTypeObject* type = Py_TYPE(o);
- return PyObject_Call((PyObject *) type, args, NULL);
+ PyObject* res = PyObject_Call((PyObject *) type, args, NULL);
+
+ Py_DECREF(args);
+
+ return res;
}
PyObject* frozendict_deepcopy(PyObject* self, PyObject* memo) {
@@ -1422,12 +1432,19 @@
((PyDictObject*) empty_frozendict)->ma_keys = Py_EMPTY_KEYS;
mp->ma_version_tag = DICT_NEXT_VERSION();
}
+ else {
+ Py_DECREF(mp);
+ }
Py_INCREF(empty_frozendict);
return empty_frozendict;
}
else {
+ if (mp->ma_keys != NULL) {
+ frozendict_keys_decref(mp->ma_keys, 0);
+ }
+
Py_INCREF(Py_EMPTY_KEYS);
mp->ma_keys = Py_EMPTY_KEYS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_9/cpython_src/Objects/dictobject.c new/frozendict-2.3.4/frozendict/src/3_9/cpython_src/Objects/dictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_9/cpython_src/Objects/dictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_9/cpython_src/Objects/dictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -1669,6 +1669,7 @@
PyTuple_SET_ITEM(args, 0, d1);
temp_dict = PyObject_Call((PyObject *) &PyDict_Type, args, NULL);
+ Py_DECREF(args);
}
if (temp_dict == NULL) {
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict/src/3_9/frozendictobject.c new/frozendict-2.3.4/frozendict/src/3_9/frozendictobject.c
--- old/frozendict-2.3.2/frozendict/src/3_9/frozendictobject.c 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/frozendict/src/3_9/frozendictobject.c 2022-07-21 23:26:56.000000000 +0200
@@ -286,7 +286,11 @@
PyTuple_SET_ITEM(args, 0, d);
- return PyObject_Call((PyObject*) type, args, NULL);
+ PyObject* res = PyObject_Call((PyObject*) type, args, NULL);
+
+ Py_DECREF(args);
+
+ return res;
}
/* Methods */
@@ -353,6 +357,8 @@
Py_ReprLeave(o);
+ Py_DECREF(dict_repr_res);
+
if (error) {
_PyUnicodeWriter_Dealloc(&writer);
return NULL;
@@ -711,7 +717,11 @@
PyTypeObject* type = Py_TYPE(o);
- return PyObject_Call((PyObject *) type, args, NULL);
+ PyObject* res = PyObject_Call((PyObject *) type, args, NULL);
+
+ Py_DECREF(args);
+
+ return res;
}
PyObject* frozendict_deepcopy(PyObject* self, PyObject* memo) {
@@ -1423,12 +1433,19 @@
((PyDictObject*) empty_frozendict)->ma_keys = Py_EMPTY_KEYS;
mp->ma_version_tag = DICT_NEXT_VERSION();
}
+ else {
+ Py_DECREF(mp);
+ }
Py_INCREF(empty_frozendict);
return empty_frozendict;
}
else {
+ if (mp->ma_keys != NULL) {
+ frozendict_keys_decref(mp->ma_keys, 0);
+ }
+
Py_INCREF(Py_EMPTY_KEYS);
mp->ma_keys = Py_EMPTY_KEYS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/frozendict.egg-info/PKG-INFO new/frozendict-2.3.4/frozendict.egg-info/PKG-INFO
--- old/frozendict-2.3.2/frozendict.egg-info/PKG-INFO 2022-04-20 22:14:01.000000000 +0200
+++ new/frozendict-2.3.4/frozendict.egg-info/PKG-INFO 2022-07-21 23:27:07.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: frozendict
-Version: 2.3.2
+Version: 2.3.4
Summary: A simple immutable dictionary
Home-page: https://github.com/Marco-Sulla/python-frozendict
Author: Marco Sulla
@@ -9,7 +9,6 @@
Project-URL: Bug Reports, https://github.com/Marco-Sulla/python-frozendict/issues
Project-URL: Source, https://github.com/Marco-Sulla/python-frozendict
Keywords: immutable hashable picklable frozendict dict dictionary map Mapping MappingProxyType developers stable utility
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
@@ -374,5 +373,3 @@
```
[1] Benchmarks done under Linux 64 bit, Python 3.10.2, using the C Extension.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/frozendict-2.3.2/test/debug.py new/frozendict-2.3.4/test/debug.py
--- old/frozendict-2.3.2/test/debug.py 2022-04-20 22:13:46.000000000 +0200
+++ new/frozendict-2.3.4/test/debug.py 2022-07-21 23:26:56.000000000 +0200
@@ -11,6 +11,9 @@
from pathlib import Path
from copy import copy, deepcopy
from collections.abc import MutableMapping
+import functools
+import tracemalloc
+import gc
def getUuid():
return str(uuid4())
@@ -45,14 +48,14 @@
def __len__(self):
return len(self._dict)
-def print_info(klass, iterations, stmt):
- if "\n" in stmt:
- sep = "\n"
- else:
- sep = " "
+def print_info(klass, iterations, func):
+ try:
+ name = func.__name__
+ except AttributeError:
+ name = func
print(
- f"Class = {klass.__name__} - Loops: {iterations} - Evaluating:{sep}{stmt}",
+ f"Class = {klass.__name__} - Loops: {iterations} - Evaluating: {name}",
flush=True
)
@@ -62,6 +65,33 @@
flush=True
)
+def trace(func):
+ @functools.wraps(func)
+ def inner():
+ tracemalloc.start()
+
+ snapshot1 = tracemalloc.take_snapshot().filter_traces(
+ (tracemalloc.Filter(True, __file__), )
+ )
+
+ for i in range(iterations):
+ func()
+
+ gc.collect()
+
+ snapshot2 = tracemalloc.take_snapshot().filter_traces(
+ (tracemalloc.Filter(True, __file__), )
+ )
+
+ top_stats = snapshot2.compare_to(snapshot1, 'lineno')
+ tracemalloc.stop()
+
+ for stat in top_stats:
+ if stat.count_diff > 3:
+ raise ValueError(f"count_diff: {stat.count_diff}")
+
+ return inner
+
argv = sys.argv
iterations = None
args_num = 1
@@ -99,159 +129,685 @@
dict_1_keys = tuple(dict_1.keys())
dict_1_keys_set = set(dict_1_keys)
-expressions = (
- 'frozendict_class(dict_1)',
- 'frozendict_class(dict_3)',
- 'frozendict_class()',
- 'frozendict_class({})',
- 'frozendict_class([])',
- 'frozendict_class({}, **{})',
- 'frozendict_class(**dict_1)',
- 'frozendict_class(dict_1, **dict_2)',
- 'frozendict_class(fd_1)',
- 'frozendict_class(generator_1)',
- 'frozendict_class(dict_hole)',
- 'fd_1.copy()',
- 'fd_1 == dict_1',
- 'fd_1 == fd_1',
- 'fd_1 != dict_hole',
- 'fd_1 != dict_2',
- 'fd_1 == dict_hole',
- 'fd_1 == dict_2',
- 'pickle.loads(pickle.dumps(fd_1))',
- 'frozendict_class(dict_1_items)',
- 'tuple(fd_1.keys())',
- 'tuple(fd_1.values())',
- 'tuple(fd_1.items())',
- 'frozendict_class.fromkeys(dict_1)',
- 'frozendict_class.fromkeys(dict_1, 1)',
- 'frozendict_class.fromkeys(dict_1_keys)',
- 'frozendict_class.fromkeys(dict_1_keys, 1)',
- 'frozendict_class.fromkeys(dict_1_keys_set)',
- 'frozendict_class.fromkeys(dict_1_keys_set, 1)',
- 'repr(fd_1)',
- 'fd_1 | dict_2',
- 'hash(fd_1)',
- 'frozendict_class() == frozendict_class()',
- 'tuple(reversed(fd_1))',
- 'tuple(reversed(fd_1.keys()))',
- 'tuple(reversed(fd_1.items()))',
- 'tuple(reversed(fd_1.values()))',
- 'iter(fd_1).__length_hint__()',
- 'len(fd_1)',
- 'len(fd_1.keys())',
- 'len(fd_1.items())',
- 'len(fd_1.values())',
- 'fd_1.keys().mapping == fd_1',
- 'fd_1.items().mapping == fd_1',
- 'fd_1.values().mapping == fd_1',
- 'fd_1[key_in]',
- 'fd_1.get(key_in)',
- 'fd_1.get(key_notin)',
- 'fd_1.get(key_notin, 1)',
- 'key_in in fd_1',
- 'key_notin in fd_1',
- 'fd_1.copy()',
- 'copy(fd_1)',
- 'deepcopy(fd_1)',
- 'deepcopy(fd_unashable)',
- 'fd_1.keys() == dict_1.keys()',
- 'fd_1.items() == dict_1.items()',
- 'key_notin in fd_1.keys()',
- '(key_notin, 0) in fd_1.items()',
- 'FMissing(fd_1)[0]',
- 'frozendict_class(Map(dict_1)) == dict_1',
- 'fd_1.keys().isdisjoint(dict_3)',
- 'fd_1.keys().isdisjoint(fd_1)',
- 'fd_1.items().isdisjoint(dict_3.items())',
- 'fd_1.items().isdisjoint(fd_1.items())',
- 'fd_unashable.keys() - fd_1.keys()',
- 'fd_1.items() - frozendict_class(dict_hole).items()',
- 'fd_1.keys() & frozendict_class(dict_hole).keys()',
- 'fd_1.items() & frozendict_class(dict_hole).items()',
- 'fd_1.keys() | frozendict_class(dict_2).keys()',
- 'fd_1.items() | frozendict_class(dict_2).items()',
- 'fd_1.keys() ^ frozendict_class(dict_hole).keys()',
- 'fd_1.items() ^ frozendict_class(dict_hole).items()',
- 'pickle.loads(pickle.dumps(iter(fd_1.keys())))',
- 'pickle.loads(pickle.dumps(iter(fd_1.items())))',
- 'pickle.loads(pickle.dumps(iter(fd_1.values())))',
- 'frozendict_class(dict_hole).keys() < fd_1.keys()',
- 'frozendict_class(dict_hole).keys() <= fd_1.keys()',
- 'frozendict_class(dict_hole).items() < fd_1.items()',
- 'fd_1.keys() > frozendict_class(dict_hole).keys()',
- 'fd_1.keys() >= frozendict_class(dict_hole).keys()',
- 'fd_1.items() > frozendict_class(dict_hole).items()',
- 'fd_1.items() >= frozendict_class(dict_hole).items()',
- "fd_1.set(key_in, 1000)",
- "fd_1.set(key_notin, 1000)",
- "fd_1.delete(key_in)",
- "fd_1.setdefault(key_in)",
- "fd_1.setdefault(key_notin)",
- "fd_1.setdefault(key_notin, 1000)",
- "fd_1.key()",
- "fd_1.key(0)",
- "fd_1.key(-1)",
- "fd_1.value()",
- "fd_1.value(0)",
- "fd_1.value(-1)",
- "fd_1.item()",
- "fd_1.item(0)",
- "fd_1.item(-1)",
-)
-
-codes = (
-"""
-for x in fd_1:
- pass
-""",
-"""
-for x in iter(fd_1):
- pass
-""",
-"""
-for x in fd_1.keys():
- pass
-""",
-"""
-for x in fd_1.values():
- pass
-""",
-"""
-for x in fd_1.items():
- pass
-""",
-"""
-try:
- hash(fd_unashable)
-except TypeError:
- pass
-""",
-"""
-try:
- fd_1[key_notin]
-except KeyError:
- pass
-""",
-"""
-try:
- fd_1.key(len(fd_1))
-except IndexError:
- pass
-""",
-"""
-try:
- fd_1.value(len(fd_1))
-except IndexError:
- pass
-""",
-"""
-try:
- fd_1.item(len(fd_1))
-except IndexError:
- pass
-""",
-)
+functions = []
+
+@trace
+def func_1():
+ frozendict_class(dict_1)
+
+functions.append(func_1)
+
+@trace
+def func_2():
+ frozendict_class(dict_unashable)
+
+functions.append(func_2)
+
+@trace
+def func_3():
+ frozendict_class(dict_3)
+
+functions.append(func_3)
+
+@trace
+def func_4():
+ frozendict_class()
+
+functions.append(func_4)
+
+@trace
+def func_5():
+ frozendict_class({})
+
+functions.append(func_5)
+
+@trace
+def func_7():
+ frozendict_class([])
+
+functions.append(func_7)
+
+@trace
+def func_8():
+ frozendict_class({}, **{})
+
+functions.append(func_8)
+
+@trace
+def func_9():
+ frozendict_class(**dict_1)
+
+functions.append(func_9)
+
+@trace
+def func_10():
+ frozendict_class(dict_1, **dict_2)
+
+functions.append(func_10)
+
+@trace
+def func_11():
+ frozendict_class(fd_1)
+
+functions.append(func_11)
+
+@trace
+def func_12():
+ generator_1 = ((key, val) for key, val in dict_1.items())
+ frozendict_class(generator_1)
+
+functions.append(func_12)
+
+@trace
+def func_13():
+ frozendict_class(dict_hole)
+
+functions.append(func_13)
+
+@trace
+def func_14():
+ fd_1.copy()
+
+functions.append(func_14)
+
+@trace
+def func_15():
+ fd_1 == dict_1
+
+functions.append(func_15)
+
+@trace
+def func_16():
+ fd_1 == fd_1
+
+functions.append(func_16)
+
+@trace
+def func_17():
+ fd_1 != dict_hole
+
+functions.append(func_17)
+
+@trace
+def func_18():
+ fd_1 != dict_2
+
+functions.append(func_18)
+
+@trace
+def func_19():
+ fd_1 == dict_hole
+
+functions.append(func_19)
+
+@trace
+def func_20():
+ fd_1 == dict_2
+
+functions.append(func_20)
+
+# @trace
+def func_21():
+ pickle.loads(pickle.dumps(fd_1))
+
+functions.append(func_21)
+
+@trace
+def func_22():
+ frozendict_class(dict_1_items)
+
+functions.append(func_22)
+
+@trace
+def func_23():
+ tuple(fd_1.keys())
+
+functions.append(func_23)
+
+@trace
+def func_24():
+ tuple(fd_1.values())
+
+functions.append(func_24)
+
+@trace
+def func_25():
+ tuple(fd_1.items())
+
+functions.append(func_25)
+
+@trace
+def func_26():
+ frozendict_class.fromkeys(dict_1)
+
+functions.append(func_26)
+
+@trace
+def func_27():
+ frozendict_class.fromkeys(dict_1, 1)
+
+functions.append(func_27)
+
+@trace
+def func_28():
+ frozendict_class.fromkeys(dict_1_keys)
+
+functions.append(func_28)
+
+@trace
+def func_29():
+ frozendict_class.fromkeys(dict_1_keys, 1)
+
+functions.append(func_29)
+
+@trace
+def func_30():
+ frozendict_class.fromkeys(dict_1_keys_set)
+
+functions.append(func_30)
+
+@trace
+def func_31():
+ frozendict_class.fromkeys(dict_1_keys_set, 1)
+
+functions.append(func_31)
+
+@trace
+def func_32():
+ repr(fd_1)
+
+functions.append(func_32)
+
+@trace
+def func_33():
+ fd_1 | dict_2
+
+functions.append(func_33)
+
+@trace
+def func_34():
+ hash(fd_1)
+
+functions.append(func_34)
+
+@trace
+def func_35():
+ frozendict_class() == frozendict_class()
+
+functions.append(func_35)
+
+@trace
+def func_36():
+ tuple(reversed(fd_1))
+
+functions.append(func_36)
+
+@trace
+def func_37():
+ tuple(reversed(fd_1.keys()))
+
+functions.append(func_37)
+
+@trace
+def func_38():
+ tuple(reversed(fd_1.items()))
+
+functions.append(func_38)
+
+@trace
+def func_39():
+ tuple(reversed(fd_1.values()))
+
+functions.append(func_39)
+
+@trace
+def func_40():
+ iter(fd_1).__length_hint__()
+
+
+functions.append(func_40)
+
+@trace
+def func_41():
+ len(fd_1)
+
+functions.append(func_41)
+
+@trace
+def func_42():
+ len(fd_1.keys())
+
+functions.append(func_42)
+
+@trace
+def func_43():
+ len(fd_1.items())
+
+functions.append(func_43)
+
+@trace
+def func_44():
+ len(fd_1.values())
+
+functions.append(func_44)
+
+@trace
+def func_45():
+ fd_1.keys().mapping == fd_1
+
+functions.append(func_45)
+
+@trace
+def func_46():
+ fd_1.items().mapping == fd_1
+
+functions.append(func_46)
+
+@trace
+def func_47():
+ fd_1.values().mapping == fd_1
+
+functions.append(func_47)
+
+@trace
+def func_48():
+ fd_1[key_in]
+
+functions.append(func_48)
+
+@trace
+def func_49():
+ fd_1.get(key_in)
+
+functions.append(func_49)
+
+@trace
+def func_50():
+ fd_1.get(key_notin)
+
+functions.append(func_50)
+
+@trace
+def func_51():
+ fd_1.get(key_notin, 1)
+
+functions.append(func_51)
+
+@trace
+def func_52():
+ key_in in fd_1
+
+functions.append(func_52)
+
+@trace
+def func_53():
+ key_notin in fd_1
+
+functions.append(func_53)
+
+@trace
+def func_54():
+ fd_1.copy()
+
+functions.append(func_54)
+
+@trace
+def func_55():
+ copy(fd_1)
+
+functions.append(func_55)
+
+@trace
+def func_56():
+ deepcopy(fd_1)
+
+functions.append(func_56)
+
+@trace
+def func_57():
+ deepcopy(fd_unashable)
+
+functions.append(func_57)
+
+@trace
+def func_58():
+ fd_1.keys() == dict_1.keys()
+
+functions.append(func_58)
+
+@trace
+def func_59():
+ fd_1.items() == dict_1.items()
+
+functions.append(func_59)
+
+@trace
+def func_60():
+ key_notin in fd_1.keys()
+
+functions.append(func_60)
+
+@trace
+def func_61():
+ (key_notin, 0) in fd_1.items()
+
+functions.append(func_61)
+
+@trace
+def func_62():
+ FMissing(fd_1)[0]
+
+functions.append(func_62)
+
+@trace
+def func_63():
+ mp = Map(dict_1)
+ frozendict_class(mp) == dict_1
+
+functions.append(func_63)
+
+@trace
+def func_64():
+ fd_1.keys().isdisjoint(dict_3)
+
+functions.append(func_64)
+
+@trace
+def func_65():
+ fd_1.keys().isdisjoint(fd_1)
+
+functions.append(func_65)
+
+@trace
+def func_66():
+ fd_1.items().isdisjoint(dict_3.items())
+
+functions.append(func_66)
+
+@trace
+def func_67():
+ fd_1.items().isdisjoint(fd_1.items())
+
+functions.append(func_67)
+
+@trace
+def func_68():
+ fd_unashable.keys() - fd_1.keys()
+
+functions.append(func_68)
+
+@trace
+def func_69():
+ fd_1.items() - frozendict_class(dict_hole).items()
+
+functions.append(func_69)
+
+@trace
+def func_70():
+ fd_1.keys() & frozendict_class(dict_hole).keys()
+
+functions.append(func_70)
+
+@trace
+def func_71():
+ fd_1.items() & frozendict_class(dict_hole).items()
+
+functions.append(func_71)
+
+@trace
+def func_72():
+ fd_1.keys() | frozendict_class(dict_2).keys()
+
+functions.append(func_72)
+
+@trace
+def func_73():
+ fd_1.items() | frozendict_class(dict_2).items()
+
+functions.append(func_73)
+
+@trace
+def func_74():
+ fd_1.keys() ^ frozendict_class(dict_hole).keys()
+
+functions.append(func_74)
+
+@trace
+def func_75():
+ fd_1.items() ^ frozendict_class(dict_hole).items()
+
+functions.append(func_75)
+
+# @trace
+def func_76():
+ pickle.loads(pickle.dumps(iter(fd_1.keys())))
+
+functions.append(func_76)
+
+# @trace
+def func_77():
+ pickle.loads(pickle.dumps(iter(fd_1.items())))
+
+functions.append(func_77)
+
+# @trace
+def func_78():
+ pickle.loads(pickle.dumps(iter(fd_1.values())))
+
+functions.append(func_78)
+
+@trace
+def func_79():
+ frozendict_class(dict_hole).keys() < fd_1.keys()
+
+functions.append(func_79)
+
+@trace
+def func_80():
+ frozendict_class(dict_hole).keys() <= fd_1.keys()
+
+functions.append(func_80)
+
+@trace
+def func_81():
+ frozendict_class(dict_hole).items() < fd_1.items()
+
+functions.append(func_81)
+
+@trace
+def func_82():
+ fd_1.keys() > frozendict_class(dict_hole).keys()
+
+functions.append(func_82)
+
+@trace
+def func_83():
+ fd_1.keys() >= frozendict_class(dict_hole).keys()
+
+functions.append(func_83)
+
+@trace
+def func_84():
+ fd_1.items() > frozendict_class(dict_hole).items()
+
+functions.append(func_84)
+
+@trace
+def func_85():
+ fd_1.items() >= frozendict_class(dict_hole).items()
+
+functions.append(func_85)
+
+@trace
+def func_86():
+ fd_1.set(key_in, 1000)
+
+functions.append(func_86)
+
+@trace
+def func_87():
+ fd_1.set(key_notin, 1000)
+
+functions.append(func_87)
+
+@trace
+def func_88():
+ fd_1.delete(key_in)
+
+functions.append(func_88)
+
+@trace
+def func_89():
+ fd_1.setdefault(key_in)
+
+functions.append(func_89)
+
+@trace
+def func_90():
+ fd_1.setdefault(key_notin)
+
+functions.append(func_90)
+
+@trace
+def func_91():
+ fd_1.setdefault(key_notin, 1000)
+
+functions.append(func_91)
+
+@trace
+def func_92():
+ fd_1.key()
+
+functions.append(func_92)
+
+@trace
+def func_93():
+ fd_1.key(0)
+
+functions.append(func_93)
+
+@trace
+def func_94():
+ fd_1.key(-1)
+
+functions.append(func_94)
+
+@trace
+def func_95():
+ fd_1.value()
+
+functions.append(func_95)
+
+@trace
+def func_96():
+ fd_1.value(0)
+
+functions.append(func_96)
+
+@trace
+def func_97():
+ fd_1.value(-1)
+
+functions.append(func_97)
+
+@trace
+def func_98():
+ fd_1.item()
+
+functions.append(func_98)
+
+@trace
+def func_99():
+ fd_1.item(0)
+
+functions.append(func_99)
+
+@trace
+def func_100():
+ fd_1.item(-1)
+
+functions.append(func_100)
+
+@trace
+def func_101():
+ for x in fd_1:
+ pass
+
+functions.append(func_101)
+
+@trace
+def func_102():
+ for x in iter(fd_1):
+ pass
+
+functions.append(func_102)
+
+@trace
+def func_103():
+ for x in fd_1.keys():
+ pass
+
+functions.append(func_103)
+
+@trace
+def func_104():
+ for x in fd_1.values():
+ pass
+
+functions.append(func_104)
+
+@trace
+def func_105():
+ for x in fd_1.items():
+ pass
+
+functions.append(func_105)
+
+@trace
+def func_106():
+ try:
+ hash(fd_unashable)
+ except TypeError:
+ pass
+
+functions.append(func_106)
+
+@trace
+def func_107():
+ try:
+ fd_1[key_notin]
+ except KeyError:
+ pass
+
+functions.append(func_107)
+
+@trace
+def func_108():
+ try:
+ fd_1.key(len(fd_1))
+ except IndexError:
+ pass
+
+
+functions.append(func_108)
+
+@trace
+def func_109():
+ try:
+ fd_1.value(len(fd_1))
+ except IndexError:
+ pass
+
+functions.append(func_109)
+
+@trace
+def func_110():
+ try:
+ fd_1.item(len(fd_1))
+ except IndexError:
+ pass
+
+functions.append(func_110)
print_sep()
@@ -273,18 +829,9 @@
fd_unashable = frozendict_class(dict_unashable)
print_sep()
- for expression in expressions:
- print_info(frozendict_class, iterations, expression)
-
- for j in range(iterations):
- eval(expression)
-
- print_sep()
-
- for code in codes:
- print_info(frozendict_class, iterations, code)
+ for function in functions:
+ print_info(frozendict_class, iterations, function)
- for j in range(iterations):
- exec(code)
+ function()
print_sep()
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kstars for openSUSE:Factory checked in at 2022-08-01 21:32:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kstars (Old)
and /work/SRC/openSUSE:Factory/.kstars.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kstars"
Mon Aug 1 21:32:54 2022 rev:129 rq:991922 version:3.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kstars/kstars.changes 2022-07-07 12:57:28.847333681 +0200
+++ /work/SRC/openSUSE:Factory/.kstars.new.1533/kstars.changes 2022-08-01 21:34:03.490286349 +0200
@@ -1,0 +2,14 @@
+Sun Jul 31 13:19:33 UTC 2022 - Paolo Stivanin <info(a)paolostivanin.com>
+
+- Update to 3.6.0:
+ * Add linear 1 pass focus algorithm.
+ * Polar alignment V3.
+ * Add image ROI statistics.
+ * Revamped profile scripts.
+ * Geographic map update.
+ * Show number of clipped pixels on fitsviewer status bar if show-clipping is enabled.
+ * Improve tooltips for GPG expert settings.
+ * Various fixes and improvements related to DSO catalogs and visibility.
+- Remove upstreamed fix-eigen3.patch
+
+-------------------------------------------------------------------
Old:
----
fix-eigen3.patch
kstars-3.5.9.tar.xz
kstars-3.5.9.tar.xz.sig
New:
----
kstars-3.6.0.tar.xz
kstars-3.6.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kstars.spec ++++++
--- /var/tmp/diff_new_pack.KVDpbL/_old 2022-08-01 21:34:05.254291409 +0200
+++ /var/tmp/diff_new_pack.KVDpbL/_new 2022-08-01 21:34:05.258291422 +0200
@@ -20,7 +20,7 @@
%global __requires_exclude qmlimport\\((KStarsLiteEnums|TelescopeLiteEnums).*
%bcond_without lang
Name: kstars
-Version: 3.5.9
+Version: 3.6.0
Release: 0
Summary: Desktop Planetarium
# Note for legal: the Apache licensed files in the tarball are for the
@@ -33,7 +33,6 @@
Source0: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz
Source1: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz.sig
Source2: %{name}.keyring
-Patch0: fix-eigen3.patch
BuildRequires: Mesa-devel
BuildRequires: extra-cmake-modules
BuildRequires: fdupes
++++++ kstars-3.5.9.tar.xz -> kstars-3.6.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kstars/kstars-3.5.9.tar.xz /work/SRC/openSUSE:Factory/.kstars.new.1533/kstars-3.6.0.tar.xz differ: char 27, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package naev for openSUSE:Factory checked in at 2022-08-01 21:32:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/naev (Old)
and /work/SRC/openSUSE:Factory/.naev.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "naev"
Mon Aug 1 21:32:45 2022 rev:9 rq:991919 version:0.9.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/naev/naev.changes 2022-04-17 23:51:49.622470420 +0200
+++ /work/SRC/openSUSE:Factory/.naev.new.1533/naev.changes 2022-08-01 21:33:57.686269697 +0200
@@ -1,0 +2,12 @@
+Mon Jul 25 04:31:22 UTC 2022 - D B <buckyballreaction(a)gmail.com>
+
+- 0.9.4
+ * Fix "No error." log spam with certain video card drivers
+ * Fix Lua errors with tiny nebula such as Sarcophagus
+ * Fix fake transponder cheesing rehabilitation missions
+ * Fix errors in "Anxious Merchant", "Dead Or Alive Bounty", "Harja's Vengeance", and "The Lost Brother" missions
+ * Fix the in-game screenshot feature, in case of odd window dimensions
+ * Fix at least "Dvaered Diplomacy" glitching when the game is saved/reloaded (thanks to "Duke" on the Steam forums)
+ * Update translations, including a new Spanish translation
+
+-------------------------------------------------------------------
Old:
----
naev-0.9.3-source.tar.xz
New:
----
naev-0.9.4-source.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ naev.spec ++++++
--- /var/tmp/diff_new_pack.7KJsQN/_old 2022-08-01 21:34:02.270282849 +0200
+++ /var/tmp/diff_new_pack.7KJsQN/_new 2022-08-01 21:34:02.278282872 +0200
@@ -17,7 +17,7 @@
Name: naev
-Version: 0.9.3
+Version: 0.9.4
Release: 0
Summary: 2D action RPG space game
License: GPL-3.0-only
++++++ naev-0.9.3-source.tar.xz -> naev-0.9.4-source.tar.xz ++++++
/work/SRC/openSUSE:Factory/naev/naev-0.9.3-source.tar.xz /work/SRC/openSUSE:Factory/.naev.new.1533/naev-0.9.4-source.tar.xz differ: char 26, line 1
1
0