Happy New Year 2022!
The past year 2021 brought us all both great and sad news, with the world
still fighting the COVID pandemic. Gentoo is going strong however, and we
are happy to present once more our review of the events of the last 12 months.
for new developers, exciting changes and improvements, and up-to-date numbers
on Gentoo development.
Gentoo in numbers
The number of commits to the main ::gentoo repository
has once more clearly grown in 2021, from 104507 to 126920, i.e.,
by 21%. While the number of commits by external contributors, 11775, has remained
roughly constant, this number now distributes across 435 unique external authors
compared to 391 last year. We may have recruited some of the top contributors. ;)
Contributions to GURU, our user-curated repository with a trusted user
model, have increased enormously. We count
4702 commits, up by 73% from 2725 in 2020. The number of contributors has
grown even more, to 119, up by 116% from 55 in 2020. Please join us there and help
packaging the latest and greatest software!
On our bugtracker bugs.gentoo.org, the number of new bug reports decreased slightly, with
24056 bugs opened in 2021, compared to 25500 in 2020. However, more reports were
closed this year, with 24076 bugs resolved in 2021, compared to 23500 in 2020.
The ongoing tinderbox efforts as well as the overall high level of activity seem to be paying off!
In the past year 2021 we have gained an outstanding number of seven new Gentoo developers,
much more than in recent years. In chronological order:
John Helmert III (ajak):
John was the first one to join in February. He’s focusing
on the never-ending security work, wrangling bugs and issuing GLSAs, but also on developing the internal applications and infrastructure of the
security team. We will hopefully have a fresh new GLSAmaker soon!
Andrew Ammerlaan (andrewammerlaan):
Andrew signed up in May
and is well known for working on our scientific software stack (specifically physics and electronics), and also handling
user contributions for both the Gentoo repository and the sci overlay. Beyond this he active in the GURU team and also
in Python packaging.
Ionen Wolkens (ionen):
Ionen started in June
and by now is active in many corners of Gentoo. His specific focus area, however, is games, games, games!
In addition, he has also taken over one of our somewhat “special fun” packages, nvidia-drivers, and is the
author of a whole set of development tools …
Florian Schmaus (flow):
Also having started in June,
Florian is busy with Java support, co-administrating the GURU overlay, and the
proxy maintenance team. In addition he contributes to Erlang packaging - one of the more exotic programming
languages present in Gentoo.
Arthur Zamarin (arthurzam):
Next, in August, came
Arthur. He’s contributing a lot to our Python team, keeping the large number of
Python packages maintained there up-to-date. In addition, he recently joined several architecture teams, so we
can keep offering Gentoo for highly diverse hardware.
Jakov Smolić (jsmolic):
Our second new recruit in August
was Jakov. Master of odd jobs, he’s fixing bugs across the gentoo tree, solving
QA problems, and also weeding out old packages. Last but not least, he has also joined our
recently renewed architecture team efforts.
Maciej Barć (xgqt):
brought us Maciej. He’s coming from the mathematics corner, and consequently his areas
of specialization are scientific and in particular mathematical packages, Scheme, but also, for
Very sad news reached us in February.
Kent Fredric (kentnl), a driving force behind our Perl and Rust efforts, died in
a drowning accident - just when he had moved to Florida to start a new phase in his life.
We will all remember his enthusiasm, helpfulness and love for detail, and wish his family
all the best.
Let’s look at the major changes and improvements of 2021 in Gentoo now.
Stage 3 tarballs for the alternative libc musl are now built using the
main Gentoo repository only and have been published for several more arches and
configurations. Work is ongoing to import more musl-related fixes and support patches
from the musl overlay, with the objective that musl-based installations
eventually work out-of-the-box in Gentoo.
libxcrypt: GNU glibc based installations have this year migrated from the deprecated internal
crypt support to the external, new libxcrypt.
With this we follow several other distributions; we gain modern algorithm support for one-way
hashing of passwords and much easier bugfixing outside the glibc release cycle.
ROCm: the AMD open software platform for high performance / hyperscale GPU
computing is now fully packaged in
Gentoo, thanks to a contribution
within the Summer 2021 Open Source Promotion Plan OSPP of
the Chinese Academy of Sciences and the openEuler
community. Stay tuned for ROCm-enabled applications from Gentoo, such
as Numba, CuPy, TensorFlow, and PyTorch.
In the meantime the default Python version in Gentoo has reached Python 3.9. Additionally we have
also Python 3.10 available stable, which means we’re fully up to date with upstream, and
our Python has gained support for link-time and profile-guided optimization (LTO and PGO)
Themes Project: The
Themes Project was created to maintain X11 themes and to unify their structure.
Stable but up-to-date: As examples of the fast pace of Gentoo, our stable set
contains among other things gcc 11.2, glibc 2.33, binutils 2.37, LibreOffice 7.1.7, KDE Frameworks 5.88,
Plasma 5.23.4, Gear 21.08.3, GNOME 40, and many more packages. If you want to go
bleeding edge, then the very latest code releases are often available as testing packages.
PPC64: The PowerPC profiles and downloads have
seen significant updates and enhancements. Several new ppc64 little-endian profiles (desktop,
Gnome, …) have been added to the Gentoo repository. Our weekly updated downloads now include
little-endian stages optimized for the POWER9 CPU series, and big- and little-endian hardened musl
Support for RISC-V has improved enormously over the past year. Modern desktop environments such as
KDE Plasma, Gnome, but also Lxde, Xfce4, and Enlightenment are fully available, as are other
packages ranging from Rust to ZFS. Many more are in preparation. Gentoo is running nicely and
is actively used on many of the first physical RISC-V systems. Stage files
are now published weekly for
all supported ABI in both systemd and OpenRC variants. We have adapted the library directory paths to
those used by other distributions for better binary compatibility.
Gentoo on Motorola 68000 is back! We have regularly updated stages for download again,
and keywording of packages is ongoing.
While this is not an official Gentoo project yet, we have already received first code contributions
for Gentoo on LoongArch64, a Chinese development
originally based on MIPS.
Release Engineering: This year brought big
updates of our build hardware as well as improvements in Catalyst.
A new AMD Ryzen 7 3700X 8-core machine at Hetzner now handles our builds for amd64, x86,
alpha, m68k, and riscv (the latter via qemu); a new ARM64 Ampere Neoverse-N1 80-core
machine provided by Equinix through the Works On Arm program
handles arm64 and arm; and two 16-core POWER9 machines provided by OSUOSL POWER Development
Hosting handle ppc64 and ppc.
This means we have had the capacity to add a large variety of builds, from openrc and systemd variants
to musl-based builds whereever possible.
HPPA: We have received a donation of a fast HP
Precision Architecture (PA-RISC) machine! It will be set up during the new year and significantly help both
hppa stabilization / keywording efforts and the release engineering builds.
Internal modernization: Our infrastructure team has completed two important internal
the migration from 15 years of cfengine-2 configuration management to
puppet, and the update of a
roughly 10 years old ganeti-2 cluster to a recent ganeti version. Both steps will help a lot
with managing our servers.
GKernelCI, the Gentoo kernel testing system
(see also its dashboard page), reached its
New features includes: easier to deploy (thanks to docker), addition of new architectures under test
(amd64 (tested with both gcc and clang toolchains), arm, arm64, ppc64, sparc),
addition of kselftest check (kernel self test tool), and sharing results with KernelCI for supporting upstream Kernel testing and development.
Online Gentoo workshops: A series of online workshops in German language started in 2021.
The meetings take place in BBB every 2 months on the 3rd Saturday of the
month. The events have been very well received, and we also want to provide workshops in
English starting on 2022-02-19. All events are listed on https://gentoo-ev.org/.
The move to Libera Chat: After major changes in the governance of Freenode IRC, Gentoo
and many other open source projects moved their IRC presence to Libera Chat. This new
IRC network, founded by former Freenode staffers, has in the meantime become the de-facto replacement of Freenode;
we can certainly say that we feel very welcome and at home there and have a very strong presence with over 100
Although we continue to use IRC as our primary means of real-time communication, we
have also established presence on Matrix. In addition to
Gentoo developers overseeing a native Matrix channel dedicated to our distribution
#gentoo:matrix.org, we now maintain a Matrix space #gentoo-linux:matrix.org which
includes both the native channel and several bridged Libera Chat IRC channels.
Experimental binary package hosting: First steps have started to also provide binary package
hosting on the Gentoo mirrors.
This year the following projects have been discontinued:
After several years, Gentoo maintainers decided that keeping
this barely modified fork of systemd-udev alive was not worth the effort, in particular
since also musl-based installations now work with the original.
In the meantime, maintenance of eudev has been picked up by a cross-distribution
team, which means it may be
available for longer.
Since µClibc-ng is mostly abandoned upstream, support for the µClibc profiles
was dropped, and the package itself removed end of the year. Anyone interested in
an alternative libc is encouraged to move to musl.
Desktop Miscellaneous: We decided that “miscellaneous” is not really a useful way to
group packages. The packages so far maintained by this project were reviewed and reassigned
to dissolve the project.
Of course, if you look in detail, there has been much more news; we can’t cover everything here.
We would like to thank all Gentoo developers and all who have submitted contributions
for their relentless everyday Gentoo work. As a volunteer project, Gentoo could not exist
And now it’s time to break out the champagne - let’s celebrate the new year 2022,
let’s hope for good days, and let’s make it even more productive!