Closed Bug 334136 Opened 19 years ago Closed 18 years ago

Software Update fails with language packs

Categories

(Toolkit :: Application Update, defect, P2)

defect

Tracking

()

VERIFIED FIXED
mozilla1.9alpha7

People

(Reporter: kinger, Assigned: Pike)

References

Details

(Keywords: fixed1.8.1.8)

Attachments

(1 file, 3 obsolete files)

I installed Firefox 1.5.0.1 ... the Slovene (sl-SI) version. Yesterday I was prompted to upgrade to 1.5.0.2. So I went for it. The XPI update failed, so it went ahead and installed the whole distro. However, the version that installed was not sl-SI, but en-US. The fact that I did the upgrade from a profile with the en-US langpack installed might have something to do with it, but then again may not.
The update system uses the value of general.useragent.locale to determine the build to update to - if the langpack changes this pref, then you'll get the build corresponding to that locale.
Gavin: that's the bug...
Yes, I just thought I'd confirm it, seeing as how no one else had (comment 0 says "might have something to do with it, but then again may not").
This is not going to make 1.8.0 or 1.8. I'll fix it on trunk with the work for a unified and unique buildid.
OS: Linux → All
Priority: -- → P2
Hardware: PC → All
Target Milestone: --- → Firefox 3 alpha1
Version: 1.5.0.x Branch → Trunk
As I mentioned over in bug 370421, we could just add the locale explicitly to browserconfig.properties and use that instead of the currently selected locale. I'm adjusting the description a bit, I would have expected "Software Update does not handle locales" to be a different bug. Though I confess that I didn't search for dupes, bad me. As I'm off-topic and dupe, my mind somehow marries this problem with getting the language packs up on AMO for updating, see bug 245946, I guess.
Summary: Software Update does not handle locales → Software Update fails with language packs
Flags: blocking-firefox3?
Target Milestone: Firefox 3 alpha1 → Firefox 3 beta1
Flags: blocking-firefox3? → blocking-firefox3+
Blocks: 371006
Depends on bug 313453 , because updating to another branch without updating the language pack would leave the profile unusable (locale has to be changed in the pref.js, otherwise chrome error on startup). Setting the locale to default would not be userfriendly.
Assignee: benjamin → nobody
Depends on: 313453
Why did you reasssign this to nobody?
Assignee: nobody → benjamin
Maybe the blocker should be removed, Pike mentioned en-US fallback for non-compatible language packs is coded into the applications. For Sunbird 0.3 > 0.3.1 I'm pretty sure that the language packs had been disabled and the application did not fall back to en-US (had to change it with the editor). If I am wrong, remove it. To the patch: Unfortunately with the trunk source and there is no actual language pack available. An en-US build with a language pack with forced compatibility detects the update, bug pressing the restart button does nothing, maybe because of missing strings (the error console can't be accessed because of this).
Attachment #268248 - Flags: review?
Comment on attachment 268248 [details] [diff] [review] gets the default locale for %LOCALE% That's not necessarily as robust as I'd like it to be, as an add-on shipping that pref would still overwrite the default value. And I still want langpacks to do that, and other approaches would do, too, such as bundling langpacks with existing builds. That's something that has been brought up recently, and the fix for this bug should pick that up. IMHO, we need something keeping track of the built locale at packaging time and read that in. Thus, r-'ing this, but thanks for taking a stab at it. Benjamin, could you chime in with what your approach would be? Is comment 4 still up-to-date?
Attachment #268248 - Flags: review? → review-
Attachment #268248 - Flags: review?(benjamin) → review-
browser.useragent.installedLocale is used instead of general.useragent.locale and represents the language of the application during the installation. Do you want another name (because there are non-browser apps) like app.useragent.installedLocale? At the momemt, app is nearly only used for update related things. The patch isn't built or tested because of my slow machine, please excuse this. Expecting a r- to be faster.
Attachment #268248 - Attachment is obsolete: true
Attachment #270881 - Flags: review?
Comment on attachment 270881 [details] [diff] [review] checks for install locale of browser instead of active language pack This still misses the interesting part, which is to make nsUpdateService.js.in:getLocale use the browserconfig.properties stringbundle directly. http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/browser/base/content/browser.js&mark=4328-4330&rev=1.811#4320 has other code that does that. I'm personally in favour of calling the entity app.installedLocalization or Language, the term locale is a tad overused, IMHO. Hitting Benjamin with a design-review request for this.
Attachment #270881 - Flags: review?(l10n) → review?(benjamin)
Comment on attachment 270881 [details] [diff] [review] checks for install locale of browser instead of active language pack forget a file, coming soon
Attachment #270881 - Attachment is obsolete: true
Attachment #270881 - Flags: review?(benjamin)
Comment on attachment 270884 [details] [diff] [review] included demanded changes Sorry, hadn't used a unique identifier for sr?
Attachment #270884 - Flags: superreview? → superreview?(benjamin)
Comment on attachment 270884 [details] [diff] [review] included demanded changes Grr on me, I totally missed that this doesn't work for thunderbird at all, sorry for that.
Attachment #270884 - Flags: superreview?(benjamin)
Attachment #270884 - Flags: review?(l10n)
Attachment #270884 - Flags: review-
Comment on attachment 268248 [details] [diff] [review] gets the default locale for %LOCALE% OK, it seems like default branch is at good as it gets and works independent of Firefox-isms. Benjamin, sr?
Attachment #268248 - Attachment is obsolete: false
Attachment #268248 - Flags: superreview?(benjamin)
Attachment #268248 - Flags: review-
Attachment #268248 - Flags: review+
Comment on attachment 268248 [details] [diff] [review] gets the default locale for %LOCALE% >+ var prefs = Components.classes["@mozilla.org/preferences-service ;1"]. >+ getService(Components.interfaces.nsIPrefService) ; You should get rid of the whitespace before the semicolons. And this looks better if you align the dots like this: Components.classes[ .getService(
Attachment #268248 - Flags: superreview?(benjamin)
Attachment #268248 - Flags: superreview+
Attachment #268248 - Flags: approval1.8.1.6?
Carrying over reviews, this is the patch I'm going to check in. I did the whitespace fix-ups that steffen wanted, one of which is sadly actually relevant. Tested on my own build with app.update.log.Checker set to true, the update url sent is for en-US both with and without an activated polish language pack.
Assignee: benjamin → l10n
Attachment #270884 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #272641 - Flags: superreview+
Attachment #272641 - Flags: review+
Checking in nsUpdateService.js.in; /cvsroot/mozilla/toolkit/mozapps/update/src/nsUpdateService.js.in,v <-- nsUpdateService.js.in new revision: 1.139; previous revision: 1.138 done Attachment 272641 [details] [diff] checked in on trunk. A good verification for this patch is to check that the nightly update channel still works.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Keywords: verifyme
Resolution: --- → FIXED
Comment on attachment 268248 [details] [diff] [review] gets the default locale for %LOCALE% moving approval request over to the checked-in patch
Attachment #268248 - Flags: approval1.8.1.6?
Comment on attachment 268248 [details] [diff] [review] gets the default locale for %LOCALE% moving approval request over to the checked-in patch
Attachment #268248 - Attachment is obsolete: true
Verified with Windows XP and en-US Trunk with pl-PL language pack. But the update dialog "Firefox is installing ..." is en-US.
Baked on trunk for a bit now, VERIFIED. Time to request approval for the branch again.
Status: RESOLVED → VERIFIED
Keywords: verifyme
Comment on attachment 272641 [details] [diff] [review] patch for check-in Requesting approval1.8.1.6. This fix is an important step in being able to more aggressively advocate testing of new localizations via language packs without breaking security updates. The fix is small and verified with loads of dogfood nightly updates on the trunk.
Attachment #272641 - Flags: approval1.8.1.6?
Comment on attachment 272641 [details] [diff] [review] patch for check-in approved for 1.8.1.7, a=dveditz for release-drivers
Attachment #272641 - Flags: approval1.8.1.7? → approval1.8.1.7+
Fixed on the branch, too. Thanks to Archaeopteryx for the patch.
Keywords: fixed1.8.1.7
Axel, can you verify this on branch using the 2.0.0.8 RC2 build? If so, please change the "fixed1.8.1.8" keyword to "verified1.8.1.8".
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: