Last active
November 10, 2020 05:16
-
-
Save hbrunn/6f4a007a6ff7f75c0f8b to your computer and use it in GitHub Desktop.
This is an instruction how to rebuild libreoffice on ubuntu trusty to use python-uno for python 2.7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# we need some fixes from 14.10 | |
sudo add-apt-repository --enable-source ppa:libreoffice/libreoffice-4-3 | |
# fetch this repository | |
sudo apt-get update | |
# update your libreoffice installation | |
sudo apt-get install libreoffice | |
# get all build dependencies for libreoffice | |
sudo apt-get build-dep libreoffice | |
# that strangely enough doesn't come with the above | |
sudo apt-get install gcj-jdk python-dev | |
# get the actual source code | |
cd /tmp | |
apt-get source libreoffice | |
# the folder name is versioned | |
cd libreoffice* | |
# we want to have python2 | |
sed -ie 's/^\(ENABLE_PYTHON2=\)n$/\1y/' debian/rules | |
# and we add the package description to the control file (this is from the debian package) | |
echo " | |
Package: python-uno | |
Provides: \${python:Provides} | |
XB-Python-Version: \${python:Versions} | |
Section: oldlibs | |
Priority: extra | |
Architecture: alpha amd64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc | |
Enhances: libreoffice | |
Depends: libreoffice-core (= \${binary:Version}), | |
\${misc:Depends}, | |
\${python:Depends}, | |
\${shlibs:Depends} | |
Breaks: libreoffice-common (<< 1:3.5~), libreoffice-core (<< 1:3.5~) | |
Conflicts: python3-uno, python3.3-uno | |
Description: Python-UNO bridge (support for old python 2) | |
The Python-UNO bridge allows use of the standard LibreOffice API | |
with the Python scripting language. It additionally allows | |
others to develop UNO components in Python, thus Python UNO components | |
may be run within the LibreOffice process and can be called from C++ | |
or the built in StarBasic scripting language. | |
. | |
This package is for compatibility with applications/libraries not ported | |
to python 3 yet. Prefer python3-uno over this. | |
Homepage: http://udk.openoffice.org/python/python-bridge.html" >> debian/control | |
# do the build | |
dpkg-buildpackage -us -uc | |
# have coffee. a lot of it | |
# install updated metapackage and the script provider so as not to depend on python3-uno any more | |
sudo dpkg --install ../libreoffice_*.deb ../libreoffice-script-provider-python*.deb | |
# remove python3-uno | |
sudo apt-get remove python3-uno | |
# and finally install the package we want | |
sudo dpkg --install ../python-uno*.deb |
PPA used in this script doesn't exist anymore and another PPA with LibreOffice 4.4 fails to build.
Here is an up-to-date script https://gist.github.com/nicktime/364a80ad0e083948b9f873640e50fe89
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
hello,
to execute the script, you need at least 35 Gb of free disk space.
Time to execute the script > 5 hours ( quadcore 2.5 ghz)
to use libreoffice with aeroo / openerp :
need to add /usr/lib/libreoffice/program to Pythonpath to resolve No module named pyuno
in /usr/bin/openerp-server file add :
import sys
sys.path.append('/usr/lib/libreoffice/program')
but now i have this big problem :
No module named com.sun.star.lang
seems to be an environment problem with python-uno python 2.7
when i use python-uno , in writer Tools>Macros>Organize>Python>Libreoffice macros
i can't see the sample macros (for example HelloWorld)
when i use python3-uno i see sample macros and i can execute them.