
This is taken from the ideas here:
https://www.mobileread.com/forums/showthread.php?t=10442
Please vote in the poll whether you think this is an acceptable solution or not. If you do not believe so, state your reason in the comments. If you have any additions, please post those as well.
After it is agreed on, I can setup instructions and a dummy package/scripts/etc to aid in packaging.
- Ipkg should be used as a package management system to track dependencies and libraries.
- We should have a preinstall script check for and create the following symbolic links.
Quote:
/usr/local (real directory)
/usr/local/lib -> /media/*/_local/lib
/usr/local/bin -> /media/*/_local/bin
/usr/local/etc -> /media/*/_local/etc
/usr/local/var -> /media/*/_local/var
/usr/local/share -> /media/*/_local/share
/usr/local/include -> /media/*/_local/include
/usr/local/home -> /media/*/_local/home
/usr/local/programs -> /media/*/Programs
|
- After the program is installed /usr/local/programs should contain a folder with a launcher script, manifest, and icon.
- For removing an application, we can create a simple script that will execute ipkg remove applicationame. We can put this script along with a manifest and icon in /usr/local/programs/Uninstall. From there, the user can simply navigate to that folder if they want to uninstall an appliation. They can select it, have a confirmation box pop up that says "Are you sure you want to remove $program?" that they will have to select, and the ipkg command will run.
- We should rename ipkg files to .iliad. This will avoid confusion and allow us to eventually put an entry in er_registry.txt.
- The launching script should set $HOME to /usr/local/home. This way program specific settings are stored on the memory card. The ipkg should also define these settings so they are not overwritten when reinstalling.
Does anyone have any problems or disagreements with this? I think it solves almost every issue we would run into. The only problem I see is if a user swaps around memory cards of the same type.... but in that case, they should know that they have to reinstall all the applications.