Some new stuff
Joël Vennin
jol at lunar-linux.org
Sat Aug 13 20:43:45 UTC 2005
Hello every one, I've taken sometime (this afternoon) to make a new set of
functions for lunar. In fact, since a long time I was interesing to
accelerate the lunar update step and other stuff around.
So, my script need to use sqlite (last version available from moonbase,
without any depend). Ok, it creates a database to store some information of
the moonbase. Like the list
of module,version,updated fields and store inside the depends information of
each modules.
Next, the script is able to update the database with the status of your
already installed module (like the MODULE_STATUS file and the DEPENDS_STATUS
file).
So what's news ? It just really really fast ... So for now the script does
nothing, it just a test to see if your insterested about it. So if your are
insterested we could start to hack the lunar code to insert it.
To test it:
Before you start, just edit the DEPENDS file of netutils-profile module
and change this line: "for the \"ping\" command" by "for the ping command"
you should be in the lsh script:
#> lsh
next you should load the database.lunar
#> source database.lunar
the first is to create the database:
#> create_db /tmp/lunar.db
the idea is now to initialize the database with your current system
#> init_with_current_install_db /tmp/lunar.db
now you can update the db with the moonbase
#> populate_from_moonbase_db /tmp/lunar.db
ok so now, i've just make two interesting query
get removed module
#> get_remoule_db /tmp/lunar.db
get module that should be updated
#> get_updated_module_db /tmp/lunar.db
Ok so you can see that the two get method are really fast. However someone can
say that "populate_from_moonbase" take some time, ok i agree with you.
But to solve this problem i've a solution:
before generate the moonbase every hour on the server, we should launch a
script which do the same thing that "populate_from_moonbase" and dump the
database, so the moonbase module should also contains a new file
lunar_db.dump.
In this way, when someone launchs lunar update, the moonbase module is
downloading as usual, and we can get the dump and update the database.
This operation takes not time, and after the thing can continue as usual using
the new function provided by the database script ...
Ok it is just a proposition, i would like to known if you're interested by
this thought.
I know that every function can be improved, sorry for my poor skill in bash
script.
Another avantage, if we use a database, we could remove a lots of complex
script of the moonbase. Keep in mind that sqlite is really light :p
Jol
--
Standing on head makes smile of frown, but rest of face also upside down.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: database.lunar
Type: application/x-shellscript
Size: 7241 bytes
Desc: not available
Url : http://foo-projects.org/pipermail/lunar-dev/attachments/20050813/9e702464/database.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://foo-projects.org/pipermail/lunar-dev/attachments/20050813/9e702464/attachment.bin
More information about the Lunar-dev
mailing list