On Fri, Dec 10, 2010 at 5:34 PM, GoKhlaYeh 
<gokhlayeh@xxxxxxxxxx> wrote:
On Fri, 10 Dec 2010 16:41:27 +0000
> Thanks for explaining it for me.
You're welcome
> PS Can you update your scripts in your 
people.slitaz.org account? I want to
> test the latest scripts of yours since they could be very different now.
Christopher: You're right, but actually there's some reasons which lead me to not update them now :
* I modified $DESTDIR/$src/_pkg behavior to make all receipts install in $WOK/$PACKAGE/install instead of $WOK/$PACKAGE/$PACKAGE-$VERSION/_pkg in order to be able to remove sources without removing installed folder. This need a lot of modifications to the wok to works and I'm working on a script which does that well. I plan to make this feature optionnal to ensure backward compatibility before update the scripts.
* I added optionnal source tarball recompression into lzma - after some benchmark it appears that lzma legacy has better results than xz, xz -e (extreme option) or xz-lzma -; by the way the tarball are **always** (actually non optionnal) extracted to $WOK/$PACKAGE/$PACKAGE-$VERSION; this will simplify receipts writing, but actually it has some incompatibilities with current wok. As the previous point, I'm working on a script to make the changes well, and also plan to make this optionnal to ensure backward compatibility before update.
* I added a cook-toolchain function which can (cross-)compile the core toolchain packages from scratch for various architecture, using some new functions in few receipts. It needs a very fine tuning and take me a lot of time to improve/test/debug. After a month of works it starts to give good results - it's why I progress slowly on other points.
New features since last update :
* CFLAGS/CXXFLAGS/MAKEFLAGS(-j x) exported to environnment variable; -j 4 is no more needed, but some receipts needs -j 1 to works (not only javaVM). MAKEFLAGS can be set to -j 1 to mimit the legacy tazwok behavior using legacy wok.
* build-depends doesn't include build-depends of build-depends any more (we spoke about that); they no more include all reverse wanted but only build-depends+depends+depends tree+all related -dev packages. This setup make most receipt compile in minimal chroot without modifications and keep the process light.
* gen-wok-db is improved and more speed, gen-lists with light woks too with a just-update option. New improvements are planned here.
* using two packages repository (the normal one and the incoming one) works well at compilation time using the priority feature of tazpkg - it prioritize install depends from incoming packages. (Note : incoming packages repository is where the packages goes after cook; after a delay - and if all depends/rdepends compile fine too - they can go in the main package repository; it's like unstable and testing in Debian)
* support of undigest wok is greatly improved, using the new priority feature of tazpkg.
There still major issues :
* transfer incoming packages to main packages repository doesn't works well.
* recook all rdepends when libraries are updated doesn't works well (it includes all libraries update but should only take care of minor/major updates, not micro).
* remove_old_package have some issues too.
I've a task list containning some improvement to made before releasing alpha, I don't list them here - it's mainly technicals points about improving speed/stability/configurability/simplicity of the tool. There's an important one : make possible to use SliTaz in gentoo-style, which means compile the full system from scratch - eventually optimized for a given architecture - then compile updated packages with an accessible tool to handle that.
Release plan :
step 1 : make it backward compatible and uptade the pre-alpha scripts on people.
step 2 : finish the cook-toolchain part, the compat-wok script, fix the major issues and push an alpha version on people, along a partial wok too cook updated toolchain & various SliTaz flavors from scratch. It's for testing the tool in manual or build-bot mode and check the results.
step 3 : at home for all thoses who are interested - recook full wok and check if all is fine.
step 2 & 3 include reports, bugfixes etc. with the goal of making the tool fully fonctionnal -> beta then RC releases on hg + documentation release.
step 4 : if everybody agree, temporaly freeze the package repository, update the wok to new toolchain and modified receipts and recook-all. Packages will be stored in a different packages repository so rolling-back should be possible. If previous steps are well executed all should works directly here.
I hope make this speedly enough to have the tool released with SliTaz 4.0, but delays are short as a wok freeze is planned soon (I do't know exactly when).
In fact, I don't want to merge the wok changes and update the toolchain alone until SliTaz 4.0 release (planned end march) before pushing this tool in new cooking (5.0). I will do it if there's no other solution, but I'm feared that will be a pain.
I think all is there,
Obviously all comments are welcome.
--