Message ID | 20161213135827.31212-1-jgross@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Dec 13, 2016 at 02:58:27PM +0100, Juergen Gross 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> though ... > --- > 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 > > Signed-off-by: Juergen Gross <jgross@suse.com> > --- > stubdom/Makefile | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/stubdom/Makefile b/stubdom/Makefile > index bc49cfe..38f1688 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 linkfarm.stamp.tmp linkfarm.stamp 2>/dev/null && \ I think we want 'cmp -s' here. > + 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 >
On 13/12/16 16:15, Wei Liu wrote: > On Tue, Dec 13, 2016 at 02:58:27PM +0100, Juergen Gross 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> > > though ... > >> --- >> 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 >> >> Signed-off-by: Juergen Gross <jgross@suse.com> >> --- >> stubdom/Makefile | 10 +++++++--- >> 1 file changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/stubdom/Makefile b/stubdom/Makefile >> index bc49cfe..38f1688 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 linkfarm.stamp.tmp linkfarm.stamp 2>/dev/null && \ > > I think we want 'cmp -s' here. Oh, right. This removes the need for redirecting error output. Shall I resend or could you fix it up when committing? Juergen
On Tue, Dec 13, 2016 at 04:24:01PM +0100, Juergen Gross wrote: > On 13/12/16 16:15, Wei Liu wrote: > > On Tue, Dec 13, 2016 at 02:58:27PM +0100, Juergen Gross 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> > > > > though ... > > > >> --- > >> 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 > >> > >> Signed-off-by: Juergen Gross <jgross@suse.com> > >> --- > >> stubdom/Makefile | 10 +++++++--- > >> 1 file changed, 7 insertions(+), 3 deletions(-) > >> > >> diff --git a/stubdom/Makefile b/stubdom/Makefile > >> index bc49cfe..38f1688 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 linkfarm.stamp.tmp linkfarm.stamp 2>/dev/null && \ > > > > I think we want 'cmp -s' here. > > Oh, right. This removes the need for redirecting error output. > Shall I resend or could you fix it up when committing? > > Please resend with my ack. > Juergen
diff --git a/stubdom/Makefile b/stubdom/Makefile index bc49cfe..38f1688 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 linkfarm.stamp.tmp linkfarm.stamp 2>/dev/null && \ + 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