Archive for September, 2017

10 years of Project-Builder !

2017/09/24

Well, I think it’s worth to celebrate that milestone ! I’m now publishing officially the version 0.14.6 of project-builder.org for its 10th anniversary.

Everything started to solve an issue I had when I took over the maintenance of the MondoRescue project. It was very difficult in 2005 to consume the project. People had to download a tar file, follow a very succint recipe to build and install it and then being finally able to use it. The tool was supporting a lot of Linux distributions, but was difficult to use by these same distributions. So I started to build some shell scripts to help me deliver Linux distributions packages to solve that. I realized that I was duplicating stuff to address Fedora and RHEL, SuSE and SLES, Mandrake and Mandriva, … Even when building for other types such as Debian and Ubuntu or Gentoo. Typically all these distributions want a summary, a description, dependencies, changelog, … And I hate duplicating stuff. Also I realized I wasn’t the only one in need of this type of support. LinuxCOE, a peer project at HP was also in need of this, as well as many others.

So in 2007, I decided to rewrite my scripts in a more powerful language, perl (thanks Larry Wall ! and BTW I continue to find it way superior to a lot of younger ones, calling themselves more modern :-)). And version 0.5 was soon published as I used my vacation that year to code a lot for it.

It was way before I started to blog, and blog about it was among the first articles I decided to write. Of course, along the years, features have been developed, capabilities extended. I’m now able to generate project-builder.org it self and MondoRescue for 130 tuples of distributions. THat’s a proof this is possible, and that a tool like that can help achieving it.

10 years ago, I had to invent a configuration file format to support my needs. I wanted to have the least possible number of hard coded elements in project-builder.org. I created my own format, pretty simple mimicing the perl hash being: keyword param = value[,value]. At that time, YAML and JSON weren’t that popular, and I wasn’t aware of perl modules to support these, despite the fact they were existing, and my knowledge of CPAN wasn’t that accurate.
But at least I had inheritance mechanisms, and fucntions to deal with it, whch proved to be extremely useful to migrate.

So It’s now time, for the next 10 years to adopt a format, nearly as simple as mine, as easy to map to perl hashes as mine, and I chose YAML, benig lazy and finding it easier to manage manually (like mine was). Of course, this will have some consequences, as some old build environment don’t provide it so I may drop support for some very old distributions. If needed BTW something can be done as we have the source !! Version 0.15.1 is already in progress, and project-builder.org is now able to build itself, including in VMs or Docker containers for other distributions using that new format. And due to the mechanisms in place, I’ve kept easily all the features, just moving to a new format. I’ll start to work soon on migrating the conf files of MondoRescue to have another project working with that version. I’m also working in HPE with another team that is starting to use it as well, and I chose to adopt for them the new version to benefit from the way forward.

Finally, as I mentioned previously, the tool is now in use by the FOSSology project as well in the Linux Foundation build infrastructure. With the latest version 0.14.6, now FOSSology builds at least native packages for CentOS 7 on a CentOS 7 platform. Now we’ll work on the generation of packages for the other distributions the project want to support (which will be pretty easy now the infra is in place), in order to cover the topic during the Open Source Summit in Prague in October, providing I get approval to travel there (as I’m traveling quite a lot these days).

So happy birthday to project-builder.org and let’s start working on the next YAML based version, and help more projects adopt it !

Advertisements

Meet at SUSECon 2017, Prague

2017/09/16

As the sessions I proposed for the event weren’t accepted, I considered I had no chance to attend this year SUSECon. But it turned out that there was a need for HPE to have someone able to talk about Helion OpenStack on the booth, and I have been chosen to do it, so I’ll be around this year, for the first time, from the 25th to the 29th of September, in the beautiful city of Prague (will be my 4th time there !).

I’ll look forward meeting with some of my SUSE friends over there, and discover a new event.

Of course, as usual feel free to come and talk to me (I should be on the HPE booth when it’s open) of OpenStack, SUSE CaaS (as we’re working on a Reference Architecture on Synergy) and of course Open Source in general, and early music in particular 😉

It’s been a while

2017/09/12

When I look at the date of the last post, indeed it’s been a while since I took time to write here.

Many reasons to that, I took time off this summer to lead the infrastrcuture track at the RMLL, then to make music, for the 28th year in a row with 3 concerts and a diaporama, to visit Normandy with part of my family (Caen, Rouen, the Bayeux Tapestry, Honfleur, and many other places), back to work for some days and then doing another concert with the Variations ensemble I lead around François Ier in Monêtier les bains.

Then back to work. On top of my normal activities for HPE, I tried to incorporate various fixes into MondoRescue to finally publish 3.3.0, but that has again been delayed 😦 It seems I have a hard time publishing it, despite getting good patches or making them myself. I destroyed a system while doing tests, which forced me to update to Mageia 6 published meanwhile to put it back on track ! That didn’t help, and also I now need to check again but in VMs to avoid that issue and fix it for good (was too confident my modified code was working, but I was obviously wrong !). This is linked to fixes in mindi in order to fix size of initrd and its automatic computation. THat should be part of 3.3.0 as a consequence.

In order to solve support for multiple GPG keys signing my packages, I’ve had to go back to project-builder.org, and enhance it. Which lead to the publication of 0.14.6 (still not fully finished, despite code being frozen). And also I had work during my vacation time on chaging the format of project-builder.org conf files, from our own, to a YAML based one. For now, it’s just a change in format, not a semantic one, but that ill allow to improve some aspects, and also I get for free a syntax analysis with the perl YAML.pm module, which is nice (add -v to get the conf file concerned). So version 0.15.1 should come soon, once my 2 main users outside of myself won’t complain about bugs anymore.

One of these projects is FOSSology, and I should present the joint result of our common work with Michael Jaeger on the build infrastructure we put in place for the project to do Continuous Packaging at the upcoming Open Source Sumit in Prague in October, but it seems HPE doesn’t want to support my trip (I still didn’t get travel approval yet) and I may have to pay for it myself for the first time since I started talking at this conference back in …Prague in 2011. If you know anybody who would sponsor me, that would be great !!

Speaking of conferences, I’m this week at the Open Source Summit in Los Angeles, as part of my HPE job, where I lead a round table this morning on containers (are they the future of IaaS ?).

So despite having been quiet for long, Ive been busy as usual, and trying to improve the software I’m contributing to, andour global ecosystem, as well as the musical one. Hopefully you’ll get more news soon, as new releases and travel arrive !