Proposal to install Homebrew apps on /media/internal (USB partition)

From WebOS Internals
Revision as of 21:25, 15 September 2009 by Xorg (talk | contribs)
Jump to navigation Jump to search

--Xorg 18:07, 15 September 2009 (UTC)

I'd like to propose that Homebrew apps be installed in...

/media/internal/homebrewapps (or other appropriate dir name)

PreWare and other installers would need to setup /etc/palm/luna.conf to point to the app path.

Proposal

1) PreWare checks on each startup in..

/etc/palm/luna.conf 

and checks that ...

/media/internal/homebrewapps

...is added to the end of ApplicationPath. If not, append it.


2) Promote to developers who are not concerned about exposed code to use that path as the home for their apps.

3) Future PreWare version could have option to move homebrew apps from /var/usr/palm to /media/internal/homebrewapps

Benefits

- Avoids filling up the root/linux filesystems, which is bound to occur when homebrew hits thousands of apps or with other apps that include large metadata.

Risks/Issues/Dependencies

- Source is exposed to anyone, including non-power users, when mounting the USB drive

- PreWare or other homebrew installer apps would need to check on every startup that AppPath is correct, update if not.


Discuss...

Posted by vreihen on PreCentral....

Two issues that I see off the top of my head:

1) /media/internal is a FAT file system, and doesn't support silly things like the Unix/Linux execute permission bit on files. Not the end of the world for most WebOS apps based on JavaScript, but fatal to any one that includes shell scripts or binary executables.

2) The kernel automagically unmounts /media/internal whenever you plug in a USB cable and choose to sync music or files. Any app installed on /media/internal would have it's files disappear (from the phone's perspective) whenever a USB transfer/sync was being done, which is probably not desirable.

If you browse around webos-internals, I seem to recall an old discussion about putting a loopback filesystem (virtual disk) onto /media/internal, and it was ultimately discouraged due to problem #2.


_____________