FS#10645 - sed included regex is broken in 64-bit build

Attached to Project: Arch Linux
Opened by David Moore (dave42) - Thursday, 12 June 2008, 10:45 GMT
Last edited by Andreas Radke (AndyRTR) - Saturday, 16 August 2008, 19:28 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Andreas Radke (AndyRTR)
Architecture x86_64
Severity High
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

sed compiled without the --without-included-regex configure option is broken in the 64-bit build with a UTF8 locale - it runs case-insensitive. This is an example:

[davidm@dave42 ~]$ echo Test | sed -e "s/[A-Z]/_/g"
____

Note all letters, upper and lower case, matched [A-Z]. For reference, here's the same example run under my 32-bit chroot:

[davidm@dave42 ~]$ dchroot -d "echo Test | sed -e 's/[A-Z]/_/g'"
I: [arch32 chroot] Running command: “echo Test | sed -e 's/[A-Z]/_/g'”
_est

which is the correct result. The attached patch adds the --without-included-regex flag, which fixes the problem.

Additional info:
sed 4.1.5
LANG=en_ZA.utf8
x86_64
This task depends upon

Closed by  Andreas Radke (AndyRTR)
Saturday, 16 August 2008, 19:28 GMT
Reason for closing:  Deferred
Additional comments about closing:  will be fixed with next release
Comment by Glenn Matthys (RedShift) - Monday, 16 June 2008, 21:38 GMT
How does this affect i686 when configured with --without-included-regex and did you test with non UTF8 locales?
Comment by David Moore (dave42) - Monday, 16 June 2008, 21:51 GMT
I did test with non-UTF8 locales. The reason I mentioned UTF8 is that prepending LC_ALL=C to the sed command causes it to succeed - this means that the sed package tests pass, as they all prepend the command with LC_ALL=C.

I have not tested i686 with the --without-included-regex option. I will try to have an opportunity to do so.

The --without-included-regex switch is used in compiling the 64-bit Fedora Core 8 sed package. I do not know if Fedora uses it for i386.
Comment by Andreas Radke (AndyRTR) - Saturday, 16 August 2008, 19:28 GMT
Fedora uses --without-included-regex for all architectures. I think it won't break anything. I will use it for next update and commit to trunk for next pkg update. For now rebuild the package yourself as it's no major breaker. Please test carefully when next sed update hits testing repo.

Loading...