#699294 iceweasel: Iceweasel cannot install OpenWebApp

#699294#5
Date:
2013-01-29 22:59:29 UTC
From:
To:
Iceweasel 18.0.1 doesn't seem to be able to install OpenWebApps [1]:
the installation fails with error "DENIED".

Using firefox 18.0.1 the demo application is installed successfully.

[1] https://marketplace.firefox.com/developers/

Here is a sample application:

[index.html]

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width">
    <link rel="stylesheet" href="css/app.css">
  </head>
  <body>
    <p>Hello</p>
  </body>
</html>

[install.html]

<html>
  <body>
    <p>Packaged app installation page</p>
    <script>
      var manifestUrl = 'http://localhost:8000/manifest.webapp';
      var req = navigator.mozApps.install(manifestUrl);
      req.onsuccess = function() {
        alert("OK:"+this.result.origin);
      };
      req.onerror = function() {
        alert("ERR:"+this.error.name);
      };
    </script>
  </body>
</html>

[manifest.webapp]

{
  "version": "0.1",
  "name": "My App!",
  "description": "My App!",
  "launch_path": "/index.html",
  "default_locale": "en"
}

[mime.types]

text/html	html
application/x-web-app-manifest+json	webapp

[run.sh]

#!/bin/sh
exec webfsd -m mime.types -p8000 -r. -L- -F

#699294#10
Date:
2013-03-16 10:59:10 UTC
From:
To:
Hello,



I strace-d iceweasel while trying to install my dummy webapp and
found this:

stat64("/usr/lib/iceweasel/xulrunner/webapprt-stub", 0x9578b70c) = -1
ENOENT (No such file or directory)
lstat64("/usr/lib/iceweasel/xulrunner/webapprt-stub", 0x9578b70c) = -1
ENOENT (No such file or directory)

Indeed this file in not installed in this path by the package but in:

/usr/lib/iceweasel/webapprt-stub



1) Copying the file:

#cp /usr/lib/iceweasel/webapprt-stub /usr/lib/iceweasel/xulrunner
/webapprt-stub

Then the installation (kind of) succeeds but the application fails to
start with:

"This app requires that Firefox version 16 or above is
installed. Firefox 16+ has not been detected."

Strace:

open("/usr/lib/iceweasel/xulrunner/application.ini", O_RDONLY) = -1
ENOENT (No such file or directory)




3) I fix this:

#cp /usr/lib/iceweasel/application.ini
/usr/lib/iceweasel/xulrunner/application.ini

but I still have:

"Couldn't load the runtime INI"

Strace:

lstat64("/usr/lib/xulrunner-19.0/libmozjs.so.19d", 0xbfe15aa8) = -1
ENOENT (No such file or directory)
open("/usr/lib/xulrunner-19.0/libmozjs.so.19d", O_RDONLY) = -1 ENOENT
(No such file or directory)



4) Fix it:

#/usr/lib/libmozjs.so.19d /usr/lib/xulrunner-19.0/libmozjs.so.19d

I still get:

"Couldn't load the runtime INI

Strace:

lstat64("/usr/lib/xulrunner-19.0/webapprt", 0xbf9c3198) = -1 ENOENT (No
such file or directory)



5) One last thing missing:

#ln -s /usr/lib/iceweasel/webapprt /usr/lib/xulrunner-19.0/webapprt

And it works!



So there are some path resolution problems to fix to make the thing
work.

#699294#15
Date:
2014-05-11 18:50:56 UTC
From:
To:
This bug it's confirmed.
i've test with the nightly 32 and the stable 29.
it's possible fix this problem?

#699294#20
Date:
2014-05-11 19:46:30 UTC
From:
To:
There's an upstream bug
(https://bugzilla.mozilla.org/show_bug.cgi?id=762833).

#699294#25
Date:
2014-09-29 20:52:44 UTC
From:
To:
Hello,

This bug seems to be fixed.

It's working correctly here using iceweasel 31.1.0esr-1.