git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] ci: avoid ubuntu:rolling in most jobs for now

From
CSColin Stagner <ask+git@howdoi.land>
Date
Feb 7, 2026, 04:27 UTC
Message-ID
<20260207042703.1180704-1-ask+git@howdoi.land>
In-Reply-To
<aYWaytvnR8wOdc1s@pks.im>
On 2/6/26 01:39, Patrick Steinhardt wrote:
Show 18 quoted lines
> On 2/5/26 15:55, Collin Funk wrote:
>> If you would prefer to keep usingubuntu:rolling, you can do something
>> like this:
>> 
>>      $ podman run --rm -itubuntu:25.10
>>      $ dirname --version
>>      dirname (uutils coreutils) 0.2.2
>>      $ apt-get upgrade -y; apt-get update -y;
>>      [...]
>>      $ apt-get install -y coreutils-from-gnu coreutils-from-uutils- \
>>          --allow-remove-essential
>>      [...]
>>      $ dirname --version | head -n 1
>>      dirname (GNU coreutils) 9.5
>
> ideally we'd do a similar workaround to the sudo.ws workaround
> we have in "ci/install-dependencies.sh" so that we only disable the
> pieces that _don't_ work.

The ubuntu:rolling image still has GNU coreutils installed, but all the command names are prefixed with "gnu". This approach replaces only `dirname`. Feel free to adapt or discard as you like---this isn't my CI!

Colin
-- >8 --
Subject: [PATCH] ci: ubuntu: use GNU coreutils for dirname

The uutils version of `dirname` has output that is inconsistent with GNU coreutils. Prefer the GNU implementation of this command.

Signed-off-by: Colin Stagner <ask+git@howdoi.land>
---
 ci/install-dependencies.sh | 11 +++++++++++
 1 file changed, 11 insertions(+)
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 6ee8216a05..617b90cbc9 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -71,16 +71,27 @@ ubuntu-*|i386/ubuntu-*|debian-*)
 	# sudo(1) or sudo-rs(1), with the latter being the default. The problem
 	# is that it does not support `--preserve-env` though, which we rely on
 	# in our CI. We thus revert back to the C implementation.
 	if test -f /etc/alternatives/sudo
 	then
 		sudo update-alternatives --set sudo /usr/bin/sudo.ws
 	fi
 
+	# on uutils v0.2.2 from rust-coreutils,
+	#     dirname "foo/."
+	# outputs "." instead of "foo" like it should.
+	# Use GNU coreutils to provide dirname instead.
+	#
+	# See <https://github.com/uutils/coreutils/issues/10508>.
+	if test -x /usr/bin/gnudirname
+	then
+		ln -sfT /usr/bin/gnudirname /usr/bin/dirname
+	fi
+
 	case "$distro" in
 	ubuntu-*)
 		mkdir --parents "$CUSTOM_PATH"
 
 		wget --quiet --directory-prefix="$CUSTOM_PATH" \
 			"$P4WHENCE/bin.linux26x86_64/p4d" \
 			"$P4WHENCE/bin.linux26x86_64/p4" &&
 		chmod a+x "$CUSTOM_PATH/p4d" "$CUSTOM_PATH/p4" || {

base-commit: 3e0db84c88c57e70ac8be8c196dfa92c5d656fbc
-- 
2.43.0
Previous: Patrick SteinhardtNext: Junio C Hamano
Message 4 of 6 in “ci: avoid ubuntu:rolling in most jobs for now”
  1. ci: avoid ubuntu:rolling in most jobs for nowJunio C Hamano, Feb 5, 2026
  2. Collin FunkFeb 5, 2026
  3. Patrick SteinhardtFeb 6, 2026
  4. Colin StagnerFeb 7, 2026
  5. Junio C HamanoFeb 7, 2026
  6. Colin StagnerFeb 7, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.