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

Re: compilers that self compile



On Wed, Oct 20, 2004 at 01:18:39PM -0300, Antonio S. de A. Terceiro wrote:
> Hello all,
> 
> How do people in Debian handle compilers that depend on itself to
> be compiled?

I asked this question a while ago too. Quoting DWN[1]:

| Cyclic Build Dependencies. Jeroen van Wolffelaar [11]noticed that
| [12]oaklisp contains a binary file which is used for bootstrapping.
| There are at least half a dozen such [13]loops in Debian already.
| Edmund Grimley Evans [14]assumed that such cyclic build dependencies
| are acceptable in Debian.
| 
|  11. http://lists.debian.org/debian-legal/2004/06/msg00113.html
|  12. http://packages.debian.org/oaklisp
|  13. http://lists.debian.org/debian-legal/2004/06/msg00116.html
|  14. http://lists.debian.org/debian-legal/2004/06/msg00114.html

So, yes, that's acceptable[2]. You must ensure you can change sources as
you like, and then get a new package, but you don't need to make
bootstrapping possible/easy.

>    * can a package build-depend on itself? I've saw that gcc, for
>      example, don't (at least explicitily) build-depend on itself.

It does in a way: build-essential is an assumed build-dependency, and
gcc is depended on by build-essential. ghc6 does build-depend on itself.

>    * how packages like those go in the repository for the first time?

By ignoring build-depends while in some way you've made your system to
actually be able to build the package. I.e., you've for example
bootstrapped the compiler. Then you install it locally, and build your
package again, this time the normal way, and you upload it. After it's
in the archive, it's rebuildable by itself.

> I couldn't find references about that on either in Debian Policy Manual
> or in Debian Developer's Reference. If I missed something, please point
> me were.

This is indeed something which IMHO needs to be clarified.

--Jeroen
 
[1] http://www.debian.org/News/weekly/2004/24/
[2] Technically, this very issue was not a cyclic build-depends at
    package level, but there was some 'binary in source package' hack
	involved

-- 
Jeroen van Wolffelaar
Jeroen@wolffelaar.nl (also for Jabber & MSN; ICQ: 33944357)
http://Jeroen.A-Eskwadraat.nl



Reply to: