From ad50ab06e4e1fc57afeb9db534ea2c822aded206 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Sun, 7 Jul 2024 13:18:32 -0700 Subject: [PATCH] Release 11.0.0 --- CHANGELOG.md | 32 +++++++++++++++++++++++++++- LICENSE | 12 +++++------ Makefile.am | 18 +++++++++------- README | 16 +++++++------- README.md | 16 +++++++------- changelog.d/20231230_193226_eagle.md | 21 ------------------ changelog.d/20240210_160848_eagle.md | 3 --- changelog.d/20240217_084600_eagle.md | 7 ------ changelog.d/20240217_092424_eagle.md | 3 --- changelog.d/20240313_194306_eagle.md | 3 --- changelog.d/20240317_224358_eagle.md | 3 --- changelog.d/20240317_224621_eagle.md | 3 --- configure.ac | 2 +- docs/docknot.yaml | 2 +- 14 files changed, 65 insertions(+), 76 deletions(-) delete mode 100644 changelog.d/20231230_193226_eagle.md delete mode 100644 changelog.d/20240210_160848_eagle.md delete mode 100644 changelog.d/20240217_084600_eagle.md delete mode 100644 changelog.d/20240217_092424_eagle.md delete mode 100644 changelog.d/20240313_194306_eagle.md delete mode 100644 changelog.d/20240317_224358_eagle.md delete mode 100644 changelog.d/20240317_224621_eagle.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a399a8..459dd28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,37 @@ Find changes for the upcoming release in the project's [changelog.d directory](h -## 11.0.0 (unreleased) + +## 11.0.0 (2024-07-07) + +### Backwards-incompatible changes + +- Raise the minimum Perl version for tests and test support libraries to Perl 5.12 (released in April of 2010). +- Require use of the Perl 5.12 `package Module::Name v1.0.0` syntax in the module version tests. Always use semantic versions when updating module versions. +- Update perltidy configuration for Perl critic tests, taking advantage of new perltidy features: add line breaks after labels, enable vertical alignment for => pairs, add trailing commas to multiline lists, and align trailing unless with trailing if. Thanks, Julien ÉLIE. +- Remove various obsolete exclusions from SPDX license tests now that the `@SPDX_IGNORE` configuration option is available (see below). + +### New features + +- Update the warning flags probed by `RRA_PROG_CC_WARNINGS_FLAGS` to disable `-Wunsafe-buffer-usage` for Clang (not intended for C code) and add several new GCC warnings and related flags added between GCC 9.2 and 13.2. +- `@SPDX_IGNORE` may now be set in the perl.conf test configuration file to specify an additional list of regular expressions matching files that the check for SPDX license headers should ignore. +- All Autoconf macros that detect libraries now use `-isystem` instead of `-I` for the include paths. This tells the compiler to suppress warnings for constructions in the headers by treating them as system headers. + +### Bug fixes + +- Ignore files created by the Perl Carton tool, JSON files, and temporary files generated by tests when checking for SPDX licenses and Perl strictness in standard tests. +- Suppress erroneous warnings from GCC 13.2 for `xrealloc` and `xreallocarray`. +- Fix errors in `docs/pod.t` and `style/critic.t` when neither `lib` or `blib` exists. +- Use `python-config` to find link flags if it is available, since this produces more correct results. Remove `LOCALMODLIBS` from the requested flags, since it is not necessary and breaks the build with newer Python versions. +- Do not unlink the file and then write to it in the mkstemp replacement test suite, since this fails on some file systems. This is not ideal since the calling program may be relying on traditional UNIX file semantics, but it can be addressed by moving temporary files to another file system and doesn't indicate a bug in the replacement function. Thanks to Julien ÉLIE for the report. +- Fix the portable/getaddrinfo test to not rely on undefined behavior, which caused test failures with musl. +- Fix recognition of nroff-escaped SPDX-License-Identifier headers in the Perl `t/docs/spdx-license.t` check. +- Check `Makefile.PL` in the Perl `t/style/critic.t` test if it exists. + +### Other changes + +- The rra-c-util change log is now formatted in Markdown, named `CHANGELOG.md`, and maintained using [scriv](https://scriv.readthedocs.io/en/latest/). +- rra-c-util now uses [semantic versions](https://semver.org/). ## 10.4 (2023-03-31) diff --git a/LICENSE b/LICENSE index afb8e7a..3e06719 100644 --- a/LICENSE +++ b/LICENSE @@ -8,7 +8,7 @@ Comment: This file documents the copyright statements and licenses for Files: * Copyright: 1997, 2000-2002 Benjamin Sittler - 2000-2002, 2004-2023 Russ Allbery + 2000-2002, 2004-2024 Russ Allbery 2001-2002, 2004-2014 The Board of Trustees of the Leland Stanford Junior University License: Expat @@ -35,7 +35,7 @@ Files: .clang-format docs/api/xmalloc.3 docs/api/xmalloc.pod tests/portable/reallocarray-t.c tests/portable/setenv-t.c tests/portable/strndup-t.c tests/util/buffer-t.c tests/util/vector-t.c util/macros.h util/vector.c util/vector.h -Copyright: 2000-2023 Russ Allbery +Copyright: 2000-2024 Russ Allbery 2005-2014 The Board of Trustees of the Leland Stanford Junior University 2015 Julien ÉLIE License: all-permissive @@ -47,7 +47,7 @@ License: all-permissive Files: Makefile.in Copyright: 1994-2021 Free Software Foundation, Inc. 2008-2014 The Board of Trustees of the Leland Stanford Junior University - 2015-2021 Russ Allbery + 2015-2022 Russ Allbery License: FSF-unlimited and Expat Files: aclocal.m4 @@ -105,7 +105,7 @@ Files: configure.ac m4/apache.m4 m4/apr.m4 m4/aprutil.m4 m4/bdb.m4 m4/libevent.m4 m4/openssl.m4 m4/pam-const.m4 m4/pcre.m4 m4/pcre2.m4 m4/remctl.m4 m4/sasl.m4 m4/sqlite3.m4 m4/systemd.m4 m4/tinycdb.m4 m4/vamacros.m4 m4/zlib.m4 -Copyright: 1999-2001, 2003, 2007, 2013-2018, 2020-2022 +Copyright: 1999-2001, 2003, 2007, 2013-2018, 2020-2022, 2024 Russ Allbery 2002-2014 The Board of Trustees of the Leland Stanford Junior University 2007-2008 Markus Moeller @@ -123,8 +123,8 @@ Copyright: 1991, 1994-2003 The Internet Software Consortium and Rich Salz 1998-2003 The Internet Software Consortium 2004-2011, 2016 Internet Systems Consortium, Inc. 2008-2014 The Board of Trustees of the Leland Stanford Junior University - 2009, 2011, 2015, 2018, 2021 Julien ÉLIE - 2014-2022 Russ Allbery + 2009, 2011, 2015, 2018, 2021, 2024 Julien ÉLIE + 2014-2024 Russ Allbery License: ISC Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above diff --git a/Makefile.am b/Makefile.am index dd6ea95..3d98874 100644 --- a/Makefile.am +++ b/Makefile.am @@ -29,14 +29,16 @@ PERL_DIRECTORIES = perl perl/lib perl/t perl/t/api perl/t/data perl/t/docs \ perl/t/lib perl/t/lib/Test perl/t/style # Additional files to include in the distribution. -EXTRA_DIST = .clang-format .github .gitignore LICENSE README.md bootstrap \ - ci/README ci/apt-packages ci/cpanfile ci/install ci/test \ - docs/api/xmalloc.pod docs/docknot.yaml m4/apache.m4 m4/apr.m4 \ - m4/aprutil.m4 m4/curl.m4 m4/ld-version.m4 m4/ldap.m4 m4/openssl.m4 \ - m4/pcre.m4 m4/remctl.m4 m4/tinycdb.m4 portable/winsock.c \ - tests/README tests/TESTS tests/data/cppcheck.supp \ - tests/data/generate-krb5-conf tests/data/krb5-pam.conf \ - tests/data/perl.conf tests/data/perlcriticrc tests/data/perltidyrc \ +EXTRA_DIST = .clang-format .github .gitignore CHANGELOG.md LICENSE \ + README.md bootstrap changelog.d/_template.md.jinja \ + changelog.d/scriv.ini ci/README ci/apt-packages ci/cpanfile \ + ci/install ci/test docs/api/xmalloc.pod docs/docknot.yaml \ + m4/apache.m4 m4/apr.m4 m4/aprutil.m4 m4/curl.m4 m4/ld-version.m4 \ + m4/ldap.m4 m4/openssl.m4 m4/pcre.m4 m4/remctl.m4 m4/tinycdb.m4 \ + portable/winsock.c tests/README tests/TESTS \ + tests/data/cppcheck.supp tests/data/generate-krb5-conf \ + tests/data/krb5-pam.conf tests/data/perl.conf \ + tests/data/perlcriticrc tests/data/perltidyrc \ tests/data/valgrind.supp tests/docs/pod-spelling-t tests/docs/pod-t \ tests/docs/spdx-license-t tests/fakepam/README tests/kafs/basic-t \ tests/perl/critic-t tests/perl/minimum-version-t \ diff --git a/README b/README index d385a46..920721e 100644 --- a/README +++ b/README @@ -1,8 +1,8 @@ - rra-c-util 10.4 + rra-c-util 11.0.0 (Russ Allbery's utility libraries for C) Maintained by Russ Allbery - Copyright 2000, 2009-2010, 2013-2023 Russ Allbery . + Copyright 2000, 2009-2010, 2013-2024 Russ Allbery . Copyright 2009-2014 The Board of Trustees of the Leland Stanford Junior University. This software is distributed under a BSD-style license. Please see the section LICENSE below for more information. @@ -90,7 +90,7 @@ REQUIREMENTS A dummy Perl module is built and tested as part of the rra-c-util build in order to exercise the included Perl test support libraries. This - requires Perl 5.10 or later and Module::Build (available from CPAN). + requires Perl 5.12 or later and Module::Build (available from CPAN). The included components of rra-c-util are usable without Perl (by copying them to another package), even though the build will fail. @@ -178,7 +178,7 @@ TESTING ensure that necessary environment variables are set up. To run the full test suite, and to use the Perl test support libraries, - Perl 5.10 or later is required. The following additional Perl modules + Perl 5.12 or later is required. The following additional Perl modules will be used if present: * Devel::Cover @@ -320,9 +320,9 @@ SUPPORT https://github.com/rra/rra-c-util/issues - However, please be aware that I tend to be extremely busy and work - projects often take priority. I'll save your report and get to it as - soon as I can, but it may take me a couple of months. + Please be aware that I tend to be extremely busy and work projects often + take priority. I'll save your report and get to it as soon as I can, + but it may take me a couple of months. SOURCE REPOSITORY @@ -348,7 +348,7 @@ LICENSE The rra-c-util package as a whole is covered by the following copyright statement and license: - Copyright 2000, 2009-2010, 2013-2023 Russ Allbery + Copyright 2000, 2009-2010, 2013-2024 Russ Allbery Copyright 2009-2014 The Board of Trustees of the Leland Stanford Junior University diff --git a/README.md b/README.md index c502e39..752ab95 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Build status](https://github.com/rra/rra-c-util/workflows/build/badge.svg)](https://github.com/rra/rra-c-util/actions) -Copyright 2000, 2009-2010, 2013-2023 Russ Allbery . +Copyright 2000, 2009-2010, 2013-2024 Russ Allbery . Copyright 2009-2014 The Board of Trustees of the Leland Stanford Junior University. This software is distributed under a BSD-style license. Please see the section [License](#license) below for more information. @@ -87,7 +87,7 @@ calls. A dummy Perl module is built and tested as part of the rra-c-util build in order to exercise the included Perl test support libraries. This requires -Perl 5.10 or later and Module::Build (available from CPAN). The included +Perl 5.12 or later and Module::Build (available from CPAN). The included components of rra-c-util are usable without Perl (by copying them to another package), even though the build will fail. @@ -186,7 +186,7 @@ Do this instead of running the test program directly since it will ensure that necessary environment variables are set up. To run the full test suite, and to use the Perl test support libraries, -Perl 5.10 or later is required. The following additional Perl modules +Perl 5.12 or later is required. The following additional Perl modules will be used if present: * Devel::Cover @@ -324,10 +324,10 @@ the current version of this package, the current documentation, and pointers to any additional resources. For bug tracking, use the [issue tracker on -GitHub](https://github.com/rra/rra-c-util/issues). However, please be -aware that I tend to be extremely busy and work projects often take -priority. I'll save your report and get to it as soon as I can, but it -may take me a couple of months. +GitHub](https://github.com/rra/rra-c-util/issues). Please be aware that I +tend to be extremely busy and work projects often take priority. I'll +save your report and get to it as soon as I can, but it may take me a +couple of months. ## Source Repository @@ -349,7 +349,7 @@ requests are gratefully reviewed and normally accepted. The rra-c-util package as a whole is covered by the following copyright statement and license: -> Copyright 2000, 2009-2010, 2013-2023 +> Copyright 2000, 2009-2010, 2013-2024 > Russ Allbery > > Copyright 2009-2014 diff --git a/changelog.d/20231230_193226_eagle.md b/changelog.d/20231230_193226_eagle.md deleted file mode 100644 index 77f712a..0000000 --- a/changelog.d/20231230_193226_eagle.md +++ /dev/null @@ -1,21 +0,0 @@ -### Backwards-incompatible changes - -- Raise the minimum Perl version for tests and test support libraries to Perl 5.12 (released in April of 2010). -- Require use of the Perl 5.12 `package Module::Name v1.0.0` syntax in the module version tests. Always use semantic versions when updating module versions. -- Update perltidy configuration for Perl critic tests, taking advantage of new perltidy features: add line breaks after labels, enable vertical alignment for => pairs, add trailing commas to multiline lists, and align trailing unless with trailing if. Thanks, Julien ÉLIE. -- Remove various obsolete exclusions from SPDX license tests now that the `@SPDX_IGNORE` configuration option is available (see below). - -### New features - -- Update the warning flags probed by `RRA_PROG_CC_WARNINGS_FLAGS` to disable `-Wunsafe-buffer-usage` for Clang (not intended for C code) and add several new GCC warnings and related flags added between GCC 9.2 and 13.2. -- `@SPDX_IGNORE` may now be set in the perl.conf test configuration file to specify an additional list of regular expressions matching files that the check for SPDX license headers should ignore. - -### Bug fixes - -- Ignore files created by the Perl Carton tool, JSON files, and temporary files generated by tests when checking for SPDX licenses and Perl strictness in standard tests. -- Suppress erroneous warnings from GCC 13.2 for `xrealloc` and `xreallocarray`. - -### Other changes - -- The rra-c-util change log is now formatted in Markdown, named `CHANGELOG.md`, and maintained using [scriv](https://scriv.readthedocs.io/en/latest/). -- rra-c-util now uses [semantic versions](https://semver.org/). diff --git a/changelog.d/20240210_160848_eagle.md b/changelog.d/20240210_160848_eagle.md deleted file mode 100644 index 20f4845..0000000 --- a/changelog.d/20240210_160848_eagle.md +++ /dev/null @@ -1,3 +0,0 @@ -### Bug fixes - -- Fix errors in `docs/pod.t` and `style/critic.t` when neither `lib` or `blib` exists. diff --git a/changelog.d/20240217_084600_eagle.md b/changelog.d/20240217_084600_eagle.md deleted file mode 100644 index 7a22022..0000000 --- a/changelog.d/20240217_084600_eagle.md +++ /dev/null @@ -1,7 +0,0 @@ -### New features - -- All Autoconf macros that detect libraries now use `-isystem` instead of `-I` for the include paths. This tells the compiler to suppress warnings for constructions in the headers by treating them as system headers. - -### Bug fixes - -- Use `python-config` to find link flags if it is available, since this produces more correct results. Remove `LOCALMODLIBS` from the requested flags, since it is not necessary and breaks the build with newer Python versions. diff --git a/changelog.d/20240217_092424_eagle.md b/changelog.d/20240217_092424_eagle.md deleted file mode 100644 index bd02cdc..0000000 --- a/changelog.d/20240217_092424_eagle.md +++ /dev/null @@ -1,3 +0,0 @@ -### Bug fixes - -- Do not unlink the file and then write to it in the mkstemp replacement test suite, since this fails on some file systems. This is not ideal since the calling program may be relying on traditional UNIX file semantics, but it can be addressed by moving temporary files to another file system and doesn't indicate a bug in the replacement function. Thanks to Julien ÉLIE for the report. diff --git a/changelog.d/20240313_194306_eagle.md b/changelog.d/20240313_194306_eagle.md deleted file mode 100644 index 96aecfa..0000000 --- a/changelog.d/20240313_194306_eagle.md +++ /dev/null @@ -1,3 +0,0 @@ -### Bug fixes - -- Fix the portable/getaddrinfo test to not rely on undefined behavior, which caused test failures with musl. diff --git a/changelog.d/20240317_224358_eagle.md b/changelog.d/20240317_224358_eagle.md deleted file mode 100644 index cef04ee..0000000 --- a/changelog.d/20240317_224358_eagle.md +++ /dev/null @@ -1,3 +0,0 @@ -### Bug fixes - -- Fix recognition of nroff-escaped SPDX-License-Identifier headers in the Perl `t/docs/spdx-license.t` check. diff --git a/changelog.d/20240317_224621_eagle.md b/changelog.d/20240317_224621_eagle.md deleted file mode 100644 index b38750d..0000000 --- a/changelog.d/20240317_224621_eagle.md +++ /dev/null @@ -1,3 +0,0 @@ -### Bug fixes - -- Check `Makefile.PL` in the Perl `t/style/critic.t` test if it exists. diff --git a/configure.ac b/configure.ac index 3774c5b..6769dd7 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,7 @@ dnl SPDX-License-Identifier: FSFULLR dnl I use this introductory boilerplate for all configure.ac files, changing dnl the AC_INIT arguments as appropriate. AC_PREREQ([2.64]) -AC_INIT([rra-c-util], [10.4], [eagle@eyrie.org]) +AC_INIT([rra-c-util], [11.0.0], [eagle@eyrie.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_LIBOBJ_DIR([portable]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/docs/docknot.yaml b/docs/docknot.yaml index a4031db..0868448 100644 --- a/docs/docknot.yaml +++ b/docs/docknot.yaml @@ -15,7 +15,7 @@ format: v1 name: rra-c-util maintainer: Russ Allbery -version: '10.4' +version: '11.0.0' synopsis: Russ Allbery's utility libraries for C license: