Skip to content

Commit

Permalink
kheaders: remove the last bashism to allow sh to run it
Browse files Browse the repository at this point in the history
'pushd' ... 'popd' is the last bash-specific code in this script.
One way to avoid it is to run the code in a sub-shell.

With that addressed, you can run this script with sh.

I replaced $(BASH) with $(CONFIG_SHELL), and I changed the hashbang
to #!/bin/sh.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
  • Loading branch information
masahir0y committed Nov 6, 2019
1 parent bd38fa1 commit d368d9d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
2 changes: 1 addition & 1 deletion kernel/Makefile
Expand Up @@ -128,7 +128,7 @@ $(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE
$(obj)/kheaders.o: $(obj)/kheaders_data.tar.xz

quiet_cmd_genikh = CHK $(obj)/kheaders_data.tar.xz
cmd_genikh = $(BASH) $(srctree)/kernel/gen_kheaders.sh $@
cmd_genikh = $(CONFIG_SHELL) $(srctree)/kernel/gen_kheaders.sh $@
$(obj)/kheaders_data.tar.xz: FORCE
$(call cmd,genikh)

Expand Down
13 changes: 7 additions & 6 deletions kernel/gen_kheaders.sh
@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0

# This script generates an archive consisting of kernel headers
Expand Down Expand Up @@ -57,11 +57,12 @@ rm -rf $cpio_dir
mkdir $cpio_dir

if [ "$building_out_of_srctree" ]; then
pushd $srctree > /dev/null
for f in $dir_list
do find "$f" -name "*.h";
done | cpio --quiet -pd $cpio_dir
popd > /dev/null
(
cd $srctree
for f in $dir_list
do find "$f" -name "*.h";
done | cpio --quiet -pd $cpio_dir
)
fi

# The second CPIO can complain if files already exist which can happen with out
Expand Down

0 comments on commit d368d9d

Please sign in to comment.