aboutsummaryrefslogtreecommitdiff
blob: 18874ed7953883cbfa246224c031767c6410ebfc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
---
title: '2022 in retrospect & late happy new year 2023!'
---

<img align="right" height="140" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/2023.png" alt="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. 
<a href="https://www.gentoo.org/news/2023/02/05/new-year.html">Read on</a> 
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.

<!--more-->

## 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. It's the ideal preparation for the step to 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)**:
   <img align="right" height="45" style="margin-left: 30px;" src="https://www.gravatar.com/avatar/5df093f70a89cc4b0a75fc9fa2f09282?s=45&d=retro">
   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)**:
   <img align="right" height="45" style="margin-left: 30px;" src="https://www.gravatar.com/avatar/389c00ed2836b82b8511ecfbdc919d7d?s=45&d=retro">
   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)**:
   <img align="right" height="45" style="margin-left: 30px;" src="https://www.gravatar.com/avatar/a89c24304a741760b9bacaf72d229b85?s=45&d=retro">
   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)**:
   <img align="right" height="45" style="margin-left: 30px;" src="https://www.gravatar.com/avatar/e89fc0d770308b760ce79003a1bffcdd?s=45&d=retro">
   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

Let's now look at the major improvements of 2022 in Gentoo.

### Distribution-wide Initiatives

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/memory-stick.png">
  <b>LiveGUI Gentoo ISO download</b>: For an instant, full 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.

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/logo-llvm.png">
  **[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.

- <b>New binary package format *gpkg*</b>: 
  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.

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/logo-systemd.png">
  **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

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/loong.jpg">
  **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!

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/logo-parisc.png">
  **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

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/logo-java.png">
  **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 on 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,
  major refactoring of the code for keyword highlighting, and additionally flycheck-pkgcheck
  for on-the-fly linting and [company-ebuild](https://packages.gentoo.org/packages/app-emacs/company-ebuild) 
  for automatic completion.

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/logo-coq.png">
  **Mathematics**: The *sci-mathematics* category has grown with the addition of 
  theorem provers such as *lean*, *yices2*, *cadabra*, or *picosat*.
  Further, we have added new [Coq]() 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.

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/logo-racket.png">
  **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.
     
- <b><a href="https://wiki.gentoo.org/wiki/Project:Python">Python</a>:</b>
  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

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/logo-gitlab.png">
  **Servers and services**: Our infrastructure team has set up two beefy new servers as [Ganeti](https://ganeti.org/)
  nodes hosted at [OSUOSL](https://osuosl.org/), with 2x Intel Xeon E5-2620v4, 128GByte RAM and 10TByte disk space each.
  These will provide virtual machines for various services in the future.
  In addition, we are now running an experimental self-hosted [Gitlab](https://about.gitlab.com/) 
  instance, [gitlab.gentoo.org](https://gitlab.gentoo.org/), which will slowly take over more and more 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.

- <img align="right" height="75" style="margin-left: 30px;" src="https://www.gentoo.org/assets/img/news/2023/tattoo.jpg">
  **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!


## 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 celebrate the new year 2023, with hopefully less unpleasant surprises than the 
last one!