From 06f61083f7ce81214c9958d003a30cd8084a9b79 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Fri, 29 Sep 2017 20:04:25 +0300 Subject: python3.5 (3.5.4-4+dyson0.1) --- debian/changelog | 9 ++ debian/patches/dyson-socketmodule-ifindex.patch | 80 +++++++++++++ debian/patches/dyson.patch | 149 ++++++++++++++++++++++++ debian/patches/series | 2 + debian/rules | 2 +- 5 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 debian/patches/dyson-socketmodule-ifindex.patch create mode 100644 debian/patches/dyson.patch 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 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 + #endif + ++#ifdef HAVE_SYS_SOCKIO_H ++#include ++#endif ++ + #ifdef HAVE_NET_IF_H + #include + #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 <&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 -- cgit v1.2.3