scripts/update-linux-headers.sh: refactor extra files
cover scripts/update-linux-headers.sh: refactor extra files
Hi QEMU devs,
While doing some other work, I needed to update the update-linux-headers.sh script to handle some new files and it seemed like it was getting big enough to need a little refactoring. The actual files have already been added (on master) but here's the refactoring because it might still be useful. There is no functional change, this is maintenance only.
Cheers,
Sam.
Sam Bobroff (1):
scripts/update-linux-headers.sh: refactor extra files
scripts/update-linux-headers.sh | 44 ++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 20 deletions(-)
Signature · 1 line
2.11.0
PATCH 1/1 scripts/update-linux-headers.sh: refactor extra files
update-linux-headers.sh now has enough code in it to suggest some refactoring. Parameterize some of it to make adding new files a bit easier.
--- scripts/update-linux-headers.sh | 44 ++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 20 deletions(-)
scripts/update-linux-headers.sh +24 -20
@@ -82,33 +82,37 @@ for arch in $ARCHLIST; do fi make -C "$linux" INSTALL_HDR_PATH="$tmpdir" $arch_var=$arch headers_install + ARCH_EXTRA= + ARCH_STD_EXTRA= + case "$arch" in + arm) + ARCH_EXTRA="unistd-eabi.h unistd-oabi.h unistd-common.h" + ;; + powerpc) + ARCH_EXTRA=epapr_hcalls.h + ;; + s390) + ARCH_STD_EXTRA="kvm_virtio.h virtio-ccw.h" + ;; + x86) + ARCH_EXTRA="unistd_32.h unistd_x32.h unistd_64.h" + ARCH_STD_EXTRA="hyperv.h" + ;; + esac rm -rf "$output/linux-headers/asm-$arch" mkdir -p "$output/linux-headers/asm-$arch" - for header in kvm.h kvm_para.h unistd.h; do - cp "$tmpdir/include/asm/$header" "$output/linux-headers/asm-$arch" + for header in kvm.h kvm_para.h unistd.h $ARCH_EXTRA; do + cp "$tmpdir/include/asm/$header" \ + "$output/linux-headers/asm-$arch/" done - if [ $arch = powerpc ]; then - cp "$tmpdir/include/asm/epapr_hcalls.h" "$output/linux-headers/asm-powerpc/" - fi rm -rf "$output/include/standard-headers/asm-$arch" mkdir -p "$output/include/standard-headers/asm-$arch" - if [ $arch = s390 ]; then - cp_portable "$tmpdir/include/asm/kvm_virtio.h" "$output/include/standard-headers/asm-s390/" - cp_portable "$tmpdir/include/asm/virtio-ccw.h" "$output/include/standard-headers/asm-s390/" - fi - if [ $arch = arm ]; then - cp "$tmpdir/include/asm/unistd-eabi.h" "$output/linux-headers/asm-arm/" - cp "$tmpdir/include/asm/unistd-oabi.h" "$output/linux-headers/asm-arm/" - cp "$tmpdir/include/asm/unistd-common.h" "$output/linux-headers/asm-arm/" - fi - if [ $arch = x86 ]; then - cp_portable "$tmpdir/include/asm/hyperv.h" "$output/include/standard-headers/asm-x86/" - cp "$tmpdir/include/asm/unistd_32.h" "$output/linux-headers/asm-x86/" - cp "$tmpdir/include/asm/unistd_x32.h" "$output/linux-headers/asm-x86/" - cp "$tmpdir/include/asm/unistd_64.h" "$output/linux-headers/asm-x86/" - fi + for header in $ARCH_STD_EXTRA; do + cp_portable "$tmpdir/include/asm/$header" \ + "$output/include/standard-headers/asm-$arch/" + done done rm -rf "$output/linux-headers/linux"
Signature · 1 line
2.11.0
Quoted 62 lines · Sam Bobroff
update-linux-headers.shnow has enough code in it to suggest some refactoring. Parameterize some of it to make adding new files a bit easier.Signed-off-by Sam Bobroff <[email protected]>--- scripts/update-linux-headers.sh | 44 ++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 20 deletions(-)scripts/update-linux-headers.sh +20
-17@@ -82,33 +82,37 @@ for arch in $ARCHLIST; do fi make -C "$linux" INSTALL_HDR_PATH="$tmpdir" $arch_var=$arch headers_install + ARCH_EXTRA= + ARCH_STD_EXTRA= + case "$arch" in + arm) + ARCH_EXTRA="unistd-eabi.h unistd-oabi.h unistd-common.h" + ;; + powerpc) + ARCH_EXTRA=epapr_hcalls.h + ;; + s390) + ARCH_STD_EXTRA="kvm_virtio.h virtio-ccw.h" + ;; + x86) + ARCH_EXTRA="unistd_32.h unistd_x32.h unistd_64.h" + ARCH_STD_EXTRA="hyperv.h" + ;; + esac rm -rf "$output/linux-headers/asm-$arch" mkdir -p "$output/linux-headers/asm-$arch" - for header in kvm.h kvm_para.h unistd.h; do - cp "$tmpdir/include/asm/$header" "$output/linux-headers/asm-$arch" + for header in kvm.h kvm_para.h unistd.h $ARCH_EXTRA; do + cp "$tmpdir/include/asm/$header" \ + "$output/linux-headers/asm-$arch/" done - if [ $arch = powerpc ]; then - cp "$tmpdir/include/asm/epapr_hcalls.h" "$output/linux-headers/asm-powerpc/" - fi rm -rf "$output/include/standard-headers/asm-$arch" mkdir -p "$output/include/standard-headers/asm-$arch" - if [ $arch = s390 ]; then - cp_portable "$tmpdir/include/asm/kvm_virtio.h" "$output/include/standard-headers/asm-s390/" - cp_portable "$tmpdir/include/asm/virtio-ccw.h" "$output/include/standard-headers/asm-s390/" - fi - if [ $arch = arm ]; then - cp "$tmpdir/include/asm/unistd-eabi.h" "$output/linux-headers/asm-arm/" - cp "$tmpdir/include/asm/unistd-oabi.h" "$output/linux-headers/asm-arm/" - cp "$tmpdir/include/asm/unistd-common.h" "$output/linux-headers/asm-arm/" - fi - if [ $arch = x86 ]; then - cp_portable "$tmpdir/include/asm/hyperv.h" "$output/include/standard-headers/asm-x86/" - cp "$tmpdir/include/asm/unistd_32.h" "$output/linux-headers/asm-x86/"
scripts/update-linux-headers.sh for arch in $ARCHLIST; do · line 118
Quoted 10 lines
scripts/update-linux-headers.sh +4
-3- cp "$tmpdir/include/asm/unistd_x32.h" "$output/linux-headers/asm-x86/" - cp "$tmpdir/include/asm/unistd_64.h" "$output/linux-headers/asm-x86/" - fi + for header in $ARCH_STD_EXTRA; do + cp_portable "$tmpdir/include/asm/$header" \ + "$output/include/standard-headers/asm-$arch/" + done done rm -rf "$output/linux-headers/linux"
Looks better indeed, thanks!
Paolo