diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2017-09-29 20:04:25 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2017-09-29 20:04:25 +0300 |
commit | 06f61083f7ce81214c9958d003a30cd8084a9b79 (patch) | |
tree | 6c4758f01b2676314ac242998b97bb808ff28f35 | |
parent | 3015d1466b9ecdd94280a45bc464a791bdb90951 (diff) | |
download | python3.5-06f61083f7ce81214c9958d003a30cd8084a9b79.tar.gz |
python3.5 (3.5.4-4+dyson0.1)dyson/3.5.4-4+dyson0.1
-rw-r--r-- | debian/changelog | 9 | ||||
-rw-r--r-- | debian/patches/dyson-socketmodule-ifindex.patch | 80 | ||||
-rw-r--r-- | debian/patches/dyson.patch | 149 | ||||
-rw-r--r-- | debian/patches/series | 2 | ||||
-rwxr-xr-x | debian/rules | 2 |
5 files changed, 241 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog index b22e75a..eb485a8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +python3.5 (3.5.4-4+dyson0.1) unstable; urgency=medium + + * Package for Dyson + * Added patches: + - dyson.patch + - dyson-socketmodule-ifindex.patch + + -- Igor Pashev <pashev.igor@gmail.com> Fri, 29 Sep 2017 19:51:36 +0300 + python3.5 (3.5.4-4) unstable; urgency=medium * Add package breaks for extensions referencing symbols for the removed diff --git a/debian/patches/dyson-socketmodule-ifindex.patch b/debian/patches/dyson-socketmodule-ifindex.patch new file mode 100644 index 0000000..a3a7802 --- /dev/null +++ b/debian/patches/dyson-socketmodule-ifindex.patch @@ -0,0 +1,80 @@ +Index: python3.5-3.5.4/Modules/socketmodule.c +=================================================================== +--- python3.5-3.5.4.orig/Modules/socketmodule.c ++++ python3.5-3.5.4/Modules/socketmodule.c +@@ -280,6 +280,10 @@ http://cvsweb.netbsd.org/bsdweb.cgi/src/ + #include <sys/socket.h> + #endif + ++#ifdef HAVE_SYS_SOCKIO_H ++#include <sys/sockio.h> ++#endif ++ + #ifdef HAVE_NET_IF_H + #include <net/if.h> + #endif +@@ -1723,11 +1727,15 @@ getsockaddrarg(PySocketSockObject *s, Py + } + #endif + +-#if defined(HAVE_NETPACKET_PACKET_H) && defined(SIOCGIFINDEX) ++#if defined(HAVE_NETPACKET_PACKET_H) + case AF_PACKET: + { + struct sockaddr_ll* addr; ++#ifdef SIOCGLIFINDEX ++ struct lifreq lifr; ++#else + struct ifreq ifr; ++#endif + char *interfaceName; + int protoNumber; + int hatype = 0; +@@ -1746,6 +1754,15 @@ getsockaddrarg(PySocketSockObject *s, Py + &protoNumber, &pkttype, &hatype, + &haddr)) + return 0; ++#ifdef SIOCGLIFINDEX ++ strncpy(lifr.lifr_name, interfaceName, sizeof(lifr.lifr_name)); ++ lifr.lifr_name[(sizeof(lifr.lifr_name))-1] = '\0'; ++ if (ioctl(s->sock_fd, SIOCGLIFINDEX, &lifr) < 0) { ++ s->errorhandler(); ++ PyBuffer_Release(&haddr); ++ return 0; ++ } ++#else + strncpy(ifr.ifr_name, interfaceName, sizeof(ifr.ifr_name)); + ifr.ifr_name[(sizeof(ifr.ifr_name))-1] = '\0'; + if (ioctl(s->sock_fd, SIOCGIFINDEX, &ifr) < 0) { +@@ -1753,6 +1770,7 @@ getsockaddrarg(PySocketSockObject *s, Py + PyBuffer_Release(&haddr); + return 0; + } ++#endif + if (haddr.buf && haddr.len > 8) { + PyErr_SetString(PyExc_ValueError, + "Hardware address must be 8 bytes or less"); +@@ -1769,7 +1787,11 @@ getsockaddrarg(PySocketSockObject *s, Py + addr = (struct sockaddr_ll*)addr_ret; + addr->sll_family = AF_PACKET; + addr->sll_protocol = htons((short)protoNumber); ++#ifdef SIOCGLIFINDEX ++ addr->sll_ifindex = lifr.lifr_index; ++#else + addr->sll_ifindex = ifr.ifr_ifindex; ++#endif + addr->sll_pkttype = pkttype; + addr->sll_hatype = hatype; + if (haddr.buf) { +Index: python3.5-3.5.4/configure.ac +=================================================================== +--- python3.5-3.5.4.orig/configure.ac ++++ python3.5-3.5.4/configure.ac +@@ -1952,6 +1952,7 @@ poll.h sys/devpoll.h sys/epoll.h sys/pol + sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ + sys/kern_control.h sys/loadavg.h sys/lock.h sys/mkdev.h sys/modem.h \ + sys/param.h sys/random.h sys/select.h sys/sendfile.h sys/socket.h sys/statvfs.h \ ++sys/sockio.h \ + sys/stat.h sys/syscall.h sys/sys_domain.h sys/termio.h sys/time.h \ + sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \ + libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ diff --git a/debian/patches/dyson.patch b/debian/patches/dyson.patch new file mode 100644 index 0000000..88f023a --- /dev/null +++ b/debian/patches/dyson.patch @@ -0,0 +1,149 @@ +Index: python3.5-3.5.4/configure.ac +=================================================================== +--- python3.5-3.5.4.orig/configure.ac ++++ python3.5-3.5.4/configure.ac +@@ -463,13 +463,6 @@ case $ac_sys_system/$ac_sys_release in + # Marc Recht + NetBSD/1.5 | NetBSD/1.5.* | NetBSD/1.6 | NetBSD/1.6.* | NetBSD/1.6@<:@A-S@:>@) + define_xopen_source=no;; +- # From the perspective of Solaris, _XOPEN_SOURCE is not so much a +- # request to enable features supported by the standard as a request +- # to disable features not supported by the standard. The best way +- # for Python to use Solaris is simply to leave _XOPEN_SOURCE out +- # entirely and define __EXTENSIONS__ instead. +- SunOS/*) +- define_xopen_source=no;; + # On UnixWare 7, u_long is never defined with _XOPEN_SOURCE, + # but used in /usr/include/netinet/tcp.h. Reported by Tim Rice. + # Reconfirmed for 7.1.4 by Martin v. Loewis. +@@ -522,8 +515,6 @@ then + # definition of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else + # several APIs are not declared. Since this is also needed in some + # cases for HP-UX, we define it globally. +- AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, +- Define to activate Unix95-and-earlier features) + + AC_DEFINE(_POSIX_C_SOURCE, 200809L, Define to activate features from IEEE Stds 1003.1-2008) + fi +@@ -855,6 +846,14 @@ cat >> conftest.c <<EOF + i386-gnu + #elif defined(__APPLE__) + darwin ++#elif defined(__sun__) ++# if defined(__x86_64__) ++ x86_64-illumos ++# elif defined(__i386__) ++ i386-illumos ++# else ++# error unknown platform triplet ++# endif + #else + # error unknown platform triplet + #endif +@@ -1105,17 +1104,7 @@ if test $enable_shared = "yes"; then + LDLIBRARY='libpython$(LDVERSION).dll.a' + DLLLIBRARY='libpython$(LDVERSION).dll' + ;; +- SunOS*) +- LDLIBRARY='libpython$(LDVERSION).so' +- BLDLIBRARY='-Wl,-R,$(LIBDIR) -L. -lpython$(LDVERSION)' +- RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +- INSTSONAME="$LDLIBRARY".$SOVERSION +- if test "$with_pydebug" != yes +- then +- PY3LIBRARY=libpython3.so +- fi +- ;; +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|SunOS*) + LDLIBRARY='libpython$(LDVERSION).so' + BLDLIBRARY='-L. -lpython$(LDVERSION)' + RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +@@ -2384,14 +2373,6 @@ then + ;; + IRIX/5*) LDSHARED="ld -shared";; + IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";; +- SunOS/5*) +- if test "$GCC" = "yes" ; then +- LDSHARED='$(CC) -shared' +- LDCXXSHARED='$(CXX) -shared' +- else +- LDSHARED='$(CC) -G' +- LDCXXSHARED='$(CXX) -G' +- fi ;; + hp*|HP*) + if test "$GCC" = "yes" ; then + LDSHARED='$(CC) -shared' +@@ -2458,7 +2439,7 @@ then + BLDSHARED="$LDSHARED" + fi + ;; +- Linux*|GNU*|QNX*) ++ Linux*|GNU*|QNX*|SunOS*) + LDSHARED='$(CC) -shared -Wl,-O1 -Wl,-Bsymbolic-functions' + LDCXXSHARED='$(CXX) -shared -Wl,-O1 -Wl,-Bsymbolic-functions';; + BSD/OS*/4*) +@@ -2517,17 +2498,11 @@ AC_MSG_CHECKING(CCSHARED) + if test -z "$CCSHARED" + then + case $ac_sys_system/$ac_sys_release in +- SunOS*) if test "$GCC" = yes; +- then CCSHARED="-fPIC"; +- elif test `uname -p` = sparc; +- then CCSHARED="-xcode=pic32"; +- else CCSHARED="-Kpic"; +- fi;; + hp*|HP*) if test "$GCC" = yes; + then CCSHARED="-fPIC"; + else CCSHARED="+z"; + fi;; +- Linux*|GNU*) CCSHARED="-fPIC";; ++ Linux*|GNU*|SunOS*) CCSHARED="-fPIC";; + BSD/OS*/4*) CCSHARED="-fpic";; + FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";; + OpenUNIX*|UnixWare*) +@@ -2558,7 +2533,7 @@ then + LINKFORSHARED="-Wl,-E -Wl,+s";; + # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; + BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";; +- Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions";; ++ Linux*|GNU*|SunOS*) LINKFORSHARED="-Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions";; + # -u libsys_s pulls in all symbols in libsys + Darwin/*) + LINKFORSHARED="$extra_undefs -framework CoreFoundation" +@@ -2581,13 +2556,6 @@ then + then + LINKFORSHARED="-Wl,--export-dynamic" + fi;; +- SunOS/5*) case $CC in +- *gcc*) +- if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null +- then +- LINKFORSHARED="-Xlinker --export-dynamic" +- fi;; +- esac;; + CYGWIN*) + if test $enable_shared = "no" + then +@@ -2638,9 +2606,9 @@ AC_MSG_RESULT($SHLIBS) + + + # checks for libraries +-AC_CHECK_LIB(sendfile, sendfile) +-AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV +-AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX ++AC_SEARCH_LIBS(sendfile, sendfile) ++AC_SEARCH_LIBS(dl, dlopen) ++AC_SEARCH_LIBS(shl_load, dld) # Dynamic linking for HP-UX + + # only check for sem_init if thread support is requested + if test "$with_threads" = "yes" -o -z "$with_threads"; then +@@ -4543,7 +4511,7 @@ AC_MSG_RESULT($SOABI) + + AC_SUBST(EXT_SUFFIX) + case $ac_sys_system in +- Linux*|GNU*|Darwin) ++ Linux*|GNU*|Darwin|SunOS*) + EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};; + *) + EXT_SUFFIX=${SHLIB_SUFFIX};; diff --git a/debian/patches/series b/debian/patches/series index d9ee29d..b4bcf8c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -40,3 +40,5 @@ pydoc-use-pager.diff pyhash.diff lib2to3-no-pgen-caching.diff local-blurb.diff +dyson.patch +dyson-socketmodule-ifindex.patch diff --git a/debian/rules b/debian/rules index 373de3d..c747cab 100755 --- a/debian/rules +++ b/debian/rules @@ -1438,7 +1438,7 @@ stamps/stamp-patch: dh_testdir uname -a @echo USER=$$USER, LOGNAME=$$LOGNAME - @grep ^Mem /proc/meminfo + @grep ^Mem /proc/meminfo || true @echo "DEB_BUILD_OPTIONS: $$DEB_BUILD_OPTIONS" rm -rf autom4te.cache configure |