Closed Bug 677458 Opened 13 years ago Closed 13 years ago

Compatibility Override Fails to Update install.rdf File

Categories

(addons.mozilla.org Graveyard :: Administration, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: david, Unassigned)

References

()

Details

An extension indicated at AMO as compatible with a specific application version often has an install.rdf file that does not indicate such compatibility.  The cited URI for the CompactHeader 1.4.0 extension for Thunderbird is an example.  The page indicates "Works with 	Thunderbird 3.1 - 6.*".  However, the install.rdf file indicates it is compatible only through the beta Thunderbird 5.0b2pre and not for the end-user release Thunderbird 5.0.  

While the AMO override might allow an extension to be installed and enabled beyond the indicated compatibility span in install.rdf, this does not work if the user downloads the XPI file and then attempts to install the extension offline (the Internet connection is disabled).  

At the minimum, the AMO Web page should indicate that compatibility requires an active Internet connection during installation.  However, the cleaner solution would be to update the install.rdf file.  

Use case:  Whenever possible, I download a software installer file.  I then disable my Internet connection to prevent extraneous operations (e.g., an automatic update of the virus database for my anti-virus application); I do this because I log the changes to my PC during installation.  After installation, I enable my Internet connection and then archive the installer file.  Thus, I can recreate my PC's configuration without an Internet connection (e.g., on a new PC).  For this to work for several add-ons for Thunderbird 5.0 and SeaMonkey 2.1 and 2.2, I first had to tweak their install.rdf files.  Furthermore, when I installed SeaMonkey 2.2, some extensions were reported as incompatible because my Internet connection was disabled during that installation.  

Either the application version data in install.rdf files should mean something and thus be updated, or else they are meaningless and should be eliminated.
By the way, this is NOT a single-user bug.  See the mozilla.support.thunderbird newsgroup on the news.mozilla.org server, specifically the thread with subject "Message headers too many lines" started on 7 Aug 2011.  

In the discussion there, it was suggested that the extension Add-on Compatibility Reporter.  However, it should not be necessary to install another extension merely to be able to install a desired extension just as it should not be necessary to have an Internet connection to install an extension that has already been downloaded.
(In reply to David E. Ross from comment #1)
David is quite correct about the newsgroup discussion - it took even longtime users A LOT of wasted time and effort to finally understand that it was an override causing their conflicting experiences.
This is a hard feature to add since AMO does not have a connection to the source repository of each addon.  How do you propose we keep the install.rdf file in sync?
ZIP file format allows to append files to archive, without recompression. Hope AMO ZIP software can handle it.

So AMO may append "override.rdf" file to XPI, if needed. In this files AMO will put data to override. "override.rdf" may have same format as "install.rdf", allowing to override almost all data, not only max version.

Then modify "install extension" procedures to use overrides from "override.rdf", if such file is present in XPI.
Some ZIP applications (e.g., WinZip) allow the update of install.rdf without visible extraction from the ZIP file.  (I believe a temporary extraction is involved.)  Then the updated install.rdf can be added back into the ZIP file, replacing the install.rdf that already existed.  

If the ZIP file involves subdirectories and the install.rdf is in one of those subdirectories, the process requires manual intervention.  In that case, I would suggest that the install.rdf not be updated.  However, AMO should then not use an override over the Internet to indicate compatibility.
FWIW, any change in install.rdf of digitally signed XPIs will break their signature and make them broken. So this kind of extensions should be excluded from install.rdf update procedure.
cc'ing clouserw here so he can prioritize.

I mentioned the problem about not having access to the developer's source repository because what happens if the version is automatically bumped and the developer forgets to update the install.rdf in their source code?  Maybe that doesn't matter too much.

As for writing the file, sure, that part is easy.  We just recently started watermarking xpi files which involves rewriting the zip: https://github.com/jbalogh/zamboni/commit/c82582eed263b611f93b6d4e33e301970e34500f#L0R344

as for digitally signed XPIs, I can't find any evidence that AMO still supports that (but maybe I am missing it)
So, maybe do not modify original XPI, but pack it in another XPI, together with override information?

I mean, if there is need to override some XPI settings, then zip together original extension XPI and override.rdf file, then send this package to customer. For security AMO may sign such package digitally.

Of course it require some changes in addon manager too.
Reasons why this is unreasonable are in comment 7.  Firefox is moving to a compatible-by-default system (https://wiki.mozilla.org/Features/Add-ons/Add-ons_Default_to_Compatible) in Firefox 10 which should mitigate this anyway.  -> wontfix
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
Product: addons.mozilla.org → addons.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.