Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1872922

Summary: xkb-converted console layouts that cannot input ASCII not stripped due to grep / zgrep -L bug ; causes several languages to have broken console layouts
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: kbdAssignee: Vitezslav Crhonek <vcrhonek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 33CC: gmarr, robatino, vcrhonek
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: openqa AcceptedFreezeException AcceptedBlocker
Fixed In Version: kbd-2.3.0-2.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-02 19:48:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1863830, 1872913    
Bug Blocks: 1766776, 1766777    

Description Adam Williamson 2020-08-26 23:21:34 UTC
In kbd-2.3.0-1.fc33 , all xkb-converted console layouts that cannot input ASCII were left in, not stripped as intended. This is because of a bug in zgrep -L caused by a grep change in 3.4:

https://bugzilla.redhat.com/show_bug.cgi?id=1872913

because of that bug, the line in kbd %install that's intended to strip all non-ASCII-capable converted layouts didn't work:

# wipe converted layouts which cannot input ASCII (#1031848)
zgrep -L "U+0041" $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/* | xargs rm -f

and they all stayed in the package. This means that, for instance, we have a /usr/lib/kbd/keymaps/xkb/ru.map.gz which cannot input ASCII characters, only Russian ones. This is a big problem, because that layout actually "wins" over /usr/lib/kbd/keymaps/legacy/i386/qwerty/ru.map.gz when we go to load a layout called 'ru', and that makes a Russian install virtually unusable at the console because you can't type any ASCII characters. For an encrypted install, this renders the system pretty much unbootable, because you will have the broken layout when attempting to enter your encryption passphrase, so you just won't be able to do it.

Proposing as a Final blocker as a violation of Final criterion "If a particular keyboard layout has been configured for the system, that keyboard layout must be used: When unlocking encrypted storage volumes during boot (but see footnotes)". We expect the switchable legacy 'ru' layout in ASCII input mode during decryption, not the non-switchable xkb-converted one.

I'm currently working to get a grep build done with the fix for the zgrep bug, after which we'll be able to rebuild kbd and get the layouts stripped properly again. It's hard sledding, though, because there's another bug causing the grep test suite to crash on some arches...

Comment 1 Adam Williamson 2020-08-28 18:37:43 UTC
OK, I got this fixed for Rawhide with https://koji.fedoraproject.org/koji/taskinfo?taskID=50341727 - grep is rebuilt now, and I've examined the kbd-misc from that build and confirmed its contents are much more like kbd-misc-2.2.0-3.fc33 than kbd-misc-2.3.0-1.fc33, with just the changes you'd expect from 2.3.0 (a few layouts updated, a few added).

Will do the same for F33, but can only do it when the new gcc build (https://koji.fedoraproject.org/koji/buildinfo?buildID=1601225 ) finally completes as we need that to rebuild grep.

Comment 2 Fedora Update System 2020-08-28 21:36:25 UTC
FEDORA-2020-81fea835a4 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-81fea835a4

Comment 3 Fedora Update System 2020-08-31 14:27:37 UTC
FEDORA-2020-81fea835a4 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-81fea835a4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-81fea835a4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 4 Adam Williamson 2020-08-31 16:38:34 UTC
we should actually make this a Beta FE as well as fixing it for Beta is obviously desirable. proposing.

Comment 5 Geoffrey Marr 2020-08-31 17:30:39 UTC
Discussed during the 2020-08-31 blocker review meeting: [0]

The decision to classify this bug as both an "AcceptedBlocker (Final)" and an "AcceptedFreezeException (Beta)" was made as a violation of the following blocker criterion:

"If a particular keyboard layout has been configured for the system, that keyboard layout must be used: When unlocking encrypted storage volumes during boot (but see footnotes)"

Also accepted as a Beta FE as a significant bug for affected languages which cannot be fixed with a post-release update.

[0] https://meetbot.fedoraproject.org/fedora-blocker-review/2020-08-31/f33-blocker-review.2020-08-31-16.00.txt

Comment 6 Fedora Update System 2020-09-02 19:48:48 UTC
FEDORA-2020-81fea835a4 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.