From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from albireo.enyo.de ([5.158.152.32]:49142 "EHLO albireo.enyo.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729754AbeGQUz5 (ORCPT ); Tue, 17 Jul 2018 16:55:57 -0400 From: Florian Weimer Subject: Re: xfstests can't be installed by running make install References: <20180711143314.GD4893@hp-dl360g9-06.rhts.eng.pek2.redhat.com> <20180711163921.GI2780@desktop> <20180715054320.GZ2234@dastard> <20180715071110.GH2830@desktop> <20180716073051.GH4893@hp-dl360g9-06.rhts.eng.pek2.redhat.com> <20180717033214.GJ2830@desktop> Date: Tue, 17 Jul 2018 22:15:47 +0200 Message-ID: <87muupipos.fsf@mid.deneb.enyo.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Sender: fstests-owner@vger.kernel.org Content-Transfer-Encoding: quoted-printable To: Eryu Guan Cc: Paul Smith , Zorro Lang , fstests@vger.kernel.org, bug-make@gnu.org, Jim Meyering List-ID: * Eryu Guan: > This problem here doesn't seem the same as the bug above, Fedora 28 has > glibc-2.27, which contains the fix for above bug, and the bug is about > trailing "/". But the problem here is we're asking for all lower case > filenames but wildcard returns upper case names too. e.g. > > [root@fedoravm tmp]# pwd > /root/tmp > [root@fedoravm tmp]# ls -l > total 4 > -rw-r--r--. 1 root root 0 Jul 17 10:51 aaa > -rw-r--r--. 1 root root 0 Jul 17 10:51 AAA > -rw-r--r--. 1 root root 273 Jul 17 10:50 Makefile > drwxr-xr-x. 1 root root 0 Jul 15 14:59 testdir > [root@fedoravm tmp]# cat Makefile > STRING1 =3D $(wildcard $(CURDIR)/[a-z]*/) > STRING2 =3D $(wildcard ./[a-z]*/) > STRING3 =3D $(wildcard $(CURDIR)/[a-z]*/.) > STRING4 =3D $(wildcard $(CURDIR)/[a-z]*) > default: > @echo STRING1=3D"$(STRING1)" > @echo STRING2=3D"$(STRING2)" > @echo STRING3=3D"$(STRING3)" > @echo STRING4=3D"$(STRING4)" > [root@fedoravm tmp]# make > STRING1=3D/root/tmp/aaa /root/tmp/AAA /root/tmp/testdir/ /root/tmp/Make= file > STRING2=3D./aaa ./AAA ./testdir/ ./Makefile > STRING3=3D/root/tmp/testdir/. > STRING4=3D/root/tmp/aaa /root/tmp/AAA /root/tmp/testdir /root/tmp/Makef= ile > [root@fedoravm tmp]# > > STRING4 is asking for all lower file names, but both "AAA" and > "Makefile" are returned. This is related to this glibc bug: https://sourceware.org/bugzilla/show_bug.cgi?id=3D23393 The bug mentions the regular expression [0-9], but it also affects patterns like [a-z]. I have not yet looked at fnmatch and glob in detail, but based on the report here (and a quick test with =E2=80=9Cecho [a-z]*=E2=80=9D), they are affected by the same issue. This is ultimately caused by a locale data update which was backported into Fedora 28 (glibc 2.27) and its derivatives. Upstream glibc only has this change for version 2.28 (not yet released). It's currently not considered a release blocker, if it's even considered a bug at all. I dimly recall earlier discussions regarding this matter quite some time ago, perhaps in the POSIX context. GNU grep appears to have a workaround for [0-9], but not [a-z]. Cc:ing Jim Meyering in case he has any insights.