Maratona Linux a tale of upgrading from Ubuntu 20.04 to 22.04
Davi Antônio da Silva Santos, Bruno César Ribas
TL;DR
The paper addresses the need to keep the Maratona Linux development environment up-to-date with Ubuntu LTS releases while maintaining offline contest capabilities. It presents a migration from 20.04 to 22.04 that replaces Flatpak approaches with native Debian packaging, enhances tooling (debmake, piuparts), and standardizes VM testing and dependency tracking. Key contributions include modularized package design, a centralized VM configuration, and formalized testing and policy-compliance workflows, culminating in a more maintainable and reproducible contest environment. The work has practical impact by ensuring contestants have reliable, up-to-date tools and environments across Ubuntu LTS upgrades, with a clear path for addressing future release changes.
Abstract
Maratona Linux is the development environment used since 2016 on the ``Maratona de Programação'', ICPC's South American regional contest. It consists of Debian packages that modify a standard Ubuntu installation in order to make it suitable for the competition, installing IDEs, documentation, compilers, debuggers, interpreters, and enforcing network restrictions. The project, which began based on Ubuntu 16.04, has been successfully migrated from 20.04 to 22.04, the current Long-term Support (LTS) version. The project has also been improved by adding static analyzers, updating the package dependency map, splitting large packages, and enhancing the packaging pipeline.
