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

Marc-André Lureau marcandre.lureau at redhat.com
Mon Jul 24 09:47:10 UTC 2017


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.

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?

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