[Pkg-mono-svn-commits] revision 137

Eduard Bloch blade@quantz.debian.org
Tue, 27 Jan 2004 12:01:03 +0100


Repository changes in pkg-mono:

By: blade
Date: Tue, 27 Jan 2004 12:01:03 +0100
Modified:
A   mono/trunk/debian/cli-wrapper.c
U   mono/trunk/debian/rules
Log:
Install my binary wrapper for .EXEs, to use instead of shell wrappers


Added: mono/trunk/debian/cli-wrapper.c
===================================================================
--- mono/trunk/debian/cli-wrapper.c	2004-01-26 17:56:26 UTC (rev 136)
+++ mono/trunk/debian/cli-wrapper.c	2004-01-27 11:01:03 UTC (rev 137)
@@ -0,0 +1,15 @@
+#include <stdio.h>
+extern char **environ;
+
+int main(int argc, char **argv){
+   char *tmp;
+   char *args[argc+2];
+   memcpy(args+sizeof(char), argv, sizeof(char *) * argc);
+   args[argc+1]=NULL;
+   args[0]=argv[0];
+   tmp = strrchr(argv[0], '/');
+   if(!tmp) tmp=argv[0]; else tmp++;
+   args[1] = (char *) calloc( 15+strlen(tmp), sizeof(char)); 
+   sprintf(args[1], "/usr/bin/%s.exe", tmp);
+   return execve("/usr/bin/cli",args,environ);
+} 

Modified: mono/trunk/debian/rules
===================================================================
--- mono/trunk/debian/rules	2004-01-26 17:56:26 UTC (rev 136)
+++ mono/trunk/debian/rules	2004-01-27 11:01:03 UTC (rev 137)
@@ -26,6 +26,7 @@
 	  --infodir=\$${prefix}/share/info \
 	  --sysconfdir=/etc
 	$(MAKE)
+	$(CC) -o cli-wrapper debian/cli-wrapper.c
 	touch build-stamp
 
 clean:
@@ -45,7 +46,7 @@
 	# I shouldn't have to do this
 	rm -f mono/arch/arm/Makefile mono/arch/ppc/Makefile \
 	  mono/arch/sparc/Makefile mono/os/win32/Makefile \
-	  data/config config.log
+	  data/config config.log cli-wrapper
 
 	dh_clean
 
@@ -55,6 +56,7 @@
 	dh_clean -k
 	dh_installdirs
 	$(MAKE) install DESTDIR=$(PWD)/debian/tmp
+	install -D -m755 cli-wrapper $(CURDIR)/debian/mono-common/usr/bin/cli-wrapper
 	cd $(CURDIR)/debian/detector && $(MAKE) && install -D -m755 binfmt-detector-cli $(CURDIR)/debian/mono-common/usr/lib/cli/binfmt-detector-cli
 	install -o root -g root -m 644 debian/cli.binfmt \
 	  debian/mono-common/usr/share/binfmts/cli