View Single Post
Old 04-19-2007, 04:42 AM   #11
mtas
Enthusiast
mtas doesn't littermtas doesn't litter
 
Posts: 42
Karma: 145
Join Date: Oct 2006
Device: iLiad
Quote:
Originally Posted by smoogle
I do like your suggestion of a fixed filesystem at /opt, but it isn't that different form Adam B's suggestion, simply /opt instead of /home/root/Apps, personally I prefer /opt. However, I still prefer a distributed approach with symlinks rather than placing the opt directory on the card.

I just sorta like the flexibility; and combined with a util to test whether symlinks still point to valid locations, it could even prompt you "Sorry, I couldn't find fbreader, please insert the appropriate memory card."
A few observations.

I would not recommend using /opt or /home/root/Apps. Both of them resides on the root file system. Also, /opt is already used by the iLiad.

Instead, I would suggest something like this:
Use an initial installation script that creates the directories _additional_progs and _additional_progs/_local in the root of the file system it is run from. I.e. if it's run from a CF card it should create /media/cf/_additional_progs and /media/cf/_additional_progs/_local. Then let the script create a symlink from /usr/local to /media/cf/_additional_progs/_local.

When this is done then we can use _additional_progs for start-up scripts for programs that are launched from the content lister and install the software itself in the _additional_progs/_local directory.

By doing it in this way we don't have to worry about where the installed files are located since they will be referenced via the /usr/local symlink. Also, if the media card is removed we won't have any broken references to the extra applications installed.

The creation of a standard installation method is really needed but it's also a bit more complex than it seems at the first glance. We need not only to define how to install and execute the programs. We need to create the whole infrastructure needed, the same install/de-install scripts should be used and "global" environment variables like HOME and LD_LIBRARY_PATH should be defined.

The infrastructure issues is IMHO the biggest reason for using ipkg, there we already have the basic tools needed.
mtas is offline   Reply With Quote