#gentoo

Jesus Michał "Le Sigh" 🏔 (he)mgorny@treehouse.systems
2025-12-07

#Gentoo #jobserver revealed another problem with steve in particular, and (I believe) the jobserver protocol in general: blocking clients are prioritized over polling clients.

The problem is simple: when handling blocking reads, steve can issue a job token immediately. When handling a poll, it merely indicates that a token is available, and the client must issue another read request to get it. So if tokens are scarce and there are both blocking and polling clients running, the former are likely to be taking all the incoming tokens.

My idea of working around this is to implement temporary reservations. If a client polls for a token, we reserve one for it. The reserved token can afterwards be only read by the same client. This way, both blocking and polling clients get a token — the former get it immediately, the latter get it reserved for them. And if there are no tokens available, both get into a single FIFO queue, for a poor man's round-robin (steve also throttles all reads to one token at a time).

However, polls technically don't guarantee that the client will eventually read the token, so we need to handle reservation expirations as well.

Jesus Michał "Le Sigh" 🏔 (he)mgorny@treehouse.systems
2025-12-06

Worked on some more #Gentoo global #jobserver goodies today.

Firstly, Portage jobserver support patch: github.com/gentoo/portage/pull. It's not yet perfect, but it seems to work. If enabled via FEATURES=jobserver-token, it causes emerge to acquire a job token for every job it starts, therefore:

1. emerge won't start more jobs than the jobserver specifies. For example, `steve -j12` will cap emerge at 12 jobs, even if you specify --jobs=16. However, lower cap for emerge will be respected, so you can leave a bunch of job tokens free for other processes to use.

2. emerge will share the job pool with other jobserver-enabled software such as GNU make or Ninja. When emerge is using up all 12 job tokens, all builders inside it will run serial. When it's running 6 jobs, all builders will be able to start up to 6 extra jobs, etc. Ideally, no more than 12 active jobs will be running at a time over the system.

3. Jobserver-enabled software will now correctly respect jobserver job count. When running with externally-provided jobserver, these tools assumed that the jobserver already acquired one token for them, and therefore ran one extra job without a token; say, 13 jobs for a single emerge process. Now the token is actually acquired, so the accounts will match.

Secondly, I've packaged dev-python/pytest-jobserver with a bunch of fixes to make it behave correctly and support Gentoo jobserver. We're not integrating it with the eclasses yet, but you can install it and force-enabled via EPYTEST_FLAGS="-p jobserver". With it, pytest-xdist will acquire job tokens while running tests, and therefore parallel #PyTest jobs will also be counted towards total job count.

Again, it's not a perfect solution, but it works reasonably. The plugin still starts -n jobs as specified by the arguments, but it acquired job tokens prior to executing every test, therefore delaying actual testing until tokens are available. It doesn't seem to cause noticeable overhead either.

2025-12-04

#Gentoo just updated tcp-wrappers. Curious about what might have changed in this ancient program I searched /usr/share/doc/tcp-wrappers-7.6.31-r2/ for answers, but only found this rant about #IRIX instead: sources.debian.org/src/tcp-wra

#UNIX

2025-12-04

#dotNET 10.0 source build in #Gentoo will be massively delayed because the .NET upstream broke offline build (again!). Neither I nor any of my two (non dev) helper maintainers do have time to investigate this issue in-depth this month.

Sorry to anybody expecting it but the 1st version of .NET 10.0 source-build might mot even be feasible to make in current state of the upstream project.

Brett Sheffield (he/him)dentangle@chaos.social
2025-12-03

Dreamed that someone in #gentoo had put out an announcement about @librecast saying that we used mjolnirdb for our test data, which I'd never heard of.

I just had to check. There is no mjolnirdb. I usually use #lmdb (or #sqlite if we need a SQL interface) 😉

polozpoloz
2025-12-03

Ça va bientôt faire deux ans que je suis passé sur sur ma tour et je viens de convertir mon ordinateur portable 🐧. Je ne l'utilisais plus car il était encore sur Ubuntu 20.04 🙈 . Je suis content de retrouver mon système, j'ai l'impression d'être à la maison maintenant quand je suis dessus 😊

Jesus Michał "Le Sigh" 🏔 (he)mgorny@treehouse.systems
2025-12-03

BREAKING: #CPython 3.13.10 and 3.14.1 changed the multiprocessing message format in patch release. As a result, programs using multiprocessing may break randomly if they are running while #Python is upgraded (i.e. need restarting).

But apparently it's not a big deal, since all the cool kids are running Python in containers, and nobody is using Python for system tools anymore. Everything has been RIIR-ed and Python is only omnipresent in some backwaters like #Gentoo.

