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

Re: build-deps



On Mon, Feb 12, 2001 at 11:09:46AM +0100, Georges Mariano wrote:
> Sven LUTHER wrote:
> > 
> > I did not add build-dependencies at first, and anyway, it is a bit difficult
> > to track them all down, because they are stuff i had installed anyway on my
> > system.
> 
> > Yes, just fill a bug against the package if you see missing build deps, i
> > would have liked a automatic build-dep generator (could be done in the same
> > way fakeroot does it's work) but have no time for it.
> > 
> > Also notice, that apt-get source -b will vastly ignore build-dependencies,
> > isn't it, or at least dpkg-buildpackage does. Build deps are mostly a thing
> > used by the auto builders.
> 
> ????
> I'm not sure of that because I used to do <<apt-get source -b>>
> or (when things go wrong in some way) <<dpkg-buildpackage>>, and I
> **saw** the download of deb sources I didn't ask, so... there is (?)
> some use of build dependencies somewhere 
> (more probably with apt-get source -b)

As you said, maybe this is already in apt-get, but not in dpkg-buildpackage.

> By the way, what are auto-builders ??

The auto builders are complex system that permit the non-i386 porters to
automate recompilation of packages for their architecture.

There is one for m68K, ppc, sparc, at least, alpha don't have such.

The autobuilder take the whole debian archive, look at all packages where the
binary is not uptodate with the source, download the needed files, and compile
them. If everything works well, they uplaod the package, if not, they fill
bugs for most common errors (like missing build-deps, and other such) or keep
them on hold for human problem solving.

There were plans for it to be used systematically also on i386, so that you
would only need to upload the source of your packages, thus preventing people
from uploading sources that don't correspond to the binaries, and other
unbuildeable packages.

> What I'm trying to do is to build a memory of the build deps
> by annoting a Makefile something like that :
> 
> libglib1.2-dev:
>         $(COMPILE) libglib1.2-dev
>         $(INSTALL) libglib*-dev*.deb
> 
> libglib1.2: libglib1.2-dev
>         $(COMPILE) libglib1.2
>         $(INSTALL) libglib1.2*.deb
> 
> libgtk1.2: libglib1.2
>         $(COMPILE) libgtk1.2
> ** I PERFECTLY KNOW THAT THIS IS NOT SUFFICIENT TO REACH
> SOMETHING I COULD CALL AN AUTO-BUILDER, ... **

What for do you do this ? just use the correpsonding debian binary packages.

> But it is enough to see what difficulties arise when trying to
> auto-build some parts of the distribution...
> I noted at least to main problems :
> a) requesting an apt-get source -b <name> leads to the download of
> 	- a1 deb source with a different name ...
> or	- a2 several deb sources  (obviously with different names :-)
> 
> b) building a downloaded debsource leads to
> 	- b1 (deb) binary with a different name ...
> or	- b2 several (deb) binaries with different names (again)

Erm, ...

there are virtual packages and source packages containing more than 1 binary
packages.

> So I wonder what kind of <<protocol>> may exist	in an auto-builder in order
> to cope with these issues... 

These may exist, look around the debian web pages, or the non-i386 ports mail
archives.

> In other words an auto-builder
> should be able (?) to automatically generate the corresponding 
> Makefile (in the same way I tried to write one by hand ...) 

Don't think they use Makefiles, more probably perl/whaetever scripts or such,
maybe even a propper C program ?

Friendly,

Svne Luther



Reply to: