Re: Tazbb in a loop

[ Thread Index | Date Index | More lists.tuxfamily.org/slitaz Archives ]


Finally people are agreeing with about tazbb.

I think the best way to rebuild depends is if the .so file changes version. Like for example if libpng is updated to 1.4.3 then it would look for the older /usr/lib/libpng12.so.0. But since it would not be there tazbb then would trigger a rebuild of everything that has a build_depend of libpng. I don't know how this could be done but this idea would fix the great rebuild problem.

PS I'm not going to update libpng.

On Thu, Sep 23, 2010 at 7:47 PM, GoKhlaYeh <gokhlayeh@xxxxxxxxxx> wrote:
On Thu, 23 Sep 2010 20:07:02 +0200
Christophe Lincoln <pankso@xxxxxxxxxx> wrote:

> After we can play again with tazbb, but I dont think we need to rebuild
> all these packages. Lets take Pascal example with openssl-dev, this is
> not a major release (only bug fix and new function) and openssl libs
> keep compatibility version number with symplink so python-dev and others
> are linked with the correct library and dont need to be rebuild.
>
> It is different when we have a major update, a few time ago
> we had openssl-0.9.8 to openssl-1.0.0 the libs and ther symlink changed
> and all packages linked to 0.9.8 was broken afetr openssl update. In
> this case of major release we must rebuild all needed packages.
>

Hi,

That's an interesting point. I've read this in the Linux From Scratch book. As Pascal I think that automaticaly re-cook all reverse-dependencies is a good feature to have. A difficult question is how to define packages to cook. Your exemple is true in most case but there's exception, so we can't use version number (or we can't use only them). Recook reverse depends = waste CPU with un-needed recook (i.e. recook meta packages and SliTaz tools). Recook reverse build depends = don't recook all needed package (because meta-packages break the link), but also waste CPU with un-needed recook (i.e. linux build depend on git).

An other problem is dependencies loop, and build depends loops. Even when we rebuild all the wok it doesn't take all that time, so there's really a problem here :
first possibility : there's one or several dependencies loops
second possibility : packages are re-cooked several times because the cook order is not well defined at start
IS tazbb generate the list of what it will cook before cooking? A good way to test this feature is generating a list without cooking to see if all is fine.

I try to code some script to do this job as I want but it never satisfy me : there's always problems like thoses I just describe, or some other. Pascal is trying something really hard. I know that there's two other important things :
1- don't use this system with toolchain if depends are not really well defined. There's some dependencies loop in toolchain, and some missing depend in packages wich need to be recooked if toolchain is changed. Waiting a well tested depency tree, a good solution can be use the cook order of Linux From Scratch book for toolchain (see chapter 6 if my memory is good); then recook all wok with a well defined cook order. Do this only when there's a major update in toolchain, as Christophe just explain.
2- meta packages are source of problems here. They can create loops or broke link between packages and avoid recook of some of theses. I don't have a good solution for all the case yet.

I hope I or you will find good solutions for all of that. That's really a must-have feature in my opinion.
I play with some scripts wich just handle complex dependencies problems, trying to solve that. If I can obtain a good result I'll send here.

--
GoKhlaYeh <gokhlayeh@xxxxxxxxxx>


---
SliTaz GNU/Linux Mailing list - http://www.slitaz.org/




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/