Your message dated Mon, 09 May 2016 13:22:24 +0000
with message-id <[email protected]>
and subject line Bug#820509: fixed in python3.5 3.5.1-12
has caused the Debian Bug report #820509,
regarding python3.5 FTCBFS: unsatisfiable cross Build-Depends and tries to run 
host arch code
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
820509: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820509
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: python3.5
Version: 3.5.1-7
Tags: patch upstream
Forwarded: https://bugs.python.org/issue19142
User: [email protected]
Usertags: rebootstrap

Hi Matthias,

I noticed that python3.5 (unlike python2.7) fails to cross build. The
first obstacle is the versioned gcc dependency. I believe that we can
drop it already. The next problem is that the build runs a host arch
binary "pgen" and later runs another "_freeze_importlib". This issue is
known upstream, see the forwarded address above. I worked out the
suggested workaround that adds another build pass for those two programs
and reinjects them into the build. Please consider applying the attached
patch.

Helmut
diff --minimal -Nru python3.5-3.5.1/debian/changelog 
python3.5-3.5.1/debian/changelog
--- python3.5-3.5.1/debian/changelog
+++ python3.5-3.5.1/debian/changelog
@@ -1,3 +1,12 @@
+python3.5 (3.5.1-7.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS. (Closes: #-1)
+    + Drop unsatisfiable Build-Depends: gcc-5. Satisfied anyway.
+    + Add another cross build pass for pgen and _freeze_importlib.
+
+ -- Helmut Grohne <[email protected]>  Fri, 04 Mar 2016 10:55:20 +0100
+
 python3.5 (3.5.1-7) unstable; urgency=medium
 
   * Update to 20160224 from the 3.5 branch.
diff --minimal -Nru python3.5-3.5.1/debian/control 
python3.5-3.5.1/debian/control
--- python3.5-3.5.1/debian/control
+++ python3.5-3.5.1/debian/control
@@ -5,7 +5,7 @@
 Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.17.11),
   quilt, autoconf,
   lsb-release, sharutils,
-  libreadline-dev, libncursesw5-dev (>= 5.3), gcc-5 (>= 5.3.1),
+  libreadline-dev, libncursesw5-dev (>= 5.3), 
   zlib1g-dev, libbz2-dev, liblzma-dev,
   libgdbm-dev, libdb-dev,
   tk-dev, blt-dev (>= 2.4z), libssl-dev,
diff --minimal -Nru python3.5-3.5.1/debian/patches/cross.diff 
python3.5-3.5.1/debian/patches/cross.diff
--- python3.5-3.5.1/debian/patches/cross.diff
+++ python3.5-3.5.1/debian/patches/cross.diff
@@ -0,0 +1,52 @@
+Index: python3.5-3.5.1/Makefile.pre.in
+===================================================================
+--- python3.5-3.5.1.orig/Makefile.pre.in
++++ python3.5-3.5.1/Makefile.pre.in
+@@ -276,6 +276,10 @@
+ ##########################################################################
+ # Parser
+ PGEN=         Parser/pgen$(EXE)
++PGEN_FOR_BUILD ?= $(PGEN)
++ifeq ($(PGEN),$(PGEN_FOR_BUILD))
++PGEN_DEP = $(PGEN)
++endif
+ 
+ PSRCS=                \
+               Parser/acceler.c \
+@@ -718,15 +722,20 @@
+ 
+ Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile
+ 
++FREEZE_IMPORTLIB_FOR_BUILD ?= ./Programs/_freeze_importlib
++ifeq ($(FREEZE_IMPORTLIB_FOR_BUILD),./Programs/_freeze_importlib)
++FREEZE_IMPORTLIB_DEP = ./Programs/_freeze_importlib
++endif
++
+ Programs/_freeze_importlib: Programs/_freeze_importlib.o 
$(LIBRARY_OBJS_OMIT_FROZEN)
+       $(LINKCC) $(PY_LDFLAGS) -o $@ Programs/_freeze_importlib.o 
$(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+ 
+-Python/importlib_external.h: $(srcdir)/Lib/importlib/_bootstrap_external.py 
Programs/_freeze_importlib
+-      ./Programs/_freeze_importlib \
++Python/importlib_external.h: $(srcdir)/Lib/importlib/_bootstrap_external.py 
$(FREEZE_IMPORTLIB_DEP)
++      $(FREEZE_IMPORTLIB_FOR_BUILD) \
+               $(srcdir)/Lib/importlib/_bootstrap_external.py 
Python/importlib_external.h
+ 
+-Python/importlib.h: $(srcdir)/Lib/importlib/_bootstrap.py 
Programs/_freeze_importlib
+-      ./Programs/_freeze_importlib \
++Python/importlib.h: $(srcdir)/Lib/importlib/_bootstrap.py 
$(FREEZE_IMPORTLIB_FOR_BUILD)
++      $(FREEZE_IMPORTLIB_FOR_BUILD) \
+               $(srcdir)/Lib/importlib/_bootstrap.py Python/importlib.h
+ 
+ 
+@@ -791,9 +800,9 @@
+ 
+ $(IO_OBJS): $(IO_H)
+ 
+-$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN)
++$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN_DEP)
+               @$(MKDIR_P) Include
+-              $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
++              $(PGEN_FOR_BUILD) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+ $(GRAMMAR_C): $(GRAMMAR_H)
+               touch $(GRAMMAR_C)
+ 
diff --minimal -Nru python3.5-3.5.1/debian/patches/series 
python3.5-3.5.1/debian/patches/series
--- python3.5-3.5.1/debian/patches/series
+++ python3.5-3.5.1/debian/patches/series
@@ -39,3 +39,4 @@
 reproducible-buildinfo.diff
 pydoc-use-pager.diff
 fix-sslv3-test.diff
