[Pkg-mono-devel] New 0.29.99.20040114-4 revision

Teófilo Ruiz Suárez teo@debian.org
Tue, 10 Feb 2004 13:37:57 +0100


--=-NVIuF0zVuPVKLR2FZa3w
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: quoted-printable

Hi.

I've fixed the libicu26 dependency bug that closes #231966.

Will upload the new version tonight if nobody complains, the revision in
the Subversion repository is number 182.

This is the diff between the 0.29.99.20040114-3 and 0.29.99.20040114-4:

Index: debian/changelog
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- debian/changelog	(revision 167)
+++ debian/changelog	(revision 182)
@@ -1,3 +1,14 @@
+mono (0.29.99.20040114-4) unstable; urgency=3Dlow
+
+  * NOT RELEASED YET
+  * Eduard Bloch:
+    + catch-them-all cli-wrapper rewrite
+  * Te=F3filo Ruiz Su=E1rez:
+    + removed libicu26-dev from Build-Depends so mono-jit don't depend
on
+    libicu26 (Closes: #231966)
+
+ -- Eduard Bloch <blade@debian.org>  Mon,  9 Feb 2004 00:23:40 +0100
+
 mono (0.29.99.20040114-3) unstable; urgency=3Dlow
=20
   * bugfix release, hopefully the last of 0.29* series
Index: debian/rules
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- debian/rules	(revision 167)
+++ debian/rules	(revision 182)
@@ -20,13 +20,12 @@
 	NOCONFIGURE=3Dyes sh debian/autogen.sh
 	# ...testing whether configure or autogen.sh check was successfull
 	test "${CONFCMD}"
-	chmod +x debian/icu-config
 	PATH=3D"$(CURDIR)/debian:$$PATH" ./$(CONFCMD) --prefix=3D/usr
--with-gc=3Dincluded \
 	  --mandir=3D\$${prefix}/share/man \
 	  --infodir=3D\$${prefix}/share/info \
 	  --sysconfdir=3D/etc
 	$(MAKE)
-	$(CC) -o cli-wrapper debian/cli-wrapper.c
+	$(CC) -o cli-wrapper debian/cli-wrapper.c `pkg-config glib-2.0
--cflags --libs`
 	touch build-stamp
=20
 clean:
Index: debian/cli-wrapper.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- debian/cli-wrapper.c	(revision 167)
+++ debian/cli-wrapper.c	(revision 182)
@@ -1,15 +1,54 @@
 #include <stdio.h>
+#include <glib.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+
+extern int errno;
 extern char **environ;
=20
+#define cmd args[1]
+#define NAME_ISREG(name)		\
+	((! stat(name,&si)) &&		\
+	 S_ISREG((&si)->st_mode))
+#define runit if(NAME_ISREG(cmd)) return
execve("/usr/bin/cli",args,environ);
+#define trypath(dir) sprintf(cmd, "%s/%s.exe", dir, exName); runit;
sprintf(cmd, "%s/%s/%s.exe", dir, exName, exName); runit;
+#define runthem(paths)  { char **tmp=3Dpaths; while(*tmp) {
trypath(*tmp); tmp++; } }
+     =20
 int main(int argc, char **argv){
-   char *tmp;
+   char *exName;
    char *args[argc+2];
+   struct stat si;
+   char *paths[] =3D {
+      "/usr/bin",
+      "/usr/share/dotnet/exe",
+      "/usr/share/dotnet/bin",
+      "/usr/share/dotnet",
+      "/usr/lib/dotnet/exe",
+      "/usr/lib/dotnet/bin",
+      "/usr/lib/dotnet",
+      NULL
+   };
+   const char *path;
+  =20
    memcpy(args+sizeof(char), argv, sizeof(char *) * argc);
    args[argc+1]=3DNULL;
    args[0]=3Dargv[0];
-   tmp =3D strrchr(argv[0], '/');
-   if(!tmp) tmp=3Dargv[0]; else tmp++;
-   args[1] =3D (char *) calloc( 15+strlen(tmp), sizeof(char));=20
-   sprintf(args[1], "/usr/bin/%s.exe", tmp);
-   return execve("/usr/bin/cli",args,environ);
+   exName =3D strrchr(argv[0], '/');
+   if(!exName) exName=3Dargv[0]; else exName++;
+   cmd =3D (char *) calloc( 215+strlen(exName), sizeof(char));
+   /* Done. exName has the binary name, look for it and write result to
cmd */
+
+   path =3D getenv ("MONO_PATH");
+   if (path)
+      runthem(g_strsplit (path, G_SEARCHPATH_SEPARATOR_S, 1000));
+
+   runthem(paths);
+
+   /* should never be reached */
+   errno =3D ENOENT;
+   return(-1);
 }=20

--=20
teo

"Res publica non dominetur"

--=-NVIuF0zVuPVKLR2FZa3w
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
	digitalmente

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQBAKNCkV1WmbEIHGOYRAvbbAJ0d7NNG5JFlTe+M+nDqWIO1qYCB4ACfdV4r
0OepCBwxeQ4ZMASze92q6YM=
=T8TR
-----END PGP SIGNATURE-----

--=-NVIuF0zVuPVKLR2FZa3w--