[Kimchi-devel] [PATCH] [Kimchi] Issue #585: 'make clean' does not revert its changes from 'make rpm'

bianca at linux.vnet.ibm.com bianca at linux.vnet.ibm.com
Thu Aug 11 18:06:08 UTC 2016


From: Bianca Carvalho <bianca at linux.vnet.ibm.com>

Edited Makefile.am to check if there is any file to be stashed or
commited before run 'make rpm' to avoid losing any changes.
Also included 'git clean -df & git reset --hard' command to remove
untracked files from the working tree and to revert changes made by
'make rpm' command.

Signed-off-by: Bianca Carvalho <bianca at linux.vnet.ibm.com>
---
 Makefile.am | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 9bebb65..dcdf6bc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -135,17 +135,30 @@ kimchi.spec: contrib/kimchi.spec.fedora contrib/kimchi.spec.suse
 		/bin/false ;                                        \
 	fi
 
-rpm: dist kimchi.spec
+check_files:
+	@if [ -d '.git' ]; then                                                                \
+               if [ `git status --porcelain | wc -l` -gt 0 ]; then                             \
+                       echo "***** Aborting 'make rpm' command *****";                         \
+                       echo "There are some changes not commited in your working \
+directory. To avoid losing them, please commit or stage before run 'make rpm' command.";       \
+                       exit 1;                                                                 \
+               fi                                                                              \
+       fi
+
+rpm: check_files dist kimchi.spec
 	$(MKDIR_P) rpm/BUILD rpm/RPMS rpm/SOURCES rpm/SPECS rpm/SRPMS
 	cp $(top_srcdir)/kimchi.spec rpm/SPECS/kimchi.spec
 	cp $(DIST_ARCHIVES) rpm/SOURCES
 	rpmbuild -ba --define "_topdir `pwd`/rpm" rpm/SPECS/kimchi.spec
+	@if [ -d '.git' ]; then                         \
+		git clean -df & git reset --hard;       \
+	fi	
 
-fedora-rpm: contrib/kimchi.spec.fedora
+fedora-rpm: check_files contrib/kimchi.spec.fedora
 	ln -sf contrib/kimchi.spec.fedora kimchi.spec
 	$(MAKE) rpm
 
-suse-rpm: contrib/kimchi.spec.suse
+suse-rpm: check_files contrib/kimchi.spec.suse
 	ln -sf contrib/kimchi.spec.suse kimchi.spec
 	$(MAKE) rpm
 
-- 
2.7.4




More information about the Kimchi-devel mailing list