Re: set : illegal option -o pipefail error while trying to upgrade pkg.

From: Jamie Landeg-Jones <jamie_at_catflap.org>
Date: Wed, 31 Jan 2024 12:16:35 UTC
Mario Marietto <marietto2008@gmail.com> wrote:

> What I haven't understood is why you are talking about newer ports when the
> only thing I do is to update ports using the same FreeBSD version,in this
> case 10.4. I mean,upgrading ports without upgrading the version of
> FreeBSD,can't mean to use newer ports,since I don't use a newer version of
> the OS.

The ports infrastucture (under /usr/ports/Mk) now contains scripts that set
the "pipefail" option - these scripts are updated when you update the ports
tree.

I had an old out-of-date box for a while, and used this quick hack to get
it to work.

You need to run this after you update the ports tree:

sed -i.bak '/^[[:space:]]*set [+-]o pipefail/d' /usr/ports/Mk/Scripts/*

It removes the references to pipefail. This can mean that some build errors
are potentially not trapped, but if that's the case you're likely to notice
the failure anyway.

Still best to update your system or your /bin/sh though!

Cheers, Jamie