The release notes for 5.2 state the following:- "The new `globskipdots' shell option forces pathname expansion never to return `.' or `..' unless explicitly matched. It is enabled by default." This is a backwards-incompatible change, because the option in question defaults to being enabled. Further, it violates the standard rules for matching against pathnames containing a leading period. $ declare -p BASH_VERSION declare -- BASH_VERSION="5.1.16(1)-release" $ cd /var/empty; printf %s\\n .? .. $ declare -p BASH_VERSION declare -- BASH_VERSION="5.2.15(1)-release" $ cd /var/empty; printf %s\\n .? .? Is it covered by BASH_COMPAT? Of course not! $ BASH_COMPAT=50 $ printf %s\\n .? .? That being said, I consider it to be exceedingly unlikely that this change meaningfully impacts upon portage or any of the ebuilds and eclasses that exist, both of the official and unofficial variety. Nevertheless, I decided to report this because, from the standpoint of PMS purporting to retain backward-compatibility, portage's present behaviour is not strictly correct.
I'll tentatively block bug 881379 just as it's something we should review before proceeding with stabilisation, even if we don't keep it as a blocker.
Need to do something like https://gitweb.gentoo.org/proj/portage.git/commit/?id=69cac73ba0a7bcf2e2cff88c60d389895a550623.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=19e750b6880c1ffba55c4d309fbf33d5e746ee33 commit 19e750b6880c1ffba55c4d309fbf33d5e746ee33 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-06-13 02:20:27 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-06-13 02:23:38 +0000 bin/ebuild.sh: disable globskipdots too in Bash 5.2 See 69cac73ba0a7bcf2e2cff88c60d389895a550623. globskipdots is a new option in bash-5.2 that is also default-on in that release. The default value is not gated by BASH_COMPAT (see bug #907061), hence we need to disable it for older Bashes to avoid behaviour changes in ebuilds and eclasses. Bug: https://bugs.gentoo.org/907061 Signed-off-by: Sam James <sam@gentoo.org> NEWS | 6 ++++++ bin/ebuild.sh | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-)
We've done what we can -- the Portage change isn't yet released but I'll try to do that soon.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02d0e00a1ba811b39140d10e17488f7fc3916534 commit 02d0e00a1ba811b39140d10e17488f7fc3916534 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-09-11 01:30:10 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-09-11 01:30:30 +0000 sys-apps/portage: add 3.0.66 Closes: https://bugs.gentoo.org/435066 Closes: https://bugs.gentoo.org/907061 Closes: https://bugs.gentoo.org/910560 Closes: https://bugs.gentoo.org/933433 Closes: https://bugs.gentoo.org/934220 Closes: https://bugs.gentoo.org/934514 Closes: https://bugs.gentoo.org/934784 Closes: https://bugs.gentoo.org/935830 Closes: https://bugs.gentoo.org/936273 Closes: https://bugs.gentoo.org/937384 Closes: https://bugs.gentoo.org/937485 Closes: https://bugs.gentoo.org/937740 Closes: https://bugs.gentoo.org/937888 Closes: https://bugs.gentoo.org/937891 Closes: https://bugs.gentoo.org/938127 Closes: https://bugs.gentoo.org/933499 Signed-off-by: Sam James <sam@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-3.0.66.ebuild | 227 +++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+)