References

You'll find below a few references to past Debamax missions but also references to Cyril's experience as a Free Software developer and as salaried developer.

Debamax references

Tails (The Amnesic Incognito Live System) — Freezable APT repositories (2015-2016)

Debamax has been working on the Tails operating system, both on its building and hosting infrastructures. The goal was to lay the groundwork for reproducible builds for ISO images; this involved setting up snapshots for various Debian repositories, along with adjusting the build system to generate a manifest of packages used during the build. Details will be made available in a blog post.

Paris-based company — Debian upgrade (2016)

The initial need was coordinating a Debian upgrade from oldoldstable (Squeeze) to stable (Jessie) across several thousand devices. Initial investigation reported very different configurations, which prompted an iterative approach aimed at getting two sets of devices with similar configurations (amd64 vs. i386) instead of individual snowflakes. An upgrade path was designed, taking into account upgrade glitches for some packages (in-house developed, or from Debian), which was double checked in virtual machines. After successful tests on bare metal, the upgrade procedure was used on increasingly larger sets of devices in production.

Iggdrasil — Ishtar Debian packaging (2016)

The mission was the initial packaging of a web application (Ishtar), based on the Django framework, for Wheezy. After a few bugs were reported and promptly fixed by the upstream authors, a proper separation was introduced between the packaged code and the logic behind the creation of an instance. Related tasks included submitting initial packaging for a few dependencies which weren't available in the Wheezy distribution.

>> Read more on their websites (in French): IggdrasilIshtar.

Wifirst — Continuous Integration (2016)

Debamax has set up a CI platform for Wifirst, based on the jenkins and jenkins-debian-glue components. It allows for automatic builds of Debian packages for various in-house components, and for making them available through an APT repository. Notifications by mail were configured to let the development team know when build failures are detected, and when they are resolved.

To meet Wifirst's needs, a set of wrappers was developed to make it possible to ship builds from tags and builds from branches through different suites, allowing for an easy switch between release and development packages.

>> Read more about Wifirst on its website: Wifirst.

Wifirst — Mirroring tools (2016)

Debian stable releases don't change much over time, but some updates happen through point releases every few months, where packages already published through the security archive and those staged into proposed-updates are merged into the stable suite. While such updates are usually small, targeted, and well reviewed, they can sometimes generate extra work or disrupt ongoing maintenance operations.

A solution based on reprepro was set up, making it possible to generate a snapshot of an upstream repository at a given time, allowing for extra control. It was chosen to restrict the mirrored packages to a specific list, limiting the need for disk space.

This solution comes with a wrapper to help track differences between snapshots, making it easier to determine preventively which changes are to be expected when moving from an earlier snapshot to a newer one, and to determine afterwards which updates might have triggered a regression.

>> Read more about Wifirst on its website: Wifirst.

Back to top

Cyril as a Free software developer: Debian

User, contributor, developer

Cyril's first Debian installation happened in 2004. He quickly started reporting bugs, and joined the French localization efforts. After a little while, in addition to maintaining a few packages, he made a habit of contributing patches to many other packages, either adding support for some architectures, or fixing their release critical bugs. He's been an official Debian Developer since 2008.

Graphics stack maintainer (X.Org)

Cyril maintained the graphics stack within Debian between 2010 and 2013. This software stack includes the X server, X drivers, and many related libraries. That was an opportunity to get a bit more accustomed to low level code, and to get used to tracking regressions in these components as well as in the Linux kernel.

Release team member

Release managers proposed that Cyril joined their team, which he accepted in January 2012. This team aims at getting the testing distribution in a suitable shape so that it can be released as the next Debian stable release. One major task is handling transitions affecting wide ranges of packages. Another one is performing code review for proposed updates targeting the stable or oldstable Debian releases.

Debian installer release manager

Lastly Cyril has been in charge of the Debian installer since May 2012. This means coordinating the development of all components the installer consists of, making sure changes affecting packages used by the installer (Linux kernel and its modules, boot loaders, partitioning tools, etc.) aren't leading to regressions, and submitting patches when needed. Some fixes also get applied to stable and oldstable Debian releases to improve installation images when the next point releases happen.

Back to top

Cyril as a salaried developer

Kerlabs (2008-2011)

The Kerlabs team welcomed Cyril for an end-of-studies internship, after which he was given the opportunity to join the company as a Study and Development Engineer.

Working on Kerrighed (an operating system for clusters) allowed him to discover Linux kernel development and debugging techniques. He has been assigned different missions which made it possible to approach this subject from different, complementary angles:

AriadNEXT (2011-2014)

Then Cyril joined AriadNEXT, a company specialized in dematerialization solutions and in document securing, where he worked as a Study and Support Engineer.

This was the opportunity to discover new missions:

Being a member of the support team was a very rewarding experience since it led him to have a cross-departmental view. This team acts a privileged link between customers, IT operations management, and development teams (both hardware and software): its main tasks include detecting customer issues (possibly in a preventive manner, thanks to tailored tools), and forwarding user requests to the relevant teams.

Back to top