Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

    PaulHowarth/Blog/2020-12

Paul's Blog Entries for December 2020

Tuesday 1st December 2020

Fedora Project

  • Updated perl-Types-Serialiser to 1.01 in Rawhide:

    • Implement Types::Serialiser::as_bool

    • Slight documentation tweaks

Local Packages

  • Updated perl-PAR-Dist to 0.51:

    • Fix problem with Cwd::realpath(): some versions of Cwd::realpath() must be called on an existing path, otherwise they will return undef

  • Updated perl-Types-Serialiser to 1.01 as per the Fedora version

Thursday 3rd December 2020

Fedora Project

  • Updated perl-Class-Singleton to 1.6 in Rawhide:

    • Fixed confusing Changes entry about Perl's licensing terms (CPAN RT#132843)

    • Added optional Changes testing (skipped unless AUTHOR_TESTING)

    • Reformatted Changes file as per CPAN::Changes::Spec

    • Added optional POD coverage testing (skipped unless AUTHOR_TESTING)

    • Added optional Perl::Critic testing (skipped unless AUTHOR_TESTING)

    • Made code Perl::Critic clean

    • Added optional POD testing (skipped unless AUTHOR_TESTING)

    • Included GitHub repository URLs in metadata now that source code has been uploaded to GitHub (as of version 1.5)

    • Included META.json file in addition to META.yml

    • Set minimum required ExtUtils::MakeMaker version to 6.64 to ensure that all parameters used are supported, to save jumping through hoops to support earlier versions (this should not be a problem since ExtUtils::MakeMaker 6.64 is easily installed into Perl 5.8.1 and above, that being the whole point of the new choice of minimum supported Perl version)

    • Set minimum required Perl version to 5.8.1; this is in line with the minimum requirement of the "Perl Toolchain"
    • Corrected typo in a comment (CPAN RT#86336)

  • Updated perltidy to 20201202 (see CHANGES.md for details)

Local Packages

  • Updated libgpg-error to 1.39:

    • New option parser with features to implement system wide configuration files
    • New functions to build file names
    • New function to help reallocating arrays
    • Protect gpgrt_inc_errorcount against counter overflow

    • Improve cross-building for new platforms (https://dev.gnupg.org/T4774)

    • Support 64-bit big-endian MIPS architecture (https://dev.gnupg.org/T4952)

    • Support static link for Windows with -lws2_32 (https://dev.gnupg.org/T4623)

    • On Windows gpgrt_fopen, gpgrt_chdir, and gpgrt_mkdir now handle UTF-8 names (https://dev.gnupg.org/T4083)

    • Make timeout of gpgrt_poll work correctly on Windows if no file descriptors are active

    • New function gpgrt_fcancel as alternative to gpgrt_close; this function avoids flushing out buffered data and also tries to delete a newly-created file

    • Changes to ease cross-building (https://dev.gnupg.org/T4973)

    • "gpg-error --lib-version" works again

    • New symbols (in 1.38): gpgrt_fnameconcat, gpgrt_absfnameconcat, gpgrt_reallocarray, gpgrt_set_confdir, gpgrt_argparser, ARGPARSE_FLAG_SYS, ARGPARSE_FLAG_USER, ARGPARSE_FLAG_VERBOSE, ARGPARSE_FLAG_USERVERS, ARGPARSE_FLAG_WITHATTR, ARGPARSE_NO_CONFFILE, ARGPARSE_CONFFILE, ARGPARSE_OPT_CONFFILE, ARGPARSE_ATTR_FORCE, ARGPARSE_ATTR_IGNORE, ARGPARSE_TYPE_MASK, ARGPARSE_PERMISSION_ERROR, ARGPARSE_INVALID_META, ARGPARSE_UNKNOWN_META, ARGPARSE_UNEXPECTED_META, ARGPARSE_conffile, ARGPARSE_noconffile, ARGPARSE_verbatim, ARGPARSE_header, GPGRT_CONFDIR_USER, GPGRT_CONFDIR_SYS

    • New symbols (in 1.39): gpgrt_fcancel

  • Updated perl-Class-Singleton to 1.6 as per the Fedora version

  • Updated perl-Perl-Tidy to 20201202 as per the Fedora perltidy package

  • Updated python2-subversion to sync with subversion-1.14.0-9 in Rawhide

  • Updated sendmail (8.16.1) to enable CDB map support from Fedora 34 onwards (Bug #1781181)

Friday 4th December 2020

Fedora Project

  • Updated perl-IO-AIO to 4.73 in Rawhide:

    • def0.h was not up-to-date, running into musl problems

    • IO::AIO::splice and IO::AIO::tee didn't properly return 64 bit values

    • Added IO::AIO::accept4

    • Added various F_SEAL-related fcntl constants

    • Removed experimental marker for fdlimit functions

    • fiemap now includes the last segment even if it overflows the end offset, which is arguably the correct behaviour

Local Packages

  • Updated perl-IO-AIO to 4.73 as per the Fedora version

Saturday 5th December 2020

Fedora Project

  • Updated perl-DateTime to 1.54 in Rawhide:

    • Documentation updates
  • Updated perl-DBD-CSV to 0.56 in Rawhide:

    • Fix Changes (add missing entry for 0.54)

    • Bugtracker ⇒ GitHub Issues

    • f_dir should exist (CVE fix in DBI-1.644 / DBD::File-0.45)

    • TODO tests better skipped if failing

Local Packages

  • Updated perl-DateTime to 1.54 as per the Fedora version

Monday 7th December 2020

Fedora Project

  • Updated perl-Array-Compare to 3.0.7 in Rawhide:

    • Fix documentation typo
    • Add bugtracker info
  • Updated perl-Test-EOL to 2.02 in Rawhide:

    • Better matching on files, directories to be ignored, e.g. no longer confuses directory "vincent" for "inc" (CPAN RT#133862, GH#1)

    • Handle long @INC lines by passing through $PERL5LIB (CPAN RT#123448)

  • Updated perltidy to 20201207 in Rawhide (see CHANGES.md for details)

Local Packages

  • Updated perl-Array-Compare to 3.0.7 as per the Fedora version

  • Updated perl-Moo (2.004004) to add runtime dependency on Devel::GlobalDestruction with Perl < 5.14

  • Updated perl-Test-EOL to 2.02 as per the Fedora version

  • Updated perl-Perl-Tidy to 20201207 as per the Fedora perltidy package

  • Updated unrar to 6.00

Wednesday 9th December 2020

Local Packages

  • Updated curl to 7.74.0:

    • hsts: Add experimental support for Strict-Transport-Security

    • CVE-2020-8286: Inferior OCSP verification

    • CVE-2020-8285: FTP wildcard stack overflow

    • CVE-2020-8284: Trusting FTP PASV responses

    • acinclude: Detect manually set minimum macos/ipod version

    • alt-svc: Enable (in the build) by default
    • alt-svc: Minimize variable scope and avoid "DEAD_STORE"

    • asyn: Use 'struct thread_data *' instead of 'void *'

    • checksrc: Warn on empty line before open brace

    • CI/appveyor: Disable test 571 in two cmake builds
    • CI/azure: Improve on flakiness by avoiding libtool wrappers

    • CI/tests: Enable test target on TravisCI for CMake builds
    • CI/travis: Add brotli and zstd to the libssh2 build

    • cirrus: Build with FreeBSD 12.2 in CirrusCI
    • cmake: Call the feature unixsockets without dash
    • cmake: Check for linux/tcp.h

    • cmake: Correctly handle linker flags for static libs
    • cmake: Don't pass -fvisibility=hidden to clang-cl on Windows

    • cmake: Don't use reserved target name 'test'

    • cmake: Make BUILD_TESTING dependent option

    • cmake: Make CURL_ZLIB a tri-state variable

    • cmake: Set the unicode feature in curl-config on Windows

    • cmake: Store IDN2 information in curl_config.h

    • cmake: Use libcurl.rc in all Windows builds

    • configure: Pass -pthread to Libs.private for pkg-config

    • configure: Use pkgconfig to find openSSL when cross-compiling

    • connect: Repair build without ipv6 availability

    • curl.1: Add an "OUTPUT" section at the top of the manpage

    • curl.se: New home

    • curl: Add compatibility for Amiga and GCC 6.5

    • curl: Only warn not fail, if not finding the home dir

    • curl_easy_escape: Limit output string length to 3 * max input

    • Curl_pgrsStartNow: Init speed limit time stamps at start

    • curl_setup: USE_RESOLVE_ON_IPS is for Apple native resolver use

    • curl_url_set.3: Fix typo in the RETURN VALUE section

    • CURLOPT_DNS_USE_GLOBAL_CACHE.3: Fix typo

    • CURLOPT_HSTS.3: Document the file format

    • CURLOPT_NOBODY.3: Fix typo

    • CURLOPT_TCP_NODELAY.3: Fix comment in example code

    • CURLOPT_URL.3: Clarify SCP/SFTP URLs are for uploads as well

    • docs: Document the 8MB input string limit
    • docs: Fix typos and markup in ETag manpage sections
    • docs: Fix various typos in documentation
    • examples/httpput: Remove use of CURLOPT_PUT

    • FAQ: Refreshed
    • file: Avoid duplicated code sequence
    • ftp: Retry getpeername for FTP with TCP_FASTOPEN

    • gnutls: Fix memory leaks (certfields memory wasn't released)

    • header.d: Mention the "Transfer-Encoding: chunked" handling

    • HISTORY: The new domain

    • http3: Fix two build errors, silence warnings
    • http3: Use the master branch of GnuTLS for testing
    • http: Pass correct header size to debug callback for chunked post

    • http_proxy: Use enum with state names for 'keepon'

    • httpput-postfields.c: New example doing PUT with POSTFIELDS

    • infof/failf calls: Fix format specifiers

    • libssh2: Fix build with disabled proxy support

    • libssh2: Fix transport over HTTPS proxy

    • libssh2: Require version 1.0 or later

    • Makefile.m32: Add support for HTTP/3 via ngtcp2+nghttp3

    • Makefile.m32: Add support for UNICODE builds

    • mqttd: fclose test file when done

    • NEW-PROTOCOL: Document what needs to be done to add one

    • ngtcp2: Adapt to recent nghttp3 updates

    • ngtcp2: Advertise h3 ALPN unconditionally

    • ngtcp2: Fix build error due to symbol name change

    • ngtcp2: Use the minimal version of QUIC supported by ngtcp2

    • ntlm: Avoid malloc(0) on zero length user and domain

    • openssl: Acknowledge SRP disabling in configure properly

    • openssl: Free mem_buf in error path

    • openssl: Guard against OOM on context creation
    • openssl: Use OPENSSL_init_ssl() with ≥ 1.1.0

    • os400: Sync libcurl API options

    • packages/OS400: Make the source code-style compliant

    • quiche: Close the connection
    • quiche: Remove 'static' from local buffer

    • range.d: Clarify that curl will not parse multipart responses

    • range.d: Fix typo

    • Revert "multi: implement wait using winsock events"

    • rtsp: Error out on empty Session ID, unified the code
    • rtsp: Fixed Session ID comparison to refuse prefix
    • rtsp: Fixed the RTST Session ID mismatch in test 570
    • runtests: Return error if no tests ran

    • runtests: Revert the mistaken edit of $CURL

    • runtests: Show keywords when no tests ran

    • scripts/completion.pl: Parse all opts

    • socks: Check for DNS entries with the right port number
    • src/tool_filetime: Disable -Wformat on mingw for this file

    • strerror: Use 'const' as the string should never be modified

    • test122[12]: Remove these two tests

    • test506: Make it not run in c-ares builds

    • tests/*server.py: Close log file after each log line

    • tests/server/tftpd.c: Close upload file right after transfer

    • tests/util.py: Fix compatibility with Python 2

    • tests: Add missing global_init/cleanup calls

    • tests: Fix some http/2 tests for older versions of nghttpx

    • tool_debug_cb: Do not assume zero-terminated data

    • tool_help: Make "output" description less confusing

    • tool_operate: --retry for HTTP 408 responses too

    • tool_operate: Bail out properly on errors during parallel transfers

    • tool_operate: Fix compiler warning when --libcurl is disabled

    • tool_writeout: Use off_t getinfo-types instead of doubles

    • travis: Use ninja-build for CMake builds

    • travis: Use valgrind when running tests for debug builds

    • urlapi: Don't accept blank port number field without scheme

    • urlapi: URL encode a '+' in the query part

    • urldata: Remove 'void *protop' and create the union 'p'

    • vquic/ngtcp2.h: Define local_addr as sockaddr_storage

Thursday 10th December 2020

Fedora Project

  • Updated perl-MIME-Types to 2.18 in Rawhide:

    • Update with newest data
    • Mojo 6.0 changed types() into mapping()

    • Mojo 7.94 adds experimental file_type()

    • Mojo 7.94 adds experimental content_type()

Local Packages

  • Updated curl (7.74.0) not to rewrite shebangs in the test suite to use python3 explicitly

  • Updated perl-Lingua-EN-Inflect to 1.905:

    • Removed gratuitous use of Env.pm

  • Updated perl-MIME-Types to 2.18 as per the Fedora version

Friday 11th December 2020

Local Packages

  • Updated getmail to 5.15:

    • Fix example spamc arguments in FAQ

    • Document exit codes in manpages

Monday 14th December 2020

Fedora Project

  • Updated perl-Algorithm-Diff to 1.201 in Rawhide:

Local Packages

  • Updated perl-Algorithm-Diff to 1.201 as per the Fedora version

  • Updated python2-subversion to sync with subversion-1.14.0-10 in Rawhide

Tuesday 15th December 2020

Fedora Project

  • Updated geoipupdate to 4.6.0 in Rawhide:

    • Show version number in verbose output
    • Retry downloads in more scenarios: previously we would not retry failures occurring when reading the response body, but now we do

Local Packages

  • Updated geoipupdate to 4.6.0 as per the Fedora version

  • Updated perl-DateTime-Locale to 1.29:

    • Rebuilt all locale data with the data from CLDR 38.0.0 and glibc 2.32

Wednesday 16th December 2020

Fedora Project

  • Updated perl-DateTime-Format-Strptime to 1.78 in Rawhide:

    • Fix tests for new failure caused by locale data changes in DateTime::Locale 1.29 (GH#28)

    • Added a warning about using locale-specific patterns; some of these patterns can change quite a bit as the locale data is updated, so using them for parsing does not produce stable results across time - this is what caused the test failures that this release fixes

Local Packages

  • Updated perl-DateTime-Format-Strptime to 1.78 as per the Fedora version

  • Updated perl-DateTime-Locale to 1.30:

    • The previous release included some locale data for locales that had been deleted from CLDR 38.0.0
  • Updated perl-Test2-Suite to 0.000139:

    • Add ISA checks (GH#230)

    • Fix Manual module that was missing package/return true (GH#229)

Friday 18th December 2020

Fedora Project

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

    • META fixes

Local Packages

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

  • New package perl-Net-SMTP-TLS (0.12)

  • New package perl-SVN-Notify (2.87)

  • New package perl-Text-Trac (0.24)

Saturday 19th December 2020

Fedora Project

  • Updated perl-Moose to 2.2014 in Rawhide:

  • Enhancements
    • Include details about expected values when Enum type checks fail (GH#174)

  • Documentation
    • Fix misleading missing semicolon in exceptions example (GH#170)

  • Other
    • Allow internal packages to be indexed by PAUSE; this avoids their permissions being captured (possibly unintentionally) by others
    • Sub::Identify prerequisite removed, in favour of already-existing local code

Local Packages

  • Updated perl-Moose to 2.2014 as per the Fedora version

Monday 21st December 2020

Fedora Project

  • Orphaned trac-accountmanager-plugin and trac-spamfilter-plugin since they can't even compile against trac 1.5 in Rawhide, and I've abandoned use of trac myself anyway since I couldn't get it to work with my subversion repository after updating to Fedora 33

  • Updated perl-Array-Compare to 3.0.8 in Rawhide:

    • Only support versions 5.10+
  • Updated perl-MetaCPAN-Client to 2.029000 in Rawhide:

    • Added checksum_sha256 and checksum_md5 fields support (GH#110)

    • Clean up old files

Local Packages

  • Updated perl-Array-Compare to 3.0.8 as per the Fedora version

  • Updated perl-Convert-UUlib to 1.8:

    • No bugfixes in this release due to lack of known bugs, but the major changes in this release might have introduced new bugs, so watch out
    • Update large decoder example to disable OPT_AUTOCHK and use Smerge -1

    • Some micro-optimizations
      • Avoid costly string comparisons by comparing hashes when inserting items, which speeds up insertion by a constant factor
      • Improve uulist (and other) structure layout and size

      • Reverse the order of file list items, which heuristically improves match speed with large usenet file lists
      • Use getc instead of fgetc, which makes no difference on gnu/linux

      • Clean up _FP symbol names not to start with an underscore

      • Use feof_unlocked and ferror_unlocked

      • Implement a faster ASCII-only strnicmp

    • Miscellaneous very minor code improvements
      • Remove quite a bit of pre-posix/dos/etc. cruft
      • Use flockfile, if available, for a potential but small speed gain

      • Speed up inner yenc decoder loop

      • Kentnl said that this module should no longer claim to be a simple interface to uulib, as the bundled copy is now better maintained than the original upstream library

  • Updated perl-MetaCPAN-Client to 2.029000 as per the Fedora version

  • Updated perl-Module-CoreList to 5.20201220:

    • Updated for v5.33.5

Wednesday 23rd December 2020

Local Packages

  • Updated perl-DateTime-Locale to 1.31:

    • The docs for each locale now show examples of its strftime patterns as well

  • Updated perl-DateTime-TimeZone to 2.46:

    • This release is based on version 2020e of the Olson database
    • Contemporary changes for Russia (Volgograd)
    • Fixed handling of Etc/GMT[+-]XX zones: confusingly, the POSIX interpretation is that Etc/GMT+1 is 1 hour behind UTC, and Etc/GMT-1 is 1 hour ahead, which is the opposite of what this module started doing in the 2.38 release when it added support for these zones (GH#47)

Thursday 24th December 2020

Fedora Project

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

    • Update to Devel::PPPort 3.62

    • Allow adding to existing data in csv (out => $ref)

    • examples/csv2xlsx: -L # to limit records to export

    • examples/csv2xlsx: --de # for possible double-encoding fix

    • examples/csv2xlsx: Check if .xlsx is creatable before conversion

    • Add examples/csv-split

    • Small documentation additions
    • Fix META issue for bug tracker

Local Packages

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

Monday 28th December 2020

Local Packages

  • Updated perl-Term-ReadLine-Gnu to 1.37:

    • readline-8.1 support

      • New functions rl_activate_mark, rl_deactivate_mark, rl_keep_mark_active and rl_mark_active_p

      • Use native operate_and_get_next on GNU ReadLine 8.1 and later

    • Gnu.xs: warns if attempted completion function returns undef in position 0 (CPAN RT#132384)

    • ppport.h: Update from version 3.31 to version 3.52

    • Fixes to be more CPAN Testers friendly
    • Makefile.PL exits 0 when $TERM is not set properly (CPAN RT#128806)

    • Update URLs of the GNU Readline Library manual website (CPAN RT#131362)

    • Update URLs of soundgrab

Wednesday 30th December 2020

Fedora Project

  • Updated gtkwave to 3.3.108 in Rawhide:

    • Added View/Leading Zero Removal toggle item also controlled by lz_removal rc var

    • User submitted patch using gtk_widget_get_scale_factor()

    • Add include of X11/X.h for Arch Linux

    • Fix VZT writer crash when dumpoff is invoked before first timestep

    • Fix convert_ffo(), which scanned in wrong direction

    • Fix use after free in fstapi.c

  • Updated perl-IO-AIO to 4.75 in Rawhide:

    • Added pidfd_open, pidfd_getfd and pidfd_send_signal functions

    • Rework bin/treescan to avoid recursion; this fixes two bugs where a deep directory traversal or a lot of command line arguments could cause it to crash

    • Support defining syscall numbers in gendef0

    • Added (but not documented) open_tree, AT_* and move_mount flags

    • Added (but not documented) waitid-P_*, FSPICK_*, FSOPEN_*, FSCONFIG_*, MOUNT_ATTR_* constants

Local Packages

  • Updated gtkwave to 3.3.108 as per the Fedora version

  • Updated perl-IO-AIO to 4.75 as per the Fedora version

Thursday 31st December 2020

Fedora Project

  • Updated python-invoke to 1.5.0 in Rawhide:

    • Allow any string-compatible object to be passed to 'Context.cd', enabling use of (for example) 'pathlib.Path' instances (GH#454, GH#577, GH#583, GH#607, GH#681)

    • Don't silently discard help text for task arguments whose names happen to contain underscores (GH#409, GH#580, GH#611)

    • Don't silently ignore task help specifiers that don't actually map to the decorated task's arguments (e.g. '@task(help={"foo": "help for foo"})' wrapping a task without a 'foo' argument) (GH#398, GH#580, GH#611)

    • Allow subcollections to act as the default 'tasks' of their parent collections (via the new 'default' kwarg to '~invoke.collection.Collection.add_collection'); this means that non-trivial task trees can specify, e.g. "use my test subcollection's default task as the global default task" and similar (GH#197)

    • Enhanced test coverage in a handful of modules whose coverage was under 90%
    • '~invoke.context.MockContext' now populates its 'NotImplementedError' exception instances (typically raised when a command is executed that had no pre-prepared result) with the command string that triggered them; this makes it much easier to tell what exactly in a test caused the error

    • '~invoke.context.MockContext' now accepts a few quality-of-life shortcuts as keys and values in its 'run'/'sudo' arguments:

      • Keys may be compiled regular expression objects, as well as strings, and will match any calls whose commands match the regex
      • Values may be 'True' or 'False' as shorthand for otherwise empty '~invoke.runners.Result' objects with exit codes of '0' or '1' respectively

      • Values may also be strings, as shorthand for otherwise empty '~invoke.runners.Result' objects with those strings given as the 'stdout' argument

    • Add a new 'repeat' kwarg to '~invoke.context.MockContext' which, when True (default: False) causes stored results for its methods to be yielded repeatedly instead of consumed (GH#441)

    • Immutable iterable result values handed to '~invoke.context.MockContext' would yield errors (due to the use of 'pop()'); the offending logic has been retooled to be more iterator-focused and now works for tuples and etc.

    • Update the testing documentation a bit: cleaned up existing examples and added new sections for the other updates in the 1.5 release
    • Automatically populate the 'command' attribute of '~invoke.runners.Result' objects returned by '~invoke.context.MockContext' methods, with the command string triggering that result; previously, users had to do this by hand or otherwise suffered inaccurate result objects (GH#700)

    • Upgrade '~invoke.context.MockContext' to wrap its methods in 'Mock' objects if the '(unittest.)mock' library is importable; this makes testing Invoke-using codebases even easier

Previous Month: November 2020
Next Month: January 2021

Recent