`Installing' and `uninstalling' applications

To link an application you wish to use:

$ kumatux.org-link /path/to/application/directory

To unlink an application you wish to use:

$ kumatux.org-unlink /path/to/application/directory

This is all there is to it, this is how you "install" and "uninstall" programs. Except that you're not installing/uninstalling them, you don't mess with the underlying file system at all and you don't neet root privileges.

You simply unpack the programs to their directories somewhere, and via the above procedure create links in the ~/kumatux.org-root and ~/kumatux.org-links directories, which are read at login time.

To update the system environment variables after link or unlink:

Apps compiled for ready usage by kumatux.org

Dependency testing

Since version 1.5 you can also easily test apps you compile for dependencies. The reason some compiled apps can have dependencies missing, can be thus:

I've compiled hundreds of packages, I use almost 100% of stuff through kumatux.org, on my GNU PC and Nokia N900 GNU mobile phone, thus keeping the underlying system perfectly clean, allowing superb upgrades and such. However, since I compile and link packages on a need basis, it naturally happens so that some dependencies I've compiled for use on prior packages and thus I don't see them as necessary when compiling new stuff, since they are picked up as existing by kumatux.org automatically. Thus when you selectively link an app, you might not link it's dependency apps.

So, I've designed kumatux.org, with all the scripts, adding kumatux.org-test and kumatux.org-testun to it.

What this does now: after you've compiled a package you can just:

$ . kumatux.org/bin/kumatux.org-test

This will load a clean kumatux.org environment without any packages linked, using clean kumatux.org links, installed by default in ~/kumatux.org-test

Then in this environment you can kumatux.org-link the app, it will link it in the test environment then you:

$ . ~/.profile
and you can see if it runs, if not you'll pick up the dependencies easily. All the time, not messing with the underlying system AND the kumatux.org system meaning the linked apps etc.

When you're done you just:

$ . kumatux.org/bin/kumatux.org-testun

To clean the test environment for other apps, just:

$ . kumatux.org/bin/kumatux.org-testclean
and then proceed into the test environment with kumatux.org-test as above.

I've changed all the scripts in the system, so that it's aware of whether it's in the test or real kumatux.org environment and act accordingly.

Question

Finally, I'm trying to solve one question associated with it, can't find any answers on the web. If you have an idea, it's welcome:

To get into the test environment, kumatux.org needs to export a number of variables, for instance PS1.

The only way I know of it having a lasting impact in the terminal session you're in is via sourcing the script, this is uncomfortable in that you have to run

$ . kumatux.org/bin/kumatux.org-test
instead of just
$ kumatux.org-test
.

If you'd run

$ . kumatux.org/bin/kumatux.org-test
inside of another script to allow its direct calling the sourcing has an effect only in the script, but not in the shell instance, not making you able to then stay in the test environment.

I'd still however just like to call a script and not have it sourced to move in and out of the environment. Am trying to figure out how. Any pointers or ideas welcome.


.