Creating a Fedora ARM distribution part 2: Bootstrapping
Posted Oct 21, 2011 21:59 UTC (Fri) by
alvieboy (subscriber, #51617)
Parent article:
Creating a Fedora ARM distribution part 2: Bootstrapping
> but in the case of a complete bootstrap there are no pre-built dependencies, so they must be created from scratch. Not only that, but build dependencies must be built using a minimal "bootstrap" configuration that avoids circular source dependencies on packages not built yet, and also provides enough basic functionality to rebuild the full set of dependencies using standard tools
Unless this is about GCC + libc dependency, it does not make much sense. Bootstrapping an unknown architecture might require more than this *once*, but we're speaking about same OS, a Linux OS, which supports cross compiling easily. The only circular dependency I see is this one. The one that might prevent you to have a build system up and running.
I've developed a proprietary linux distro, with all dependencies very much like you see in debian. I have so far managed to get a cross compiling environment ready for a new architecture in less than 2 days.
Having circular dependencies is not only wrong, as it might get you in deep trouble. So called "weak" dependencies are used to avoid this (like Suggests, Recommends, so on). Still, you don't actually need this, do you?
And yes, our distro is based on chroot environment. And no circular dependencies at all [our system did not cope with those, so we definitely did not have them until recently we had to import python modules, and use their depicted deps - we did have to handle them, but only then].
Sorry for being a PITA here, but I often think that RPM based systems not only did not evolve much, but started with the wrong foot from the beginning [and still paying the cost].
One thing that might help you is to decouple the build environment from the deployment environment. Meaning that you can have a set of packages meant for development, and another set for publishing.
Right now I can install a fully dev environment just by "mkdir DIR" and [real command ommited here] apt-get --chroot DIR --install dev-system --from-scratch. Rebuilding it, differently from the main stream, is absolutely not needed. But we did think about this in a very early stage.
Alvie
(
Log in to post comments)