support/dependencies/dependencies.sh: reject buggy uutils install

uutils install 0.8.0 as used in Ubuntu 26.04 has a bug in the install
applet, breaking a number of packages:

https://github.com/uutils/coreutils/pull/11505
https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2151454

The fix has been merged upstream but not yet released or packaged in Ubuntu,
so detect and reject the buggy version and explain how to change to the
coreutils version. Once fixed the version output will hopefully change.

For simplicity, only check for the exact 0.8.0 version string. Hopefully
when it is fixed in Ubuntu, they also update the version string. Note
that earlier versions of uutils have the same issue of course, but those
versions were never the default "install" on Ubuntu (or anywhere else).

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
This commit is contained in:
Peter Korsgaard
2026-05-30 00:40:36 +02:00
committed by Arnout Vandecappelle
parent 7811063db2
commit 64cb69f155

View File

@@ -190,6 +190,17 @@ if test "${missing_progs}" = "yes" ; then
exit 1
fi
INSTALL_VERSION="$(install --version | sed -n 's/^install \(.*\)/\1/p')"
if [ "${INSTALL_VERSION}" = "(uutils coreutils) 0.8.0" ]; then
echo
echo "You have an uutils 'install' version installed which is affected by:"
echo " https://github.com/uutils/coreutils/issues/12166"
echo
echo "Please change to coreutils install with:"
echo "update-alternatives --install /usr/bin/install install /usr/bin/gnuinstall 100"
exit 1
fi
PATCH_VERSION="$(patch -v 2>/dev/null | sed -n 's/^GNU patch \(.*\)/\1/p')"
if [ -z "${PATCH_VERSION}" ] ; then
echo