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

Re: History of Debian bootstrapping/porting efforts



Johannes Schauer dixit:

>If you were ever involved in porting Debian to a new architecture or
>know how a port was done, please do not hesitate to either write me an

For reviving m68k:

> - did you cross compile parts of Debian? How much? How hard was it?

Only to test kernels and a few userspace issues. I was lucky I could
use packages from both etch-m68k (a snapshot of mostly sid at the time
when etch was released) and unstable (mostly broken by then) as basis.

> - did you natively compile on another distribution (openembedded,
>   gentoo)

No, just on old Debian, peu à peu, until I could get cowbuilder
running and create a clean build chroot, after which I rebuilt
all not-cleanly-built packages. (I prefer cowbuilder over sbuild
a lot!)

> - how did you go about finding reduced build dependencies? What were
>   the heuristics you used? How did you find dependency cycles to break
>   and how did you pick a solution?

Fully manually. I mostly drew ASCII files like this:

sourcepkg1
	sourcepkg2
		sourcepkg3
		sourcepkg4
	sourcepkg5
		sourcepkg3<dup>
		sourcepkg6
			sourcepkg2<cyc>

The web view on packages.debian.org was, and still is, a *huge*
help for drawing those, especially as it also includes packages
from debian-ports unstable in their sid view (I just wish they’d
also include d-p unreleased suite in it, even without a link but
just an inclusion in the version table would be superb).

Then I worked on them from right to left, occasionally patching
a huge dependency out or breaking a B-D loop by hand, sometimes
also installing older versions of B-Ds manually, or even building
versions older than sid but newer than what I had.

Sometimes, package maintainers were a huge help in tracking down
optional dependencies or things I could turn off for bootstrapping;
too bad we still don’t have build profiles in Debian proper.
Other times, I did that using human judgment ;)

> - how long did the port take you?

After about a year, doing this “on the side”, i.e. not concentrating
on it a lot, and considering the very slow speed of the systems, most
things were working. One has to consider I learned about how Debian
really works during that time, too…

> - what were the most common bugs you filed when introducing the new
>   architecture?

Dropping of B-D or versioning them proper or making them arch-specific.
For some packages (mostly toolchain, some device drivers like libdri)
also patch inclusion.

Almost all maintainers and the kernel team were very helpful and
happy to include arch-specific patches that did not touch MI parts,
and some accepted MI patches as well. For some, I went upstream,
which took months(!) longer in most cases.

>	Build-Depends: huge (>= 1.0) [i386 arm] <!embedded !bootstrap>, tiny

Yeah, waiting for it…

As for the rest, we already talked on the mailing list.

bye,
//mirabilos
-- 
Sometimes they [people] care too much: pretty printers [and syntax highligh-
ting, d.A.] mechanically produce pretty output that accentuates irrelevant
detail in the program, which is as sensible as putting all the prepositions
in English text in bold font.	-- Rob Pike in "Notes on Programming in C"


Reply to: