[ovs-dev] [PATCH V6 1/2] Makefiles: Generate datapath ovs key fields macros

Ilya Maximets i.maximets at samsung.com
Tue Mar 19 07:42:25 UTC 2019


> On 18/03/2019 23:58, Ben Pfaff wrote:
>> On Sun, Mar 10, 2019 at 05:31:31AM +0000, Eli Britstein wrote:
>>> Generate datapath ovs key fields offset and size array macros as a
>>> pre-step for bit-wise comparing fields, with no functional change.
>>>
>>> Signed-off-by: Eli Britstein <elibr at mellanox.com>
>>> Reviewed-by: Roi Dayan <roid at mellanox.com>
>> 
>> Thanks!
>> 
>> This introduces a script that uses /bin/bash.  I don't think that we
>> have other build or runtime  dependencies on bash, so it would be better
>> to avoid introducing one here.  I would rewrite it in terms of portable
>> Bourne shell constructs.
>> 
> 
> Hi Ben,
> 
> just to clarify, when you see portable Bourne shell constructs,
> you mean so it can work with other shells like dash on ubuntu?
> 
> There are other scripts depending on bash.
> examples are tests in tests/system-traffic.at, the bash auto completion scripts, ovs-sim.
> do you still prefer us to be compatible and use /bin/sh shebang ?
> 
> Thanks,
> Roi

Hi.

At least this patch set breaks the FreeBSD build:

mv ovn/lib/ovn-nb-idl.ovsidl.tmp ovn/lib/ovn-nb-idl.ovsidl
bash -f ./build-aux/extract-odp-netlink-macros-h include/odp-netlink.h > include/odp-netlink-macros.h
/bin/sh: bash: not found
gmake: *** [Makefile:8327: include/odp-netlink-macros.h] Error 127
gmake: *** Waiting for unfinished jobs....
Exit status: 2

More details here: https://cirrus-ci.com/task/5827199230803968

BTW, all the code parts you mentioned that depends on bash are not part of the
build or base test system. tests/system-traffic.at depends on Linux and is not
part of a base testsuite, bash auto completion scripts are obviously bash dependant
and not used without bash (autocompletion tests are skipped if bash is not available),
and ovs-sim is just a developer tool that intended for manual testing so not that
important.
But your code makes generic build process bash dependent. This causes build failure
on FreeBSD and possibly on other systems without bash available.

Best regards, Ilya Maximets.


More information about the dev mailing list