+cross.diff
diff --minimal -Nru python3.5-3.5.1/debian/rules python3.5-3.5.1/debian/rules
--- python3.5-3.5.1/debian/rules
+++ python3.5-3.5.1/debian/rules
@@ -18,6 +18,8 @@
 DEB_HOST_GNU_TYPE      ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE)
 DEB_HOST_MULTIARCH     ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)
 
+CC_FOR_BUILD ?= gcc
+
 CHANGELOG_VARS := $(shell dpkg-parsechangelog | \
        sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p')
 PKGSOURCE  := $(call vafilt,$(CHANGELOG_VARS),Source)
@@ -126,9 +128,6 @@
 else
   ma_filter = grep -v '^Multi-Arch:'
 endif
-ifneq (,$(filter $(distrelease),sid experimental))
-  bd_gcc = gcc-5 (>= 5.3.1),
-endif
 ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy lucid maverick natty 
oneiric precise quantal raring saucy trusty))
   bd_dpkgdev = dpkg-dev (>= 1.17.11),
 endif
@@ -193,6 +192,7 @@
 
 make_build_target = $(if $(with_pgo),profile-opt)
 
+buildd_native  := $(CURDIR)/build-native
 buildd_static  := $(CURDIR)/build-static
 buildd_shared  := $(CURDIR)/build-shared
 buildd_debug   := $(CURDIR)/build-debug
@@ -240,6 +240,12 @@
 d_ldbg := debian/$(p_ldbg)
 d_ltst := debian/$(p_ltst)
 
+ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
+extra_native_build = stamps/stamp-build-native
+CROSS_VARS = PGEN_FOR_BUILD=$(buildd_native)/Parser/pgen \
+       FREEZE_IMPORTLIB_FOR_BUILD=$(buildd_native)/Programs/_freeze_importlib
+endif
+
 build-arch: stamps/stamp-build
 build-indep: stamps/stamp-build-doc
 build: build-arch
@@ -268,9 +274,10 @@
        -j 1 -unone,decimal \
        -x $(sort $(TEST_EXCLUDES) $(PROFILE_EXCLUDES))
 
-stamps/stamp-build-static: stamps/stamp-configure-static
+stamps/stamp-build-static: stamps/stamp-configure-static $(extra_native_build)
        dh_testdir
        $(MAKE) $(NJOBS) -C $(buildd_static) \
+               $(CROSS_VARS) \
                EXTRA_CFLAGS="$(EXTRA_OPT_CFLAGS)" \
                PROFILE_TASK='$(PROFILE_TASK)' $(make_build_target)
 
@@ -288,26 +295,35 @@
        $(MAKE) -C $(buildd_static) \
                PROFILE_TASK='$(PROFILE_TASK)' run_profile_task
 
-stamps/stamp-build-shared: stamps/stamp-configure-shared
+stamps/stamp-build-native: stamps/stamp-configure-native
+       dh_testdir
+       $(MAKE) $(NJOBS) -C $(buildd_native) Parser/pgen 
Programs/_freeze_importlib
+       touch $@
+
+stamps/stamp-build-shared: stamps/stamp-configure-shared $(extra_native_build)
        dh_testdir
        $(MAKE) $(NJOBS) -C $(buildd_shared) \
+               $(CROSS_VARS) \
                EXTRA_CFLAGS="$(EXTRA_OPT_CFLAGS)"
        : # build a static library with PIC objects
        $(MAKE) $(NJOBS) -C $(buildd_shared) \
+               $(CROSS_VARS) \
                EXTRA_CFLAGS="$(EXTRA_OPT_CFLAGS)" \
                LIBRARY=libpython$(VER)m-pic.a libpython$(VER)m-pic.a
        touch stamps/stamp-build-shared
 
-stamps/stamp-build-debug: stamps/stamp-configure-debug
+stamps/stamp-build-debug: stamps/stamp-configure-debug $(extra_native_build)
        dh_testdir
        $(MAKE) $(NJOBS) -C $(buildd_debug) \
+               $(CROSS_VARS) \
                EXTRA_CFLAGS="$(DEBUG_CFLAGS)"
        touch stamps/stamp-build-debug
 
-stamps/stamp-build-shared-debug: stamps/stamp-configure-shared-debug
+stamps/stamp-build-shared-debug: stamps/stamp-configure-shared-debug 
$(extra_native_build)
        dh_testdir
        : # build the shared debug library
        $(MAKE) $(NJOBS) -C $(buildd_shdebug) \
+               $(CROSS_VARS) \
                EXTRA_CFLAGS="$(DEBUG_CFLAGS)" \
                libpython$(VER)dm.so pybuilddir.txt
        touch stamps/stamp-build-shared-debug
@@ -345,6 +361,14 @@
   endif
 endif
 
+stamps/stamp-configure-native: stamps/stamp-patch
+       rm -rf $(buildd_native)
+       mkdir -p $(buildd_native)
+       cd $(buildd_native) && \
+         CC="$(CC_FOR_BUILD)" \
+           ../configure
+       touch $@
+
 stamps/stamp-configure-shared: stamps/stamp-patch
        rm -rf $(buildd_shared)
        mkdir -p $(buildd_shared)
@@ -752,7 +776,7 @@
        : # their packages' directories.
        install -d $(d)/usr
 ifeq ($(with_interp),static)
-       $(MAKE) -C $(buildd_static) install DESTDIR=$(CURDIR)/$(d)
+       $(MAKE) -C $(buildd_static) install $(CROSS_VARS) DESTDIR=$(CURDIR)/$(d)
        sed -e '/^OPT/s,-O3,-O2,' \
            -e 's/$(LTO_CFLAGS)//g' \
            -e 's,^RUNSHARED *=.*,RUNSHARED=,' \
@@ -760,7 +784,7 @@
                $(buildd_shared)/$(shell cat 
$(buildd_shared)/pybuilddir.txt)/_sysconfigdata.py \
                > $(d)/$(scriptdir)/_sysconfigdata.py
 else
-       $(MAKE) -C $(buildd_shared) install DESTDIR=$(CURDIR)/$(d)
+       $(MAKE) -C $(buildd_shared) install $(CROSS_VARS) DESTDIR=$(CURDIR)/$(d)
 endif
        mkdir -p $(d)/usr/include/$(DEB_HOST_MULTIARCH)/$(PVER)m
        mv $(d)/usr/include/$(PVER)m/pyconfig.h \
@@ -1130,7 +1154,7 @@
 
        : # install debug package
        rm -rf $(d)-dbg
-       $(MAKE) -C $(buildd_debug) install DESTDIR=$(CURDIR)/$(d)-dbg
+       $(MAKE) -C $(buildd_debug) install $(CROSS_VARS) 
DESTDIR=$(CURDIR)/$(d)-dbg
        : # install the Makefile of the shared python debug build
        sed -e '/^OPT/s,-O3,-O2,' \
            -e 's/$(LTO_CFLAGS)//g' \

--- End Message ---
--- Begin Message ---
Source: python3.5
Source-Version: 3.5.1-12

We believe that the bug you reported is fixed in the latest version of
python3.5, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <[email protected]> (supplier of updated python3.5 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Mon, 09 May 2016 13:00:17 +0200
Source: python3.5
Binary: python3.5 python3.5-venv libpython3.5-stdlib python3.5-minimal 
libpython3.5-minimal libpython3.5 python3.5-examples python3.5-dev 
libpython3.5-dev libpython3.5-testsuite idle-python3.5 python3.5-doc 
python3.5-dbg libpython3.5-dbg
Architecture: source all
Version: 3.5.1-12
Distribution: unstable
Urgency: medium
Maintainer: Matthias Klose <[email protected]>
Changed-By: Matthias Klose <[email protected]>
Description:
 idle-python3.5 - IDE for Python (v3.5) using Tkinter
 libpython3.5 - Shared Python runtime library (version 3.5)
 libpython3.5-dbg - Debug Build of the Python Interpreter (version 3.5)
 libpython3.5-dev - Header files and a static library for Python (v3.5)
 libpython3.5-minimal - Minimal subset of the Python language (version 3.5)
 libpython3.5-stdlib - Interactive high-level object-oriented language 
(standard library
 libpython3.5-testsuite - Testsuite for the Python standard library (v3.5)
 python3.5  - Interactive high-level object-oriented language (version 3.5)
 python3.5-dbg - Debug Build of the Python Interpreter (version 3.5)
 python3.5-dev - Header files and a static library for Python (v3.5)
 python3.5-doc - Documentation for the high-level object-oriented language 
Python
 python3.5-examples - Examples for the Python language (v3.5)
 python3.5-minimal - Minimal subset of the Python language (version 3.5)
 python3.5-venv - Interactive high-level object-oriented language (pyvenv 
binary, v
Closes: 820509
Changes:
 python3.5 (3.5.1-12) unstable; urgency=medium
 .
   * Update to 20160509 from the 3.5 branch.
     - Issue #26811: gc.get_objects() no longer contains a broken tuple with
       NULL pointer.
     - Issue #20120: Use RawConfigParser for .pypirc parsing, removing support
       for interpolation unintentionally added with move to Python 3. Behavior
       no longer does any interpolation in .pypirc files, matching behavior in
       Python 2.7 and Setuptools 19.0.
     - Issue #25745: Fixed leaking a userptr in curses panel destructor.
     - Issue #26881: The modulefinder module now supports extended opcode
       arguments.
     - Issue #23815: Fixed crashes related to directly created instances of
       types in _tkinter and curses.panel modules.
     - Issue #17765: weakref.ref() no longer silently ignores keyword arguments.
     - Issue #26873: xmlrpc now raises ResponseError on unsupported type tags
       instead of silently return incorrect result.
     - Issue #26881: modulefinder now works with bytecode with extended args.
     - Issue #26711: Fixed the comparison of plistlib.Data with other types.
     - Issue #24114: Fix an uninitialized variable in `ctypes.util`.
     - Issue #26864: In urllib.request, change the proxy bypass host checking
       against no_proxy to be case-insensitive, and to not match unrelated host
       names that happen to have a bypassed hostname as a suffix.
     - Issue #26634: recursive_repr() now sets __qualname__ of wrapper.
     - Issue #26804: urllib.request will prefer lower_case proxy environment
       variables over UPPER_CASE or Mixed_Case ones.
     - Issue #26837: assertSequenceEqual() now correctly outputs non-stringified
       differing items (like bytes in the -b mode).
       This affects assertListEqual() and assertTupleEqual().
     - Issue #26041: Remove "will be removed in Python 3.7" from deprecation
       messages of platform.dist() and platform.linux_distribution().
     - Issue #26822: itemgetter, attrgetter and methodcaller objects no longer
       silently ignore keyword arguments.
     - Issue #26733: Disassembling a class now disassembles class and static
       methods.
     - Issue #26801: Fix error handling in :func:`shutil.get_terminal_size`,
       catch :exc:`AttributeError` instead of :exc:`NameError`.
     - Issue #24838: tarfile's ustar and gnu formats now correctly calculate 
name
       and link field limits for multibyte character encodings like utf-8.
     - Issue #26657: Fix directory traversal vulnerability with http.server on
       Windows.
     - Issue #26736: Used HTTPS for external links in the documentation if
       possible.
     - Issue #22359: Disable the rules for running _freeze_importlib and pgen
       when cross-compiling.  The output of these programs is normally saved
       with the source code anyway, and is still regenerated when doing a
       native build. Closes: #820509.
     - Issue #21668: Link audioop, _datetime, _ctypes_test modules to libm.
     - Issue #26799: Fix python-gdb.py: don't get C types once when the Python
       code is loaded, but get C types on demand. The C types can change if
       python-gdb.py is loaded before the Python executable.
   * Fix issue #26673, runtime error in idle3. LP: #1574892.
   * Update symbols files.
Checksums-Sha1:
 5ddc1b94bde9498b47bfa60e3e5320511fb6370f 3233 python3.5_3.5.1-12.dsc
 5411c01dd3633395cda7fec03e785f1f6e3e0a06 560720 
python3.5_3.5.1-12.debian.tar.xz
 f054cd46d0b942e100734f8103f73153fc71b864 95314 idle-python3.5_3.5.1-12_all.deb
 f08ad3e0514d791135f551aea7e13c88c5287325 2537890 
libpython3.5-testsuite_3.5.1-12_all.deb
 67ada3e7f4dea02b6330b1c1698da766f5d3cfca 5346478 python3.5-doc_3.5.1-12_all.deb
 6c6ad2f9818856328eedc4c1dab7dd612dfb1864 487886 
python3.5-examples_3.5.1-12_all.deb
Checksums-Sha256:
 5f1aa74b0936f71ae0518ef7b55cb3765d55101901548de6c9e8b82814065959 3233 
python3.5_3.5.1-12.dsc
 f9596bdc6daee997a12c3485383e3fd7732fa8a17dd8a04b44ead2a7698416fd 560720 
python3.5_3.5.1-12.debian.tar.xz
 fad99a8d5bb36ec24c3ceb86e17a1b23a0cfc50c264d41b47ad36a8327591a19 95314 
idle-python3.5_3.5.1-12_all.deb
 8b308c525c652513b241190d0f2a8eb5ac722fa9f78a7c150efa9066b84fe743 2537890 
libpython3.5-testsuite_3.5.1-12_all.deb
 b71889c30a4a725482dd23a03d7377a8030de7fdc8cf64ecae5b8c0fbc67b243 5346478 
python3.5-doc_3.5.1-12_all.deb
 455743f0138afd70821b743b986e969c2e381bf6560d712581147806c4b2123f 487886 
python3.5-examples_3.5.1-12_all.deb
Files:
 62e94846cfad1976fe51d6f1feeb30c3 3233 python optional python3.5_3.5.1-12.dsc
 244a81d14f90b8ab29c4e95873b2ca08 560720 python optional 
python3.5_3.5.1-12.debian.tar.xz
 027437a65df8e46741f4a83b3232c57c 95314 python optional 
idle-python3.5_3.5.1-12_all.deb
 3f1742b8bbfcbd7d1d37b7aa0f1d6203 2537890 libdevel optional 
libpython3.5-testsuite_3.5.1-12_all.deb
 c3f3344f8ef0732839512362c9a8f4b5 5346478 doc optional 
python3.5-doc_3.5.1-12_all.deb
 00742279d2b1567c5ebad2df130c399a 487886 python optional 
python3.5-examples_3.5.1-12_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJXMIooAAoJEL1+qmB3j6b1l8oP/2P/p+9cqJj4pkF5oCP+64/E
mymhWCWOia2Qi11zsWUzb40C5JwMngR8hIGjIMqxuDz6xQ4tzclz7O+BOhkfIMrZ
JMHFUkv22taK1zxlLeYWlibTDS0k0sI36K782/XeuUNIYp48W9dxrZMgqhMsMTo9
twu65EAcTI+gVVjGKt8Fb+kiglqWzrwSNepjW9ALhi4fIygzgJr5djJ3P1bsPHYM
VO2UT4nGwutRn8jF+HYpNOic3vWW8cRQWZrjCwtQlyZYWxaTKw12Cr86SiHUOHPX
3UcollQfBQOTRN/a16X+76wbKZPHMp5RGkD1zI4F81KUsxRwhkIE4vgCiRtc+Lge
eqNNW8FeZqG7C3vxoIT6GKSglsw7zk+O/KSfX/Yoh7e4C7VWCnvoiZtepZZ4nMjj
wlrIC7aSy3sMHFMzTpxdr7FTGcwYULuvSfTCpthBxCQhVI0/ay3UH0UWd4tDSQDZ
fQ6bmW63z8LWAwZaC/LOM1mHciZt5X8LLPNtyIvc0fKJ7XuVDXBuXpvaE9FEhTHD
rmoKVBNL8wP8Mvk+X0CbYQr+6aA4u08l/6SVeQyFMN6Jm3/O/rHraisyDloJyA+K
8YQPVvazgnw4uZtL+aMWapxWRHq+ce/EN+0KeRX8Afd25iLcsvIsswMq7dDGqHjB
WzPBGx29YC20YMcpHGLN
=sloQ
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to