[Pkg-mono-svn-commits] rev 3410 - tao/trunk/debian

Samuel Hocevar sho at alioth.debian.org
Sun Oct 28 19:23:06 UTC 2007


Author: sho
Date: 2007-10-28 19:23:06 +0000 (Sun, 28 Oct 2007)
New Revision: 3410

Modified:
   tao/trunk/debian/rules
Log:
  * Add build-time checks to make sure the .pc file matches the .dll that
    is installed.


Modified: tao/trunk/debian/rules
===================================================================
--- tao/trunk/debian/rules	2007-10-28 18:58:33 UTC (rev 3409)
+++ tao/trunk/debian/rules	2007-10-28 19:23:06 UTC (rev 3410)
@@ -29,11 +29,20 @@
 	mkdir -p $(CURDIR)/build/doc/tmp
 	mkdir -p $(CURDIR)/build/examples
 	for dir in $(shell find -maxdepth 2 -wholename './Tao.*/Tao.*' -type d | grep -v '\(Cg\|Tests\|Windows\)'); do \
-	  /usr/bin/monodocer --assembly:$(CURDIR)/$$dir/$${dir##*/}.dll \
-                             --path:$(CURDIR)/build/doc/tmp/$${dir##*/}; \
-	  cp $(CURDIR)/$$dir/$${dir##*/}.dll \
-	     $(CURDIR)/$$dir/$${dir##*/}.dll.config \
+	  base="$${dir##*/}"; \
+	  cp $(CURDIR)/$$dir/$$base.dll \
+	     $(CURDIR)/$$dir/$$base.dll.config \
 	     $(CURDIR)/build/; \
+	  /usr/bin/monodocer --assembly:$(CURDIR)/build/$$base.dll \
+                             --path:$(CURDIR)/build/doc/tmp/$$base; \
+	  pkg=$$(echo $$base | cut -f1,2 -d. | tr .A-Z -a-z); \
+	  if [ "$$pkg" = "libtao-platform" ]; then continue; fi; \
+	  version=$$(monodis --assembly $(CURDIR)/build/$$base.dll | sed -ne 's/Version:[[:space:]]*//p'); \
+	  abi=$$(echo $$version | cut -f1,2 -d.); \
+	  if [ ! -f debian/$$pkg-$$abi.pc ]; then echo "Error: file debian/$$pkg-$$abi.pc for $$base (version $$version) not found"; exit 1; fi; \
+	  pcversion=$$(sed -ne 's/Version:[[:space:]]*//p' debian/$$pkg-$$abi.pc); \
+	  if [ "$$version" != "$$pcversion" ]; then echo "Error: version $$pcversion in debian/$$pkg-$$abi.pc does not match $$base version $$version"; exit 1; fi; \
+	  if [ ! -f debian/lib$$pkg$$abi-cil.install ]; then echo "Error: file debian/lib$$pkg$$abi-cil.install for $$base (version $$version) not found"; exit 1; fi; \
 	done
 	# $(patsubst) and $(wildcard) would have been elegant here, but for
 	# some reason they are not expanded when called by svn-buildpackage
@@ -43,12 +52,13 @@
 		$$(find $(CURDIR)/build/doc/tmp/ -mindepth 1 -maxdepth 1 | xargs printf '--ecma %s ')
 	# Copy examples contents
 	for dir in $(shell find -maxdepth 2 -type d | grep '\(Examples\|NateRobins\|NeHe\|Redbook\)'); do \
-	  mkdir -p $(CURDIR)/build/examples/$${dir##*/}; \
+	  base="$${dir##*/}"; \
+	  mkdir -p $(CURDIR)/build/examples/$$base; \
 	  cp -r $(CURDIR)/$$dir/*.cs \
-	        $(CURDIR)/build/examples/$${dir##*/}/; \
+	        $(CURDIR)/build/examples/$$base/; \
 	  for subdir in Properties Data Resources; do \
 	    [ ! -d $(CURDIR)/$$dir/$$subdir ] || cp $(CURDIR)/$$dir/$$subdir \
-	         $(CURDIR)/build/examples/$${dir##*/}/; \
+	         $(CURDIR)/build/examples/$$base/; \
 	  done; \
 	done
 	touch build-stamp




More information about the Pkg-mono-svn-commits mailing list