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

Re: Keeping information on the build system



On Sat, 13 Oct 2001, Yann Dirson wrote:

> [please CC me on followup]
> On Sat, Oct 13, 2001 at 01:28:36PM +0200, Wouter Verhelst wrote:
> > > > Build-Depends was created so that a package could be built easily. Not so
> > > > that you'd know what software is used to accomplish the build.
> > >
> > > Should this fact stop us from adding the missing information to
> > > accomplish that goal ?
> >
> > The question remains whether that is a valid goal. It just adds clutter
> > that doesn't serve any purpose. What you want (being able to build without
> > having all packages in build-essential installed) is currently possible.
>
> Wrong, it's not what I want, please re-read the beginning of this thread.

Sorry, I just jumped in on something I thought was wrong.

> What I want is a way to tell which versions of which packages were
> used in building a specific deb, so that we can know by comparing this
> with newly availabe versions whether that deb has to be rebuilt or not.

... which is why I misunderstood this.

But even in this case, I see no need for an extra header telling which
version of a certain tool or something likewise has been used. When a
program has been compiled, it works; no matter which version of autoconf
you used, no matter of which compiler you used, a compiled program works.

The only important thing is the library. However, used libraries are
easily detected by their version number in the "Depends:" line.

> > And I'm quite sure that you don't want to go through all packages having
> > "Essential: yes" and decide whether you really need them or not.
>
> I never wrote this.

I didn't say that. But remember that build-essential includes "plain"
essential. If you want to state which packages you *did not* use during a
build, you'll have to check that.

It won't be fun when you have to do that manually -- which would be a
stupid idea anyhow -- but even if you don't do it manually, it's kinda
hard to explicitely state what has not been used during a build.

The set of Essential and/or Build-Essential packages isn't necessary
fixed. They could change over time. If a package gets added to
build-essential or essential, then you'd have to add these packages to all
"Build-Unused" (or whatever you want to call it) of all already compiled
packages. If you want that, be my guest to NMU when the time comes.

> > > Did I wrote that any package marked Build-Unused had to be removed ?
> >
> > No, you want to add this header so that people can know which packages can
> > be removed if they want to. It doesn't make sense, IMHO.
>
> ...so that people/robots doing builds in a chrooted environment do not
> have to uselessly waste CPU cycles to install useless packages.

They don't. buildds don't uninstall build-essential packages. That's why
they're build-essential; these packages are so important for nearly any
package to build, that buildds keep them installed. They're too essential.
It would be stupid to uninstall gcc (and libc6-dev, obviously) after each
build, only to reinstall it 30 seconds later. *That* would be wasting CPU
cycles. See?

If people want to compile some package of which they know the source
pretty well, they'll know what compilers or tools to install, and won't
install anything else. Build-depends allows this flexibility.

> But anyway the current discussion is mostly a spinof of the original
> point, trying to address joeyh's concerns about my current dh_buildinfo
> script.

Maybe; I didn't really follow that point...

> [stripped off-topic stuff]
> > The choice of which compiler is used should be left to the people that are
> > actually compiling the thing. There's more in the world than gcc/g++.
> > Think stackguard, for example. Your proposal is not really creating
> > possibilities, while it makes some things difficult.
>
> I absolutely don't understand what would be more difficult by
> extending the expressive power of the current system.

That was part of my misunderstanding (I thought you supported adding
build-essential to "Build-Depends", which is plain wrong, IMHO)

-- 
wouter dot verhelst at advalvas dot be

"Human knowledge belongs to the world"
  -- From the movie "Antitrust"



Reply to: