[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: inter libraries dependencies again



On Sat, Jan 25, 2003 at 12:04:17AM +0100, Jérôme Marant wrote:
> Sven Luther <luther@dpt-info.u-strasbg.fr> writes:
> 
>  
> > > Like we always did before. We just have to change the build-deps
> > > and reupload.
> > 
> > Let's take as an example the just done libdir migration.
> > 
> > Suppose you all uploaded your packages with ocaml (>=3.06), ocaml
> > (<<3.07).
> > 
> > Then, when i changed the libdir, there would have been no way to know in
> > advance about this, and since you did not (<<3.06-13), ocaml 3.06-13
> > would have been installed while no library would have been rebuilt for
> > the new libdir, and all hell would have got broken.
> > 
> > One solution for this is to have a dependency of the kind : ocaml (>=
> > 3.06), ocaml (<< 3.06.1) or even ocaml (>= 3.06-1), ocaml (<< 3.06-2)
> > and use two part debian versions (as in 3.06-1.1, 3.06-1.2, ...), which
> > is contrary to policy.
> > 
> > But in any case we will not do that now, just before the current ocaml
> > 3.06 is ready to enter testing.
> 
>   Are you sure you're not talking about dependencies while
>   I'm dealing with build-dependencies.

Mmm, yes, ...

But even dependencies can be a problem for build dependencies, since the
autobuilders need to install dependent packages also.

BTW, i have wrotten a new mail to James, let's see if he responds. i
will wait a week or two for his response though.

That said, i am not convinced the build dependencies do not cause
problem also, let's say, i uploaded ocaml 3.06-13, but it has not yet
been built for arch foo. then i upload lablgl 0.99.1 and set the build
depends as you propose. That means i will have to use build depends
ocaml (>= 3.06-13), ocaml (<< 3.07) or something such ?

The ocaml (>= 3.06-13) is needed so that lablgl will not build on the
older ocaml, and is what we achieved by doing the ocaml-3.06-1 thingy,
right.

Now, what about the ocaml (<< 3.07) what you are saying, is that it is
not needed. The only risk, is if i uploaded lablgl 0.98-4 before the
ocaml 3.06-13 upload, and that it has not yet been built. The risk is
that lablgl 0.98-4 is going to be built (for whatever reason) with ocaml
3.06-13, which may cause problem (well, it caused no problem in this
case, but there would be a difference between the same package
version compiled for different arches). But anyway, i will be uploading
a new lablgl for the new ocaml, and this will go away in time.

Mmm, you almost convinced me, the only problem is that during a time,
there is risk that there is a (to follow this example) lablgl 0.98-4,
built with ocaml 3.06-13, but still depending on ocaml-3.06. Such a
package would be uninstalable with ocaml 3.06-13, which is ok, but
broken with the older ocaml packages, since it would install correctly,
but put the libraries in the wrong place.

What do you think about this, is this a risk we would admit in taking ?
Anyway, with the new moved libdir, we can afford to upload a new (and
incompatible) ocaml, and wait until it has been built for each arches
before uploading any library. This is not nice, but we can go for this
intermediary solution until the autobuilder problems are solved,
provided virtual dependencies does not cause the autobuilders problems.

So, what does everyone think, should we aim at a new policy entry,
saying that for build dependencies, we depend on the real package, and
use a single versioned dependency (of the kind >= 3.06-1, >= 3.06-13,
 >= 3.07-1) ?

Friendly,

Sven Luther



Reply to: