FS#69589 - Different results for [] and /usr/bin/test with glibc-2.33-3

Attached to Project: Arch Linux
Opened by Eric Branlund (backwardsEric) - Monday, 08 February 2021, 18:41 GMT
Last edited by Allan McRae (Allan) - Thursday, 11 February 2021, 11:03 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Allan McRae (Allan)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

The updated glibc package (glibc-2.33-3) causes the test shell builtin to report different results for $SHELL than /usr/bin/test does, namely [ -x $SHELL ] fails while /usr/bin/test -x $SHELL succeeds. One downstream effect of that appears to be that running autoconf will fail with the message: "This script requires a shell more modern than all the shells that I found on your system."

This bug may be related to https://bugs.archlinux.org/task/69563?project=1&order=dateopened&sort=desc .

Additional info:
* package version(s)
This was observed in GitHub's Actions environment: their default archlinux container (appears to be from DockerHub; don't have details) running on the ubuntu-latest runner (current specifications are at https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1804-README.md ). The stock version of glibc in that Arch Linux container is 2.32-5 , the updated version is 2.33-3.
* config and/or log files etc.
* link to upstream bug report, if any

Steps to reproduce:
1) Run:
uname -a
echo $SHELL
$SHELL --version
echo "[] on $SHELL "`[ -x $SHELL ] && echo +x``[ -L $SHELL ] && echo +L``[ -f $SHELL ] && echo +f`
echo "/usr/bin/test on $SHELL "`/usr/bin/test -x $SHELL && echo +x``/usr/bin/test -L $SHELL && echo +L``/usr/bin/test -f $SHELL && echo +f`
2) In another instance, update the system and rerun the test:
pacman -Syu --noconfirm
uname -a
echo $SHELL
$SHELL --version
echo "[] on $SHELL "`[ -x $SHELL ] && echo +x``[ -L $SHELL ] && echo +L``[ -f $SHELL ] && echo +f`

I've attached the workflow script, broken_shell.yaml , that I used with GitHub's Actions. The trigger conditions at the top of the script will likely have to be adjusted for running in another account.

With that GitHub Arch Linux container, I got this for (1):

Linux 3b053b62a387 5.4.0-1039-azure #41~18.04.1-Ubuntu SMP Mon Jan 18 14:00:01 UTC 2021 x86_64 GNU/Linux
/bin/bash
GNU bash, version 5.1.4(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[] on /bin/bash +x+f
/usr/bin/test on /bin/bash +x+f

And I got this for (2):
Linux de00ce49903d 5.4.0-1039-azure #41~18.04.1-Ubuntu SMP Mon Jan 18 14:00:01 UTC 2021 x86_64 GNU/Linux
/bin/bash
GNU bash, version 5.1.4(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[] on /bin/bash +f
/usr/bin/test on /bin/bash +x+f
This task depends upon

Closed by  Allan McRae (Allan)
Thursday, 11 February 2021, 11:03 GMT
Reason for closing:  Not a bug
Additional comments about closing:  works in Arch
Comment by Doug Newgard (Scimmia) - Monday, 08 February 2021, 19:40 GMT
Seems to work fine on Arch, so possibly the same issue with the linked ticket - host software is outdated.

Loading...