Hi, On Mon, Oct 12, 2015 at 10:24:02AM -0400, Scott Kitterman wrote: > Additionally, looking ahead to the next transition that makes python3.5 the > default python3, it would be good to look at the packages that build-dep on > python3-dev and see if it's reasonable to have them build-dep on python3-all- > dev and build for all supported python3 versions. > > Packages that only build for the default version will break until rebuilt as > soon as the default changes, whereas extensions that are built for all > supported python3 versions continue to work just fine. The fewer default > only > packages we have, the less breakage goes with changing the default [2]. I > have not investigated these at all. [...]
And then > [2] > https://bugs.debian.org/cgi-bin/bugreport.cgi?filename=python3-dev.list;bug=798999;msg=84;att=1 which says: Reverse-Build-Depends ===================== [...] * libreoffice [...] Please, not this discussion again. :) (jessie)rene@frodo:/usr/lib/libreoffice/program$ dpkg -L python3-uno /. /usr /usr/share /usr/share/python3 /usr/share/python3/runtime.d /usr/share/python3/runtime.d/python3-uno.rtupdate /usr/share/bug /usr/share/bug/python3-uno /usr/share/bug/python3-uno/presubj /usr/share/doc /usr/share/doc/python3-uno /usr/share/doc/python3-uno/modes.sxd /usr/share/doc/python3-uno/changelog.Debian.gz /usr/share/doc/python3-uno/NEWS.Debian.gz /usr/share/doc/python3-uno/README.gz /usr/share/doc/python3-uno/copyright /usr/share/doc/python3-uno/demo /usr/share/doc/python3-uno/demo/swritercomp.py /usr/share/doc/python3-uno/demo/swriter.py /usr/share/doc/python3-uno/demo/pyunoenv.bat /usr/share/doc/python3-uno/demo/ooextract.py /usr/share/doc/python3-uno/demo/Addons.xcu /usr/share/doc/python3-uno/demo/hello_world_comp.py /usr/share/doc/python3-uno/demo/pyunoenv.tcsh /usr/share/doc/python3-uno/demo/biblioaccess.py /usr/share/doc/python3-uno/demo/swritercompclient.py /usr/share/doc/python3-uno/demo/makefile.mk /usr/lib /usr/lib/libreoffice /usr/lib/libreoffice/program /usr/lib/libreoffice/program/pythonloader.unorc /usr/lib/libreoffice/program/pythonloader.py /usr/lib/libreoffice/program/officehelper.py /usr/lib/libreoffice/program/libpyuno.so /usr/lib/libreoffice/program/libpythonloaderlo.so /usr/lib/libreoffice/program/pyuno.so /usr/lib/libreoffice/program/services /usr/lib/libreoffice/program/services/pyuno.rdb /usr/lib/libreoffice/share /usr/lib/libreoffice/share/Scripts /usr/lib/libreoffice/share/Scripts/python /usr/lib/libreoffice/share/Scripts/python/pythonSamples /usr/lib/libreoffice/share/Scripts/python/pythonSamples/TableSample.py /usr/lib/libreoffice/share/Scripts/python/HelloWorld.py /usr/lib/libreoffice/share/Scripts/python/Capitalise.py /usr/lib/libreoffice/share/registry /usr/lib/libreoffice/share/registry/pyuno.xcd /usr/lib/python3 /usr/lib/python3/dist-packages /usr/lib/python3/dist-packages/unohelper.py /usr/lib/python3/dist-packages/uno.py While the last two *.py are public modulesthe other ones are - in a LO Path because they are not public modules (but accessed by uno*.py[1]) - also linked to libpython for embedding the python interpreter to be able to run python scripts inside LO. Of the .sos above: (jessie)rene@frodo:/usr/lib/libreoffice/program$ for i in *py*so; do objdump -p $i | grep NEEDED; done NEEDED libpython3.4m.so.1.0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NEEDED libpthread.so.0 NEEDED libdl.so.2 NEEDED libutil.so.1 NEEDED libuno_cppu.so.3 NEEDED libuno_cppuhelpergcc3.so.3 NEEDED libpyuno.so NEEDED libuno_sal.so.3 NEEDED libstdc++.so.6 NEEDED libm.so.6 NEEDED libgcc_s.so.1 NEEDED libc.so.6 NEEDED libpython3.4m.so.1.0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NEEDED libpthread.so.0 NEEDED libdl.so.2 NEEDED libutil.so.1 NEEDED libuno_cppu.so.3 NEEDED libuno_cppuhelpergcc3.so.3 NEEDED libuno_sal.so.3 NEEDED libuno_salhelpergcc3.so.3 NEEDED libstdc++.so.6 NEEDED libm.so.6 NEEDED libgcc_s.so.1 NEEDED libc.so.6 NEEDED libdl.so.2 NEEDED libc.so.6 (jessie)rene@frodo:/usr/lib/libreoffice/program$ The build system of LO also only supports one python (and no, a hack like we had for python2/python3[2] doesn't scale.) Even if we did this python3.4-uno would conflict with python3.5-uno because of the common files above and moving the .sos above to a common package (libreoffice-core? python3-uno-core?) is a recipe for disaster (libpython3.4 vs. libpython3.5. OK, might not as bad as 3.3->3.4, but...) Note that python3-uno isn't really optional anymore, core functionality like wizards use python (for people who don't want it it's only recommended, though) and just in a extra package because it a) (also) is a module to use externally and b) because of the python policy. So LibreOffice always will use the default (or at least _one_ version if the default wasn't suitable.) Regards, Rene [1] uno.py: import sys, os sys.path.append('/usr/lib/libreoffice/program') os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:/usr/lib/libreoffice/program/fundamentalrc') # -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- # # This file is part of the LibreOffice project. # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This file incorporates work covered by the following license notice: # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed # with this work for additional information regarding copyright # ownership. The ASF licenses this file to you under the Apache # License, Version 2.0 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.apache.org/licenses/LICENSE-2.0 . # import sys import pyuno [...] [2] http://anonscm.debian.org/cgit/pkg-openoffice/libreoffice.git/commit/?id=38c531d25e02e96d7a5887f315f8f774b2b1f6f2 only works for two versions and is a gross hack. And of course the packages also conflicted.