[virt-tools-list] [PATCH virt-viewer] msi: Do not escape '$' for wixl-heat

Pavel Grunt pgrunt at redhat.com
Mon Jul 24 12:48:50 UTC 2017


On Mon, 2017-07-24 at 05:47 -0400, Marc-André Lureau wrote:
> Hi
> 
> ----- Original Message -----
> > wixl-heat does it itself since its commit 9273514c95e343340d18067b4f1
> > 
> > otherwise msi generation fails with:
> > Couldn't find file
> > $/tmp/tmp.1MYrxTLd1U/usr/x86_64-w64-mingw32/sys-root/mingw/bin/debug-
> > helper.exe
> > ---
> >  data/Makefile.am | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/data/Makefile.am b/data/Makefile.am
> > index 55718d9..d9c7049 100644
> > --- a/data/Makefile.am
> > +++ b/data/Makefile.am
> > @@ -43,7 +43,7 @@ deps.txt:
> >  virt-viewer-$(WIXL_ARCH)-$(VERSION).msi: virt-viewer.wxs deps.txt
> >  	$(AM_V_GEN)DESTDIR=`mktemp -d` &&				\
> >  	make -C $(top_builddir) install DESTDIR=$$DESTDIR >/dev/null &&	
> > \
> > -	find $$DESTDIR | wixl-heat -p $$DESTDIR$(prefix)/		\
> > +	find $$DESTDIR | wixl-heat -p $DESTDIR$(prefix)/		\
> 
> This doesn't look like the correct fix to me, since -p is only used to match
> and strip prefix-based filenames.
> 
ok

> I think we shouldn't escape the sourcedir instead:
> 
> diff --git a/tools/wixl/wixl-heat.vala b/tools/wixl/wixl-heat.vala
> index 47013c1..4c828f7 100644
> --- a/tools/wixl/wixl-heat.vala
> +++ b/tools/wixl/wixl-heat.vala
> @@ -106,8 +106,8 @@ public int main (string[] args) {
>                      stdout.printf (indent + "<Component
> Win64=\"$(var.Win64)\" Id=\"%s\" Guid=\"*\">\n".printf (id));
>                  else
>                      stdout.printf (indent + "<Component Id=\"%s\"
> Guid=\"*\">\n".printf (id));
> -                file = sourcedir + Path.DIR_SEPARATOR_S + file;
> -                stdout.printf (indent + "  <File Id=\"%s\" KeyPath=\"yes\"
> Source=\"%s\"/>\n".printf (generate_id ("fil", 1, file),
> escape_filename(file)));
> +                file = sourcedir + Path.DIR_SEPARATOR_S +
> escape_filename(file);
> +                stdout.printf (indent + "  <File Id=\"%s\" KeyPath=\"yes\"
> Source=\"%s\"/>\n".printf (generate_id ("fil", 1, file), file));
>                  stdout.printf (indent + "</Component>\n");
> 
> Could you check before I commit in msitools?

it works for me.

Thanks,
Pavel

> 
> Btw, it might be worth to consider a msitools release too, so virt-viewer msi
> can be build in fedora 26.
> 
> 
> >  	    --component-group CG.virt-viewer --var var.DESTDIR		
> > \
> >  	    --directory-ref=INSTALLDIR > virt-viewer-files.wxs &&	\
> >  	MANUFACTURER="$(MANUFACTURER)" wixl -D SourceDir=$(prefix)	\
> > --
> > 2.13.3
> > 
> > _______________________________________________
> > virt-tools-list mailing list
> > virt-tools-list at redhat.com
> > https://www.redhat.com/mailman/listinfo/virt-tools-list
> > 




More information about the virt-tools-list mailing list