Start packaging the bz2 python module as it is needed for building Qt5
[profile/ivi/python.git] / packaging / python-2.7.3rc2-canonicalize2.patch
1 Index: Python/sysmodule.c
2 ===================================================================
3 --- Python/sysmodule.c.orig     2012-03-28 20:13:00.000000000 +0200
4 +++ Python/sysmodule.c  2012-03-28 20:13:00.000000000 +0200
5 @@ -1620,7 +1620,20 @@
6          char *p = NULL;
7          Py_ssize_t n = 0;
8          PyObject *a;
9 -#ifdef HAVE_READLINK
10 +#ifdef HAVE_CANONICALIZE_FILE_NAME
11 +        int errnum;
12 +
13 +        if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) {
14 +            argv0 = canonicalize_file_name(argv0);
15 +            if (argv0 == NULL) argv0 = strdup(argv[0]);
16 +        }
17 +#elif defined(HAVE_REALPATH)
18 +        if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) {
19 +            if (realpath(argv0, fullpath)) {
20 +                argv0 = fullpath;
21 +            }
22 +        }
23 +#elif defined(HAVE_READLINK)
24          char link[MAXPATHLEN+1];
25          char argv0copy[2*MAXPATHLEN+1];
26          int nr = 0;
27 @@ -1647,7 +1660,8 @@
28                  }
29              }
30          }
31 -#endif /* HAVE_READLINK */
32 +#endif /* resolve method selection */
33 +        
34  #if SEP == '\\' /* Special case for MS filename syntax */
35          if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) {
36              char *q;
37 @@ -1676,11 +1690,6 @@
38          }
39  #else /* All other filename syntaxes */
40          if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) {
41 -#if defined(HAVE_REALPATH)
42 -            if (realpath(argv0, fullpath)) {
43 -                argv0 = fullpath;
44 -            }
45 -#endif
46              p = strrchr(argv0, SEP);
47          }
48          if (p != NULL) {
49 @@ -1698,6 +1707,9 @@
50          a = PyString_FromStringAndSize(argv0, n);
51          if (a == NULL)
52              Py_FatalError("no mem for sys.path insertion");
53 +#ifdef HAVE_CANONICALIZE_FILE_NAME
54 +        if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) free(argv0);
55 +#endif /* HAVE_CANONICALIZE_FILE_NAME */
56          if (PyList_Insert(path, 0, a) < 0)
57              Py_FatalError("sys.path.insert(0) failed");
58          Py_DECREF(a);
59 Index: configure.in
60 ===================================================================
61 --- configure.in.orig   2012-03-28 20:13:00.000000000 +0200
62 +++ configure.in        2012-03-28 20:13:00.000000000 +0200
63 @@ -2761,7 +2761,7 @@
64   getpriority getresuid getresgid getpwent getspnam getspent getsid getwd \
65   initgroups kill killpg lchmod lchown lstat mkfifo mknod mktime \
66   mremap nice pathconf pause plock poll pthread_init \
67 - putenv readlink realpath \
68 + putenv readlink realpath canonicalize_file_name \
69   select sem_open sem_timedwait sem_getvalue sem_unlink setegid seteuid \
70   setgid \
71   setlocale setregid setreuid setsid setpgid setpgrp setuid setvbuf snprintf \
72 Index: pyconfig.h.in
73 ===================================================================
74 --- pyconfig.h.in.orig  2012-03-16 02:26:39.000000000 +0100
75 +++ pyconfig.h.in       2012-03-28 20:13:00.000000000 +0200
76 @@ -106,6 +106,9 @@
77  /* Define to 1 if you have the 'chflags' function. */
78  #undef HAVE_CHFLAGS
79  
80 +/* Define to 1 if you have the `canonicalize_file_name' function. */
81 +#undef HAVE_CANONICALIZE_FILE_NAME
82 +
83  /* Define to 1 if you have the `chown' function. */
84  #undef HAVE_CHOWN
85