Message ID | 1395020122-4957-1-git-send-email-famz@redhat.com |
---|---|
State | New |
Headers | show |
Am 17.03.2014 02:35, schrieb Fam Zheng: > This fixes a dangerous bug: "make clean" after "make distclean" will > delete every single file including those under .git, if you do in-tree > build! > > Rationale: A first "make distclean" will unset $(DSOSUF), a following > "make distclean" or "make clean" will find all the files and delete it. > > Fix it by explicitly typing the file extensions here, and combine > multiple find invocations into one. > > Signed-off-by: Fam Zheng <famz@redhat.com> > > --- > v2: Improve as Stefan Weil suggested. > > Signed-off-by: Fam Zheng <famz@redhat.com> > --- > Makefile | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/Makefile b/Makefile > index bd9cd4f..ec74039 100644 > --- a/Makefile > +++ b/Makefile > @@ -265,10 +265,7 @@ clean: > # avoid old build problems by removing potentially incorrect old files > rm -f config.mak op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h > rm -f qemu-options.def > - find . -name '*.[oda]' -type f -exec rm -f {} + > - find . -name '*.l[oa]' -type f -exec rm -f {} + > - find . -name '*$(DSOSUF)' -type f -exec rm -f {} + > - find . -name '*.mo' -type f -exec rm -f {} + > + find . \( -name '*.l[oa]' -o -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name '*.[oda]' \) -type f -exec rm {} + > rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) qemu-ga TAGS cscope.* *.pod *~ */*~ > rm -f fsdev/*.pod > rm -rf .libs */.libs > Reviewed-by: Stefan Weil <sw@weilnetz.de> Hello Peter, this is a bugfix which fixes a potential danger for a developer's working directory, so I think it should be fixed directly (not via qemu-trivial). Regards Stefan
On 17 March 2014 06:15, Stefan Weil <sw@weilnetz.de> wrote: > Am 17.03.2014 02:35, schrieb Fam Zheng: >> This fixes a dangerous bug: "make clean" after "make distclean" will >> delete every single file including those under .git, if you do in-tree >> build! >> >> Rationale: A first "make distclean" will unset $(DSOSUF), a following >> "make distclean" or "make clean" will find all the files and delete it. >> >> Fix it by explicitly typing the file extensions here, and combine >> multiple find invocations into one. >> >> Signed-off-by: Fam Zheng <famz@redhat.com> > Reviewed-by: Stefan Weil <sw@weilnetz.de> > > Hello Peter, > > this is a bugfix which fixes a potential danger for a developer's > working directory, so I think it should be fixed directly (not via > qemu-trivial). Agreed; applied to master, thanks. -- PMM
diff --git a/Makefile b/Makefile index bd9cd4f..ec74039 100644 --- a/Makefile +++ b/Makefile @@ -265,10 +265,7 @@ clean: # avoid old build problems by removing potentially incorrect old files rm -f config.mak op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h rm -f qemu-options.def - find . -name '*.[oda]' -type f -exec rm -f {} + - find . -name '*.l[oa]' -type f -exec rm -f {} + - find . -name '*$(DSOSUF)' -type f -exec rm -f {} + - find . -name '*.mo' -type f -exec rm -f {} + + find . \( -name '*.l[oa]' -o -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name '*.[oda]' \) -type f -exec rm {} + rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) qemu-ga TAGS cscope.* *.pod *~ */*~ rm -f fsdev/*.pod rm -rf .libs */.libs