Skip to content

Instantly share code, notes, and snippets.


Sam James thesamesam

View GitHub Profile
thesamesam / bashrc
Last active March 15, 2023 01:16
Portage /etc/portage/bashrc hook for testing src_configure with stricter Clang
View bashrc
# Distributed under the terms of the GNU General Public License v2
# Hook to make it easier to detect compiler output changes in src_configure with stricter Clang
# Outputs logs to /var/tmp/clang.
# Written by Sam James <> and Arsen Arsenović <>
# For background, please see
# Instructions:
# 1. Install clang:15 or clang:16
thesamesam /
Last active May 16, 2023 15:01
Gentoo cross compilation instructions (crossdev -> stage3)

Cross instructions

These instructions cover:

  1. building a cross toolchain
  2. populating the new ROOT
  3. making it chrootable using qemu-user to easily run "native" builds or tests (this is like a stage3 at the end)

You do not need to follow through to the end if you don't need a stage3-like root.

Set up the toolchain

thesamesam / gist:418ad675abe532b5f25f13af15f81635
Last active January 27, 2022 18:20
Itanium (IA64) port: call for help
View gist:418ad675abe532b5f25f13af15f81635
Hi all,
TL;DR: We really need help! There aren't many developers in Gentoo
interested in working on Itanium. Come hang around in #gentoo-ia64
on (IRC) if you're interested in helping.
As discussed in the recent Gentoo Council meeting [0], concerns were raised
about the status of Itanium (IA64) and I agreed to write to gentoo-dev to
assess the level of interest & put out a call for volunteers.
View gist:db00374f7302ce2226e814b6f987683a
!!! existing preserved libs:
>>> package: dev-libs/libyaml-0.2.5
* - /usr/lib64/
* - /usr/lib64/
* used by /usr/src/linux-5.15.11-gentoo-dist/scripts/dtc/dtc (sys-kernel/gentoo-kernel-5.15.11)
Use emerge @preserved-rebuild to rebuild packages using these libraries
View gist:63916661d275a18b4fc322408bda3912
From c08c30a7b6bf418dc8dd43e755eba82ac816be4b Mon Sep 17 00:00:00 2001
From: Sam James <>
Date: Wed, 8 Dec 2021 02:10:34 +0000
Subject: [PATCH] Skip sched/priority tests
Lib/test/ | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Lib/test/ b/Lib/test/
thesamesam / make.conf
Last active August 17, 2021 20:57
Portage QA
View make.conf
# -fdiagnostics-color=always: just for colour
# -frecord-gcc-switches: must be in *ALL* *FLAGS* (harmless but not needed in LDFLAGS) to be effective, or Portage skips it
COMMON_FLAGS="-O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches"
# You can use ${COMMON_FLAGS} here, but please remember to include as-needed manually then.
LDFLAGS="${LDFLAGS} -Wl,--defsym=__gentoo_check_ldflags__=0"
thesamesam /
Last active December 10, 2021 22:39
Migrating a Gentoo install to libxcrypt (OBSOLETE)

This document is oboslete!

Please read the news item and wiki page instead.

Migrating a Gentoo install to libxcrypt

This is a set of instructions for migrating a Gentoo glibc system's libcrypt provider from glibc[crypt] to libxcrypt[system].

See wiki notes for background, etc.

thesamesam / commit-changed-pkgs
Created June 3, 2021 22:30
Bash script to commit all changes per-Gentoo-package
View commit-changed-pkgs
## Name: commit-changed-pkgs
## Description:
## Commits all changes with a given template
## Can exclude by maintainer.
## Useful for e.g. big batch changes like a sed across tree
## Usage:
## - bash ~/scripts/commit-changed-pkgs
View gist:2be99bcb4f0178756d7b34430c2cd85f
from nattka.bugzilla import *
# Setup Nattka
nattka_bugzilla = NattkaBugzilla(api_url="", api_key="")
#nattka_bugzilla = NattkaBugzilla("")
bugs = nattka_bugzilla.find_bugs(sanity_check=[True])
arch = "arm64"
for num,bug in bugs.items():