xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] stubdom: modify ioemu linkfarm only if necessary
@ 2016-12-13 15:38 Juergen Gross
  2016-12-14  6:37 ` Samuel Thibault
  0 siblings, 1 reply; 2+ messages in thread
From: Juergen Gross @ 2016-12-13 15:38 UTC (permalink / raw)
  To: xen-devel; +Cc: Juergen Gross, samuel.thibault, wei.liu2

Several stubdom libraries are being rebuilt each time a top level make
is called as they depend on stubdom/ioemu/linkfarm.stamp which is
depending on tools/qemu-xen-traditional-dir. Unfortunately this
directory is modified by each "make tools" call.

This can be avoided by writing stubdom/ioemu/linkfarm.stamp only if
a source file beneath tools/qemu-xen-traditional-dir has been added
or removed.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
---
V3: use cmp -s as suggested by Wei Liu

V2: maintain a list of the to be linked files in linkfarm.stamp and
    rebuild this list at each make call for detecting any change
---
 stubdom/Makefile | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/stubdom/Makefile b/stubdom/Makefile
index bc49cfe..f858210 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -298,9 +298,13 @@ ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/qemu-xen-traditional-dir
 	(cd $$src && find *	! -type l  -type f  $(addprefix ! -name ,	\
 			'*.[oda1]' 'config-*' config.mak qemu-dm qemu-img-xen	\
 			'*.html' '*.pod'					\
-			)) |							\
-	    while read f; do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done
-	touch ioemu/linkfarm.stamp
+			)) >linkfarm.stamp.tmp;				\
+	cmp -s linkfarm.stamp.tmp linkfarm.stamp &&			\
+		rm linkfarm.stamp.tmp || {				\
+		mv linkfarm.stamp.tmp linkfarm.stamp;			\
+		cat linkfarm.stamp | while read f;			\
+			do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done;	\
+	}
 else
 export QEMU_ROOT
 
-- 
2.10.2


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v3] stubdom: modify ioemu linkfarm only if necessary
  2016-12-13 15:38 [PATCH v3] stubdom: modify ioemu linkfarm only if necessary Juergen Gross
@ 2016-12-14  6:37 ` Samuel Thibault
  0 siblings, 0 replies; 2+ messages in thread
From: Samuel Thibault @ 2016-12-14  6:37 UTC (permalink / raw)
  To: Juergen Gross; +Cc: xen-devel, wei.liu2

Juergen Gross, on Tue 13 Dec 2016 16:38:06 +0100, wrote:
> Several stubdom libraries are being rebuilt each time a top level make
> is called as they depend on stubdom/ioemu/linkfarm.stamp which is
> depending on tools/qemu-xen-traditional-dir. Unfortunately this
> directory is modified by each "make tools" call.
> 
> This can be avoided by writing stubdom/ioemu/linkfarm.stamp only if
> a source file beneath tools/qemu-xen-traditional-dir has been added
> or removed.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Acked-by: Wei Liu <wei.liu2@citrix.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3: use cmp -s as suggested by Wei Liu
> 
> V2: maintain a list of the to be linked files in linkfarm.stamp and
>     rebuild this list at each make call for detecting any change
> ---
>  stubdom/Makefile | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/stubdom/Makefile b/stubdom/Makefile
> index bc49cfe..f858210 100644
> --- a/stubdom/Makefile
> +++ b/stubdom/Makefile
> @@ -298,9 +298,13 @@ ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/qemu-xen-traditional-dir
>  	(cd $$src && find *	! -type l  -type f  $(addprefix ! -name ,	\
>  			'*.[oda1]' 'config-*' config.mak qemu-dm qemu-img-xen	\
>  			'*.html' '*.pod'					\
> -			)) |							\
> -	    while read f; do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done
> -	touch ioemu/linkfarm.stamp
> +			)) >linkfarm.stamp.tmp;				\
> +	cmp -s linkfarm.stamp.tmp linkfarm.stamp &&			\
> +		rm linkfarm.stamp.tmp || {				\
> +		mv linkfarm.stamp.tmp linkfarm.stamp;			\
> +		cat linkfarm.stamp | while read f;			\
> +			do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done;	\
> +	}
>  else
>  export QEMU_ROOT
>  
> -- 
> 2.10.2
> 

-- 
Samuel
<studdud> what the fuck is wtf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-12-14  6:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-13 15:38 [PATCH v3] stubdom: modify ioemu linkfarm only if necessary Juergen Gross
2016-12-14  6:37 ` Samuel Thibault

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).