[f21-branch][master][PATCH 2/2] sgallagh: force defaultencoding to utf-8 on live (#1169019)

Adam Williamson awilliam at redhat.com
Tue Dec 2 08:53:06 UTC 2014

On Mon, 2014-12-01 at 20:32 -0800, Adam Williamson wrote:
> This has been done via pyanaconda/sitecustomize.py for non-live
> since Fedora 13, per #539904, commit 42a0227. However, that hack
> never worked for the live environment. This hack is about
> equally hacky, but works for live as well. This avoids crashes
> when we get unicode objects from pyparted and try to encode
> them. Written by Stephen Gallagher, he and I have tested that
> it resolves the crashes seen in F21 RC1 without breaking
> translations.

So in the end, we came up with a different idea, here. We looked again
at why we'd got a differently-behaving pyparted in the first place, and
it seems to have been a miscommunication with dcantrell, we think.

A new pyparted was needed in the first place to provide the
resetNumber() function that's needed for the #1166598 fix in blivet -
https://github.com/dwlehman/blivet/commit/aa326c7b2968bff6f1a9c726c5db039f5d51b90d .

It looks like pyparted 3.10.2 was pulled into the update on the basis
that the only change since 3.10.1 was adding the resetNumber() function,
so 3.10.2 changed as little as possible while still making the bug fix

This would've been true if we had pyparted 3.10.1 in Fedora 21, but in
fact we did not. We've had 3.9.5 in F21, since mid-June; every compose
since then, all the way up to Final TC4, had 3.9.5. Then 3.10.2 was
pulled in for RC1, and caused this bug. The delta between 3.9.5 and
3.10.2 is significant; we know it *at least* causes this bug, but it's
plausible it could have other unintended consequences, and pulling it in
post-freeze is clearly against the intent of the freeze policies.

So it seems fairly clear that the right thing to do is use a build of
pyparted 3.9.5 with the resetNumber() function backported, instead of
using 3.10.2. As we're getting down to the wire and dgilmore is going to
be on a plane, I really wanted to get the RC2 compose done now or else
it might not get done for ~16-24 hours and then we'd really be on hero
testing schedule. So I went ahead and did the pyparted build, with help
from vpodzime and testing from kparal. vpodzime reverted his liveinst
hack (i.e. applied patch 1/2 in this series), so we now have no icky
hacks for this crasher in anaconda at all, so far as this bug is
concerned, anaconda acts just as it did in Final TC4.

kparal and I tested that the combination of anaconda-21.48-21.fc21 and

* Doesn't hit the crasher when installing in Russian
* Does display translations fully
* Does still fix #1166598
* Does have help text

so I'm going to ask releng to fire the RC2 compose with
anaconda-21.48-21.fc21 and pyparted-3.9.5-3.fc21.
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net

More information about the anaconda-patches mailing list