[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200805202757.qs2kvtwkh5x4j52w@lion.mk-sys.cz>
Date: Wed, 5 Aug 2020 22:27:57 +0200
From: Michal Kubecek <mkubecek@...e.cz>
To: Lars Wendler <polynomial-c@...too.org>
Cc: netdev@...r.kernel.org
Subject: Re: ethtool-5.8: test-driver uses bashisms
On Wed, Aug 05, 2020 at 01:03:30PM +0200, Michal Kubecek wrote:
> On Wed, Aug 05, 2020 at 08:46:06AM +0200, Lars Wendler wrote:
> > Hi Michal,
> >
> > I hope you are the right person to reach out for this matter.
> >
> > Running the test-driver script from ethtool-5.8 release with /bin/dash
> > results in an endless loop that constantly emits the following two
> > lines:
> >
> > ./test-driver: 62: [: --test-name: unexpected operator
> > ./test-driver: 78: [[: not found
> >
> > This is because the script contains two bashisms which make the while
> > loop to never exit when the script is not being run with a shell that
> > knows about these bash extensions.
> >
> > The attached patch fixes this.
>
> This is really unfortunate. The problem is that this script is not part
> of ethtool codebase, it is copied from automake installation instead.
> In this case, the script using [[...]] comes from automake 1.15 (which
> I have on my development system).
>
> AFAICS automake 1.16 has a newer version of test-driver script and the
> main difference is the use of [...] tests instead of [[...]]. I'll
> update automake on my development machine and open a bug to backport the
> change to openSUSE Leap 15.2 package to prevent repeating this problem.
Correction: upstream automake has a version of the script which does not
use bash specific constructions ("==" and "[[ ... ]]"). These come from
a distribution patch introduced in openSUSE Leap 15.1 and 15.2 package
to fix command line argument handling. openSUSE Tumbleweed has fixed
version of the script which uses universal "=" and "[ ... ]".
Michal
Powered by blists - more mailing lists