doasu.dev is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
In other totally meaningless disruptive changes, #tmux now defaults to capturing mouse events. I haven't found a single useful thing it does with them yet, however it managed to break my habits when copying things from terminal (now I need to hold shift) and to break mouse wheel scrolling in less. But I'm sure it's a feature!
So now I need to add:
set -g mouse off
to ~/.tmux.conf on every single server and container I use.
Solution via https://forums.gentoo.org/viewtopic.php?t=1178777.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
I was surprised that my latest blog post didn't bring any nasty comments (or any comments at all). But then, I've learned that people these days don't talk *to* you as the author, but apparently engage in threads at random cesspits. And honestly, the quality of public discourse today… a bunch of people talking past one another, apparently everyone an expert in how #Gentoo works and what Gentoo developers do and why.
Today's #blog post is short but important: "A plea not to use uv-build"
"""
After seeing yet another dozen packages lose keywords on Gentoo because of a single key dependency switching to uv-build, I would like to plea on behalf of Gentoo users: please don’t use uv-build as a build backend. Just to be clear, this is not about uv itself or any other Astral tools; these are good tools with a nice and responsive upstream. The uv-build backend is one thing we have to disagree on. I’m not saying it’s bad; I’m saying that its benefits don’t outweigh the drawbacks.
"""
https://blogs.gentoo.org/mgorny/2026/10/12/a-plea-not-to-use-uv-build/
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
In my private projects and in #Gentoo, I have a strict #NoAI policy. Any LLM-assisted contributions are closed immediately and considered tainted. Use for messaging, bug reporting, etc. also gets you a warning and a request to write yourself. And I dare say I have a heavy ban finger on this; you get one warning only. Well, unless it's clearly an automated submission, in which case you get an immediate ban.
In my dayjob and non-Gentoo work, I also follow a strict policy for my own work. I don't use any of these tools. However, I can't really stop others from doing so, even though I cringe whenever I see someone needing to use an overengineered statistical model to make a trivial change. I can't really reject bug reports, reviews, etc.
The really hard part of it is that I'm starting to have doubts. I truly hate slop in all forms, and what these tools have done to the Internet in general, and to #FreeSoftware in particular. However, I've also gotten some good reports. Like, the kind of tricky logic issues in the specification I am developing that I would have never figured out myself, and that may have never came up during the review otherwise. In other words, someone running an LLM on the specification triggered real bugs that would likely slipped through and required a post-approval specification change when someone noticed that we've introduced incompatible constraints in two different parts of the specification, that would eventually be hit in real use.
All the ethical problems are still there. All the harm is still there. However, I can't really claim that these tools vomit pure useless slop anymore. I feel that it's really time for me to retire.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
#Gentoo has a strict #NoAI policy, so our projects are slop-free. Unfortunately, these days you cannot run an up-to-date system without tons of random slop packages, because everyone insists on using that crap.
Gentoo supports a whole bunch of architectures that probably every other distribution dumped so far. Unfortunately, these days the available software list is shrinking, as everyone insists on adding some random meaningless dependencies on #RustLang (like using uv-build, which is the single most harmful meaningless #Python project ever created).
Gentoo has a strong upstream cooperation policy. However, these days I'm afraid to file issues, because just too often they just trigger more slop. I miss the "good" old days where the worst you could expect is some toxic asshole.
The state of #FreeSoftware is truly depressing. There is little joy in distribution work these days. You're overwhelmed with shit, burned out and end up doing a shitty job. And it's bad for your health.
The good folks at #Gentoo are looking for new infrastructure sponsors. They're mostly looking for rack-space, power and connectivity and they'll provide the hardware. Preferably outside the US, but not necessarily.
https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
I've been reminded today that a while ago I've made this #Gentoo Family thing; a graph of developers joined by their mentors:
https://dev.gentoo.org/~mgorny/gentoo-family.svg
That said, it's just a dumb graph made via GraphViz. The source is here:
https://dev.gentoo.org/~mgorny/gentoo-family.dot
That said, I'd appreciate if some of you have ideas how to make a better graph from this. Particularly I'd like to account for the actual dates somehow. If you find grabbing the data from .dot too hard, I can produce a stripped down export from LDAP on request.
#Python in a nutshell:
1. Let's use this new fancy #TOML thing for everything, it's so cool!
2. Everyone starts depending on third-party TOML libraries.
3. TOML library is finally added to the standard library, so people are moving to conditionally using it.
4. As old versions of Python become irrelevant, people are finally dropping fallbacks to the third-party library.
5. TOML 1.1 is introduced, and everyone has to start using a third-party library again… (at least until Python 3.15)
That's in case anyone is wondering why dev-python/tomli is suddenly getting installed on #Gentoo systems again.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
There could be different signs that projects are becoming #slopware. Some are more obvious, like having agent instructions that are more detailed than anything they ever wrote to humans. Some are less clear but perhaps even more ominous, like largely mature projects suddenly starting to churn out two releases a day, often with regressions that I don't even care to report anymore.
I used to think that my work as a #Gentoo packager was important. Now I feel that a large part of it resembles sitting at the end of a sewage pipe and trying to scrape something meaningful out of it all.
#RustLang folks, could someone do me a favor and make a PR to fix https://github.com/rust-lang/cargo/issues/17391 ? This is really blocking me a lot in my #Gentoo work.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Zero days since it turned out that #GnuPG has arbitrarily changed behavior between versions in the name of "safe default", and required you to pass an additional option to make it behave properly in the rare cases it matters. Of course we still need to support old versions and alternative implementations without that option. And of course there is no clean way of checking whether it's available or not.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Fun #Gentoo / steve trick:
echo "$(( $(stevie -j) - $(stevie -t) ))j"
gives you the current number of jobs running via the system jobserver. You can put it e.g. in the "generic monitor" plugin of Xfce next to CPU graph, to see how the CPU utilization maps to jobs.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
So now that #awscli 1.x is pretty much dead, I've finally gotten around to packaging 2.x properly for #Gentoo. You know, the one where other developers claimed it was impossible to build from source because (checks notes) upstream said so. So we instead must use their horrible 70M binary package that bundles its own Python interpreter along with all the random libraries and dependencies.
And guess what? Sure, they don't publish it to PyPI anymore, but it still is a regular #Python package branched out from 1.x. It has regular Python package dependencies, a regular Python build backend and when you build it with it, you get a regular Python wheel that can be installed and just works with the system Python and system dependencies.
Sure, it's crap, but it's no worse than the 1.x crap. It bundles a modified fork of the unreleased 2.x branch of botocore (now dead for 5 years, apparently) and a fork of s3transfer. It has some random meaningless dependency pins that we patch out. It has a horrible test suite that can eat tons of memory if run via xdist, but with some hackery, I've gotten it to work reasonably.
Honestly, I feel like Gentoo developers these days just don't care to even try.
Too many days working on #FLOSS feel like: "I'm not paid for this shit. I'm paid to do other shit and I have to focus on that shit, but I can't when I have to spend so much time fixing shit that apparently others are being paid to break all the time."
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Isn't it great that #Quart removed support for #Python 3.12 while it's only needed for #dnspython and #urllib3 tests, and we definitely can't remove 3.12 in urllib3? Gotta love the maturity of the Python ecosystem.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Did I just hack up an abomination using xmllint (from libxml2) and jq to query the latest #PyPI version of a package? Perhaps.
Do you no longer have to specify the target version when using pkgbump on PyPI packages? Absolutely.
https://gitweb.gentoo.org/proj/mgorny-dev-scripts.git/tree/bin/get-latest-upstream-version
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
So I'm getting fed up with #spam on #Gentoo #Bugzilla.
A while ago we've introduced a timed block on new accounts posting URLs. It helped for a while. But now someone actually bothered implementing a dedicated tool, and we're getting a daily create-wait-post loop. I can't think of a really good way of getting rid of this.
So far I was thinking of:
• blocking new accounts based on the predictable e-mail pattern (they're just going to switch patterns, also may hit real users)
• limiting URLs pasted to an allowlist (this is going to suck hard)
• requiring manual request for every account via IRC (this is going to be pain for us, for users, and a lot of people just won't bother)
It really feels like whatever we do, it's going just to cause pain to us, to our legitimate users, and the spammers will just slop their way around it.
And on top of that, every comment posted is fucking #slop. Totally meaningless sentences added to random bugs, in the hope that we're too stupid to see that they've just spammed us.
I hate this timeline. Can we do Butlerian Jihad now, please?
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
I see that #Docker, Inc. is now sending #slop #spam to distributions: https://github.com/gentoo/guru/pull/549
New on #blog: "How hard is it to get a jobserver client right?"
"""
In November 2025, I’ve started working on #steve, the #jobserver for #Gentoo. I wrote about it already, in the “One jobserver to rule them all” post. Back then, my main focus was on the motivation for a system-wide jobserver, and the technical details of getting it working. I have also mentioned a few client bugs we’ve discovered along the way.
Since then, we’ve found a few more bugs, as well as problematic design patterns. I think they’re kind of interesting, so I’ve decided to dedicate this post specifically to them. As a disclaimer, my aim is not to pick on specific projects; I’m bringing them up as real examples of what we’ve hit, and how that impacts jobserver operation.
"""
https://blogs.gentoo.org/mgorny/2026/09/02/how-hard-is-it-to-get-a-jobserver-client-right/
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Oh, right, in case I thought I'm going to have time to do useful things, I just realized I still need to deal with the humongous #Gentoo fallout from #Hypothesis #Python package requiring #RustLang now.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
FYI, you don't want to get banned on #Gentoo org on #Microsoft #GitHub org right now, because vibe-hub is broken and I can only ban people but "something goes wrong" when I'm trying to see who's banned (and therefore I can't unban anyone).
And this "entitled prospective user" attitude. "I was planning on moving my projects to #Codeberg, but now I won't". Oh, how sad that you won't give them the benefit of using their free services (okay, I'm sure you were going to donate).
Reminds me of the "entitled prospective contributor" attitude in #Gentoo. "You never heard from me before, but I don't like this new policy. There are dozens of new contributors with me, just around the corner, and now we won't be able to contribute." (This was about the copyright policy, so they could have contributed noncontroversially for a long time, yet they never did.)
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Zero days since the #Linux #kernel made a security release of all branches, containing exactly one patch, except for 6.12 which was skipped for no clear reason, and there doesn't seem to be anything about that on the ml. And now I'm scratching my head if I should do a backport for #Gentoo, or wait for the release, or perhaps there was a good reason why the patch was added to every other LTS branch but not 6.12…
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
I feel that #Gentoo #GURU is getting much less interest since the change of rules.
Not sure if that's a bad thing, given how much of the interest we're getting are people who just made a slopware and now are aggressively pushing it to all the distributions they can find. Some just do an automated submission without bothering to follow the rules. Other claim that they have read and agree to the rules, even though the rules explicitly forbid doing that.
Then, there are all these people who asked for access but apparently never committed anything.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Me after laboriously backporting #Python 3.15 fixes to #Django 6.0.x in #Gentoo: "oh, nice, the patchset applies cleanly to 5.2.x as well."
And today, I have to laboriously backport another patch to 6.0.x, and it turns out the backport doesn't apply cleanly to 5.2.x, so I have to laboriously backport it there as well.
I honestly *hate* Django Python version support policy. Shifting all the burden downstream.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Okay, it's still rough around the edges, needs documentation, tests and other stuff I'll slowly be adding but here it is: gagit, or #Gentoo #AGit workflow tool.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Once again I regret starting, but I'm done: stripped down the #Gentoo "py" package to the bare essentials that are required for pytest-forked (and the stable version of cffi).
Does anyone happen to know if there's a properly maintained alternative to pytest-forked, so we could get rid of py entirely?
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ea613a5e9380b46b20517f03b1ef2c813ee2f78
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Did I ever announce gentoo-kernel-modprep? It's the newest variation on #Gentoo Distribution Kernels: the absolute minimum kernel tree necessary for building modules. Ideal for package-building containers where a full kernel is unnecessary, yet you need to be able to build kernel modules.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
I've added a "contributing" file to #Gemato:
https://github.com/gentoo/gemato/blob/master/CONTRIBUTING.rst
I guess I'm going to use this as a template for other projects of mine, hosted on the #Gentoo infrastructure and mirrored to GitHub or Codeberg.
And this "entitled prospective user" attitude. "I was planning on moving my projects to #Codeberg, but now I won't". Oh, how sad that you won't give them the benefit of using their free services (okay, I'm sure you were going to donate).
Reminds me of the "entitled prospective contributor" attitude in #Gentoo. "You never heard from me before, but I don't like this new policy. There are dozens of new contributors with me, just around the corner, and now we won't be able to contribute."
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Zero days since #CPython broke the extension ABI at the very last minute after asking everyone repeatedly to test prereleases. And of course they don't bother tracking ABI changes in any way, so they could at least give people heads up that important pieces of their system will start segfaulting after the upgrade. All they can offer is a knee-jerk response of "we never promised ABI stability".
And yes, this is a huge PITA for #Gentoo users who opted in to helping out.
https://github.com/python/cpython/pull/152448#issuecomment-5016129511
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
PSA: after another major policy violation by user who clearly never cared about #Gentoo and joined only to ignore the rules, I've suspended processing access requests to GURU. We're already working on a new policy, and we'll go from there.
Jesus Michał von Gentoo 🏔 (he) » 🌐
@mgorny@social.treehouse.systems
Zero days since 83 #Gentoo developers effectively lost push access over revoked PGP key signatures because of random #LDAP hiccup.
Yes, we have error handling. And yes, we have a safety check in case error handling didn't work and LDAP returned empty list of developers. Yet apparently that's not enough either, so now we also check if the diff between old and new lists isn't too large; you know, in case ldapsearch randomly returned a subset of developers and considered it a success.
And the next big blocker for #Python 3.15 in #Gentoo is time-machine. Which is obviously broken. There's a patch but it's complex and it's sitting for 3 months already with no reply. Because obviously patching CPython internals is so much a better idea than freezegun ever were. All these time-based tests need all the ricing you can get; portability doesn't matter.