Introducing Autodeb
Autodeb is a new service that will attempt to automatically update Debian packages to newer upstream versions or to backport them. Resulting packages will be distributed in apt repositories.
I am happy to annnounce that I will be developing this new service as part of Google Summer of Code 2018 with Lucas Nussbaum as a mentor.
The program is currently nearing the end of the “Community Bonding” period, where mentors and their mentees discuss on the details of the projects and try to set objectives.
Main goal
Automatically create and distribute package updates/backports
This is the main objective of Autodeb. These unofficial packages can be an alternative for Debian users that want newer versions of software faster than it is available in Debian.
The results of this experiment will also be interesting when looking at backports. If successful, it could be that a large number of packages are backportable automatically, brigning even more options for stable (or even oldstable) users.
We also hope that the information that is produced by the system can be used by Debian Developers. For example, Debian Developers may be more tempted to support backports of their packages if they know that it already builds and that autopkgtests passes.
Other goals
Autodeb will be composed of infrastructure that is capable to build and test a large number of packages. We intend to build it with two secondary goals in mind:
Test packages that were built by developers before they upload it to the archive
We intend to add a self-service interface so that our testing infrastructure can be used for other purposes than automatically updating packages. This can empower Debian Developers by giving them easy access to more rigorous testing before they upload a package to the archive. For more more details on this, see my previous testeduploads proposal.
Archive rebuids / modifying the build and test environment
We would like to allow for building packages with a custom environment. For example, with a new version of GCC or with a set of packages. Ideally, this would also be a self-service interface where Developers can setup their environement and then upload packages for testing. Istead of individual package uploads, the input of packages to build could be a whole apt repository from which all source packages would be downloaded and rebuilt, with filters to select the packages to include or exclude.
What’s next
The next phase of Google Summer of Code is the coding period, it begins of May 14 and ends on August 6. However, there area a number of areas where work has already begun:
- Main repository: code for the master and the worker components of the service, written in golang.
- Debian packaging: Debian packaging autodeb. Contains scripts that will publish packages to pages.debian.net.
- Ansible scripts: this repository contains ansible scripts to provision the infrastructure at auto.debian.net.
Status update at DebConf
I have submitted a proposal for a talk on Autodeb at DebConf. By that time, the project should have evolved from idea to prototype and it will be interesting to discuss the things that we have learned:
- How many packages can we successfully build?
- How many of these packages fail tests?
If all goes well, it will also be an opportunity to officialy present our self-service interface to the public so that the community can start using it to test packages.
In the meantime, feel free to get in touch with us by email, on OFTC at #autodeb, or via issues on salsa.