Tootfinder

Opt-in global Mastodon full text search. Join the index!

@mgorny@social.treehouse.systems
2024-05-30 19:25:58

New on my blog: The dead weight of packages in #Gentoo
"""
You’ve probably noticed it already: Gentoo developers are overwhelmed. There is a lot of unresolved bugs. There is a lot of unmaintained packages. There is a lot of open pull requests. This is all true, but it’s all part of a larger problem, and a problem that doesn’t affect Gentoo alone.
It’s a problem that any major project is going to face sooner or later, and especially a project that’s almost entirely relying on volunteer work. It’s a problem of bitrot, of different focus, of energy deficit. And it is a very hard problem to solve.
"""
blogs.gentoo.org/mgorny/2024/0

@mgorny@social.treehouse.systems
2024-05-29 04:39:06

Key goals for various Linux distributions:
Debian: Free Software purity
Red Hat: stability
Arch: bleeding edge
#Gentoo: avoiding having to install which(1) at all cost

@mgorny@pol.social
2024-06-17 15:54:11

Czasem ludzie się mnie pytają, dlaczego stabilizuję paczki Pythona w #Gentoo po dwóch tygodniach, zamiast typowych czterech.
Odpowiedź jest prosta: oczekiwać, że testy w paczkach Pythona nadal będą działać cztery tygodnie po wydaniu to trochę dużo.
#Python

@mgorny@pol.social
2024-06-16 17:26:17

Ćwiczenie na dziś: ile paczek #Gentoo uda się sportować do Pythona 3.13 w czasie, który potrzeba na zbudowaniu paczek binarnych dla nowych jąder.
Następne w kolejce jest ćwiczenie trudnego `git rebase`.
#Python

@mgorny@social.treehouse.systems
2024-06-17 15:53:22

Sometimes people ask me why I stabilize #Gentoo #Python packages after 2 weeks, rather than following the usual standard of 4 weeks.
The answer is simple: expecting tests in these packages to still pass whole 4 weeks after the release is a bit much.

@mgorny@pol.social
2024-06-14 15:57:23

Po kolejnej rundzie portów do Pythona 3.13 w #Gentoo, przychodzi mi do głowy ten mem z wielką, zatłoczoną autostradą, tyle że z komentarz:
Tylko jeszcze jeden microframework! Obiecuję wam, jeszcze jeden microframework i wszystkie problemy zostaną rozwiązane!
#Python

@mgorny@social.treehouse.systems
2024-06-16 17:26:43

Today's exercise: checking how many #Gentoo packages can be ported to #Python 3.13, while new kernel binary packages are building.
Then I'm going to have a hard exercise in rebasing.

@mgorny@social.treehouse.systems
2024-06-16 17:26:43

Today's exercise: checking how many #Gentoo packages can be ported to #Python 3.13, while new kernel binary packages are building.
Then I'm going to have a hard exercise in rebasing.

@mgorny@pol.social
2024-06-15 09:44:57

O, super. Widzę, że #KryptoZiomki już osiągnęły ten poziom, że wysyłają ludziom #spam o "rozdawaniu" kryptowalut, i proszą o "prowizję dla znalazcy w ramach wdzięczności".
#Gentoo

@mgorny@social.treehouse.systems
2024-06-15 08:59:00

I've added `dev-python/legacy-cgi` to #Gentoo, as a "forward-port" of the removed #Python `cgi` (and `cgitb`) module to Python 3.13. That said, it's only a stop-gap solution to make semi-dead packages work and not something you should rely on, so it's marked as deprecated immediately after being added.
Also, ideally please avoid keeping it installed in your dev environments. Once installed, all `import cgi` statements will suddenly start working, so you're going to miss Python 3.13 incompatibility issues (and therefore miss the dependency on this package).

@mgorny@social.treehouse.systems
2024-06-14 15:56:27

After another round of #Python 3.13 porting in #Gentoo, I'm imagining that huge crowded highway meme, except it's saying:
Just one more microframework! I promise you, one more microframework and all problems will be solved!

@mgorny@pol.social
2024-06-10 02:54:11

Problem z kończeniem porannych przygotowań wcześnie jest taki, że zostaje ci trochę wolnego czasu. Naturalnie więc zaczynasz robić coś dodatkowego przy #Gentoo. Oczywiście, zajmuje to więcej czasu niż się spodziewałeś, więc koniec końców, biegniesz na pociąg.
Czasem jednak z dumą możesz stwierdzić, że skończyłeś dodatkową robotę idealnie w czas. Wówczas odkrywasz, że nastąpiła "korekta&quot…

@mgorny@social.treehouse.systems
2024-06-15 09:44:56

Oh, great. So now #CryptoBros have gone as far as to #spam people about crypto "giveaways", and then request "founder's fee as gratitude".
#Gentoo

@mgorny@pol.social
2024-06-04 15:48:22

Zajęło mi to prawie 3 godziny, ale #PipX 1.6.0 wylądował w #Gentoo, z nową wersją podrobionych danych testowych, które zajmują tylko 70 KiB (autorzy używają ~160 MiB paczek, dla każdej implementacji z osobna).
Co istotniejsze, tym razem nie stworzyłem tego na kolanie, ale napisałem porządny skrypt z instruk…

@mgorny@social.treehouse.systems
2024-06-12 10:09:19

Previous Linux kernel batch was released on 2024-05-30. After bumping them, I've discovered that Docker is broken on bogsucker, our PPC64LE builder. In the meantime, bogsucker died completely.
Today, we've gotten it back online. I've debugged the Docker issue and solved it (admittedly, I should have tried upgrading it to the very newest ~arch version before debugging). Just as I was finishing building new images for reproducible kernel builds, new kernels were released upstream.
That was close.
#Gentoo

@mgorny@social.treehouse.systems
2024-06-14 01:51:36

When someone reports a crash bug and the release fixing it only mentions "improving performance".
Well, I guess unaligned writes may degrade performance. Having #RustLang extension crash #Python ain't important after all.
#Gentoo

@mgorny@social.treehouse.systems
2024-06-10 02:42:25

The problem with finishing with your morning routine early is that you end up with spare time. So you can start doing more #Gentoo stuff. More stuff ends up using more time than expected, and you end up running to catch the train.
Of course, sometimes you finish "more stuff" just in time, and you're really proud of yourself. Then you discover that there's been a train timetable "adjustment" (and that only because you were checking if it wasn't delayed) and you end up having to run anyway. And then check if your 3-change connection and 2-change return journey still exists.

@mgorny@social.treehouse.systems
2024-06-07 19:14:36

A short history of my attitude towards swap memory.
Stage 1: I don't have enough RAM, so I have to use swap.
Stage 2: I have enough RAM now for usual tasks now. I sometimes hit swapping, and the kernel handles it badly, so I'd rather have it kill stuff instead. I remove swap.
Stage 3: I discover that kernel handles OOM without swap even worse. I start using swap again.
#Gentoo #Linux

@mgorny@social.treehouse.systems
2024-06-04 15:46:57

It took me almost 3 hours but #PipX 1.6.0 is now in #Gentoo, with an updated test shim that makes it possible to test using fake wheels and is only 70 KiB (vs. upstream that uses ~160 MiB for every single implementation).
What's more important, this time it isn't a handmade proof-of-concept anymore but a proper script with instructions that can be used to easily deal with future releases.
#Python

@mgorny@social.treehouse.systems
2024-06-07 01:46:36

You know your bug report and patch made an impact when upstream adds to their instructions:
> - Please only make changes or add data to locales you're familiar with.
#Gentoo

@mgorny@social.treehouse.systems
2024-06-07 16:09:54

In the past, many NumPy-based projects built their wheels against `oldest-supported-numpy` package to ensure the best ABI compatibility between multiple #NumPy versions.
Then NumPy 2 came and reversed that — now you need to build against NumPy 2 rather than 1.x, to gain ABI compatibility with both versions.
That said, if you want to maintain support for #Python 3.8, then you have to hack even more:
#Gentoo

@mgorny@social.treehouse.systems
2024-06-06 15:31:54

For a project that's supposed to avoid the vices of C, #CPython sure crashes a lot.
This time I was bisecting a regression in 3.13.0b2 that causes the interpreter crash when `freezegun` is imported. And no, not because freezegun was doing something hacky. Just some crazy internal extension state thingy.
#Gentoo #Python

@mgorny@social.treehouse.systems
2024-06-05 04:33:07

What I could do instead of making breakfast?
I could be fixing Polish city names in the Python #Faker package. Apparently they've used the data from #latitude.io. The website aggregates data from random sources and it is full of errors: districts of Warsaw are listed as separate cities, some city names are randomly missing diacritics (and I'm not talking about being written entirely without diacritics — say, they have "Białołeka" instead of "Białołęka").
Yep, that's the kind of thing #Gentoo devs do in the morning.
github.com/joke2k/faker/pull/2
latitude.to/map/pl/poland/citi

@mgorny@social.treehouse.systems
2024-06-01 09:54:28

In branched projects like #CPython, you bisect in two directions. You bisect backwards to determine which commit broke CPython 3.12. You bisect forward to determine which commit fixed the issue on main (I use old/new terms there to avoid confusion).
#git #Gentoo

@mgorny@social.treehouse.systems
2024-06-07 15:41:11

Please don't use #Mercurial. It's not well-maintained software.
People like to point out that Mercurial works great for a few BigTech corporations. That's great for them. The side effect is that the development is focused on these corporations, and if you find a bug that doesn't affect them, you better be ready to provide a fix yourself.
#Python 3. The first release with Python 3 was made *two months* before Python 2 went EOL.
#RustLang. Funny thing is, Mercurial with Rust extensions enabled still doesn't work on Python 3.12. Apparently, they've chosen to use some NIH Python/Rust bridge rather than PyO3.
#Gentoo

@mgorny@social.treehouse.systems
2024-06-11 18:14:44

#MiniUPnPC 2.2.8 introduced a breaking API change: the `UPNP_GetValidIGD()` now gets the external IP address and writes it to the newly added arguments (rendering `UPNP_GetExternalIPAddress()` redundant). The return values also shifted in place (sigh).
This made me finally revive #PSHS a bit. I've just pushed 0.4.3 to #Gentoo with a number of important changes: relicensing to GPL-2 and shift of supported MiniUPnPC, OpenSSL and libevent version ranges (the removed 0.4.2 version accidentally broke compatibility with libevent-2.1).
While updating to the #OpenSSL 3 API (to fix deprecation warnings), I've discovered that it made a full circle. First, OpenSSL 1.0 had a simple `RSA_generate_key()` function. Then, for 1.1 I had to replace with it complex, almost "raw" `RSA_generate_key_ex()`. And for 3.0, it's back to even simpler `EVP_RSA_gen()`.
github.com/projg2/pshs/compare

@mgorny@social.treehouse.systems
2024-06-10 14:45:26

So I'm bumping a package and the test suite fails with suspicious timestamp-related failures. So I do the obvious thing, and set TZ=UTC. It still fails. I do a quick math, and the timestamp difference looks weird — 8 hours.
I clone the repo to try to reproduce the problem. While that, I check how upstream runs tests and notice a comment:
# system should be in "America/Los_Angeles" timezone for all tests to pass
Well, okay. Then I make a bet that kloczek has already filed a bug about tests passing without actually bothering to try to figure it out. Of course he did:
#Python #Gentoo #PLD

@mgorny@social.treehouse.systems
2024-06-09 03:19:38

Does #setuptools maintainer think it is a good idea to use setuptools as a #PEP517 build system?
Yep, he probably does. And to prove it, he installs `docs` straight into `site-packages`.
#Gentoo #Python