Am Samstag, den 06.01.2018, 19:16 +0100 schrieb Pierre Labastie: > On 06/01/2018 16:55, DJ Lucas wrote: > > > > ... > > Actually, I'm writing a new version of jhalfs, which implements > roughly this: > It's based on two types of dependencies: "before" deps are usual > ones: they > are built before the package which depends on them. "after" deps are > dependencies which must (if required), should (if recommended) or may > (if > optional) be built after the package which depends on them. Typically > "runtime" deps are of the "after" type. But this is not limited to > runtime > deps (we could still use role="runtime" for them, though). Note that > solving > the freetype<->harfbuzz cycle is slightly more complicated: you have > to tell > the system that freetype should be built *both* before and after > harfbuzz, but > the "before" one does not depend on harfbuzz... > > Uwe's suggestion is slightly different: it would involve signaling > when > package B, which depends on package A, should be rebuilt when package > A is > rebuilt. It's a rather good suggestion, I'd say. It involves adding > some text > to the book (and implementation in jhalfs). One example, which comes > to my > mind is poppler. Almost each new version of poppler changes the so > version of > libpoppler, so that any package using the library should be rebuilt > after an > update of poppler, at least if the previous library is removed. > > Pierre
Oh, a new jhalfs? Is there allready something to see? Btw, I think there is an additional type of dependency: The buildtime- deps. Many packages have cmake as required dependency, but its just for creating the packages binaries. The installed package can life fine without having cmake on the system. Even more, if there is a new version of cmake, no need to recompile the package at all. Ok, it makes not that much difference if building machine is also the executing machine - but it makes differences when thinking about pkgmngt (preparations for that are allready in jhalfs/book/xlst) and therefore divide the building machine from the executing one. On the build machine, cmake is required for poppler, on the executing machine cmake needs not to be installed to have poppler running. -- Thomas -- http://lists.linuxfromscratch.org/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
