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

Re: how to ask for packages rebuilding



Op ma 20-10-2003, om 09:07 schreef Sven Luther:
> On Sun, Oct 19, 2003 at 10:13:06PM +0200, Wouter Verhelst wrote:
> > These all boil down to the same problem: ocaml was upgraded to
> > ocaml-3.07, while the packages that were available at the time depended
> > on ocaml-3.06-1. Since that doesn't exist anymore, they'll never become
> > needs-build again. Under normal circumstances we find such things
> > ourselves, but since we've got quite some backlog currently...
> 
> No, not exactly. The problem is that ocaml 3.07 is available, and ocaml
> 3.06-1 is no more, but the older libraries depended on ocaml 3.06-1,
> while the rebuilt ones depend on ocaml 3.07. This mean that the
> libraries need to be rebuilt in build-depend order, not all together, or
> there will always be build problems. Example with ocaml, lablgl and
> lablgtk, which i maintain :

Ah, right.

> lablgtk depends on lablgl. I uploaded ocaml, lablgl and lablgtk at the
> same time. The autobuilder rebuilt ocaml, but could not find ocaml for
> lablgl and lablgtk, and thus stalled. In a further run, you notice that
> the autobuilder has rebuilt ocaml, and thus reschedule lablgl and
> lablgtk again. lablgl builds fine, but lablgtk needs both ocaml 3.07 and
> a version of lablgl which is rebuilt with ocaml 3.07. But the only
> version of lablgl that is available is the lablgl built with ocaml
> 3.06-1, and the build fails.

I get it.

> As i see it, it then needs manual
> intervention to rebuild, and this are failure you don't necessarily
> catch, having not the knowledge of the ocaml thing that we ocaml
> maintainers have.

We didn't now; however, under normal circumstances, we do check the list
of packages in dep-wait once in a while, and manually remove the
erroneous dependencies, as I did now. There's no need to know about
ocaml to solve this kind of thing, but there is to correctly set the
build-dependency in the first run.

> Ideally, it could be automated, by delaying the build
> of these packages by one day, and it would be fine.

That's an option, although imperfect since it assumes that all
architectures will always build all packages within one day, which
simply isn't true.

> So, what can we do to solve this thing in the future ? Either we upload
> these packages with one day delay for each dependency chain, which is
> not that good, since other auto-builder can handle this better, building
> out of incoming and such, or we add an explicit build-dependency on
> lablgl (>= 0.99-16) to lablgtk, 0.99-15 being the last ocaml 3.06-1
> rebuilt package. I don't know if the autobuilders are smart enough to
> notice this kind of error, and trigger a rebuild only if the
> build-dependencies are available, but this could be a good thing to do,
> and would also lower the lost time for the autobuilders trying to build
> packages that are not buildable because of dependencies.

First, let's get one misunderstanding out of the way: an autobuilder
will not, by itself, put packages in dep-wait; only a human will. So, if
a package failed due to unmet build-dependencies, it's a human who will
have to prepare the list of dependencies for which a package will have
to wait. Obviously, some people made errors in the ocaml situation
(because of ignorance).

Adding more explicite build-dependencies certainly is a possibility as
it makes things clearer for autobuilder maintainers; however, it is
maybe not the best solution if it is technically possible to build
lablgl against previous versions of ocaml: it will make backporting a
little harder.

I'll send a mail to the m68k porters' list, describing the problem, and
outlining what needs to be done. That won't mean there will be no
problems anymore, but it certainly will help.

> > I just instructed wanna-build to pretend ocaml-3.06-1 is available; all
> > packages depending on ocaml-3.06-1 should at least be in needs-build
> > again.
> 
> Nope, this is not the solution. Just don't remove these packages from
> needs-build, as they are all buildable, they just need to be built in
> the proper order, and with one day difference unless you reuse the just
> built packages for building the others.

Then some of them don't belong in needs-build (yet), but instead in
dep-wait -- only with the correct build-dependencies, instead of an old
version of ocaml ;-)

[...]
> > > This is in an effort to get all the 40 or so ocaml packages ready to
> > > enter testing by friday/saturday next week, so it would be nice if they
> > > could be rebuilt.
> > 
> > I can't promise anything about that, but at least they're re-scheduled
> > again.
> 
> But if i understand the issues involved correctly, the first step of the
> dependency chain will build, but all the other packages will drop again
> from the needs-build queue, right ?

Yes, and that's what should happen: if they can't build, they have to
wait until they can. Packages that have to wait don't belong in
needs-build.

However, what has gone wrong in the past is that the dependencies which
were being waited on were incorrect. Instead of depending on ocaml, we
should've depended on the new version of the library. Which simply
didn't happen.

> Anyway, this helps, since now someone from the autobuilder folk is aware
> of the problem, and things will advance.

Yes, I think I'm fully aware of what's happening and what needs to be
done.

-- 
Wouter Verhelst
Debian GNU/Linux -- http://www.debian.org
Nederlandstalige Linux-documentatie -- http://nl.linux.org
If you're running Microsoft Windows, either scan your computer on
viruses, or stop wasting my bandwith and remove me from your
addressbook. *now*.

Attachment: signature.asc
Description: Dit berichtdeel is digitaal ondertekend


Reply to: