Closed Bug 1084258 Opened 10 years ago Closed 9 years ago

Language pack compatibility should be bound to Gecko branch, else undefined entity errors possible

Categories

(SeaMonkey :: Build Config, defect)

x86_64
Windows 8.1
defect
Not set
normal

Tracking

(firefox38 fixed, firefox39 fixed, firefox40 fixed, seamonkey2.35 fixed, seamonkey2.36 fixed, seamonkey2.37 fixed)

RESOLVED FIXED
seamonkey2.37
Tracking Status
firefox38 --- fixed
firefox39 --- fixed
firefox40 --- fixed
seamonkey2.35 --- fixed
seamonkey2.36 --- fixed
seamonkey2.37 --- fixed

People

(Reporter: aryx, Assigned: kairo)

References

Details

Attachments

(1 file, 1 obsolete file)

SeaMonkey 2.30 on Windows 8.1 64 bit

Upgrading from SeaMonkey 2.29.1 with the German language pack active to SeaMonkey 2.30 keeps the German language pack for SeaMonkey 2.29 active. This causes undefined entity error, e.g. when opening menu Help > Troubleshooting Information ("Hilfe" > "Informationen zur Fehlerbehebung") because it contains strings added in Gecko 33 (SeaMonkey 2.30).

Steps to reproduce:
1. Install SeaMonkey 2.29 from https://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.29/
2. Install German language pack from https://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.29/langpack/
3. Set general.useragent.locale to de
4. Restart SeaMonkey.
5. Open menu "Hilfe" > "Informationen zur Fehlerbehebung".

This is caused by the maxVersion 2.* in the compatibility information in install.rdf:

        <em:minVersion>2.30</em:minVersion>
        <em:maxVersion>2.*</em:maxVersion>
It's definitely a bug that langpacks end up with that, they should end up with e.g. "2.30.*" in this case.

That said, if you have an online connection and that version of the langpack is up on AMO, I thought that we'd request the compat data from AMO where the correct data is set and then things should work fine.
The bug that broke it is bug 940973. We either need to override this for SM, or special case the setting of it.
This is a patch that special-cases SeaMonkey to give it an appropriate maxVersion, as it uses a version scheme where the second number changes for every Gecko version but the first doesn't.

I have tested this with current SeaMonkey beta by enabling debugQA, which also uses this maxVersion definition (language repack is a bit hard, and pre-beta versions do not use this .* thing at all).

Mike, you reviewed bug 940973, which caused this issue, so I hope you are the peer with best knowledge of this code.
Attachment #8586967 - Flags: review?(mh+mozilla)
Taking this bug for now, granted that my patch or something very near to it is acceptable.
Assignee: nobody → kairo
Comment on attachment 8586967 [details] [diff] [review]
add a special case for SeaMonkey maxVersion

Review of attachment 8586967 [details] [diff] [review]:
-----------------------------------------------------------------

::: configure.in
@@ +8618,5 @@
>  # 24.1.1 becomes 24.*
>  IS_ALPHA=`echo $MOZ_APP_VERSION | grep a`
>  if test -z "$IS_ALPHA"; then
>    changequote(,)
> +  if test "$MOZ_APP_NAME" = "seamonkey"; then

It would be better to test something like "$(basename $MOZ_BUILD_APP)" = "suite", that would make it work with rebrandings.

@@ +8619,5 @@
>  IS_ALPHA=`echo $MOZ_APP_VERSION | grep a`
>  if test -z "$IS_ALPHA"; then
>    changequote(,)
> +  if test "$MOZ_APP_NAME" = "seamonkey"; then
> +    MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*.[0-9]*\).*|\1|"`.*

you should escape the dot between the two numbers.
Attachment #8586967 - Flags: review?(mh+mozilla) → feedback+
Mike, here's a patch incorporating your comments, and it seems to still work in my testing.
Attachment #8586967 - Attachment is obsolete: true
Attachment #8587116 - Flags: review?(mh+mozilla)
Attachment #8587116 - Flags: review?(mh+mozilla) → review+
https://hg.mozilla.org/mozilla-central/rev/7d3c573eab2e
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.37
Comment on attachment 8587116 [details] [diff] [review]
patch v2: special-case seamonkey maxVersion

tl;dr: This patch will only take actual effect once in beta and doesn't affect Firefox at all, it only adds a special case for SeaMonkey.

Approval Request Comment
[Feature/regressing bug #]: bug 940973
[User impact if declined]: no impact for Firefox in either direction; if we don't take this, official SeaMonkey langpacks continue to break the whole application after a SeaMonkey update is installed, and for uploading to AMO, langpacks need to be repacked to fix this.
[Describe test coverage new/current, TreeHerder]: Has passed tests fine on inbound, but this patch really only takes effect on beta/release. I did local SeaMonkey testing for beta.
[Risks and why]: There shouldn't be any risk for Firefox, as the new rule only gets invoked for SeaMonkey.
[String/UUID change made/needed]: -
Attachment #8587116 - Flags: approval-mozilla-beta?
Attachment #8587116 - Flags: approval-mozilla-aurora?
Comment on attachment 8587116 [details] [diff] [review]
patch v2: special-case seamonkey maxVersion

Taking as the risk should be minimal for Firefox (especially in the configure), early in the cycle and we want to help our Seamonkey friends.
Attachment #8587116 - Flags: approval-mozilla-beta?
Attachment #8587116 - Flags: approval-mozilla-beta+
Attachment #8587116 - Flags: approval-mozilla-aurora?
Attachment #8587116 - Flags: approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: