Documentation/Maemo 5 Developer Guide/Packaging, Deploying and Distributing/Installing under opt and MyDocs

The N900 has about 100 MB of free space in the root file system partition. This is not very much and would fill up quite quickly when installing additional applications. As a workaround, the /opt directory has been linked to a different partition with more space (about 1 GB) and /home/user/MyDocs is also available in certain cases, with even more space (about 25 GB). Developers are encouraged to make good use of them, specially for applications requiring more than 500 KB, including dependencies.

[edit] /opt as a good alternative

The /opt directory is on an ext3 partition that is permanently mounted. Users cannot mess with it by accident. Of course, not everything needs to be moved to /opt: configuration files are best left in /etc, for example, and there is no point in moving small files like the various *.desktop and *.service files (except for the fact that automake's "configure --prefix=/opt" moves them there whether you want to or not).

The maemo-optify tool helps developers to prepare Debian packages that use /opt. This tool moves selected files inside the package to locations under /opt, and will symbolically link from the original location to the new place of the file. It is available on gitorious as well as in Extras-devel.

The Autobuilder supports automatic optification of submitted packages via maemo-optify. It is triggered by the file "debian/optify", as described in the README.

[edit] Considering /home/user/MyDocs

The /home/user/MyDocs directory is another candidate for large collections of data files included in applications such as game graphics or maps. Using /opt is mostly transparent to package maintainers and end-users, but /home/user/MyDocs needs more careful consideration.

The /home/user/MyDocs partition uses VFAT as its filesystem (which has some limitations compared to ext3) and it is removable: it will be unmounted and exported over USB when the user plugs in the cable. Also, /home/user/MyDocs is visible in the File manager. This all means:

  • Be aware that VFAT is not really a POSIX filesystem. Things like symbolic links, permission bits, and so on, will not work as nicely as they do on a real POSIX filesystem.
  • Be prepared that your files are not there at all while the partition is unmounted. Do not prevent the partition from being unmounted because you keep some of the files open.
  • User might see your files, can get confused and try to delete or rename them.

In summary, you cannot really put programs, libraries or theme graphics into /home/user/MyDocs. Instead, use /opt for these.