From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45744) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZyOB-0003mf-33 for qemu-devel@nongnu.org; Thu, 10 Sep 2015 05:43:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZZyO9-0001bC-Sp for qemu-devel@nongnu.org; Thu, 10 Sep 2015 05:43:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47580) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZyO9-0001b1-Lk for qemu-devel@nongnu.org; Thu, 10 Sep 2015 05:43:29 -0400 Date: Thu, 10 Sep 2015 12:43:27 +0300 From: "Michael S. Tsirkin" Message-ID: <20150910124319-mutt-send-email-mst@redhat.com> References: <1441877978-31156-1-git-send-email-pbonzini@redhat.com> <1441877978-31156-4-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1441877978-31156-4-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH v3 3/4] update-linux-headers: copy standard-headers files one by one List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: cornelia.huck@de.ibm.com, qemu-devel@nongnu.org On Thu, Sep 10, 2015 at 11:39:37AM +0200, Paolo Bonzini wrote: > cp_virtio is called for both the asm-s390/ and linux/ directories, > so it looks for pci_regs.h and input.h files in asm-s390/ too. This > makes little sense. In the next patch we will have the opposite > problem; we want to add asm-x86/hyperv.h, and there's also a > linux/hyperv.h file with unwanted dependencies on additional Linux > uapi headers. We do not want to copy linux/hyperv.h. > > The solution is to make cp_virtio (now renamed to cp_portable) copy > one file only, instead of using the "find" command, and call it multiple > times. The new function is really just a reindentation of the old one. > > Signed-off-by: Paolo Bonzini Reviewed-by: Michael S. Tsirkin > --- > scripts/update-linux-headers.sh | 69 +++++++++++++++++++++-------------------- > 1 file changed, 36 insertions(+), 33 deletions(-) > > diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh > index 7f7b592..6a75678 100755 > --- a/scripts/update-linux-headers.sh > +++ b/scripts/update-linux-headers.sh > @@ -28,39 +28,32 @@ if [ -z "$output" ]; then > output="$PWD" > fi > > -cp_virtio() { > - from=$1 > +cp_portable() { > + f=$1 > to=$2 > - virtio=$(find "$from" -name '*virtio*h' -o -name "input.h" -o -name "pci_regs.h") > - if [ "$virtio" ]; then > - rm -rf "$to" > - mkdir -p "$to" > - for f in $virtio; do > - if > - grep '#include' "$f" | grep -v -e 'linux/virtio' \ > - -e 'linux/types' \ > - -e 'stdint' \ > - -e 'linux/if_ether' \ > - -e 'sys/' \ > - > /dev/null > - then > - echo "Unexpected #include in input file $f". > - exit 2 > - fi > - > - header=$(basename "$f"); > - sed -e 's/__u\([0-9][0-9]*\)/uint\1_t/g' \ > - -e 's/__s\([0-9][0-9]*\)/int\1_t/g' \ > - -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \ > - -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \ > - -e 's/]*\)>/"standard-headers\/linux\/\1"/' \ > - -e 's/__bitwise__//' \ > - -e 's/__attribute__((packed))/QEMU_PACKED/' \ > - -e 's/__inline__/inline/' \ > - -e '/sys\/ioctl.h/d' \ > - "$f" > "$to/$header"; > - done > + if > + grep '#include' "$f" | grep -v -e 'linux/virtio' \ > + -e 'linux/types' \ > + -e 'stdint' \ > + -e 'linux/if_ether' \ > + -e 'sys/' \ > + > /dev/null > + then > + echo "Unexpected #include in input file $f". > + exit 2 > fi > + > + header=$(basename "$f"); > + sed -e 's/__u\([0-9][0-9]*\)/uint\1_t/g' \ > + -e 's/__s\([0-9][0-9]*\)/int\1_t/g' \ > + -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \ > + -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \ > + -e 's/]*\)>/"standard-headers\/linux\/\1"/' \ > + -e 's/__bitwise__//' \ > + -e 's/__attribute__((packed))/QEMU_PACKED/' \ > + -e 's/__inline__/inline/' \ > + -e '/sys\/ioctl.h/d' \ > + "$f" > "$to/$header"; > } > > # This will pick up non-directories too (eg "Kconfig") but we will > @@ -93,7 +86,12 @@ for arch in $ARCHLIST; do > cp "$tmpdir/include/asm/epapr_hcalls.h" "$output/linux-headers/asm-powerpc/" > fi > > - cp_virtio "$tmpdir/include/asm" "$output/include/standard-headers/asm-$arch" > + 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 > done > > rm -rf "$output/linux-headers/linux" > @@ -120,7 +118,12 @@ cat <$output/linux-headers/linux/virtio_ring.h > #include "standard-headers/linux/virtio_ring.h" > EOF > > -cp_virtio "$tmpdir/include/linux/" "$output/include/standard-headers/linux" > +rm -rf "$output/include/standard-headers/linux" > +mkdir -p "$output/include/standard-headers/linux" > +for i in "$tmpdir"/include/linux/*virtio*.h "$tmpdir/include/linux/input.h" \ > + "$tmpdir/include/linux/pci_regs.h"; do > + cp_portable "$i" "$output/include/standard-headers/linux" > +done > > cat <$output/include/standard-headers/linux/types.h > #include > -- > 2.4.3 >