And few words about current development.
I'm a prisoner of the TazPkg :-))
About a week ago I found that TazPkg incorrect use "--root=" option. This option point you to the different SliTaz installation, like "--root=/mnt/sda6". When you execute command "tazpkg -gi leafpad" then you'll install Leafpad to your current SliTaz. When you execute command "tazpkg -gi leafpad --root=/mnt/sda6" then you'll install Leafpad to other SliTaz installation located in the /mnt/sda6.
Story continues. We have configuration file /etc/slitaz/slitaz.conf (and /mnt/sda6/etc/slitaz/slitaz.conf). Configuration file is designed to make changes in the configuration. These files have next line by default:
PKGS_DB="/var/lib/tazpkg"
But you free to change it as you want:
PKGS_DB="/home/slitaz/tazpkg"
(note, that it is not a "from scratch"-installation then you'll need to move all the files manually from old to the new place).
What's wrong?
Let variable $ROOT=/mnt/sda6
First step: we read configuration file /etc/slitaz/slitaz.conf and get all the configuration variables (i.e. PKGS_DB=/var/lib/tazpkg).
Second step: to determine PKGS_DB from other installation it just prepended by the $ROOT variable: $ROOT$PKGS_DB (and it equals what? right: /mnt/sda6/var/lib/tazpkg while it should equal /mnt/sda6/home/slitaz/tazpkg in our example).
I make many changes to the TazPkg since then.
Now "--root=" works for ALL TazPkg commands, literally. You can install, remove packages, recharge, show activity, search files, etc. in the remote SliTaz installation.
Also, now I can INSTALL SLITAZ to the random folder using TazPkg instead of INSTALLER. Execute next command:
tazpkg install-flavor base --root=/tmp/base
and after minute you'll get the full SliTaz filesystem tree in the /tmp/base.
Also, finaly I update TazPkg documentation (only English and Russian docs). I described all the commands with all the options. And you can read this help on the terminal too: to get complete help about "up" command:
tazpkg -h up
Help system is intellectual in the some sort, and you can execute command:
tazpkg -h mi
and get the answer:
2 help topics available:
* list-mirror, lm
* setup-mirror, sm
And also I tried to solve the oldest problem. Imagine you installed package X.
It depends on the packages Y and Z. And it installs packages Y and Z.
If you don't need package X anymore, then you'll remove X. But Y and Z are still here.
The way is still long, and I started it with "reason". In few words: reason of the package installation. It answer question: why this package installed?
X: reason=user wish
Y: reason=depend of X
Z: reason=depend of X
Later I'm going to make logic how to work with that "reasons". TazPkg can check and (ask to) remove these "orphaned" packages after X removing.
Today I finished "tazpkg up" script. Now it works very quickly: about 1-2 seconds on my machine. But it works not very well with our Undigest repository:
But you know: so many changes means so many bugs. This evening I lost all the "receipt" files in my /var/lib/tazpkg/installed. And I don't know why :( So I forced to update each and every package in my SliTaz installation. "Receipts" are now in place, but I need to test TazPkg huge times and very precise before show it to SliTaz users.