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

RESOLVED FIXED in Firefox 38

Status

RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: aryx, Assigned: kairo)

Tracking

unspecified
seamonkey2.37
x86_64
Windows 8.1

Firefox Tracking Flags

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

Details

Attachments

(1 attachment, 1 obsolete attachment)

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>
(Assignee)

Comment 2

4 years ago
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.

Comment 3

4 years ago
The bug that broke it is bug 940973. We either need to override this for SM, or special case the setting of it.
(Assignee)

Updated

4 years ago
Duplicate of this bug: 1138031
(Assignee)

Comment 5

4 years ago
Created attachment 8586967 [details] [diff] [review]
add a special case for SeaMonkey maxVersion

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)
(Assignee)

Comment 6

4 years ago
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+
(Assignee)

Comment 8

4 years ago
Created attachment 8587116 [details] [diff] [review]
patch v2: special-case seamonkey maxVersion

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
Last Resolved: 4 years ago
status-firefox40: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.37
(Assignee)

Comment 11

4 years ago
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+
status-firefox38: --- → affected
status-firefox39: --- → affected

Updated

4 years ago
status-seamonkey2.35: --- → fixed
status-seamonkey2.36: --- → fixed
status-seamonkey2.37: --- → fixed

Updated

4 years ago
Duplicate of this bug: 1171816

Updated

4 years ago
Duplicate of this bug: 1201565

Updated

4 years ago
Duplicate of this bug: 1208803
You need to log in before you can comment on or make changes to this bug.