tag 533217 +patch
thanks

Hi,

build breakage by not cleaning before the new build is caused by the
following chain of events:

* an old makefile (lowercase m) exists from older versions of the source
* m-a runs the clean target from this makefile (which gets preferred by
make over the new Makefile (capital M) shipped)
* this clean target removes the Makefile
* build bombs

A simple workaround (patch attached) is to check for the presence of a
'makefile' in the binary-modules target and print an error message
suggesting 'm-a clean nvidia' and abort if it was found. At this point
there is no way to recover by e.g. removing the 'makefile' because the
'Makefile' is already gone.

This should help all people running into this problem again and again.


Andreas
Index: debian.binary/rules
===================================================================
--- debian.binary/rules	(revision 733)
+++ debian.binary/rules	(working copy)
@@ -32,6 +32,12 @@
 
 	dh_prep
 
+ifneq (,$(wildcard makefile))
+	@echo "ERROR: unclean build directory from older version found, please clean first:"
+	@echo "    module-assistant clean nvidia"
+	@exit 1
+endif
+
 	# Build the modules
 	$(MAKE) -f Makefile.nvidia patches.h
 	$(MAKE) -C . LINUXDIR=$(KSRC) KVERREL=$(KVERS)

Reply via email to