We announced that our first alpha ISO will be available by the end of January… and still no ISO. Damned! What is going on? Let me explain it.
Once upon a bootstrap…
As stated in previous blog posts, our build system has been in active operation for the past weeks and more than 4,000 packages have already been built. This set of packages is what we call a bootstrap.
Looking at Wikipedia, you will see that a bootstrap is a small bootloader used to boot a bigger system. In the case of Mageia: bootstrap is the current step where the base system and major dependencies are being built so that all applications can then be also built using Mageia own tools and packages. All Linux distributions use their own packages to build all packages available in their repositories.
Then comes the hardest piece of the story, kind of a chicken and egg dilemma. Some low-level packages, usually called toolchain, need themselves to compile: gcc, glibc… These packages already exist in a lot of distributions. So the bootstraping process simply start from one of these distributions.
On Mageia side, we decided to use Mandriva packages as the first release is based on Cooker. In order to use them, we need to have them cleaned:
- removing Mandriva specific bits and pieces (RPM macros, copyrighted items like images, icons, deprecated stuff…)
- removing unneeded conditions in build requirement definitions
- sending patches upstream so that we don’t have to maintain them whereas they could be profitable for all if upstream accepts them
- disabling temporary some high-level dependencies as they are not yet built and available for Mageia (Java, Mono).
When all this is done, each package is ready to be rebuilt on Mageia build system. Once the package is rebuilt as Mageia one, the packager will check and re-add, if needed, additional build dependencies as soon as they are available.
Let’s take an example
gcc is a C compiler, an important part of base system as it’s needed by a lot of applications to be built from source.
Mageia needs its own gcc package to generate all applications using C language (also called dogfooding). This is a crucial operation for Mageia as doing it properly will ensure that everything is working well and in the same time list potential problems and correct them. Mageia gcc is then generated.
When the toolchain is built then we can rebuild Mageia kernel, X drivers, X server, etc. and upper-level applications. A bootstrapped system doesn’t offer packagers much more than some libraries and a compiler. It will then need additional core system packages before being able to let the packagers team really start working in earnest. Many packages do require some build dependencies which in turn require some other build dependencies.
Finally thousands of packages are needed to build major components that will be needed for high level applications.
Of course this is the simple story, without all the fun things that can happen during rebuild process. But that’s the big picture.
Why is bootstrap so important?
As stated previously, bootstrap is a step where packagers and base system specialists can take time to check consistency of the very low-level parts of the distribution, clean requirements and make it fit with the distribution policy. So bootstrap is not dedicated only to people interested in forks 🙂
By the way, improving and writing proper documentation on bootstrap will also help a lot when new architectures are being added and supported. It will need a proper toolchain, base system… Same story.
So back to our first question: when can we expect a first test ISO? The bootstrap step started one month ago and should be finalized by tomorrow. It took about 1,500 hours to build available packages, taking into account successful builds but also failures, rebuilds, technical decisions to be taken, unexpected problems, discussions…
Now here we are :). Repository is ready for first build tests, our build machine for ISOs is properly configured and Alpha1 is expected on 15th of February; stay tuned, more news about future roadmap is coming soon!
Thanks for all the good work
Pingback: Tweets that mention Bootstrap? What bootstrap? I want Mageia ISO! | Mageia Blog (English) -- Topsy.com
and thank the gods we’re finally seeing the end of the java build-dependencies… kudos to dmorgan
I applaud your communication with your public.
And also thank you very much for all the information – that is one part where you are definitely doing a better job than (the company) Mandriva ever did!
Awesome explanation!! , waiting to prove the first alpha =)
Thanks a lot for this -very clear- explanation.
Take the time for doing things well.
Pingback: Where’s My Mageia ISO? | PHP World
Pingback: Where’s My Mageia ISO? | Boomeroo Web Resources
How do you handle BR cycles? Just break them by hand?
Yes; hopefully it’ll be easier when new archs are introduced 🙂
In fact, you can add conditional in packages specfiles ( with %define and %if ). And the issue of loop do not only arise in case of fork or porting, it also happen for some big upgrades.
For example, a case that I know well is python upgrade. When we update python, every python software must be recompiled, or do not work anymore. So first, python is updated, so no modules work except the one shipped with python. Then we stat building everthing, but some python modules requires others python modules to be built. For example, the documentation of numpy is done using sphinx ( a python tool, with a module ). Sphinx requires nose ( a module for testing ). Nose requires Sphinx ( for it’s own documentation ).
So we have to disable tests and/or documentation to break the loop when we upgrade python.
Various peoples discussed on various way to manage the issue, like having a list of flags, automated tests, or some reports ( using sophie ), so that’s definitly a area where we will work.
I appreciate all of the hard work that is taking place and I look forward to testing the ISO images when they do become available. Thanks for the update, and thanks for the nicely detailed explanation of what has been going on. It is a lot of work and I appreciate not only the work, but the updates on what is happening.
Thank You for the information, Mageia has made a good start with communication,
with potential users, keep up the good work. I look forward to the first alpha release.
for now it looks Mageia is just a bunch of ungry Mandriva ex-employees whose only purpose was no other than pissing-off the company that fired them a few months ago.
In the mean time I have observed that Mandriva is really alive-and-kicking, nothing to do with the “unclear future” you mention in your main web page.
Worst regards from a faithful and happy Mandriva user who doesn’t need a new stupid fork from their thankless ex-employees!
Thank You for the update and a very informative communication. Looking forward to February 15th.
Αιντε να δούμε…
it’s greek for “let us see”
BTW Which desktops are you providing? Can Mageia aim at some stage for some of the lighter desktops (LXDE, Openbox, Fluxbox – not so keen on XFCE)?
Note that the first Alpha won’t be aiming at providing fully functional DE’s; however KDE4, GNOME, LXDE, Openbox and Fluxbox are all in the repos already 🙂
And people that want to see what is in the repository and cannot wait until we publish ( ie, very soon ) can take a look at the list on http://sophie.zarb.org/distrib/Mageia/bootstrap/i586/media/core-release , or explore using the test instance of mageia app db ( http://18.104.22.168/madb/master/index.php ).
This was a fun article to read, this puts the fun back into being a Linux geek. Keep more articles like this coming… this makes the experience with the Distro interesting and provides thought provoking information.
I was using Red Hat Linux the other day and I’ve been sampling other distros, Kunbuntu, unbuntu, Mint to see what I want in a Linux distro. I keep coming back to my Mandriva laptop. Couple of reasons for this: Package manager GUI is excellent, System management software, Install process is easy and quick, and a fast bootup. I believe rpm management via urpmi is simply elegant and by far easier… please keep these features in Mageia.
I will tell you that Unbuntu & Mint have all of these features and are stiff competition, but the themes and wallpapers are sooo boring, yawn, and the amount of time it takes one to set up your desktop the way you like is a painful experience starting from scratch.
Can Mageia improve upon the themes, and come up with some interesting wallpapers? How about some theme setup scripts that make it a faster process?
Anyway, am looking forward to Mageia and evolving from Mandriva to Mageia!
I too have sampled many different distros. My rule of thumb is two weeks before a new Mandriva version comes out to try a different distro, and if I like it, to stick with it. I’ve tried 2 different Ubuntus (10.04 and 09.10), Mint 10.04, OpenSuse 11.1, Debian Lenny, and Kubuntu 10.10. I too found myself coming back to Mandriva every time. Mostly for the reasons that you stated.
My one complaint about Mandriva is that the packages are very slow to update. (Read: the repos are nearly always one or two versions behind current stable on many programs.)
The openness and transparency we’re seeing here with the constant updates on the current position of Mageia lends me hope. It shows that the people behind this are truly community-driven and want to keep us, the end users, in the loop.
I really enjoy reading these updates, and this one in particular clarified a lot for me. I’m anxiously looking forward to a stable release.
Thank you very much, Team Mageia.
First of all, i would like to thank for Mageia devs for their huge and amazing work!
Secondly, to reply to Mr. Max, I too have tasted many flavor of Linux and saw myself coming back to mandriva… I’ve one requirement though is that Alsa should be the default sound server and not PulseAudio (being very problematic for me while using VoIPs’ software)!
Thank you very much for your hard work I’ll be keeping an eye or two on the blog and main website! ;D
Great response and to the Mageia development team, how do users like myself and Max make it known what we’d like to see in the distro?
I just tried Unbuntu 10.10 and I was very impressed. Out of the box, it’s standard theme and desktop settings are superb. I actually apprieciate the Software Center that allows me the option to purchase licensed software (i.e. a DVD player with codecs). I don’t have that nagging feeling like I need to “tweek” things till I find one that I like.
Where I think Unbuntu, Fedora, Mint go wrong is that they pagkage a bunch of software I don’t need, use or want. For instance, I have 15 applications under the “Internet” menu alone from a standard install of Unbuntu. I only use Firefox and “Network Connections”… Never mind all of the “social networking” stuff that comes with unbuntu. Can Mageia streamline this process as well.
So in summary, I’d like to see Mageia include:
1. Ablility to purchase software (i.e. Fluendo DVD player). FYI… Mandriva had this ability but it was absolutely painful to get access. Unbuntu makes this slick and easy.
2. Make the install process simple and easy to select what I want to install…
3. Better themes. I don’t like spending a lot of time tweaking things to get them right…
Mon anglais est très rudimentaire et les traductions Google sont horribles.
L’explication est probablement très intéressante, mais je suis loin d’avoir tout compris.
Aurons-nous droit à la traduction fr, comme d’habitude ?
Oui tout à fait. Nos traducteurs sont de retour du FOSDEM et y travaillent d’arrache pied 🙂
Merci, Anne, pour cette réponse rapide.
Encore un souhait :
Depuis la sortie cahotique (au départ) de KDE4, je suis passé à Xfce, convivial, efficace, sans gadgets inutiles
(actuellement Mandriva 2010.2).
J’installe directement depuis un miroir personnel, avec une image boot.iso.
J’installe d’abord la base minimale (sans bureau, mais avec urpmi). Ensuite je complète avec les paquetages dont j’ai effectivement besoin.
Je constate que, chez Mandriva, l’installation minimale devient de plus en plus lourde (même sans les paquetages suggérés).
Avec Magei une installation minimale sera-t-elle vraiment minimale ?
C’est effectivement une demande récurrente. Nous avons prévu de passer en revue toutes ces dépendances… après la première alpha 🙂
Pingback: Bootstrap? Que bootstrap? Eu quero a ISO da Mageia! | Mageia Blog (Português)
Afin de faire un maximum de retour sur la version Alpha 0 de la première version de Mageia, y-a-t-il déjà un site web Mageia équivalent à qa.mandriva.com avec un logiciel comme bugzilla (http://www.bugzilla.org/) ou jira (http://www.atlassian.com/software/jira/) ou Mantis (http://www.mantisbt.org/) ?
En sachant que https://qa.mandriva.com/ utilise Bugzilla 3.2.3.
>Avec Magei une installation minimale sera-t-elle vraiment minimale ?
Je serais d’accord pour virer le package KDE games en dépendance obligatoire pour KDE et les autres packages de jeux KDE, Gnome ou autres.
Celà n’a rien à faire sur un PC sous Linux destiné à un emploi à usage professionnel.
Un bugzilla est en préparation et il sera prêt (pratiquement prêt déjà) lors de la sortie de la première alpha.
>Un bugzilla est en préparation
Donc tout est ok pour moi pour faire des tests sur la Alpha0 et vous faire un retour.
On verra si le niveau de qualité de la 1ere Mageia dépasse celle de la Mandriva 2010.1.
J’espère que le bootlader grub de Mageia pourra détecter et prendre en compte toutes mes anciennes partitions avec Mandriva 2010.2 et 2008.1, par e que j’ai déjà une partition vide dédié au test de Mageia.
Note : Firefox 4.0 est prévu pour être inclus dans la Alpha 0, par contre il faudrait inclure aussi la dernière version de Firefox 3.6.x pour certains utilisateurs qui aurait besoin impérativement d’extensions Firefox non compatibles encore avec Firefox 4.0.x.
C’est à titre de précaution.
Attention, dans alpha, il y a alpha. 😉
Cette version ne sera pas une release stable du tout. Mais tous les tests seront les bienvenus.
Pour les commentaires en français, il serait mieux d’utiliser le blog FR pour favoriser les discussions. 🙂
Pingback: Starting with Mageia: download it! | Mageia Blog (English)
Pingback: Luthfi Emka » Mageia Linux: Rilis Mageia Linux Alpha 1
Pingback: ¿Bootstrap? ¿Cuál bootstrap? ¡Quiero mi ISO de Mageia! | Mageia Blog (Español)
Wonderful explanation! Great graphics! Like many others, I have found Mandriva a great GNU/linux distro. I have a wide range of hardware, from a 500 MHz PIII to a 2.2 GHz Core 2 Duo, with various Athlon and Pentium chips in between. Mandriva just always works. It likes my wi-fi cards, my video cards, and my sound cards. More than any other distro I’ve used, it just works, out of the box. Aesthetically, it’s a joy to the eye. The attention to detail in creating the images for the screensaver created beauty even when the computer is idle.
Congratulations on the birthing of Mageia. Thanks to all of you for your dedication and hard work. I will install the Alpha 1 release of Mageia and see how things go. That reverses a long-standing policy I have of not installing Alpha software.
Nos amis francophones raise several interesting points. One is the need for a minimal install that is truly minimal. The other is the situation with the search for a bug database system. Those issues were addressed in response by ennael and rda. I hope that people who post in French here or in English on the French blog will continue to be treated with the courtesy in evidence above. I’ve seen some forums across the web, but not many I’m afraid, where this happens. It just makes the forums really friendly places to be when it does.
païou, ennael, yannick56, rda, and dams, soyez toujours les bienvenues ici chez les commentaires en anglais, mais je comprends le désire pour les commentaire en français. Moi, je suis plus confortable en anglais, mais je veux bien vous rendre visite chez les commentaires en français.
Again, to all who are doing so much work to make the magic happen, thank you so much!
And, of course, several of those who posted in French certainly should feel at home here in the English blogs, as poking around a little, I see they are founding members of the Mageia project.
Oh, I am so embarrassed. Well, at least I was friendly and courteous to everyone 🙂