PaulHowarth/Blog/2023-01

Paul's Blog Entries for January 2023

Sunday 1st January 2023

Fedora Project

  • Updated perl-Data-OptList to 0.113 in Rawhide:

    • Update author contact info
  • Updated perl-Getopt-Long-Descriptive to 0.111 in Rawhide:

    • Clean up the required perl version in the code
    • Update author contact info
  • Updated perl-Mixin-Linewise to 0.111 in Rawhide:

    • Update author information
  • Updated perl-Perl-Critic-Lax to 0.014 in Rawhide:

    • Update packaging and metadata
    • Minimum required Perl is now v5.12
  • Updated perl-Pod-Coverage-TrustPod to 0.100006 in Rawhide:

    • Update packaging and metadata
    • Minimum required Perl is now v5.12
  • Updated perl-Pod-Eventual to 0.094003 in Rawhide:

    • Update author contact info
  • Updated perl-Sub-Exporter to 0.989 in Rawhide:

    • Update author contact info
  • Updated perl-Sub-Exporter-ForMethods to 0.100055 in Rawhide:

    • Update packaging and metadata
    • Minimum required Perl is now v5.12
  • Updated perl-Test-Fatal to 0.017 in Rawhide:

    • Update packaging and metadata

Local Packages

  • Updated perl-Data-OptList to 0.113 as per the Fedora version

  • Updated perl-Data-Section to 0.200008:

    • Fix to some example code
    • update packaging and metadata
    • Minimum required Perl is now v5.12
  • Updated perl-Mixin-Linewise to 0.111 as per the Fedora version

  • Updated perl-Perl-Critic-Lax to 0.014 as per the Fedora version

  • Updated perl-Pod-Coverage-TrustPod to 0.100006 as per the Fedora version

  • Updated perl-Pod-Eventual to 0.094003 as per the Fedora version

  • Updated perl-Sub-Exporter to 0.989 as per the Fedora version

  • Updated perl-Sub-Exporter-ForMethods to 0.100055 as per the Fedora version

  • Updated perl-Test-MinimumVersion to 0.101083:

    • Update packaging and metadata
  • Updated perl-Sub-Install to 0.929:

    • Update packaging and metadata
  • Updated perl-Test-Fatal to 0.017 as per the Fedora version

Monday 2nd January 2023