github.com/python/cpython/issu

Holger Hoffstätteasynchronaut@fosstodon.org
2025-12-01

Made progress on packaging #ntpd_rs by @trifectatech for @gentoo :
✅ proper hermetic Rust build
✅ cooked up OpenRC init scripts
✅ runs unprivileged as ntp:ntp
✅ operational #prometheus metrics exporter
✅ man pages

Still a few rough edges but getting there!
#chrony is currently still the better choice but alternatives are always good.

#ntp #rust #gentoo

Jesus Michał "Le Sigh" 🏔 (he)mgorny@treehouse.systems
2025-12-01

New on my #Gentoo blog: One #jobserver to rule them all

"""
A common problem with running Gentoo builds is concurrency. Many packages include extensive build steps that are either fully serial, or cannot fully utilize the available CPU threads throughout. This problem becomes less pronounced when running building multiple packages in parallel, but then we are risking overscheduling for packages that do take advantage of parallel builds.

Fortunately, there are a few tools at our disposal that can improve the situation. Most recently, they were joined by two experimental system-wide jobservers: #guildmaster and #steve. In this post, I’d like to provide the background on them, and discuss the problems they are facing.
"""

blogs.gentoo.org/mgorny/2025/1

2025-11-30

It has been a year since I opened my first pull request for a package version bump on the #gentoo repository.

And to this day, I believe that Gentoo is one of the distros that make it _really_ easy to contribute to.

@rl_dane @msdropbear42 @MsDropbear42

Hey R.L. Dane,

as per your OP in this thread, I've been using #Remmina for years. X2Go, RDP, WhatEv really floats yer boat ⛵ , it's there.

Uh, oh, I feel a tangent coming on... Okay not to hijack your thread, but maybe you can offer a bit of your perspective on flatpak vs appimage alternatives, since I don't prefer either, and usually will go out of my way to create a native package for WhatEv distro I'm using if it doesn't exist, or just compile from source rawdawg if need be like I did with #Zed (which only impresses me because of Git integration and Vim bindings; and it's Rust) - Jury's still out on that one though.

Anyway, I just broke down and installed a flatpak for the #LaGrange browser because I got a bit lazy and didn't wanna make the .deb for myself.

Okay, back to your situation...

Remmina HERE is pretty comprehensive with the native package managers with ready to go .deb's for #Forky & Sid, #SlackBuild for #Slackware, #FreeBSD & #OpenBSD ports, #Devuan, #Gentoo, #Guix, and #Kali just to name some.

It's pretty straight-forward and a single package to accommodate a plethora of methodologies so you can use it as your Varsity first string go-to in a pinch most of the time.

Even better, is the fact that they don't have an ewb00ntew maintainer, lolz... Coz frinds don't let frinds run ewb00tew :p

#tallship #FOSS #Remote_Management

Current state of Remmina native distro and BSD packages - and Haiku too!
スパックマン クリスchris_spackman@twit.social
2025-11-30

switch to 2560x1440 monitor is going well so far. still using the old 4-gb no-extra-power needed video card, and no problems. I never got used to the 3440x1440 monitor and monitor+video card was unstable almost as often as it was stable.

I'll probably wait until winter break to switch out the power supply and put in the 'new' video card (also #AMDGPU, 8gb, well known, supposed to be very stable).

#Linux #Gentoo #AMD #computing #PCHardware

New blog post: blog.mei-home.net/posts/ceph-c

This one is mostly about my Linux desktop setup and usage over the past 18 years.

Plus a small section about building an ebuild for Ceph's mount helper.

#blog #gentoo

2025-11-29

Note to myself: Avoid "just quickly updating gcc" if you plan to do some work on #gentoo packages.

Guess I'll check back this evening. 😁

Ambassador of the Heat SinkHeatSinkAmbassador@climatejustice.social
2025-11-29
2025-11-28

#gentoo doesn't package docbook 5 and I honestly can't blame them for not bothering but it does make the thing I wanted to do this afternoon quite a bit harder to get started on

2025-11-28

Bleh, I dunno what has changed but my laptop now hangs when booting. I get a back screen with cursor instead of sddm/login screen. I can still log in using a different terminal session but that's shell only and not ideal. This was an issue a couple years ago and now it seems to be back. It is intermittent but happens more often than not.

#Gentoo #KDE #sddm #systemd

2025-11-27

Und nun sind auch noch die neuen Bluetoothkopfhörer binnen weniger Augenblicke anstandslos mit dem Laptop gepaired.
ALTER! Das ist alles viel zu einfach...
Okay, ich schmeiß den ganzen Bumms runter und geh doch wieder zu #gentoo...

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst