New vulnerability fixes in Python 2.7 (and PyPy)
As you probably know (and aren’t necessarily happy about it), Gentoo is actively working on eliminating Python 2.7 support from packages until end of 2020. Nevertheless, we are going to keep the Python...
View ArticleSleeping and waking up
Time to write something more personal, for a change. I find it somewhat curious how my sleeping habits have changed over the years, as well as the level of sophistication of the way I have been waking...
View ArticleSpeeding up emerge depgraph calculation using PyPy3
If you used Gentoo for some time, you’ve probably noticed that emerge is getting slower and slower. Before I switched to SSD, my emerge could take even 10 minutes before it figured out what to do! Even...
View ArticleDISTUTILS_USE_SETUPTOOLS, QA spam and… more QA spam?
I suppose that most of the Gentoo developers have seen at least one of the ‘uses a probably incorrect DISTUTILS_USE_SETUPTOOLS value’ bugs by now. Over 350 have been filed so far, and new ones are...
View ArticleHow Debuggers Work: Getting and Setting x86 Registers, Part 1
In this article, I would like to shortly describe the methods used to dump and restore the different kinds of registers on 32-bit and 64-bit x86 CPUs. The first part will focus on General Purpose...
View ArticleHow Debuggers Work: Getting and Setting x86 Registers, Part 2: XSAVE
In the previous part of this article, I have described the basic methods of getting and setting the baseline registers of 32-bit and 64-bit x86 CPUs. I have covered General Purpose Registers, baseline...
View ArticleOpenSSL, LibreSSL, LibreTLS and all the terminological irony
While we’re discussing the fate of LibreSSL, it’s worth noting how confusing the names of these packages became. I’d like to take this opportunity to provide a short note on what’s what. First of all,...
View ArticleDistribution Kernels: module rebuilds, better ZFS support and UEFI executables
The primary goal of the Distribution Kernel project is provide a seamless kernel upgrade experience to Gentoo users. Initially, this meant configuring, building and installing the kernel during the...
View Articlelzip decompression support for xz-utils
As of today, the most common implementation of the LZMA algorithm on open source operating systems is the xz format. However, there are a few others available. Notably, a few packages found in the...
View ArticleThe modern packager’s security nightmare
One of the most important tasks of the distribution packager is to ensure that the software shipped to our users is free of security vulnerabilities. While finding and fixing the vulnerable code is...
View ArticleWhy not rely on app developer to handle security?
One of the comments to the The modern packager’s security nightmare post posed a very important question: why is it bad to depend on the app developer to address security issues? In fact, I believe it...
View ArticleMoving commits between independent git histories
PyPy is an alternative Python implementation. While it does replace a large part of the interpreter, a large part of the standard library is shared with CPython. As a result, PyPy is frequently...
View Article10 Years’ Perspective on Python in Gentoo
I’m a Gentoo developer for over 10 years already. I’ve been doing a lot of different things throughout that period. However, Python was pretty much always somewhere within my area of interest. I don’t...
View ArticleFrom build-dir to venv — testing Python packages in Gentoo
A lot of Python packages assume that their tests will be run after installing the package. This is quite a reasonable assumption if you take that the tests are primarily run in dedicated testing...
View ArticleRetiring the multilib project
I created the Multilib project back in November 2013 (though the effort itself started roughly a year earlier) with the goal of maintaining the multilib eclasses and porting Gentoo packages to them....
View ArticleThe ultimate guide to EAPI 8
Three years ago, I had the pleasure of announcing EAPI 7 as a major step forward in our ebuild language. It introduced preliminary support for cross-compilation, it finally provided good replacements...
View ArticleGetting DTS 5.1+ sound via S/PDIF or HDMI using PulseAudio
While PCs still usually provide a full set of analog jacks capable of outputting a 5.1 audio, other modern hardware (such as TVs) is usually limited to digital audio outputs (and sometimes analog...
View ArticleThe stablereq workflow for Python packages
I have been taking care of periodic mass stabilization of Python packages in Gentoo for some time already. Per Guilherme Amadio‘s suggestion, I’d like to share the workflow I use for this. I think it...
View ArticleThe future of Python build systems and Gentoo
Anyone following my Twitter could have seen me complaining about things happening around Python build systems frequently. The late changes feel like people around the Python packaging ecosystem have...
View ArticleClang in Gentoo now sets default runtimes via config file
The upcoming clang 16 release features substantial improvements to configuration file support. Notably, it adds support for specifying multiple files and better default locations. This enabled Gentoo...
View Article