Hi all!
I try to solve the theme problem...
When installing a theme, Icecat's behavior is really weird. It will
check the key `id`, but *.xpi themes don't have that property.
The error is something like "extension seems to be corrupt".
This is the log of that:
```
addons.xpi WARN Invalid XPI: Error: Cannot find id for addon
/home/example/minecraft_grassy_block-1.0-an+fx.xpi
(resource://gre/modules/addons/XPIInstall.jsm:1544:17) JS Stack trace:
[email protected]:1544:17
```
And I checked `XPIInstall.jsm`. The code is simple:
```
// ...
if (!this.addon.id) {
let err = new Error(`Cannot find id for addon ${file.path}`);
return Promise.reject([AddonManager.ERROR_CORRUPT_FILE, err]);
}
// ...
```
So I simply comment out that line with a patch (thought that will work),
and now it can read *.xpi themes but output a different error. This time
is different: "<Theme name> could not be installed because Icecat cannot
modify the needed file."
And the log:
```
addons.xpi WARN Failed to install
/home/example/minecraft_grassy_block-1.0-an+fx.xpi from
file:///home/misaka00251/minecraft_grassy_block-1.0-an+fx.xpi to
/home/example/.mozilla/icecat/42s9qfc8.default/extensions/staged/undefined.xpi:
Unix error 2 during operation open on file
/home/example/.mozilla/icecat/42s9qfc8.default/extensions/staged/undefined.xpi
(No such file or directory) ((unknown module)) No traceback available
```
If you extract *.xpi and compile from source with that, it works without
any issues.
Anyone solved this issue?
--
http://gnuzilla.gnu.org