From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57328) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uepjj-0001Pv-R4 for qemu-devel@nongnu.org; Tue, 21 May 2013 12:48:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uepje-0006AY-Uy for qemu-devel@nongnu.org; Tue, 21 May 2013 12:48:31 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40423) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uepje-0006AR-NO for qemu-devel@nongnu.org; Tue, 21 May 2013 12:48:26 -0400 Message-ID: <519BA540.2020205@redhat.com> Date: Tue, 21 May 2013 10:48:00 -0600 From: Eric Blake MIME-Version: 1.0 References: <20130521153333.4880.74390.stgit@hds.com> <20130521153345.4880.68009.stgit@hds.com> In-Reply-To: <20130521153345.4880.68009.stgit@hds.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="----enig2AGGAAFJOWFUURMGUMRQG" Subject: Re: [Qemu-devel] [RFC PATCH v3 03/11] Add a script to extract VSS SDK headers on POSIX system List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Tomoki Sekiyama Cc: mdroth@linux.vnet.ibm.com, qemu-devel@nongnu.org, lcapitulino@redhat.com, vrozenfe@redhat.com, pbonzini@redhat.com, seiji.aguchi@hds.com, areis@redhat.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2AGGAAFJOWFUURMGUMRQG Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 05/21/2013 09:33 AM, Tomoki Sekiyama wrote: > VSS SDK(*) setup.exe is only runnable on Windows. This adds a script > to extract VSS SDK headers on POSIX-systems using msitools. >=20 > * http://www.microsoft.com/en-us/download/details.aspx?id=3D23490 >=20 > From: Paolo Bonzini > Signed-off-by: Tomoki Sekiyama > --- > scripts/extract-vsssdk-headers | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > create mode 100755 scripts/extract-vsssdk-headers >=20 > +#! /bin/bash Since you are using bash... > + > +# extract-vsssdk-headers > +# Author: Paolo Bonzini > + > +set -e > +if test $# =3D 0 || ! test -f "$1"; then Why reject 0 arguments but not 2? Shouldn't the first check be test $# !=3D 1? > + echo 'Usage: extract-vsssdk-headers /path/to/setup.exe' > + exit 1 > +fi > + > +# Extract .MSI file in the .exe, looking for the OLE compound > +# document signature. Extra data at the end does not matter. > +export LC_ALL=3DC > +MAGIC=3D$'\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1' > +offset=3D`grep -abom1 "$MAGIC" "$1" | sed -n 's/:/\n/; P' ` =2E..I'd prefer $() over ``. > +(dd of=3D/dev/null skip=3D$offset bs=3D1 count=3D0; cat) < "$1" > vsss= dk.msi > + > +# Now extract the files. > +tmpdir=3Dtmp$$ > +mkdir $tmpdir =2E..also, this name is rather predictable; adding a $RANDOM might help improve its quality. > +msiextract -C $tmpdir vsssdk.msi > +mv "$tmpdir/Program Files/Microsoft/VSSSDK72/inc" inc > +rm -rf $tmpdir vsssdk.msi What, no trap, to guarantee clean up of the temp directory even if you Ctrl-C the script in the middle of a potentially long-running msiextract?= --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org ------enig2AGGAAFJOWFUURMGUMRQG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJRm6VAAAoJEKeha0olJ0Nqm4wH/RT4lxM8S/nUAheMYTfVojmO SbR40ggkFwOOzRZobWrtEDK5m3+L6wfUVoja5yuRoiTY9sTY6muFPf25MXUk0HWS vuAdsgNMjTKm7+3SClrcivrwoAjzGsOQFwEJBTn5yal8HvADf2NG3a7x7iEVcDG5 h2SZhbMT9HIUBvNHqilhzsGCMA8pH345/LAeyh8YdLk2Gs1th3dKaWiM/+Qqarqf cULrC6Plsq46rs0Cvk9nAqm3NBLFl1dFMAU8Tuv/fajCx4X2R8EfnIKAr9GmDPRL BIz50128qWqeU1rMqpv6qPB5P5YXmgqr8fNHdV0pk360qpfefyubh4KQec3MbdE= =IrLa -----END PGP SIGNATURE----- ------enig2AGGAAFJOWFUURMGUMRQG--