--- title: '2022 in retrospect & late happy new year 2023!' --- Gentoo Fireworks A quite late Happy New Year 2023 to all of you! Once again with 2022 an eventful year has passed, and Gentoo is still alive and kicking! 2023 already started some time ago and some of us have even already been meeting up and networking at [FOSDEM 2023](https://www.fosdem.org/). Still, we are happy to present once more a review of the Gentoo news of the past year 2022. Read on for new developers, distribution wide initiatives and improvements, up-to-date numbers on Gentoo development, tales from the infrastructure, and all the fresh new packages you can emerge now. ## Gentoo in numbers **The number of commits to the [main ::gentoo repository](https://gitweb.gentoo.org/repo/gentoo.git/) has remained at high level in 2022**, from *126920* to *126682*. This is also true for the number of commits by external contributors, *10492*, now across an even increased *440* unique external authors compared to *435* last year. **[GURU, our user-curated repository with a trusted user model](https://wiki.gentoo.org/wiki/Project:GURU), is clearly growing further.** We have had *5761* commits in 2022, up by 12% from *5131* in 2021. The number of contributors to GURU has increased similarly, from *125* in 2021 to *144* in 2022. Please join us there and help packaging the latest and greatest software. That's the ideal preparation for becoming a full Gentoo developer! On **the [Gentoo bugtracker bugs.gentoo.org](https://bugs.gentoo.org/)**, both the number of reported and of resolved bugs has increased clearly. We've had *26362* bug reports created in 2022, compared to *24056* in 2021. The number of resolved bugs shows a similar trend, with *24499* in 2022 compared to *24076* in 2021. ## New developers In 2022 we have gained **four new Gentoo developers**. They are in chronological order: 1. **[Matthew Smith (matthew)](https://wiki.gentoo.org/wiki/User:Matthew)**: Matthew [joined us](https://archives.gentoo.org/gentoo-project/message/a9a6afeb59912fc10fba81236fe63d27) already in February from the North East of England. By trade embedded software developer, he helps with a diverse set of packages, from *mold* to *erlang* and from *nasm* to *tree-sitter*. 2. **[WANG Xuerui (xen0n)](https://wiki.gentoo.org/wiki/User:Xen0n)**: A long-time Gentoo user, Xuerui [joined us](https://archives.gentoo.org/gentoo-dev/message/197003f97ecc5db5e1c31e8e3bb9e87f) as a developer in March from Shanghai, China. He jumped in right into the deep end, bringing LoongArch support to Gentoo as well as lots of toolchain and qemu expertise (as long as his cat lets him). 3. **[Kenton Groombridge (concord)](https://wiki.gentoo.org/wiki/User:Concord)**: Kenton comes from the US and from a real Gentoo family (yes, such a thing exists!); he [joined up](https://archives.gentoo.org/gentoo-project/message/c4525079ae7cccf0879fd0b271dac351) in May. His speciality is Gentoo Hardened and SELinux, and he has already collected quite some commits there! 4. **[Viorel Munteanu (ceamac)](https://wiki.gentoo.org/wiki/User:Viorel)**: In November, Viorel [joined us](https://archives.gentoo.org/gentoo-project/message/fc8ade4478ff3c1c5258cde9e856b172) from Bucharest, Romania. He's active in the virtualization and proxy maintainers teams, and takes care of the VirtualBox stack and, e.g., TigerVNC. ## Featured changes and news Let's now look at the major improvements and news of 2022 in Gentoo. ### Distribution-wide Initiatives - LiveGUI Gentoo ISO download: For an instant, full-fledged Gentoo experience we now have a weekly-built 3.7GByte [amd64 LiveGUI ISO](https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/current-livegui-amd64/) ready for download. It is suitable for booting from DVDs or USB sticks, and boots into a full [KDE Plasma desktop](https://kde.org/de/plasma-desktop/) based on stable Gentoo. A ton of ready-to-use software is included, from dozens of system utilities, [LibreOffice](https://www.libreoffice.org/), [Inkscape](https://inkscape.org/), and [TeXLive](https://www.tug.org/texlive/) all the way to [Firefox](https://www.mozilla.org/en-US/firefox/new/) and [Chromium](https://www.chromium.org/Home/). Also, all build dependencies are installed and you can emerge additional packages as you like! - **[Modern C porting](https://wiki.gentoo.org/wiki/Modern_C_porting)**: This recent cross-distribution initiative has as its objective to port as much open source software as possible to modern C standards. Upcoming versions of GCC and Clang will eventually lose support for constructs that have been deprecated for decades, and we will have to be prepared for that. Together with [Fedora](https://fedoraproject.org/wiki/Changes/PortingToModernC) we have taken the lead here, and a lot of effort has already gone into fixing and modernization. - **[Clang / LLVM](https://llvm.org/) as primary system compiler**: Closely related, support for using Clang as the primary system compiler in Gentoo has never been better than now. For the most popular architectures, we have LLVM stages available which replace the GNU toolchain as far as possible (also using libc++, compiler-rc, lld, ...) While glibc at the moment still requires GCC to build, the LLVM/musl stages come fully without GNU toolchain. - New binary package format *gpkg*: Gentoo's package manager Portage now supports a new binary package format defined in [GLEP 78](https://www.gentoo.org/glep/glep-0078.html). Besides many minor improvements, the most important new feature of the file format is that it fully supports cryptographic signing of packages. This was one of the most important roadblocks for more extensive binary package support in Gentoo. - **merged-usr profiles and systemd merged-usr stages**: All systemd profiles have now gained a merged-usr subprofile, corresponding to a filesystem layout where, e.g., /bin is a symbolic link to /usr/bin. The migration procedure has been described in detail in a [news item](https://www.gentoo.org/support/news-items/2022-12-01-systemd-usrmerge.html). With this, we prepare for the time when systemd will only support the merged-usr layout anymore, as already [announced by the upstream developers](https://lists.freedesktop.org/archives/systemd-devel/2022-September/048352.html). Across all architectures, we also now consistently offer in addition to openrc downloads systemd stages with and without merged-usr layout. Merged-usr openrc stages will follow for completeness. ### Architectures - **LoongArch64**: In the meantime, [LoongArch64](https://en.wikipedia.org/wiki/Loongson#LoongArch), a Chinese development by Loongson Co. based in parts on MIPS and on RISC-V, has become a fully supported [Gentoo architecture](https://wiki.gentoo.org/wiki/Project:LoongArch), with toolchain support, widespread keywording, and up-to-date stages for download. First server-type chipsets based on these chips are currently being sold. (Outside mainland China hardware is difficult to obtain though.) - **AArch64**: An exotic variant of AArch64 (arm64) has been added to our download portfolio: Big-endian AArch64. Enjoy! - **PA-RISC**: Weekly stage builds for the hppa architecture (PA-RISC) are back, including systemd images for both hppa-1.1 and hppa-2.0 and an installation CD. - **MIPS**: The weekly builds for MIPS are back as well! Here, we can now offer downloads for the o32, n32, and n64 ABI plus multilib stages - and all that for both endianness variants and init systems. No matter what your hardware is, you should find a starting point. - **Hardened**: With more and more hardening becoming de-facto standard, the compiler settings in the hardened profiles have been tightened again to include additional experimental switches. In particular, in Gentoo Hardened, gcc and clang both now default to *_FORTIFY_SOURCE=3* and enabled *stack-clash-protection*. ### Packages - **Modern Java**: A huge amount of work was done by our Java project to revive the language ecosystem and in particular recent Java versions in Gentoo. Additionally, OpenJDK 11 and OpenJDK 17 were bootstrapped for big-endian ppc64, as well as for x86, riscv, and arm64 with musl as C library, enabling the usage of modern Java on those configurations. - **GNU Emacs**: Emacs *ebuild-mode* has seen a flurry of activity in 2022. New features include a new *ebuild-repo-mode*, inserting of user's name and date stamp in package.mask and friends, support for *pkgdev and pkgcheck commands*, support for colors in ebuild command output, and a major refactoring of the code for *keyword highlighting*. Additionally, there's [flycheck-pkgcheck](https://xgqt.gitlab.io/blog/20220806-pkgcheck-flycheck.html) for on-the-fly linting and [company-ebuild](https://packages.gentoo.org/packages/app-emacs/company-ebuild) for automatic completion. - **Mathematics**: The *sci-mathematics* category has grown with the addition of theorem provers such as *lean*, *yices2*, *cadabra*, or *picosat*. Further, the Coq Proof Assistant ecosystem support has been improved with new [Coq](https://coq.inria.fr/) versions, Emacs support via company-coq, and packages such as *coq-mathcomp*, *coq-serapi*, *flocq*, *gappalib-coq* ... - **Alternatives**: Many base system utilities exist in different flavours that are more or less drop-in replacements. One example of this is the compressor *bzip2*, with *lbzip2* and *pbzip2* as parallelizing alternatives; another *tar*, which exists both as *gtar* (GNU tar) and as *bsdtar* in libarchive. With [alternatives](https://www.gentoo.org/support/news-items/2022-12-27-alternatives-introduction.html) we now have a clean system in place to use either of these options as default program via a symlinked binary. - **Racket**: An [ongoing project](https://gentoo-racket.gitlab.io/About.html) aims to bring first-class support for [Racket](https://en.wikipedia.org/wiki/Racket_(programming_language)), a modern dialect of Lisp and a descendant of Scheme, and the Racket language ecosystem to Gentoo. - Python: In the meantime the default Python version in Gentoo has reached Python 3.10. Additionally we have also Python 3.11 available stable, which means we're fully up to date with upstream. Gentoo testing provides the alpha releases of Phython 3.12, so we can easily prepare for what comes next. ### Physical and Software Infrastructure - **Hardware**: Our infrastructure team has set up two beefy new servers as [Ganeti](https://ganeti.org/) nodes hosted at [OSUOSL](https://osuosl.org/), with 2x AMD EPYC 7543, 1TiB RAM, 22TiB NVME, and 25Gbit networking each. These will provide virtual machines for various services in the future. A new 1/10/25Gbit switch was also added to better support new and existing servers. - **Gitlab**: We are now running an experimental self-hosted [Gitlab](https://about.gitlab.com/) instance, [gitlab.gentoo.org](https://gitlab.gentoo.org/). It will slowly take over and serve more and more git repositories. - **Pkgcore**: Building on existing coding efforts, an official [Gentoo PkgCore project](https://wiki.gentoo.org/wiki/Project:PkgCore) was created to improve this set of [QA and commit tools](https://pkgcore.github.io/pkgcore/) for Gentoo developers. Repoman was deprecated and removed from the Portage code base, and pkgcheck, part of PkgCore, has become the official QA tool for commits to the main Gentoo repository. It is also the code running our automated continuous integration system. - **Tattoo**: The new *tattoo* arch testing system now manages and automates large parts of the architecture testing process. This has simplified and streamlined the stabilization process, shortening developer response times and "saving" arch stabilization. - **Devmanual**: The [Gentoo Development Manual](https://devmanual.gentoo.org/) has seen major improvements in 2022. More documentation is good! ### Finances of the Gentoo Foundation - **Income**: The Gentoo Foundation took in approximately $16,500 in fiscal year 2022; the majority (over 90%) were individual cash donations from the community. - **Expenses**: Our expenses in 2022 were, as split into the usual three categories, *operating expenses* (for services, fees, ...) $11,000, *capital expenses* (for bought assets) $55,000 (servers, networking gear, SSDs, ...), and *depreciation expenses* (value loss of existing assets) $9,500. - **Balance**: We have about $97,000 in the bank as of July 1, 2022 (which is when our fiscal year 2022 ends for accounting purposes). The draft finanical report for 2022 is [available on the Gentoo Wiki](https://wiki.gentoo.org/wiki/Foundation:Gentoo_Foundation_Finances_FY2022). ## Thank you! Our end of year review of course cannot cover everything that happened in Gentoo in 2022 in detail, and if you look closely you will find much more. **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 without them. And now let's look forward to the new year 2023, with hopefully less unpleasant surprises than the last one!