Fedora Project

  • Updated perl-Exporter-Tiny to 1.006000 in F-36 and F-37 (updated in Rawhide on 22nd November 2022):

    • Introduced lexical exporter support on Perl 5.11.2+ using the Lexical::Var module

    • Refactored the Perl 5.37.2+ lexical exporter support
  • This was to support updating perl-Type-Tiny in F-36 and F-37

  • Updated perl-File-Find-Object: to 0.3.7 in Rawhide:

    • Fix test failures on Windows (GH#2)

  • Updated perl-Test-File to 1.993 in Rawhide:

    • Try harder to check for symlinks on Windows by stealing some code from Win32:: (GH#36)

Local Packages

  • Updated perl-File-Find-Object: to 0.3.7 as per the Fedora version

  • Updated perl-Test-File to 1.993 as per the Fedora version

  • Updated perl-Type-Tiny to 2.002000:

  • Bug Fixes
    • Avoid uninitialized warnings when creating a union between an Enum type and a non-Enum type

    • When Foo is a parameterized StrMatch type, ensure is_Foo always returns a single boolean value, even in list context

  • Packaging
    • Depend on Exporter::Tiny 1.006000, which offers lexical export support for older versions of Perl, provided Lexical::Sub is installed

  • Documentation
    • Clearer documentation of Types::TypeTiny::to_TypeTiny

    • Typo fix in Type::Tiny::Manual::UsingWithMoo

    • Update NEWS

    • Update copyright dates to 2023
  • Test Suite
    • No longer report Type::Tie version at start of test suite, as Type::Tie is now bundled

    • Test 't/20-modules/Type-Tiny-Enum/exporter_lexical.t' will now run on older versions of Perl, provided Lexical::Sub is installed

  • Other
    • Added: Type::Library now has an undocumented, but tested and hopefully stable '_remove_type' method

    • Added: Type::Tiny now has a 'definition_context' attribute/method indicating the file and line number where a type constraint was first defined

    • The list of packages Type::Tiny considers to be 'internal' has been moved from Error::TypeTiny to Type::Tiny

    • Type::Tiny will now mark particular parts of its guts as readonly; currently this is mainly used to prevent people pushing to and popping from type constraints that overload '@{}'

    • Type::Library will better detect if two types result in functions with the same name

    • Type::Tiny::XS will now provide XS implementations of some parameterized ArrayLike/HashLike types

    • When importing 'use Type::Library -util', Type::Library will now pass some relevant import options to Type::Utils

    • If Type::Params signatures receives multiple unrecognized named arguments, the error message now lists them using Type::Utils::english_list() instead of just joining them with commas; this means that the error message will include 'and' before the last unrecognized named argument (if Type::Tiny::AvoidCallbacks is set to true while the signature is compiled, the old behaviour will be retained)

    • Type::Params no longer attempts to figure out the maximum number of expected arguments to functions that take key-value pairs; this allows 'yourfunc(y=>1,y=>2)' to behave more intuitively, with the function just seeing the second value for 'y', instead of it throwing an exception complaining about too many arguments

Tuesday 3rd January 2023

Fedora Project

  • Updated perl-CPAN-Meta-Check to 0.017 in Rawhide:

    • Drop Test::Deep prereq

    • Use Module::Metadata for more accurate testing (CPAN RT#145766)

  • Updated perl-Text-CSV_XS to 1.49 in Rawhide:

    • csv2xlsx --split=CxP [--split-label=C]

    • Full documentation/manual for csv2xlsx

    • Fix non-integer arguments to getline_all (GH#39)

    • It's 2023

Local Packages

  • Updated perl-CPAN-Meta-Check to 0.017 as per the Fedora version

  • Updated perl-Text-CSV_XS to 1.49 as per the Fedora version

Wednesday 4th January 2023

Fedora Project

  • Updated perl-MCE to 1.883 in Rawhide:

    • Fix typo in MCE::Channel::SimpleFast documentation

    • Improve 05_mce_child.t test

  • Updated perl-MCE-Shared to 1.880 in Rawhide:

    • Bump MCE dependency to 1.883

    • Improve 05_mce_hobo.t test

  • Updated perl-Sub-Install to 0.929 in Rawhide:

    • Update packaging and metadata

Local Packages

  • Updated perl-MCE to 1.883 as per the Fedora version

  • Updated perl-MCE-Shared to 1.880 as per the Fedora version

Thursday 5th January 2023

Fedora Project

  • Updated perl-MCE to 1.884 in Rawhide:

    • Disabled non-blocking dequeue_nb and recv_nb tests on the Windows platform, since the author cannot reproduce failing tests reported by CPAN Tester aero

  • Updated perl-Test-Deep to 1.202 in Rawhide:

    • Converted to Dist::Zilla

    • Test::Deep will now require v5.12, and this may go up; this change allows simplification of the Makefile.PL, which was coping with a mistake made twelve years ago

Local Packages

  • Updated perl-MCE to 1.884 as per the Fedora version

  • Updated perl-Test-Deep to 1.202 as per the Fedora version

Friday 6th January 2023

Fedora Project

  • Updated perl-DBD-CSV to 0.60 in Rawhide:

    • It's 2023
  • Updated perl-Modern-Perl to 1.20230106 in Rawhide:

    • Update for 2023 year bundle
    • Fix a few nits in tests

Local Packages

  • Updated perl-DBD-CSV to 0.60 as per the Fedora version

  • Updated perl-Moo to 2.005005:

    • Drop dependency on Test::Fatal

Saturday 7th January 2023

Fedora Project

  • Updated perl-IO-Zlib to 1.13 in Rawhide (no changes)

Local Packages

  • Updated perl-IO-Zlib to 1.13 as per the Fedora version

Sunday 8th January 2023

Fedora Project

  • Updated perl-Params-ValidationCompiler to 0.31 in Rawhide:

    • Require Class::XSAccessor 1.17+ when trying to load it; earlier versions cause test failures (GH#27)

  • Updated perl-Perl-Critic to 1.148 in Rawhide:

  • Possible breakage
    • Removed Perl::Critic::Utils::DataConversion; any add-on policies that used it will need to copy the functions from there into their own code

  • Documentation
    • ProhibitCascadingIfElse no longer suggests using given/when

  • Internals
    • We no longer require Test::Deep for testing

    • Test::Kwalitee is now only recommended, not required

    • Random micro-optimizations, like using hashes for array contents checking, and using any() instead of calling grep as a boolean

  • Updated perl-Test-Deep to 1.204 in Rawhide:

    • Try to avoid clobbering global error variables when loading test libraries
    • hash_each now enumerates keys in sort() order, to make errors more consistent

Local Packages

  • Updated perl-Params-ValidationCompiler to 0.31 as per the Fedora version

  • Updated perl-Perl-Critic to 1.148 as per the Fedora version

  • Updated perl-Test-Deep to 1.204 as per the Fedora version

Monday 9th January 2023

Fedora Project

  • Updated perl-Email-MIME to 1.953 in Rawhide:

    • As promised, this release no longer works on v5.8; in fact, due to some upstream libraries, it hasn't in some time
    • Documentation has been cleaned up to stop referencing long-dead other libraries or methods
    • Some small code changes to benefit from v5.10 and v5.12 improvements
  • Updated perl-Email-MIME-ContentType to 1.028 in Rawhide:

    • Add a (for now undocumented) $PRE_2231_FORM package variable; if set to false, when RFC2231-style parameters are used, a pre-RFC2231-style version will not also be provided; this variable is true by default

    • Update author info
  • Updated perl-Email-Simple to 2.218 in Rawhide:

    • Add ->header_rename to header object

    • Issue a warning on non-ASCII codepoints added to message
    • Update author contact info
    • Bump version required to v5.12.0 (it was already effectively that after some upstream changes)

Tuesday 10th January 2023

Fedora Project

  • Updated perl-Email-Address to 1.913 in Rawhide:

    • This version now requires Perl v5.12
    • Some small tweaks made to the code to take advantage of v5.12
    • Update distribution metadata

Local Packages

  • Updated perl-Email-Address to 1.913 as per the Fedora version

Wednesday 11th January 2023

Fedora Project

  • Updated perl-IO-Zlib to 1.14 in Rawhide:

    • Fix INSTALLDIRS option for newer perls

Local Packages

  • Updated curl (7.87.0) to temporarily disable valgrind for test3012 (Bug #2143040)

  • Updated perl-IO-Zlib to 1.14 as per the Fedora version

Friday 13th January 2023

Fedora Project

  • Cleaned up and rebuilt perl-Cwd-Guard (0.05) in Rawhide

  • Updated perl-Data-Dump-Streamer (2.40) in Rawhide to use SPDX-format license tag

  • Updated perl-GDGraph to 1.56 in Rawhide:

Local Packages

  • Cleaned up and rebuilt perl-Cwd-Guard (0.05)

Sunday 15th January 2023

Fedora Project

  • Cleaned up and rebuilt perl-DateTime-Format-Builder (0.83) in Rawhide

Local Packages

  • Cleaned up and rebuilt perl-DateTime-Format-Builder (0.83)

  • Updated perl-Moose to 2.2202:

    • Switched from Test::Requires to Test::Needs (GH#181)

Monday 16th January 2023

Fedora Project

  • Updated perl-IO-Socket-SSL to 2.079 in Rawhide:

    • Properly extract IPv6 address for verification from PeerAddr if not explicitly given as SSL_verifycn_name (GH#123)

Local Packages

  • Updated perl-IO-Socket-SSL to 2.079 as per the Fedora version

Tuesday 17th January 2023

Fedora Project

  • Updated perl-Class-Method-Modifiers to 2.14 in Rawhide:

    • Remove Test::Fatal and Test::Needs from test prereqs (GH#7, GH#8)

  • Updated perl-Module-ExtractUse to 0.345 in Rawhide:

    • Auto generate meta_yml_has_provides experimental Kwalitee

Local Packages

  • Updated perl-Class-Method-Modifiers to 2.14 as per the Fedora version

  • Updated perl-Module-ExtractUse to 0.345 as per the Fedora version

Wednesday 18th January 2023

Fedora Project

  • Updated perl-IO-Socket-SSL to 2.080 in Rawhide:

    • Move test certificates into t/ directory where they belong

Local Packages

  • Updated perl-IO-Socket-SSL to 2.080 as per the Fedora version

Thursday 19th January 2023

Fedora Project

  • Updated Judy (1.0.5) in Rawhide to use SPDX-format license tag

Local Packages

Friday 20th January 2023

Fedora Project

  • Updated perl-Function-Parameters to 2.001004 in Rawhide:

    • Drop Dir::Self test dependency (use FindBin instead)

Local Packages

  • Updated curl (7.87.0) to fix a regression in a public header file (Bug #2162716)

  • Updated perl-Array-Compare (3.0.8), perl-Class-Singleton (1.6), perl-Convert-TNEF (0.18) and perl-Data-Tumbler (0.010) to use SPDX-format license tag

  • Updated perl-Function-Parameters to 2.001004 as per the Fedora version

  • Updated perl-Module-CoreList to 5.20230120:

    • Updated for v5.37.8
  • Updated perl-Sub-Quote to 2.006006:

    • Accurately detect numbers versus strings in quotify on perl 5.36

    • Accurately detect booleans in quotify on perl 5.36

    • Add workaround for float formatting for perls compiled to use gcvd

    • Drop Test::Fatal prereq

    • Recommend Sub::Util rather than Sub::Name

    • Use XString for quoting strings where possible

    • Move tests for quotify on perl 5.6 to author only

  • Updated perl-Type-Tinye to 2.002001:

    • Bugfix for Type::Tie+Storable issue affecting 32-bit builds of Perl

  • Rebuilt check (0.15.2), libgpg-error (1.46), libidn (1.41), libnet (1.2), libmetalink (0.1.3), libssh2 (1.10.0), libxml2 (2.10.3), libxslt (1.1.37), nmap (7.93), perl-MCE (1.884), perl-MIME-tools (5.510), perl-MIME-Types (2.24), perl-Moose (2.2202), perl-Mouse (2.5.10), perl-Perl-Critic (1.148) and proftpd (1.3.8) for the Fedora_38_Mass_Rebuild

Saturday 21st January 2023

Fedora Project

  • Did a clean-up of the spamass-milter (0.4.0) package in Rawhide:

    • Use SPDX-format license tag
    • Drop SysV init support
    • Always assume run-directory is /run

Local Packages

  • Updated perl-BSD-Resource (1.2911) to use SPDX-format license tag

  • Cleaned up spamass-milter (0.4.0) as per the Fedora version

Sunday 22nd January 2023

Fedora Project

  • Updated python-paramiko to 3.0.0 in Rawhide:

    • Remove some unnecessary '__repr__' calls when handling bytes-vs-str conversions; this was apparently doing a lot of unintentional data processing, which adds up in some use cases, such as SFTP transfers, which may now be significantly faster (GH#2110)

    • Streamline some redundant (and costly) byte conversion calls in the packetizer and the core SFTP module; this should lead to some SFTP speed-ups at the very least (GH#2165)

    • 'paramiko.util.retry_on_signal' (and any internal uses of same, and also any internal retries of 'EINTR' on e.g. socket operations) has been removed; as of Python 3.5, per PEP 475 (https://peps.python.org/pep-0475/), this functionality (and retrying 'EINTR' generally) is now part of the standard library

    • Note: This change is backwards incompatible if you were explicitly importing/using this particular function; the observable behaviour otherwise should not be changing
    • '~paramiko.config.SSHConfig' used to straight-up delete the 'proxycommand' key from config lookup results when the source config said 'ProxyCommand none'; this has been altered to preserve the key and give it the Python value 'None', thus making the Python representation more in line with the source config file

    • Note: This change is backwards incompatible if you were relying on the old (1.x, 2.x) behaviour for some reason (e.g. assuming all 'proxycommand' values were valid subcommand strings)

    • The behaviour of private key classes' (i.e. anything inheriting from '~paramiko.pkey.PKey') private key writing methods used to perform a manual, extra 'chmod' call after writing; this hasn't been strictly necessary since the mid 2.x release line (when key writing started giving the 'mode' argument to 'os.open'), and has now been removed entirely; this should only be observable if you were mocking Paramiko's system calls during your own testing, or similar

    • 'PKey.__cmp__' has been removed - ordering-oriented comparison of key files is unlikely to have ever made sense (the old implementation attempted to order by the hashes of the key material) and so we have not bothered setting up '__lt__' and friends at this time; the class continues to have its original '__eq__' untouched

    • Note: This change is backwards incompatible if you were actually trying to sort public key objects (directly or indirectly); please file bug reports detailing your use case if you have some intractable need for this behaviour, and we'll consider adding back the necessary Python 3 magic methods so that it works as before
    • A handful of lower-level classes (notably 'paramiko.message.Message' and 'paramiko.pkey.PKey') previously returned 'bytes' objects from their implementation of '__str__', even under Python 3; and there was never any '__bytes__' method; these issues have been fixed by renaming '__str__' to '__bytes__' and relying on Python's default "stringification returns the output of '__repr__'" behaviour re: any real attempts to 'str()' such objects

    • 'paramiko.common.asbytes' has been moved to 'paramiko.util.asbytes'

    • Note: This change is backwards incompatible if you were directly using this function (which is unlikely)
    • Remove the now irrelevant 'paramiko.py3compat' module

    • Note: This change is backwards incompatible - such references should be search-and-replaced with their modern Python 3.6+ equivalents; in some cases, still-useful methods or values have been moved to 'paramiko.util' (most) or 'paramiko.common' ('byte_*')

    • Drop support for Python versions less than 3.6, including Python 2; so long and thanks for all the fish! Our packaging metadata has been updated to include 'python_requires', so this should not cause breakage unless you're on an old installation method that can't read this metadata

    • Note: As part of this change, our dependencies have been updated; e.g. we now require Cryptography>=3.3, up from 2.5

Monday 23rd January 2023

Fedora Project

  • Rebuilt perl-Compress-Raw-Lzma (2.201) for xz 5.4.1 in F-36, F-37 and Rawhide

Local Packages

  • Rebuilt perl-Compress-Raw-Lzma (2.201) as per the Fedora version

  • Rebuilt perl-HTML-Lint (2.32) for the Fedora_38_Mass_Rebuild

  • Updated perl-Moose to 2.2203:

    • Increased the required version of Test::Needs (GH#182)

  • Updated perl-Test-Needs to 0.002010:

    • Split main test into three separate scripts
    • Avoid outputting multiple plans if used with no_plan

  • Rebuilt rbldnsd (0.998b) for the Fedora_38_Mass_Rebuild

  • Rebuilt sendmail (8.17.1) for the Fedora_38_Mass_Rebuild

  • Rebuilt smbldap-tools (0.9.11) for the Fedora_38_Mass_Rebuild

  • Updated unrar to 6.20

  • Updated xz to 5.4.1 in F-36 onwards (see NEWS for details)

Tuesday 24th January 2023

Local Packages

Wednesday 25th January 2023

Fedora Project

  • Retired perl-Devel-GlobalDestruction-XS from Fedora 38 onwards, as it has not been needed by Devel::GlobalDestruction since Perl 5.13.7

  • Updated perl-IO-Socket-SSL to 2.081 in Rawhide:

    • New function set_msg_callback for user defined callback on each SSL message

    • Showcase function in example/ssl_client.pl and example/ssl_server.pl for computing JA3S/JA3 fingerprints

    • Fix tracing added in 2.076 to no longer include SSL3_RT_HEADER (noise)

  • Updated proftpd (1.3.8) in Rawhide to add PCRE2 support (Bug #2158885)

Local Packages

  • Updated perl-IO-Socket-SSL to 2.081 as per the Fedora version

  • Updated proftpd (1.3.8) to add PCRE2 support from Fedora 27, RHEL-8 onwards

Thursday 26th January 2023

Fedora Project

  • Updated perl-Apache-Session-NoSQL to 0.3 in Rawhide:

    • Mark as deprecated

Local Packages

  • Updated perl-YAML-LibYAML to 0.86:

    • Fix YAML::XS pod in cpanminus

  • Updated unrar to 6.21 beta 1

Friday 27th January 2023

Fedora Project

  • Updated perl-Data-Dump-Streamer to 2.41 in Rawhide:

    • Switch from JSON::XS to Cpanel::JSON::XS as an optional test prereq

  • Updated perl-Function-Parameters to 2.001005 in Rawhide:

    • Fix failures with perl 5.37.5..5.37.6 caused by new internal opcode structure for anonymous subs

Local Packages

  • Updated perl-Data-Dump-Streamer to 2.41 as per the Fedora version

  • Updated perl-Function-Parameters to 2.001005 as per the Fedora version

Saturday 28th January 2023

Local Packages

  • Updated perl-autodie to 2.35:

    • Prepare for 5.38 changes to deprecate smartmatch
    • Remove +x bit from pm and t files

    • CI - Turn off Pod coverage and critic tests below 5.12

Sunday 29th January 2023

Local Packages

  • Updated perl-PPIx-Regexp to 0.087:

    • Add support for code in optimized regex, a.k.a. (*{...}); this involved making the recognition of backtracking control more specific, since it also uses (?*...)

    • If (*{...}) and (**{...}) are removed from Perl before Perl 5.38.0, support for them will be removed from this package

Monday 30th January 2023

Fedora Project

  • Updated rbldnsd (0.998b) in Rawhide to port non-autoconf configure script to C99

Local Packages

  • Updated c-ares to 1.19.0:

  • Security

    • Stack overflow in ares_set_sortlist(), which is used during c-ares initialization and typically provided by an administrator and not an end user

  • Changes

    • Windows: drop support for XP and derivatives, which greatly cleans up initialization code
    • Add ARES_OPT_HOSTS_FILE similar to ARES_OPT_RESOLVCONF for specifying a custom hosts file location

    • Add vcpkg installation instructions
  • Bug fixes

    • Fix cross-compilation from Windows to Linux due to CPACK logic

    • Fix memory leak in reading /etc/hosts when using localhost fallback

    • Fix chain building c-ares when libresolv is already included by another project

    • File lookup should not immediately abort as there may be other tries due to search criteria
    • Asterisks should be allowed in host validation as CNAMEs may reference wildcard domains

    • AutoTools build system referenced bad STDC_HEADERS macro

    • Even if one address class returns a failure for ares_getaddrinfo(), we should still return the results we have

    • CMake Windows: DLLs did not include resource file to include versions
    • CMake: guard target creation in exported config
    • Fix ares_getaddrinfo() numerical address resolution with AF_UNSPEC

    • Apple: fix libresolv configured query times

    • Fix tools and help information
    • Various documentation fixes and clean-ups
    • Add include guards to ares_data.h

    • c-ares could try to exceed maximum number of iovec entries supported by system

    • CMake package config generation allow for absolute install paths
    • Intel compiler fixes
    • ares_strsplit bugs

    • The RFC6761 6.3 states localhost subdomains must be offline too

  • Updated rbldnsd (0.998b) to port non-autoconf configure script to C99 as per the Fedora version

Tuesday 31st January 2023

Fedora Project

  • Updated ansible-collection-community-libvirt to 1.2.0 in EPEL-8, for alignment with ansible-6.3.0

Local Packages

  • Updated perl-autodie to 2.36:

    • Remove the use of ' as a package separator

    • Fix spelling errors in POD

Previous Month: December 2022
Next Month: February 2023

Recent