Hello community,

here is the log from the commit of package python3 for openSUSE:Factory checked 
in at 2013-03-30 14:59:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3 (Old)
 and      /work/SRC/openSUSE:Factory/.python3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3/python3-base.changes     2013-03-07 
07:33:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3.new/python3-base.changes        
2013-03-30 14:59:33.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Mar 28 18:38:51 UTC 2013 - [email protected]
+
+- replace broken movetogetdents64.diff patch with a correct one
+  from upstream repo (python-3.3.0-getdents64.patch)
+
+-------------------------------------------------------------------
python3.changes: same change

Old:
----
  movetogetdents64.diff

New:
----
  python-3.3.0-getdents64.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-base.spec ++++++
--- /var/tmp/diff_new_pack.8pT2Pj/_old  2013-03-30 14:59:36.000000000 +0100
+++ /var/tmp/diff_new_pack.8pT2Pj/_new  2013-03-30 14:59:36.000000000 +0100
@@ -79,7 +79,7 @@
 Patch09:        python-3.3.0b1-test-posix_fadvise.patch
 # PATCH-FIX-OPENSUSE Import aarch64 support for libffi in _ctypes module
 Patch10:        ctypes-libffi-aarch64.patch
-Patch11:        movetogetdents64.diff
+Patch11:        python-3.3.0-getdents64.patch
 ### COMMON-PATCH-END ###
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ python3-doc.spec ++++++
--- /var/tmp/diff_new_pack.8pT2Pj/_old  2013-03-30 14:59:36.000000000 +0100
+++ /var/tmp/diff_new_pack.8pT2Pj/_new  2013-03-30 14:59:36.000000000 +0100
@@ -62,7 +62,7 @@
 Patch09:        python-3.3.0b1-test-posix_fadvise.patch
 # PATCH-FIX-OPENSUSE Import aarch64 support for libffi in _ctypes module
 Patch10:        ctypes-libffi-aarch64.patch
-Patch11:        movetogetdents64.diff
+Patch11:        python-3.3.0-getdents64.patch
 ### COMMON-PATCH-END ###
 ### COMMON-DEF-BEGIN ###
 

++++++ python3.spec ++++++
--- /var/tmp/diff_new_pack.8pT2Pj/_old  2013-03-30 14:59:36.000000000 +0100
+++ /var/tmp/diff_new_pack.8pT2Pj/_new  2013-03-30 14:59:36.000000000 +0100
@@ -78,7 +78,7 @@
 Patch09:        python-3.3.0b1-test-posix_fadvise.patch
 # PATCH-FIX-OPENSUSE Import aarch64 support for libffi in _ctypes module
 Patch10:        ctypes-libffi-aarch64.patch
-Patch11:        movetogetdents64.diff
+Patch11:        python-3.3.0-getdents64.patch
 ### COMMON-PATCH-END ###
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ python-3.3.0-getdents64.patch ++++++

# HG changeset patch
# User Gregory P. Smith <[email protected]>
# Date 1362336807 28800
# Node ID 7ab1c55fcf827af229b031f908837146630b2fc9
# Parent  f1d3fbcd837d385cf265b0c27f08f811bb67bf1a# Parent  
30e643e36bae6fbf8ede27168f30d509ee2d469a
Fixes Issue #16962: Use getdents64 instead of the obsolete getdents syscall
in the subprocess module on Linux.

diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c
--- a/Modules/_posixsubprocess.c
+++ b/Modules/_posixsubprocess.c
@@ -176,17 +176,11 @@ static void
  * This structure is very old and stable: It will not change unless the kernel
  * chooses to break compatibility with all existing binaries.  Highly Unlikely.
  */
-struct linux_dirent {
-#if defined(__x86_64__) && defined(__ILP32__)
-   /* Support the wacky x32 ABI (fake 32-bit userspace speaking to x86_64
-    * kernel interfaces) - https://sites.google.com/site/x32abi/ */
+struct linux_dirent64 {
    unsigned long long d_ino;
-   unsigned long long d_off;
-#else
-   unsigned long  d_ino;        /* Inode number */
-   unsigned long  d_off;        /* Offset to next linux_dirent */
-#endif
+   long long d_off;
    unsigned short d_reclen;     /* Length of this linux_dirent */
+   unsigned char  d_type;
    char           d_name[256];  /* Filename (null-terminated) */
 };
 
@@ -228,16 +222,16 @@ static void
         _close_fds_by_brute_force(start_fd, end_fd, py_fds_to_keep);
         return;
     } else {
-        char buffer[sizeof(struct linux_dirent)];
+        char buffer[sizeof(struct linux_dirent64)];
         int bytes;
-        while ((bytes = syscall(SYS_getdents, fd_dir_fd,
-                                (struct linux_dirent *)buffer,
+        while ((bytes = syscall(SYS_getdents64, fd_dir_fd,
+                                (struct linux_dirent64 *)buffer,
                                 sizeof(buffer))) > 0) {
-            struct linux_dirent *entry;
+            struct linux_dirent64 *entry;
             int offset;
             for (offset = 0; offset < bytes; offset += entry->d_reclen) {
                 int fd;
-                entry = (struct linux_dirent *)(buffer + offset);
+                entry = (struct linux_dirent64 *)(buffer + offset);
                 if ((fd = _pos_int_from_ascii(entry->d_name)) < 0)
                     continue;  /* Not a number. */
                 if (fd != fd_dir_fd && fd >= start_fd && fd < end_fd &&

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to