From: Rene Engelhard Date: Thu, 31 Oct 2019 17:26:41 +0000 (+0000) Subject: Import libreoffice_6.1.5-3+deb10u5.debian.tar.xz X-Git-Tag: archive/raspbian/1%6.1.5-3+rpi1+deb10u5^2~64^4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1b75d7d77e444b94d2c4ef1c0e44b8ff52cb8c41;p=libreoffice.git Import libreoffice_6.1.5-3+deb10u5.debian.tar.xz [dgit import tarball libreoffice 1:6.1.5-3+deb10u5 libreoffice_6.1.5-3+deb10u5.debian.tar.xz] --- 1b75d7d77e444b94d2c4ef1c0e44b8ff52cb8c41 diff --git a/debian/README b/debian/README new file mode 100644 index 00000000000..95a01507981 --- /dev/null +++ b/debian/README @@ -0,0 +1,83 @@ +LibreOffice build system +------------------------ + +Building the packages from source +================================= +Overview: + apt-get source libreoffice + apt-get build-dep libreoffice (to install build dependencies) + cd + debuild + +Changing the build behaviour with DEB_BUILD_OPTIONS +--------------------------------------------------- +These options are supported: + + debug - build with FULL debug symbols. Default is just to build + with SMALL ones since the deb otherwise gets too big + ((>400M, ca. 1GB I-S)) + + ccache - enable the use of ccache during the build. This is highly + recommended if you plan on building the package more than + once, or doing any development on the packages. Be aware + that you need EXTRAPACKAGES="ccache" in /etc/pbuilderrc + when trying to build libreoffice with ccache in + $DEB_BUILD_OPTIONS under pbuilder (this has no effect + on speed, hough because the cache does not persist in + pbuilder) + + parallel= + - enable n projects to be built in parallel. + The log output can get a little confusing, and some projects + may fail still. You need to remove config.status if you + change this value after interrupting a build. + + lang= + - Build only the specified language + + nocheck + - disable run of tests when enabled in rules + + +The targets that are built during the package build +--------------------------------------------------- + +- targets run during the package build - + +unpack - Does prerequisites for the build: packing, unpacking etc. + +build - as the name says + +install - Copy files from debian/tmp/pkg into the correct locations + for the final package layout in debian/libreoffice* + where we need to do that here because it affects arch-dep + and arch-indep stuff and therefore cannot be done in + install-arch / install-indep. + +install-arch - installs arch-dependent stuff into the arch-dep. packages +install-indep - " "-independent " " " "-indep. packages + +langpackgs - Installs the language packgs +helppkgs - Installs the help packages + +maintscripts - Generates the maintainer scripts + +get-orig-source - gets original source tarballs and unpacks them + GIT_BASEURL can be set to a local mirror + GIT_BRANCH is the branch to clone from the repos + GIT_TAG is tag that should be packed + GIT_BRANCH and GIT_TAG can both be master + +Building the package from git master +==================================== +To do a build from git master, do: + mkdir libreoffice-git + cd libreoffice-git + git clone https://salsa.debian.org/libreoffice-team/libreoffice/libreoffice.git debian + ./debian/rules unpack GIT_BRANCH=master GIT_TAG=master SOURCE_TARBALLS=n + dpkg-buildpackage + +Build system file layout +======================== +debian/scripts: + Directory containing various debian-specific build-related scripts. diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 00000000000..1493746d015 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,307 @@ + Readme for libreoffice package for Debian + -------------------------------------------- + +Contents +======== +Introduction +Quick start +Printer setup + Native CUPS support + Non-CUPS systems +Language support + Spellcheck dictionaries, Hyphenation patterns and Thesauri + Help packages +Display and crashing problems + X server crashes +Font problems + Why are the menu fonts smaller than in older versions? + Changing the default user interface font typeface for non-KDE/Gnome desktops +Disabling the splash screen +AppArmor problems +More information about LibreOffice in Debian + + +Introduction +============ +Welcome to the LibreOffice packages for the Debian distribution. These +packages are of the release of LibreOffice with the following +modifications: + + * Packaged as libreoffice-core (architecture-dependent core files), + libreoffice-common (architecture-independent common files), + libreoffice-{calc,writer,draw,impress,base} (the LibreOffice modules) + libreoffice-l10n- and libreoffice-help- and + other subpackages (-filters-* for lesser used filters, -gtk/-gnome/-kde, + ttf-opensymbol for the OpenSymbol font, ...). + + * Integration with other Debian packages: + - Global desktop integration for all users for KDE and Gnome desktops. + Menu entries for all window managers that support the Debian 'menu' + package. + + * Some extra features not yet present in official releases: + - Many of the patches included in the Ximian edition + + * Extra documentation - this README and man pages. + + +Quick start +=========== + +To start using LibreOffice, execute the command + + libreoffice + +as the user which you wish to start LibreOffice as. This will create the +necessary user files in ~/.libreoffice/3 for you. Alternatively, you +can start LibreOffice from the menus, if you have the menu package +installed/use KDE or GNOME. + +Printing +======== + +Printing on CUPS systems +------------------------ +The Debian packages include native CUPS support from version 1.1.1-3. This +is standard in all OpenOffice.org versions since 2.0. +When LibreOffice detects a CUPS system, it will download printer settings for +all CUPS queues, and these can be set from within the printer properties dialog. + +If you wish to add additional filters or print commands, you can add them +using 'spadmin'. Note that the 'Add a printer' option is disabled - you +should add printers using your favourite CUPS frontend. + +When creating a new document, LibreOffice will use the default paper size of +your default CUPS printer queue. If your new documents have the wrong paper +size, please check the configuration of your printer. + +Non-CUPS systems (lpr, lprng, SAL_DISABLE_CUPS=1) +--------------------------------- +There is a tool supplied with LibreOffice for setting up printers. You can +execute this with the command + + /usr/lib/openoffice/program/spadmin + +To change the page size and other default settings on non-CUPS systems, +modify /etc/openoffice/psprint.conf. The settings are documented in there. + +Language support +================ +You can get foreign language support by installing the +libreoffice-l10n- package for your language. You will also need the +'locales' (or belocs-locales-data for some locales, alternatively locales-all +if you want all locales) package installed. +The user interface language is selected according to your locale(1) settings. + +To change the user interface language for all users, run + + dpkg-reconfigure locales + +[ This is not needed when you install locales-all ] + +To change the language for just one user, you must arrange for the LC_MESSAGES +or LANG environment variable to be set. You can list all available locales +with the command 'locale -a'. +For example, to run LibreOffice in German from the command line: + + LANG=de_DE libreoffice + +Spellcheck dictionaries, Hyphenation patterns and Thesauri +---------------------------------------------------------- +Currently, there are dictionaries available for Afrikaans, Arabic, Armenian, +Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English (AUS/GB/US), +Esperanto, Estonian, Farsi, Finnish, French, Galician, German (DE/CH/AT), +Greek, Hebrew, Hungarian, Irish (Gaeilge), Italian, Kurdish, Latvian, +Lithuanian, Manx Gaelic, Norwegian Bokmal, Norwegian Nynorsk, Polish, +Portuguese, Portuguese (Brazilian), Russian, Scots Gaelic, Slovak, Slovenian, +Spanish, Swahili, Swedish, Thai, Ukrainian and Uzbek. +Dictionaries are packaged as myspell- (or, for newer ones improved +for hunspell hunspell-). + +Currently, there are thesauri available for Czech, English (AUS/GB/US), +German (DE/CH), Italian, Polish and Slovak. +Thesauri are packaged as mythes- + +Currently, there are hyphenation patterns available for English (USA), +Croatian, Estonian, German, Hungarian, Italian, Polish, Slovenian and +Lithuanian. +Hyphenation patterns are packaged as hyphen-. + +Help packages +------------- +Currently, there are localized help packages available for +Bulgarian, Chinese, Czech, Danish, Dutch, English (GB), English (USA), +Estonian, French, Galician, German, Hungarian, Italian, Japanese, Khmer, +Macedonian, Polish, Portuguese (Brazil), Russian, Slovakian, Slovenian and +Spanish and Swedish. +They are packaged as libreoffice-help-. + +Problems +================================ + +Here are some problems that have been reported with this version. If you do +not see your problem here, please check for open bug reports: + + http://bugs.debian.org/debian-openoffice@lists.debian.org + +1. If you are using NFS mounted file systems, you should make sure that locking +is functioning: + + 'Make sure NFS lockd/statd is running on the client, or mount the NFS export + with the 'nolock' option. + + If /usr gets mounted from an initrd, check 'ps' output once the system is + fully booted to ensure that you see a [lockd] kernel process, or an + 'rpc.lockd' / 'rpc.statd' userspace process. + + If not, just issue your mount command again (no need to even -o remount it + seems!) and run /etc/init.d/nfs-common restart.' (Thanks to Gavin Hamill) + + See this mailing list thread for more information: + http://lists.debian.org/debian-openoffice/2004/debian-openoffice-200402/msg00223.html + +X server crash with Matrox cards +-------------------------------- +If your X server is using the mga driver, you may find that your X server +crashes. You can work around this problem by adding this line to the mga +Device section: + + Option "XaaNoScreenToScreenColorExpandFill" + +There is a bug already open against xserver-xfree86 for this problem. Thanks +to Philip Armstrong for this information. + +LibreOffice crash with nVidia cards +-------------------------------------- +It seems that LibreOffice can trigger some obscure bugs in the X server +drivers for Nvidia cards too, especially if you have more than one processor. +Try updating your drivers to the latest version. + +Moreover LibreOffice may hang and takes X with it when RenderAccel +is enabled when using the proprietary nVidia Drivers. Disabling this option +helps then. + +Font problems +============= + +Why are the menu fonts smaller than in older versions? +------------------------------------------------------ +This is caused by a change in the way LibreOfffice interprets your X server DPI +setting. +This setting, when correctly configured, means that software can display text +at its true size on the display. + +The official OpenOffice.org version assumes that anyone who has their X server +configured with a DPI of less than 96 has not actually configured it at all, +and sets it back to 96. Unfortunately, this has the side effect that +displays with a lower DPI setting, such as some LCD laptop displays, cannot +display the page at its true size. + +So you can fix this by correctly setting the DPI for your X server. Gnome +users will find that it is set to 96 DPI by default; others may need to edit +their X server configuration. + +The best way to get the correct DPI setting is to add a 'DisplaySize' entry to +the Monitor section. From the XF86Config-4 man page: + + DisplaySize width height + This optional entry gives the width and height, in millimetres, of the + picture area of the monitor. If given this is used to calculate the + horizontal and vertical pitch (DPI) of the screen. + +If you set this value correctly, X will calculate and use the correct DPI +setting, even if you use several different display resolutions. + +From Nikita V. Youshchenko : + +- Many display manager configurations pass the option "-dpi 100" to the X + server by default, overriding any autodetected DPI. This has to be removed + for DisplaySize to work. The file that you need to edit varies depending on + the way your X server is started: + xdm: /etc/X11/xdm/Xservers + kdm: /etc/kde3/kdm/Xservers + gdm: /etc/gdm/gdm.conf + startx: /etc/X11/xinit/xserverrc + +- Gnome's gconf overrides the autodetected DPI, by setting Xft.dpi to a value + entered in configuration dialog, 96 by default. I don't know what is + the clean fix for this. Perhaps it should be fixed on the Gnome side. + +From Juergen Kreileder :> + +- Note that with most recent graphics cards and monitors XFree86 is able to + get the monitor size (and thus the correct dpi value) through ddc. + (**) NVIDIA(0): Validated modes for display device DFP-0: + (**) NVIDIA(0): Default mode "1600x1200": 189.0 MHz, 87.5 kHz, 70.0 Hz + (II) NVIDIA(0): Virtual screen size determined to be 1600 x 1200 + (--) NVIDIA(0): Display dimensions: (410, 310) mm + (--) NVIDIA(0): DPI set to (99, 98) + (That's with the proprietary NVIDIA drivers but other XFree86 drivers have + that support too.) + +If you use KDE or Gnome, LibreOffice will use the same font face and size as +your desktop environment. If you use another window manager, you can either +let it pick a default font itself, or change the font to be used (see next +section), or set the OOO_FORCE_DESKTOP environment variable to +kde (for kde3)/kde4 or gnome, to use KDE or Gnome settings respectively. + +Changing the default user interface font typeface for non-KDE/Gnome desktops +---------------------------------------------------------------------------- +If you do not want to use KDE or Gnome settings and want to change font sizes +within LibreOffice, you can configure the user interface font as follows: + +- Font size - + +You can change the font scaling using the user interface: + + Tools Menu -> Options -> View -> Scale + +- Font typeface - + +You can change the default font typeface by replacing it with a different font +installed on your system. This can be done using the font replacement function. +Choose Tools - Options - LibreOffice - Font Replacement to access this +function. + +To change the font of the LibreOffice user interface, you have to replace +the default font "Andale Sans UI" with another font and mark the "always" +setting for this replacement. "Andale Sans UI" is not selectable and has to be +typed in. The replacement font has to be a font which supports the requested +locale ( e.g for Korean language the replacement font has to be a font +including Korean characters). + +Refer to the LibreOffice Help for a detailed explanation of the font +replacement dialog. + +Disabling the splash screen +=========================== +If you don't like the splash screen staying in front of other windows while +LibreOffice is loading, you can disable it by editing +/etc/openoffice/sofficerc. Change Logo=1 to Logo=0. + +AppArmor problems +================= + +LibreOffice in Debian ships with AppArmor profiles: + + /etc/apparmor.d/usr.lib.libreoffice.* + +To debug issues with these AppArmor profiles, see: + + https://wiki.debian.org/AppArmor/Debug + +If you are using custom settings such as a custom env:UserInstallation +directory, you may need to adjust them to match your local setup. +In this example, you would need to add your custom +env:UserInstallation to @{libo_user_dirs} in the +usr.lib.libreoffice.program.soffice.bin profile. + +More information about LibreOffice in Debian +=============================================== +Please read the official README.gz (in the same directory as this file), too. + +If you have questions, either post to our the mailing list: + + http://lists.debian.org/debian-openoffice + +The Debian LibreOffice team diff --git a/debian/README.Debian-source b/debian/README.Debian-source new file mode 100644 index 00000000000..7b9f523b2fd --- /dev/null +++ b/debian/README.Debian-source @@ -0,0 +1,82 @@ +Package directory modes +======================= +The packages can be built directly from a set of git checkouts (vcs mode), +or from a set of release tarballs (tarball mode). + +Vcs mode is useful if you want to work on libreoffice during the development +cycle. You can check out the latest sources and track them while you make +changes. + +Tarball mode is used to prepare packages of official libreoffice releases +from the tarballs created by upstream. + +Source package creation steps for tarball mode +============================================== +The .orig.tar.gz consists of the (separate) source tarballs available +from The Document Foundation from +http://download.documentfoundation.org/libreoffice/src/ + +or base on an old version and add/remove the files manually and/or symlink +to the old version if this didn't change - see git diff of download.lst. This +is even better given we probably want to add only needed stuff there, and not +all tarballs (most of those we don't use) + +See the "Format: 3.0 (quilt)" section dpkg-source(1) for more details. + +Package directory layout - vcs mode +=================================== + +In vcs mode we are working directly from checkouts of the libreoffice sources. + +We pull in sources to these places: + + "top" directory - checkout of LO's "core" repo + debian - git packaging repository from pkg-openoffice project on alioth + helpcontent2 - checkout of LO's "help" repo (git submodule) + translations - checkout of LO's "translations" repo (git submodule) + tarballs - see above in tarball mode + +$ git clone git://gerrit.libreoffice.org/core +$ cd core +$ git submodule init + +(maybe remove dictionaries again, see .git/config, we don't need it here.) + +./g pull -r (git pull -r, but also does the necessary steps for the submodules) + +For tarballs/, see above + diff --git a/debian/README.qa b/debian/README.qa new file mode 100644 index 00000000000..3da75a9fea6 --- /dev/null +++ b/debian/README.qa @@ -0,0 +1,59 @@ +LibreOffice QA Tools + +smoketest +========= + +smoketest executes a set of macros that create a minimal document in +each of LibreOffice's applications, tests cut&paste and +saving/loading in various formats. + +Invoke it as oosmoketest. + +This program manipulates the LibreOffice user configuration, USE IT +WITH A DEDICATED USER ACCOUNT if you value your settings. + +qadevOOo +======== + +qadevOOo is a framework for executing tests for the LibreOffice +API. It is documented at +http://qa.openoffice.org/qadevOOo_doc/user-guide.html + +Predefined properties files exist in /usr/lib/openoffice/qadevOOo. + +Invoke it like e.g: + + ootestapi -ini /usr/lib/openoffice/qadevOOo/java.props -o sd.SdMasterPage + +That properties files specify AppExecutionCommand, i.e. an office will +be started if necessary. Some tests, however seem to work better if +the office was started manually, as written in the user guide. + + /usr/lib/openoffice/program/soffice "-accept=socket,host=localhost,port=8100;urp;" + +Use this invocation and not ooffice to prevent interference with the +quickstarter code. + +testtool +======== + +testtool is a framework for executing tests by automating actions in +LibreOffice's user interface. It is documented at +http://qa.openoffice.org/qatesttool/index.html + +Test scripts for testtool are available in the +libreoffice-qa-ui-tests package. + +Start it as ootesttool. + +If you're starting it for the first time, create a profile in +Extras->Settings where you specify the location of test scripts and +output path for log files. The default values point to the scripts +from the libreoffice-qa-ui-tests package, so simply giving a name +to the profile and pressing the "New" button is enough. + +Then open a test script and press F5 to start the test. + +Some test scripts may change your LibreOffice user +configuration. USE IT WITH A DEDICATED USER ACCOUNT if you value your +settings. diff --git a/debian/branding/progress.conf b/debian/branding/progress.conf new file mode 100644 index 00000000000..59ff72ce41d --- /dev/null +++ b/debian/branding/progress.conf @@ -0,0 +1 @@ +PROGRESSBARCOLOR=215,7,81 diff --git a/debian/bug-presubj b/debian/bug-presubj new file mode 100644 index 00000000000..602de78b9f7 --- /dev/null +++ b/debian/bug-presubj @@ -0,0 +1,60 @@ +Reporting a bug against LibreOffice +-------------------------------------- +I) Make sure it's a LibreOffice bug after all: #398923 and its friends for + example are not. + Set the Version: header right. If you found a bug in a specific version, + set that as version:, even if you in the meanwhile upgraded. If you are on + an up-to-date version and tried old versions and they have the bug, too, set + the Version: header to the earliest version you found it in (of course, if + versions inbetween don't have the bug use the version in which it reappeared + and sustained to the current version) + +II) Check on the BTS (http://bugs.debian.org/src:libreoffice) whether the + bug already is reported. Do *NOT* report a new one then. For judging whether + it's already reported, read *ALL* the bugs, think, try and use common sense. + +III) If you have crashes with a document, try another one. If only that or + similar docs causes problems please attach THIS (or a similar type one + causing it). Otherwise, don't file a bug, we can't look at it anyway. + +IV) Please attach more info if possible (see + https://wiki.documentfoundation.org/QA/BugReport/Debug_Information#GNU.2FLinux). + Install libreoffice-*-dbgsym or libreoffice-dbg before doing this (and maybe + the packages it Recommends and/or -dbgsym/-dbg of the libraries LO depends + on). + Please note that those *-dbgsym packages are not in the main archive; you + need to add the debug archive for that. + See https://wiki.debian.org/AutomaticDebugPackages + Please also read /usr/share/doc/libreoffice-common/README.gz for common + problems ("Problems During Program Startup") + If you have NFS/Samba/... file locking problems (i.e. files opened + read-only when they should be read-write), also see the "File Locking" + section in above file. + +V) If the bug is also in the version you can get from www.libreoffice.org, file + it there (see https://wiki.documentfoundation.org/QA/BugReport) in the first + place. If you really think this also should be a bug in the Debian BTS + (because it's (release-)critical or otherwise important) please file a bug + there too *BUT* note the TDF bug number in the bug or mark it forwarded + yourself if you can. Especially this is for feature requests. + If you tested other LibreOffice packages and the bug is (not) in version + foo from bar, mention that, too. + +VI) Only report bugs on completely up-to-date systems. Don't file bugs on a + obsolete version and neither on sid/testing systems really old. If bugs + got fixed in sid, it doesn't make sense to file them anymore. (Exception + is security bugs or really critical bugs which should be get fixed in + stable.) When you think a dependency is missing/wrong/too lax please be + *sure* that this is the case before reporting it. Most times it isn't. + Use common sense and the bug severities for judging here. When you think + you have an up-to-date system, check whether you really have one. + (And do a dist-upgrade, try to reproduce the bug again). + Also don't report bugs on broken mix systems unless you are sure about the + dependencies/conflicts (see above). + +VII) Please give as much info as possible (installed OOo packages, installed + extensions, "special" configs, additions, changes, whatever). Better too + much than too less. (See #396225 for example which was caused by an + unsupportable, non-free extension) + +Thanks. diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000000..a78024d8035 Binary files /dev/null and b/debian/changelog differ diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000000..f599e28b8ab --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000000..8587f9afa07 --- /dev/null +++ b/debian/control @@ -0,0 +1,4439 @@ +Source: libreoffice +Section: editors +Priority: optional +Maintainer: Debian LibreOffice Maintainers +Uploaders: Rene Engelhard , Chris Halls +Build-Depends: apparmor , + autoconf, + automake, + bc, + binutils (>= 2.23) [mips mipsel], + bison, + bzip2, + coinor-libcoinmp-dev (>= 1.8.3-2), + coinor-libcoinutils-dev (>= 2.10.14+repack1-1), + debhelper (>= 10), + default-jdk (>= 1:1.6) [!hppa !s390 !sparc !hurd-i386 !i386], + default-jdk (>= 1:1.7-48) [ia64], + default-jdk (>= 2:1.7-52.1) [kfreebsd-any], + default-jdk (>= 2:1.8-55) [sparc64], + default-jdk (>= 2:1.9) [i386], + default-libmysqlclient-dev, + dh-apparmor, + dh-python, + dpkg-dev (>= 1.18.2~), + firebird-dev (>= 3.0.0.32483.ds4-4) [!hppa !mips64 !s390 !sparc], + firebird3.0-server-core [!hppa !mips64 !s390 !sparc] , + flex (>= 2.3.35), + fontconfig [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + fontforge-nox | fontforge, + fonts-crosextra-carlito [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + fonts-dejavu [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + fonts-liberation2 [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + g++ (>= 4:7) [m68k], + gcc (>= 4:7) [m68k], + gdb [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + ghostscript [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + gobject-introspection (>= 1.32.0), + gperf, + gpg , + gpg-agent , + gpgconf , + hunspell-en-us [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + imagemagick [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + java-common (>= 0.61), + javahelper (>= 0.37~), + junit4 (>= 4.8.2-2) [amd64 arm64] , + libabw-dev (>= 0.1), + libarchive-zip-perl [!hppa !mips64 !s390 !sparc], + libavahi-client-dev, + libbase-java [!hppa !mips64 !s390 !sparc], + libbluetooth-dev [linux-any], + libboost-date-time-dev (>= 1.58), + libboost-dev (>= 1.58), + libboost-filesystem-dev (>= 1.58), + libboost-iostreams-dev (>= 1.58), + libboost-locale-dev (>= 1.58), + libboost-system-dev (>= 1.58), + libc0.1 (>= 2.10.2-7) [kfreebsd-any], + libc6 (>= 2.17-6) [mips mipsel], + libcairo2-dev, + libcdr-dev (>= 0.1), + libclucene-dev (>= 2.3.3.4-4.1), + libcmis-dev (>= 0.5.0-3), + libcommons-logging-java [!hppa !mips64 !s390 !sparc], + libcppunit-dev (>= 1.14) [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + libcups2-dev, + libcurl4-gnutls-dev, + libdbus-glib-1-dev (>= 0.70), + libdconf-dev (>= 0.15.2), + libe-book-dev, + libe-book-dev (>= 0.1.2) , + libebook1.2-dev, + libeot-dev, + libepoxy-dev (>= 1.2), + libepubgen-dev (>= 0.1.0), + libetonyek-dev, + libetonyek-dev (>= 0.1.8) , + libexpat1-dev, + libexttextcat-dev (>= 3.4.1), + libflute-java (>= 1.1.6) [!hppa !mips64 !s390 !sparc], + libfontconfig1-dev, + libfonts-java (>= 1.1.6) [!hppa !mips64 !s390 !sparc], + libformula-java (>= 1.1.7) [!hppa !mips64 !s390 !sparc], + libfreehand-dev (>= 0.1), + libfreetype6-dev (>= 2.2.0), + libgirepository1.0-dev (>= 1.32), + libgl1-mesa-dev, + libglib2.0-dev (>= 2.38.0), + libglib2.0-dev (>= 2.4), + libglm-dev (>= 0.9.9~a2), + libgpg-error-dev, + libgpgme-dev, + libgpgmepp-dev, + libgraphite2-dev (>= 0.9.3), + libgstreamer-plugins-base1.0-dev, + libgstreamer1.0-dev, + libgtk-3-dev (>= 3.18.0), + libgtk2.0-dev (>= 2.18.0), + libharfbuzz-dev (>= 0.9.42), + libhsqldb1.8.0-java (>> 1.8.0.10) [!hppa !mips64 !s390 !sparc], + libhunspell-dev (>= 1.1.5-2), + libhyphen-dev (>= 2.4), + libice-dev, + libicu-dev (>= 52), + libjpeg-dev, + libkf5config-dev, + libkf5coreaddons-dev, + libkf5i18n-dev, + libkf5kio-dev, + libkf5windowsystem-dev, + liblangtag-dev (>= 0.4), + liblayout-java (>= 0.2.10) [!hppa !mips64 !s390 !sparc], + liblcms2-dev, + libldap2-dev, + libloader-java (>= 1.1.6) [!hppa !mips64 !s390 !sparc], + liblpsolve55-dev (>= 5.5.0.13-5+b1), + libmdds-dev (>= 1.4.1), + libmspub-dev (>= 0.1), + libmwaw-dev (>= 0.3.1), + libmwaw-dev (>= 0.3.13) , + libmysqlcppconn-dev (>= 1.1.9-4), + libmythes-dev (>= 2:1.2), + libneon27-gnutls-dev, + libnspr4-dev, + libnss3-dev (>= 3.12.3), + libnumbertext-dev, + libodfgen-dev (>= 0.1), + liborcus-dev (>= 0.14.0+really0.14.0), + libpagemaker-dev, + libpentaho-reporting-flow-engine-java (>= 0.9.4) [!hppa !mips64 !s390 !sparc], + libpng-dev, + libpoppler-cpp-dev, + libpoppler-dev (>= 0.12.0), + libpoppler-private-dev, + libpq-dev (>= 9.0~), + libqt5x11extras5-dev (>= 5.6), + libqxp-dev, + librdf0-dev (>= 1.0.16-2), + librepository-java (>= 1.1.6) [!hppa !mips64 !s390 !sparc], + librevenge-dev, + libsac-java [!hppa !mips64 !s390 !sparc], + libsane-dev, + libserializer-java (>= 1.1.6) [!hppa !mips64 !s390 !sparc], + libsm-dev, + libstaroffice-dev, + libstaroffice-dev (>= 0.0.3) , + libsuitesparse-dev (>= 1:3.4.0), + libvisio-dev (>= 0.1), + libvlc5 (>= 2.0.8), + libwpd-dev (>= 0.10), + libwpg-dev (>= 0.3), + libwps-dev (>= 0.4), + libwps-dev (>= 0.4.9) , + libx11-dev, + libxaw7-dev, + libxcb1-dev, + libxext-dev, + libxinerama-dev, + libxkbfile-dev, + libxml-java (>= 1.1.6) [!hppa !mips64 !s390 !sparc], + libxml2-dev (>= 2.8), + libxml2-utils, + libxmlsec1-dev (>= 1.2.24), + libxrandr-dev, + libxrender-dev, + libxslt1-dev, + libxt-dev, + libxtst-dev, + libzmf-dev, + locales [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + lp-solve (>= 5.5.0.13-5+b1), + maven-repo-helper, + pkg-config, + pstoedit [!hppa !kfreebsd-amd64 !kfreebsd-i386 !m68k !mips !mips64 !powerpc !powerpcspe !ppc64 !s390 !s390x !sparc !sparc64] , + python3, + python3-dev (>= 3.3), + python3-distutils, + python3-lxml , + qt5-qmake (>= 5.6), + qtbase5-dev (>= 5.6), + qtbase5-dev-tools (>= 5.6), + qtchooser, + ucpp, + unixodbc-dev (>= 2.2.11), + unzip, + x11proto-render-dev, + xsltproc, + zip, + zlib1g-dev +Build-Depends-Indep: ant (>= 1.7.0) [!hppa !mips64 !s390 !sparc], + ant-optional (>= 1.7.0) [!hppa !mips64 !s390 !sparc], + doxygen (>= 1.8.4) , + g++-mingw-w64-i686, + gettext, + graphviz , + libbsh-java, + rdfind, + symlinks +Build-Conflicts: amd-libopencl1, + fonts-liberation (= 1:1.07.4-3) , + fonts-liberation (= 1:1.07.4-4) , + fonts-liberation (= 1:1.07.4-5) , + fonts-liberation2 (= 2.00.1-4) , + fonts-liberation2 (= 2.00.1-5) , + fonts-opensymbol , + nvidia-glx-dev, + nvidia-glx-legacy-dev, + nvidia-libopencl1 +Standards-Version: 4.0.1 +Vcs-Git: https://salsa.debian.org/libreoffice-team/libreoffice/libreoffice.git +Vcs-Browser: https://salsa.debian.org/libreoffice-team/libreoffice/libreoffice +Bugs: +Homepage: http://www.libreoffice.org + +Package: libreoffice +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Section: metapackages +Depends: libreoffice-base [!hppa !mips64 !s390 !sparc], + libreoffice-calc, + libreoffice-core (= ${binary:Version}), + libreoffice-draw, + libreoffice-impress, + libreoffice-math, + libreoffice-report-builder-bin [!hppa !mips64 !s390 !sparc], + libreoffice-writer, + ${avmedia-be-depends}, + ${misc:Depends}, + ${pyuno-depends} +Recommends: fonts-crosextra-caladea, + fonts-crosextra-carlito, + fonts-dejavu, + fonts-liberation, + fonts-liberation2, + fonts-linuxlibertine, + fonts-noto-core, + fonts-noto-mono, + fonts-noto-ui-core, + fonts-sil-gentium-basic, + libreoffice-librelogo, + libreoffice-nlpsolver, + libreoffice-report-builder [!hppa !mips64 !s390 !sparc], + libreoffice-script-provider-bsh, + libreoffice-script-provider-js, + libreoffice-script-provider-python, + libreoffice-sdbc-postgresql, + libreoffice-wiki-publisher, + ${java-common-depends} +Suggests: cups-bsd, + firefox-esr | thunderbird | firefox, + ghostscript, + gnupg, + gpa, + hunspell-dictionary, + hyphen-hyphenation-patterns, + imagemagick | graphicsmagick-imagemagick-compat, + libgl1, + libreoffice-gnome | libreoffice-kde5, + libreoffice-grammarcheck, + libreoffice-help (= ${help-l10n-virtual-version}), + libreoffice-l10n (= ${help-l10n-virtual-version}), + libxrender1, + myspell-dictionary, + mythes-thesaurus, + openclipart2-libreoffice | openclipart-libreoffice, + pstoedit, + unixodbc, + ${gstreamer-plugins-suggests}, + ${java-runtime-depends}, + ${libsane-suggests}, + ${ooo-officebean-dep} +Conflicts: libreoffice-dev (<= 1:5.0.3~rc1-2), + libreoffice-dev-doc (<= 1:5.0.3~rc1-2) +Description: office productivity suite (metapackage) + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This metapackage installs all components of libreoffice: + * libreoffice-writer: Word processor + * libreoffice-calc: Spreadsheet + * libreoffice-impress: Presentation + * libreoffice-draw: Drawing + * libreoffice-base: Database + * libreoffice-math: Equation editor + It also recommends additional packages (e.g. fonts) in order to match an + upstream LibreOffice install as closely as possible. + . + You can extend the functionality of LibreOffice by installing these + packages: + * hunspell-*/myspell-*: Hunspell/Myspell dictionaries + for use with LibreOffice + * libreoffice-l10n-*: UI interface translation + * libreoffice-help-*: User help + * mythes-*: Thesauri for the use with LibreOffice + * hyphen-*: Hyphenation patterns for LibreOffice + * libreoffice-gtk(2|3): Gtk UI Plugin, GNOME File Picker support + * libreoffice-gnome: GIO backend + * unixodbc: ODBC database support + * cups-bsd: Allows LibreOffice to detect your CUPS printer queues + automatically + * libsane: Use your sane-supported scanner with LibreOffice + * libxrender1: Speed up display by using Xrender library + * libgl1: OpenGL support + * openclipart-libreoffice: Open Clip Art Gallery with LibreOffice index + files + * firefox-esr | thunderbird | firefox: + Mozilla profile with Certificates needed for XML Security... + * openjdk-9-jre | openjdk-8-jre | openjdk-7-jre | java6-runtime: + Java Runtime Environment for use with LibreOffice + * pstoedit / imagemagick / ghostscript: helper tools for EPS + * gstreamer0.10-plugins-*: GStreamer plugins for use with LibreOffices + media backend + * libpaper-utils: papersize detection support via paperconf + * bluez: Bluetooth support for Impress (slideshow remote control) + +Package: libreoffice-l10n-za +Section: metapackages +Architecture: all +Depends: libreoffice-l10n-af, + libreoffice-l10n-en-za, + libreoffice-l10n-nr, + libreoffice-l10n-nso, + libreoffice-l10n-ss, + libreoffice-l10n-st, + libreoffice-l10n-tn, + libreoffice-l10n-ts, + libreoffice-l10n-ve, + libreoffice-l10n-xh, + libreoffice-l10n-zu, + ${misc:Depends} +Description: office productivity suite -- South African language packages + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package is a metapackage installing l10n packages for all 11 South + African languages. + +Package: libreoffice-l10n-in +Section: metapackages +Architecture: all +Depends: libreoffice-l10n-as, + libreoffice-l10n-bn, + libreoffice-l10n-gu, + libreoffice-l10n-hi, + libreoffice-l10n-ml, + libreoffice-l10n-mr, + libreoffice-l10n-or, + libreoffice-l10n-pa-in, + libreoffice-l10n-ta, + libreoffice-l10n-te, + ${misc:Depends} +Recommends: fonts-indic +Description: office productivity suite -- Indic language packages + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package is a metapackage installing l10n packages for all available + indic languages. + +Package: libreoffice-core +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: fontconfig, + fonts-opensymbol, + libreoffice-common (>> ${base-version}), + ure (>= 6.1.1~), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: libpaper-utils +Breaks: browser-plugin-libreoffice, + libreoffice-base (<< ${binary:Version}), + libreoffice-calc (<< ${binary:Version}), + libreoffice-common (<< 1:5.4.1), + libreoffice-dev (<< ${binary:Version}), + libreoffice-draw (<< ${binary:Version}), + libreoffice-evolution (<< ${binary:Version}), + libreoffice-gnome (<< ${binary:Version}), + libreoffice-gtk2 (<< ${binary:Version}), + libreoffice-gtk3 (<< ${binary:Version}), + libreoffice-impress (<< ${binary:Version}), + libreoffice-kde4 (<< ${binary:Version}), + libreoffice-kde5 (<< ${binary:Version}), + libreoffice-officebean (<< ${binary:Version}), + libreoffice-pdfimport (<< 1:5.4~), + libreoffice-writer (<< ${binary:Version}) +Conflicts: libreoffice-filter-binfilter, libreoffice-unbundled +Provides: libreoffice-bundled +Replaces: libreoffice-common (<< 1:5.4.1), libreoffice-pdfimport (<< 1:5.4~) +Description: office productivity suite -- arch-dependent files + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the architecture-dependent core files of + LibreOffice. See the libreoffice package for more information. + +Package: libreoffice-common +Architecture: all +Depends: libreoffice-style-colibre, + libreoffice-style-tango, + ure, + ${misc:Depends}, + ${numbertext-data-recommends} +Suggests: libreoffice-style +Recommends: fonts-liberation2 | ttf-mscorefonts-installer, apparmor (>= 2.13.1~), + xdg-utils, + ${pyuno-depends}, + ${textcat-data-recommends} +Conflicts: broffice, + libreoffice-filter-mobiledev, + libreoffice-l10n-4.3, + libreoffice-l10n-4.4, + libreoffice-wiki-publisher (<< 1.2.0+LibO5.4.0~rc2), + openoffice-unbundled, apparmor (<< 2.13.1~) +Provides: libreoffice-l10n-en-us +Breaks: libreoffice-core (<< 1:${oover}~), + libreoffice-core (>= 1:${next-oover}~), + libreoffice-help (<< 5.4), + libreoffice-help-5.2, + libreoffice-style-andromeda (<< 1:${oover}~), + libreoffice-style-crystal (<< 1:${oover}~), + libreoffice-style-crystal (>= 1:${next-oover}~), + libreoffice-style-galaxy (<< 1:${oover}~), + libreoffice-style-galaxy (>= 1:${next-oover}~), + libreoffice-style-hicontrast (<< 1:${oover}~), + libreoffice-style-hicontrast (>= 1:${next-oover}~), + libreoffice-style-tango (<< 1:${oover}~), + libreoffice-style-tango (>= 1:${next-oover}~), + libreoffice-writer2latex (<< 1.0.2-9), + libreoffice-writer2xhtml (<< 1.0.2-9) +Replaces: libreoffice-pdfimport (<< 1:5.4~) +Description: office productivity suite -- arch-independent files + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the architecture-independent files of + LibreOffice. + +Package: libreoffice-java-common +Architecture: all +Depends: libreoffice-common, ${java:Depends}, ${misc:Depends} +Description: office productivity suite -- arch-independent Java support files + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the architecture-independent files of + the Java support for LibreOffice (Java classes, scripts, config snippets). + +Package: libreoffice-help-common +Architecture: all +Depends: libreoffice-common, ${help-common-depends}, ${misc:Depends} +Breaks: libreoffice-common (<< 1:6.1.0~alpha1-1) +Replaces: libreoffice-common (<< 1:6.1.0~alpha1-1) +Description: office productivity suite -- common files for LibreOffice help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the common files (e.g. language-independent, media) files + for the LibreOffice Help. + +Package: libreoffice-writer +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-base-core (= ${binary:Version}) [!hppa !mips64 !s390 !sparc], + libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: libreoffice-math +Suggests: fonts-crosextra-caladea, + fonts-crosextra-carlito, + libreoffice-base, + ${java-common-depends}, + ${java-runtime-depends} +Replaces: libreoffice-common (<< 1:5.4.1) +Breaks: libreoffice-common (<< 1:5.4.1) +Description: office productivity suite -- word processor + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the wordprocessor component for LibreOffice. + +Package: libreoffice-calc +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-base-core (= ${binary:Version}) [!hppa !mips64 !s390 !sparc], + libreoffice-core (= ${binary:Version}), + ${lpsolve-dep}, + ${misc:Depends}, + ${shlibs:Depends} +Suggests: ocl-icd-libopencl1 | mesa-opencl-icd | beignet-opencl-icd +Replaces: libreoffice-common (<< 1:5.4.1) +Breaks: libreoffice-common (<< 1:5.4.1) +Description: office productivity suite -- spreadsheet + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the spreadsheet component for LibreOffice. + +Package: libreoffice-impress +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core (= ${binary:Version}), + libreoffice-draw (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Replaces: libreoffice-common (<< 1:5.4.1), libreoffice-ogltrans (<< 1:6.1.4-2~) +Conflicts: libreoffice-ogltrans (<< 1:6.1.4-2~) +Provides: libreoffice-ogltrans +Breaks: libreoffice-common (<< 1:5.4.1) +Recommends: ${avmedia-be-depends} +Suggests: bluez +Description: office productivity suite -- presentation + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the presentation component for LibreOffice. + +Package: libreoffice-draw +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Replaces: libreoffice-common (<< 1:5.4.1), libreoffice-impress (<< 1:5.2.0-2) +Breaks: libreoffice-common (<< 1:5.4.1), libreoffice-impress (<< 1:5.2.0-2) +Description: office productivity suite -- drawing + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the drawing component for LibreOffice. + +Package: libreoffice-math +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: fonts-opensymbol, + libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: office productivity suite -- equation editor + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the equation editor component for LibreOffice. + +Package: libreoffice-base-core +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: libreoffice-base +Replaces: libreoffice-base-drivers (<< 1:6.1.1~rc1-2) +Description: office productivity suite -- shared library + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains common libraries of LibreOffice Base used by + Base, Writer and Calc. + . + If you need full Base functionality (or actual database drivers), please + install libreoffice-base (and/or libreoffice-base-drivers and/o + libreoffice-sdbc-*). + +Package: libreoffice-base +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Section: database +Depends: libreoffice-base-core (= ${binary:Version}), + libreoffice-base-drivers (= ${binary:Version}), + libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: libreoffice-report-builder, unixodbc +Recommends: libreoffice-writer, ${java-common-depends}, ${java-runtime-depends} +Replaces: libreoffice-common (<< 1:4.3.0~beta1) +Description: office productivity suite -- database + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the database component for LibreOffice. + +Package: libreoffice-style-breeze +Architecture: all +Enhances: libreoffice-core +Depends: libreoffice-style-tango, ${misc:Depends} +Suggests: breeze-icon-theme +Provides: libreoffice-style +Description: office productivity suite -- Breeze symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "breeze" symbol style, default style for KDE 5. + +Package: libreoffice-style-colibre +Architecture: all +Enhances: libreoffice-core +Depends: ${misc:Depends} +Provides: libreoffice-style +Description: office productivity suite -- colibre symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "colibre" symbol style - a icon theme + which follow Microsoft(R) Offices color scheme. + +Package: libreoffice-style-tango +Architecture: all +Enhances: libreoffice-core +Depends: ${misc:Depends} +Suggests: tango-icon-theme +Provides: libreoffice-style +Replaces: libreoffice-common (<= 1:4.3.0~beta2-2) +Description: office productivity suite -- Tango symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "tango" symbol style. + +Package: libreoffice-style-sifr +Architecture: all +Enhances: libreoffice-core +Depends: libreoffice-style-breeze, ${misc:Depends} +Provides: libreoffice-style, libreoffice-style-hicontrast +Replaces: libreoffice-style-hicontrast +Conflicts: libreoffice-style-hicontrast +Description: office productivity suite -- Sifr symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "sifr" symbol style (an adaption of the Gnome + symbolic theme), needs to be manually enabled in the LibreOffice option + menu. + +Package: libreoffice-style-elementary +Architecture: all +Depends: libreoffice-style-tango, ${misc:Depends} +Enhances: libreoffice-core +Provides: libreoffice-style +Description: office productivity suite -- Elementary symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "elementary" symbol style, default style + for GTK+/Gnome. + +Package: libreoffice-gnome +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: libreoffice-style-elementary, ${gnome-gtk-recommends} +Suggests: libreoffice-evolution, seahorse +Section: gnome +Enhances: libreoffice +Provides: libreoffice-gtk-gnome +Replaces: libreoffice-gtk (<< 1:5.0.0~rc2-1) +Description: office productivity suite -- GNOME integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the GIO support. + . + You can extend the functionality of this by installing these packages: + . + * libreoffice-evolution: Evolution addressbook support + * evolution + +Package: python3-uno +Section: python +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Enhances: libreoffice +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Conflicts: python-uno +Replaces: libreoffice-common (<< 1:4.4.0~beta2), + libreoffice-core (= 1:4.3.0~beta1-1) +Description: Python-UNO bridge + 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. +Homepage: http://udk.openoffice.org/python/python-bridge.html + +Package: libreoffice-officebean +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Section: java +Depends: libreoffice-core (= ${binary:Version}), + ${java-common-depends}, + ${java-runtime-depends}, + ${java:Depends}, + ${misc:Depends}, + ${shlibs:Depends} +Description: office productivity suite -- Java bean + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the LibreOffice Office Bean for embedding + LibreOffice in custom Java applications. + +Package: libreoffice-script-provider-python +Architecture: all +Section: python +Depends: libreoffice-common, + libreoffice-core, + ${misc:Depends}, + ${python:Depends}, + ${pyuno-depends} +Description: Python script support provider for LibreOffice scripting framework + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The Scripting Framework allows LibreOffice users to write and run macros + in multiple languages including LibreOffice Basic, Python, Java, BeanShell + and JavaScript. These macros can then be assigned to menus, toolbars, + keyboard shortcuts, events and embedded objects. + . + This package contains the script provider to support Python. + +Package: libreoffice-script-provider-bsh +Architecture: all +Section: java +Depends: libreoffice-common, + libreoffice-core, + ${java-common-depends}, + ${java-runtime-depends}, + ${java:Depends}, + ${misc:Depends} +Description: BeanShell script support provider for LibreOffice scripting framework + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The Scripting Framework allows LibreOffice users to write and run macros + in multiple languages including LibreOffice Basic, Python, Java, BeanShell + and JavaScript. These macros can then be assigned to menus, toolbars, + keyboard shortcuts, events and embedded objects. + . + This package contains the script provider to support BeanShell. + +Package: libreoffice-script-provider-js +Architecture: all +Section: web +Depends: libreoffice-common, + libreoffice-core, + ${java-common-depends}, + ${java-runtime-depends}, + ${java:Depends}, + ${misc:Depends} +Description: JavaScript script support provider for LibreOffice scripting framework + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The Scripting Framework allows LibreOffice users to write and run macros + in multiple languages including LibreOffice Basic, Python, Java, BeanShell + and JavaScript. These macros can then be assigned to menus, toolbars, + keyboard shortcuts, events and embedded objects. + . + This package contains the script provider to support JavaScript. + +Package: libreoffice-avmedia-backend-gstreamer +Section: misc +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core, ${misc:Depends}, ${shlibs:Depends} +Recommends: gstreamer1.0-plugins-bad +Provides: libreoffice-avmedia-backend +Description: GStreamer backend for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains a GStreamer backend for LibreOffices avmedia component + to play audio/video. + +Package: libreoffice-avmedia-backend-vlc +Section: misc +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core, ${libvlc-dep}, ${misc:Depends}, ${shlibs:Depends} +Provides: libreoffice-avmedia-backend +Description: VLC backend for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains a VLC backend for LibreOffices avmedia component + to play audio/video. + +Package: libreoffice-sdbc-hsqldb +Depends: libreoffice-core, + ${java-common-depends}, + ${java-runtime-depends}, + ${java:Depends}, + ${misc:Depends}, + ${shlibs:Depends} +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Section: database +Enhances: libreoffice-base-drivers +Description: HSQLDB SDBC driver for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The HSQLDB SDBC Driver allows one to use the HSQLDB embedded database from + LibreOffice without any wrapper layer such as ODBC or JDBC. + +Package: libreoffice-base-drivers +Depends: libreoffice-core, ${misc:Depends}, ${shlibs:Depends} +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Section: database +Suggests: libjtds-java, + libreoffice-mysql-connector | libmyodbc | libmariadb-java, + libreoffice-sdbc-postgresql | odbc-postgresql | libpg-java, + libsqliteodbc | tdsodbc | mdbtools +Recommends: libreoffice-sdbc-hsqldb [alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386], + ${base-firebird-recommends} +Replaces: libreoffice-base (<< 1:4.3.0-3) +Breaks: libreoffice-base (<< 1:4.3.0-3) +Description: Database connectivity drivers for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the database connectivity drivers used by LibreOffices + database functionality: + - ODBC + - JDBC + - dBase + - Calc + - Flat files + - MySQL + . + You can extend this by installing: + . + * unixodbc: ODBC database support + * libmyodbc | odbc-postgresql | libsqliteodbc | tdsodbc | mdbtools: ODBC + drivers for: + - MySQL + - PostgreSQL + - SQLite + - MS SQL / Sybase SQL + - *.mdb (JET / MS Access) + * libmariadb-java | libpg-java | libjtds-java: JDBC Drivers + for: + - MySQL/MariaDB + - PostgreSQL + - MS SQL Server and Sybase + * libreoffice-sdbc-hsqldb: embedded HSQLDB SDBC Driver + * libreoffice-sdbc-firebird: Firebird SDBC Driver + * libreoffice-sdbc-postgresql: PostgreSQL SDBC Driver + * libreoffice-mysql-connector: "native" MySQL Connector + +Package: libreoffice-l10n-af +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-af | myspell-dictionary-af, + hyphen-af, + libreoffice-grammarcheck-af, + libreoffice-help-af, + mythes-af +Description: office productivity suite -- Afrikaans language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Afrikaans. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-am +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-am | myspell-dictionary-am, + hyphen-am, + libreoffice-grammarcheck-am, + libreoffice-help-am, + mythes-am +Description: office productivity suite -- Amharic language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Amharic. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ar +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-hosny-amiri, + fonts-hosny-thabit, + fonts-kacst, + fonts-sil-scheherazade, + libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ar | myspell-dictionary-ar, + hyphen-ar, + libreoffice-grammarcheck-ar, + libreoffice-help-ar, + mythes-ar +Description: office productivity suite -- Arabic language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Arabic. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-as +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.6.ds1-1) | locales-all (>= 2.3.6.ds1-1), + ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-as | myspell-dictionary-as, + hyphen-as, + libreoffice-grammarcheck-as, + libreoffice-help-as, + mythes-as +Description: office productivity suite -- Assamese language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Assamese. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ast +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ast | myspell-dictionary-ast, + hyphen-ast, + libreoffice-grammarcheck-ast, + libreoffice-help-ast, + mythes-ast +Description: office productivity suite -- Asturian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Asturian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-be +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-be | myspell-dictionary-be, + hyphen-be, + libreoffice-grammarcheck-be, + libreoffice-help-be, + mythes-be +Description: office productivity suite -- Belarusian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Belarusian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-bg +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-bg | myspell-dictionary-bg, + hyphen-bg, + libreoffice-grammarcheck-bg, + libreoffice-help-bg, + mythes-bg +Description: office productivity suite -- Bulgarian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Bulgarian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-bn +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-beng, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-bn | myspell-dictionary-bn, + hyphen-bn, + libreoffice-grammarcheck-bn, + libreoffice-help-bn, + mythes-bn +Description: office productivity suite -- Bengali language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Bengali. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-br +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-br | myspell-dictionary-br, + hyphen-br, + libreoffice-grammarcheck-br, + libreoffice-help-br, + mythes-br +Description: office productivity suite -- Breton language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Breton. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-bs +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-bs | myspell-dictionary-bs, + hyphen-bs, + libreoffice-grammarcheck-bs, + libreoffice-help-bs, + mythes-bs +Description: office productivity suite -- Bosnian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Bosnian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ca +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ca | myspell-dictionary-ca, + hyphen-ca, + libreoffice-grammarcheck-ca, + libreoffice-help-ca, + mythes-ca +Description: office productivity suite -- Catalan language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Catalan. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-cs +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-cs | myspell-dictionary-cs, + hyphen-cs, + libreoffice-grammarcheck-cs, + libreoffice-help-cs, + mythes-cs +Description: office productivity suite -- Czech language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Czech. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-cy +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-cy | myspell-dictionary-cy, + hyphen-cy, + libreoffice-grammarcheck-cy, + libreoffice-help-cy, + mythes-cy +Description: office productivity suite -- Welsh language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Welsh. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-da +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-da | myspell-dictionary-da, + hyphen-da, + libreoffice-grammarcheck-da, + libreoffice-help-da, + mythes-da +Description: office productivity suite -- Danish language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Danish. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-de +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-de | myspell-dictionary-de, + hyphen-de, + libreoffice-grammarcheck-de, + libreoffice-help-de, + mythes-de +Description: office productivity suite -- German language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + German. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-dz +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-dzongkha, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-dz | myspell-dictionary-dz, + hyphen-dz, + libreoffice-grammarcheck-dz, + libreoffice-help-dz, + mythes-dz +Description: office productivity suite -- Dzongkha language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Dzongkha. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-el +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-el | myspell-dictionary-el, + hyphen-el, + libreoffice-grammarcheck-el, + libreoffice-help-el, + mythes-el +Description: office productivity suite -- Greek language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Greek. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-en-gb +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-en-gb | myspell-dictionary-en-gb, + hyphen-en-gb, + libreoffice-grammarcheck-en-gb, + libreoffice-help-en-gb, + mythes-en-gb +Description: office productivity suite -- English_british language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + English_british. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-en-za +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-en-za | myspell-dictionary-en-za, + hyphen-en-za, + libreoffice-grammarcheck-en-za, + libreoffice-help-en-za, + mythes-en-za +Description: office productivity suite -- English_southafrican language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + English_southafrican. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-eo +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-eo | myspell-dictionary-eo, + hyphen-eo, + libreoffice-grammarcheck-eo, + libreoffice-help-eo, + mythes-eo +Description: office productivity suite -- Esperanto language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Esperanto. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-es +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-es | myspell-dictionary-es, + hyphen-es, + libreoffice-grammarcheck-es, + libreoffice-help-es, + mythes-es +Description: office productivity suite -- Spanish language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Spanish. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-et +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-et | myspell-dictionary-et, + hyphen-et, + libreoffice-grammarcheck-et, + libreoffice-help-et, + mythes-et +Description: office productivity suite -- Estonian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Estonian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-eu +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-eu | myspell-dictionary-eu, + hyphen-eu, + libreoffice-grammarcheck-eu, + libreoffice-help-eu, + mythes-eu +Description: office productivity suite -- Basque language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Basque. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-fa +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-farsiweb, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-fa | myspell-dictionary-fa, + hyphen-fa, + libreoffice-grammarcheck-fa, + libreoffice-help-fa, + mythes-fa +Description: office productivity suite -- Farsi language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Farsi. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-fi +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-fi | myspell-dictionary-fi | libreoffice-spellcheck-fi, + hyphen-fi | libreoffice-hyphenation-fi, + libreoffice-grammarcheck-fi, + libreoffice-help-fi, + mythes-fi +Description: office productivity suite -- Finnish language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Finnish. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-fr +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-fr | myspell-dictionary-fr, + hyphen-fr, + libreoffice-grammarcheck-fr, + libreoffice-help-fr, + mythes-fr +Description: office productivity suite -- French language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + French. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ga +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ga | myspell-dictionary-ga, + hyphen-ga, + libreoffice-grammarcheck-ga, + libreoffice-help-ga, + mythes-ga +Description: office productivity suite -- Gaelic language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Gaelic. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-gd +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-gd | myspell-dictionary-gd, + hyphen-gd, + libreoffice-grammarcheck-gd, + libreoffice-help-gd, + mythes-gd +Description: office productivity suite -- Scottish_gaelic language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Scottish_gaelic. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-gl +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-gl | myspell-dictionary-gl, + hyphen-gl, + libreoffice-grammarcheck-gl, + libreoffice-help-gl, + mythes-gl +Description: office productivity suite -- Galician language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Galician. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-gu +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-gujr, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-gu | myspell-dictionary-gu, + hyphen-gu, + libreoffice-grammarcheck-gu, + libreoffice-help-gu, + mythes-gu +Description: office productivity suite -- Gujarati language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Gujarati. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-gug +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-gug | myspell-dictionary-gug, + hyphen-gug, + libreoffice-grammarcheck-gug, + libreoffice-help-gug, + mythes-gug +Description: office productivity suite -- Guarani language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Guarani. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-he +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: culmus, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-he | myspell-dictionary-he, + hyphen-he, + libreoffice-grammarcheck-he, + libreoffice-help-he, + mythes-he +Description: office productivity suite -- Hebrew language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Hebrew. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-hi +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-hi | myspell-dictionary-hi, + hyphen-hi, + libreoffice-grammarcheck-hi, + libreoffice-help-hi, + mythes-hi +Description: office productivity suite -- Hindi language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Hindi. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-hr +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-hr | myspell-dictionary-hr, + hyphen-hr, + libreoffice-grammarcheck-hr, + libreoffice-help-hr, + mythes-hr +Description: office productivity suite -- Croatian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Croatian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-hu +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-hu | myspell-dictionary-hu, + hyphen-hu, + libreoffice-grammarcheck-hu, + libreoffice-help-hu, + mythes-hu +Description: office productivity suite -- Hungarian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Hungarian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-id +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-id | myspell-dictionary-id, + hyphen-id, + libreoffice-grammarcheck-id, + libreoffice-help-id, + mythes-id +Description: office productivity suite -- Indonesian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Indonesian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-is +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-is | myspell-dictionary-is, + hyphen-is, + libreoffice-grammarcheck-is, + libreoffice-help-is, + mythes-is +Description: office productivity suite -- Icelandic language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Icelandic. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-it +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-it | myspell-dictionary-it, + hyphen-it, + libreoffice-grammarcheck-it, + libreoffice-help-it, + mythes-it +Description: office productivity suite -- Italian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Italian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ja +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ja | myspell-dictionary-ja, + hyphen-ja, + libreoffice-grammarcheck-ja, + libreoffice-help-ja, + mythes-ja +Description: office productivity suite -- Japanese language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Japanese. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ka +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ka | myspell-dictionary-ka, + hyphen-ka, + libreoffice-grammarcheck-ka, + libreoffice-help-ka, + mythes-ka +Description: office productivity suite -- Georgian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Georgian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-kk +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-kk | myspell-dictionary-kk, + hyphen-kk, + libreoffice-grammarcheck-kk, + libreoffice-help-kk, + mythes-kk +Description: office productivity suite -- Kazakh language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Kazakh. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-km +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.5-12) | locales-all, + ${misc:Depends} +Recommends: fonts-khmeros, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-km | myspell-dictionary-km, + hyphen-km, + libreoffice-grammarcheck-km, + libreoffice-help-km, + mythes-km +Description: office productivity suite -- Khmer language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Khmer. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-kmr +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-kmr | myspell-dictionary-kmr, + hyphen-kmr, + libreoffice-grammarcheck-kmr, + libreoffice-help-kmr, + mythes-kmr +Description: office productivity suite -- Kurmanji language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Kurmanji. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-kn +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-kn | myspell-dictionary-kn, + hyphen-kn, + libreoffice-grammarcheck-kn, + libreoffice-help-kn, + mythes-kn +Description: office productivity suite -- Kannada language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Kannada. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ko +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ko | myspell-dictionary-ko, + hyphen-ko, + libreoffice-grammarcheck-ko, + libreoffice-help-ko, + mythes-ko +Description: office productivity suite -- Korean language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Korean. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-lt +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-lt | myspell-dictionary-lt, + hyphen-lt, + libreoffice-grammarcheck-lt, + libreoffice-help-lt, + mythes-lt +Description: office productivity suite -- Lithuanian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Lithuanian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-lv +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-lv | myspell-dictionary-lv, + hyphen-lv, + libreoffice-grammarcheck-lv, + libreoffice-help-lv, + mythes-lv +Description: office productivity suite -- Latvian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Latvian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-mk +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-mk | myspell-dictionary-mk, + hyphen-mk, + libreoffice-grammarcheck-mk, + libreoffice-help-mk, + mythes-mk +Description: office productivity suite -- Macedonian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Macedonian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-mn +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-mn | myspell-dictionary-mn, + hyphen-mn, + libreoffice-grammarcheck-mn, + libreoffice-help-mn, + mythes-mn +Description: office productivity suite -- Mongolian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Mongolian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ml +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-mlym, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ml | myspell-dictionary-ml, + hyphen-ml, + libreoffice-grammarcheck-ml, + libreoffice-help-ml, + mythes-ml +Description: office productivity suite -- Malayalam language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Malayalam. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-mr +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-deva, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-mr | myspell-dictionary-mr, + hyphen-mr, + libreoffice-grammarcheck-mr, + libreoffice-help-mr, + mythes-mr +Description: office productivity suite -- Marathi language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Marathi. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-nb +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-nb | myspell-dictionary-nb, + hyphen-nb, + libreoffice-grammarcheck-nb, + libreoffice-help-nb, + mythes-nb +Description: office productivity suite -- Norwegian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Norwegian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ne +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-deva, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ne | myspell-dictionary-ne, + hyphen-ne, + libreoffice-grammarcheck-ne, + libreoffice-help-ne, + mythes-ne +Description: office productivity suite -- Nepalese language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Nepalese. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-nl +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-nl | myspell-dictionary-nl, + hyphen-nl, + libreoffice-grammarcheck-nl, + libreoffice-help-nl, + mythes-nl +Description: office productivity suite -- Dutch language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Dutch. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-nn +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-nn | myspell-dictionary-nn, + hyphen-nn, + libreoffice-grammarcheck-nn, + libreoffice-help-nn, + mythes-nn +Description: office productivity suite -- Norwegian_nynorsk language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Norwegian_nynorsk. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-nr +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.6.ds1-1) | locales-all (>= 2.3.6.ds1-1), + ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-nr | myspell-dictionary-nr, + hyphen-nr, + libreoffice-grammarcheck-nr, + libreoffice-help-nr, + mythes-nr +Description: office productivity suite -- Ndebele language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Ndebele. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-nso +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-nso | myspell-dictionary-nso, + hyphen-nso, + libreoffice-grammarcheck-nso, + libreoffice-help-nso, + mythes-nso +Description: office productivity suite -- Northern_sotho language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Northern_sotho. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-oc +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-oc | myspell-dictionary-oc, + hyphen-oc, + libreoffice-grammarcheck-oc, + libreoffice-help-oc, + mythes-oc +Description: office productivity suite -- Occitan language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Occitan. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-om +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-om | myspell-dictionary-om, + hyphen-om, + libreoffice-grammarcheck-om, + libreoffice-help-om, + mythes-om +Description: office productivity suite -- Oromo language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Oromo. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-or +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.6.ds1-1) | locales-all (>= 2.3.6.ds1-1), + ${misc:Depends} +Recommends: fonts-orya, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-or | myspell-dictionary-or, + hyphen-or, + libreoffice-grammarcheck-or, + libreoffice-help-or, + mythes-or +Description: office productivity suite -- Odia language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Odia. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-pa-in +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-guru, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-pa-in | myspell-dictionary-pa-in, + hyphen-pa-in, + libreoffice-grammarcheck-pa-in, + libreoffice-help-pa-in, + mythes-pa-in +Description: office productivity suite -- Punjabi language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Punjabi. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-pl +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-pl | myspell-dictionary-pl, + hyphen-pl, + libreoffice-grammarcheck-pl, + libreoffice-help-pl, + mythes-pl +Description: office productivity suite -- Polish language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Polish. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-pt +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-pt | myspell-dictionary-pt, + hyphen-pt, + libreoffice-grammarcheck-pt, + libreoffice-help-pt, + mythes-pt +Description: office productivity suite -- Portuguese language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Portuguese. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-pt-br +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-pt-br | myspell-dictionary-pt-br, + hyphen-pt-br, + libreoffice-grammarcheck-pt-br, + libreoffice-help-pt-br, + mythes-pt-br +Description: office productivity suite -- Portuguese_brazilian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Portuguese_brazilian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ro +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ro | myspell-dictionary-ro, + hyphen-ro, + libreoffice-grammarcheck-ro, + libreoffice-help-ro, + mythes-ro +Description: office productivity suite -- Romanian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Romanian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ru +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ru | myspell-dictionary-ru, + hyphen-ru, + libreoffice-grammarcheck-ru, + libreoffice-help-ru, + mythes-ru +Description: office productivity suite -- Russian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Russian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-rw +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.6) | locales-all (>= 2.3.6), + ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-rw | myspell-dictionary-rw, + hyphen-rw, + libreoffice-grammarcheck-rw, + libreoffice-help-rw, + mythes-rw +Description: office productivity suite -- Kinarwanda language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Kinarwanda. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-si +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-si | myspell-dictionary-si, + hyphen-si, + libreoffice-grammarcheck-si, + libreoffice-help-si, + mythes-si +Description: office productivity suite -- Sinhala language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Sinhala. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-sk +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-sk | myspell-dictionary-sk, + hyphen-sk, + libreoffice-grammarcheck-sk, + libreoffice-help-sk, + mythes-sk +Description: office productivity suite -- Slovak language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Slovak. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-sl +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-sl | myspell-dictionary-sl, + hyphen-sl, + libreoffice-grammarcheck-sl, + libreoffice-help-sl, + mythes-sl +Description: office productivity suite -- Slovenian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Slovenian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-sr +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.6.ds1-5) | locales-all, + ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-sr | myspell-dictionary-sr, + hyphen-sr, + libreoffice-grammarcheck-sr, + libreoffice-help-sr, + mythes-sr +Description: office productivity suite -- Serbian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Serbian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ss +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.5-12) | locales-all, + ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ss | myspell-dictionary-ss, + hyphen-ss, + libreoffice-grammarcheck-ss, + libreoffice-help-ss, + mythes-ss +Description: office productivity suite -- Swazi language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Swazi. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-st +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-st | myspell-dictionary-st, + hyphen-st, + libreoffice-grammarcheck-st, + libreoffice-help-st, + mythes-st +Description: office productivity suite -- Southern_sotho language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Southern_sotho. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-sv +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-sv | myspell-dictionary-sv, + hyphen-sv, + libreoffice-grammarcheck-sv, + libreoffice-help-sv, + mythes-sv +Description: office productivity suite -- Swedish language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Swedish. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ta +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-taml, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ta | myspell-dictionary-ta, + hyphen-ta, + libreoffice-grammarcheck-ta, + libreoffice-help-ta, + mythes-ta +Description: office productivity suite -- Tamil language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Tamil. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-te +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-telu, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-te | myspell-dictionary-te, + hyphen-te, + libreoffice-grammarcheck-te, + libreoffice-help-te, + mythes-te +Description: office productivity suite -- Telugu language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Telugu. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-tg +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-tg | myspell-dictionary-tg, + hyphen-tg, + libreoffice-grammarcheck-tg, + libreoffice-help-tg, + mythes-tg +Description: office productivity suite -- Tajik language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Tajik. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-th +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: fonts-thai-tlwg, libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-th | myspell-dictionary-th, + hyphen-th, + libreoffice-grammarcheck-th, + libreoffice-help-th, + mythes-th +Description: office productivity suite -- Thai language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Thai. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-tn +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.5-12) | locales-all, + ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-tn | myspell-dictionary-tn, + hyphen-tn, + libreoffice-grammarcheck-tn, + libreoffice-help-tn, + mythes-tn +Description: office productivity suite -- Tswana language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Tswana. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-tr +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-tr | myspell-dictionary-tr, + hyphen-tr, + libreoffice-grammarcheck-tr, + libreoffice-help-tr, + mythes-tr +Description: office productivity suite -- Turkish language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Turkish. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ts +Section: localization +Architecture: all +Depends: libreoffice-common, + locales (>= 2.3.5-12) | locales-all, + ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ts | myspell-dictionary-ts, + hyphen-ts, + libreoffice-grammarcheck-ts, + libreoffice-help-ts, + mythes-ts +Description: office productivity suite -- Tsonga language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Tsonga. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ug +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ug | myspell-dictionary-ug, + hyphen-ug, + libreoffice-grammarcheck-ug, + libreoffice-help-ug, + mythes-ug +Description: office productivity suite -- Uighur language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Uighur. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-uk +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-uk | myspell-dictionary-uk, + hyphen-uk, + libreoffice-grammarcheck-uk, + libreoffice-help-uk, + mythes-uk +Description: office productivity suite -- Ukrainian language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Ukrainian. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-uz +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-uz | myspell-dictionary-uz, + hyphen-uz, + libreoffice-grammarcheck-uz, + libreoffice-help-uz, + mythes-uz +Description: office productivity suite -- Uzbek language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Uzbek. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-ve +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-ve | myspell-dictionary-ve, + hyphen-ve, + libreoffice-grammarcheck-ve, + libreoffice-help-ve, + mythes-ve +Description: office productivity suite -- Venda language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Venda. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-vi +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-vi | myspell-dictionary-vi, + hyphen-vi, + libreoffice-grammarcheck-vi, + libreoffice-help-vi, + mythes-vi +Description: office productivity suite -- Vietnamese language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Vietnamese. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-xh +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-xh | myspell-dictionary-xh, + hyphen-xh, + libreoffice-grammarcheck-xh, + libreoffice-help-xh, + mythes-xh +Description: office productivity suite -- Xhosa language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Xhosa. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-zh-cn +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-zh-cn | myspell-dictionary-zh-cn, + hyphen-zh-cn, + libreoffice-grammarcheck-zh-cn, + libreoffice-help-zh-cn, + mythes-zh-cn +Description: office productivity suite -- Chinese_simplified language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Chinese_simplified. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-zh-tw +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-zh-tw | myspell-dictionary-zh-tw, + hyphen-zh-tw, + libreoffice-grammarcheck-zh-tw, + libreoffice-help-zh-tw, + mythes-zh-tw +Description: office productivity suite -- Chinese_traditional language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Chinese_traditional. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-l10n-zu +Section: localization +Architecture: all +Depends: libreoffice-common, locales | locales-all, ${misc:Depends} +Recommends: libreoffice-core (>> ${base-version}) +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-zu | myspell-dictionary-zu, + hyphen-zu, + libreoffice-grammarcheck-zu, + libreoffice-help-zu, + mythes-zu +Description: office productivity suite -- Zulu language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + Zulu. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + +Package: libreoffice-help-en-us +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-en-us, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- English_american help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + English_american. + +Package: libreoffice-help-ca +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-ca, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Catalan help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Catalan. + +Package: libreoffice-help-cs +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-cs, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Czech help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Czech. + +Package: libreoffice-help-da +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-da, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Danish help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Danish. + +Package: libreoffice-help-de +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-de, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- German help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + German. + +Package: libreoffice-help-dz +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-dz, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Dzongkha help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Dzongkha. + +Package: libreoffice-help-el +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-el, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Greek help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Greek. + +Package: libreoffice-help-en-gb +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-en-gb, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- English_british help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + English_british. + +Package: libreoffice-help-es +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-es, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Spanish help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Spanish. + +Package: libreoffice-help-et +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-et, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Estonian help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Estonian. + +Package: libreoffice-help-eu +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-eu, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Basque help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Basque. + +Package: libreoffice-help-fi +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-fi, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Finnish help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Finnish. + +Package: libreoffice-help-fr +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-fr, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- French help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + French. + +Package: libreoffice-help-gl +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-gl, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Galician help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Galician. + +Package: libreoffice-help-hi +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-hi, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Hindi help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Hindi. + +Package: libreoffice-help-hu +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-hu, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Hungarian help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Hungarian. + +Package: libreoffice-help-it +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-it, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Italian help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Italian. + +Package: libreoffice-help-ja +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-ja, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Japanese help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Japanese. + +Package: libreoffice-help-km +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-km, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Khmer help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Khmer. + +Package: libreoffice-help-ko +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-ko, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Korean help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Korean. + +Package: libreoffice-help-nl +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-nl, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Dutch help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Dutch. + +Package: libreoffice-help-om +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-om, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Oromo help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Oromo. + +Package: libreoffice-help-pl +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-pl, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Polish help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Polish. + +Package: libreoffice-help-pt +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-pt, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Portuguese help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Portuguese. + +Package: libreoffice-help-pt-br +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-pt-br, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Portuguese_brazilian help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Portuguese_brazilian. + +Package: libreoffice-help-ru +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-ru, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Russian help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Russian. + +Package: libreoffice-help-sk +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-help-cs, + libreoffice-l10n-sk, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Slovak help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Slovak. + +Package: libreoffice-help-sl +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-sl, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Slovenian help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Slovenian. + +Package: libreoffice-help-sv +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-sv, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Swedish help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Swedish. + +Package: libreoffice-help-tr +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-tr, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Turkish help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Turkish. + +Package: libreoffice-help-vi +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-vi, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Vietnamese help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Vietnamese. + +Package: libreoffice-help-zh-cn +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-zh-cn, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Chinese_simplified help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Chinese_simplified. + +Package: libreoffice-help-zh-tw +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-common (>= 1:6.1.0~), + libreoffice-l10n-zh-tw, + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- Chinese_traditional help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + Chinese_traditional. + +Package: uno-libs3 +Section: libs +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: ${misc:Depends}, ${shlibs:Depends} +Replaces: ure (<< 1:5.0.0~rc2-1) +Breaks: libreoffice-core (<< 1:4.3.0~) +Description: LibreOffice UNO runtime environment -- public shared libraries + The Uno Runtime Environment (URE) is the well-known UNO component model + of LibreOffice, packaged up as an individual product. + . + It offers you a flexible, low-overhead component model that is most ideal + for (but not limited to) combining in one application components written in + different computer languages, and developed by different parties. You can use + it to create any kind of application, in whatever application domain you can + imagine. + . + This package contains the public libraries: + - libuno_sal: System Abstraction Layer (C Interface) + - libuno_salhelpergcc3: additional C++ functionality for sal + - libuno_cppu: C++ UNO bridge (C Interface) + - libuno_cppuhelpergcc3: additional C++ functionality for cppu + - libuno_purpenvhelpergcc3: "purpose environments" helper + +Package: ure +Section: libs +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: uno-libs3 (= ${ure:Version}), ${misc:Depends}, ${shlibs:Depends} +Suggests: java5-runtime +Replaces: libreoffice-common (<< 1:4.5.0), libreoffice-core (<< 1:5.3.0~beta1~) +Breaks: libreoffice-common (<< 1:4.5.0), libreoffice-core (<< 1:5.3.0~beta1~) +Description: LibreOffice UNO runtime environment + The Uno Runtime Environment (URE) is the well-known UNO component model + of LibreOffice, packaged up as an individual product. + . + It offers you a flexible, low-overhead component model that is most ideal + for (but not limited to) combining in one application components written in + different computer languages, and developed by different parties. You can use + it to create any kind of application, in whatever application domain you can + imagine. + +Package: libreoffice-wiki-publisher +Section: misc +Architecture: all +Depends: libreoffice-core, + ${java-common-depends}, + ${java-runtime-depends}, + ${java:Depends}, + ${misc:Depends} +Enhances: libreoffice-writer +Suggests: mediawiki +Description: LibreOffice extension for working with MediaWiki articles + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains an extension to create/edit/publish MediaWiki + articles with LibreOffice +Homepage: http://extensions.services.openoffice.org/project/wikipublisher + +Package: libreoffice-report-builder +Section: misc +Architecture: all +Depends: libreoffice-core, + libreoffice-java-common, + libreoffice-report-builder-bin (>= ${base-version}), + ${java:Depends}, + ${misc:Depends}, + ${report-builder-jar-depends} +Provides: libreoffice-reportdesigner +Enhances: libreoffice-base +Description: LibreOffice component for building database reports + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the report builder: + "Create with the Sun Report Builder stylish, smart-looking database reports. + The flexible report editor can define group and page headers as well as + group and page footers and even calculation fields are available to + accomplish complex database reports." + +Package: libreoffice-report-builder-bin +Section: misc +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Depends: libreoffice-base, libreoffice-core, ${misc:Depends}, ${shlibs:Depends} +Description: LibreOffice component for building database reports -- libraries + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains some architecture-dependent support libraries + (librpt*.so) for the report builder component. + +Package: libreoffice-nlpsolver +Architecture: all +Depends: libreoffice-calc, + libreoffice-core, + ${java-common-depends}, + ${java-runtime-depends}, + ${misc:Depends} +Section: math +Description: "Solver for Nonlinear Programming" extension for LibreOffice + By default LibreOffice Calc ships with a solver engine for linear + programming only. This allows the optimization of models to a certain degree. + However, if the formulas or constraints become more complex, + nonlinear programming is required. That missing gap is now filled by the + Solver for Nonlinear Programming extension. + . + Currently it incorporates two Evolutionary Algorithms which are able to + handle floating point and integer variables as well as nonlinear constraints. + +Package: fonts-opensymbol +Section: fonts +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Recommends: fontconfig +Replaces: ttf-opensymbol +Provides: ttf-opensymbol +Description: OpenSymbol TrueType font + This package contains the OpenSymbol TrueType font included in + LibreOffice. This font contains symbols (like fonts as Wingdings(tm)), + bullets (needed for bullets in LibreOffice) and non-latin character + +Package: libreoffice-dev +Section: devel +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core (= ${binary:Version}), + libreoffice-dev-common (= ${source:Version}), + ${idlc-cpp-depends}, + ${misc:Depends}, + ${shlibs:Depends} +Recommends: g++, ${java-common-depends}, ${java-runtime-depends} +Suggests: libmythes-dev, libreoffice-dev-doc, libreofficekit-dev +Replaces: libreoffice-dev-common (<< 1:5.4.1~) +Conflicts: libreoffice (<< 1:5.2.5-2~), libreoffice-dev-doc (<< 1:5.2.5-2~) +Breaks: libreoffice-dev-common (<< 1:5.4.1~) +Description: office productivity suite -- SDK -- architecture-dependent parts + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the (architecture-dependent) files needed to build + plugins/add-ons for LibreOffice (build tools, libraries, arch-dependent + includes, ...). + . + It also contains the gengal and ui-previewer utilities. + +Package: libreoffice-dev-common +Section: devel +Architecture: all +Depends: ${misc:Depends} +Replaces: libreoffice-dev (<< 1:5.2.0~) +Breaks: libreoffice-dev (<< 1:5.2.0~) +Conflicts: libreoffice (<< 1:5.2.5-2~) +Description: office productivity suite -- SDK -- architecture-independent parts + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the (architecture-independent) files needed to build + plugins/add-ons for LibreOffice (includes, IDL files, ...) + +Package: libreoffice-dev-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Recommends: libreoffice-dev (= ${binary:Version}), www-browser +Conflicts: libreoffice (<< 1:5.2.5-2~), + libreoffice-dev (<= 1:5.0.3~rc1-2), + openoffice.org-dev-doc +Build-Profiles: +Description: office productivity suite -- SDK documentation + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the documentation of the LibreOffice SDK: + . + * C++/Java API reference + * IDL reference + * C++/Java/Basic examples + +Package: libreofficekit-dev +Section: libdevel +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: gir1.2-lokdocview-0.1 (= ${binary:Version}), ${misc:Depends} +Suggests: libgtk-3-dev +Recommends: libreoffice-core, libreofficekit-data +Replaces: gir1.2-lokdocview-0.1 (<< 1:5.4.0~rc1) +Description: LibreOfficeKit -- headers + LibreOfficeKit can be used for accessing LibreOffice functionality through + C/C++, without any need to use UNO. + . + For now it only offers document conversion (in addition to an experimental + tiled rendering API). + . + This package contains the headers needed for using LibreOfficeKit. + +Package: libreoffice-gtk2 +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Section: gnome +Enhances: libreoffice +Replaces: libreoffice-gtk (<< 1:5.2.0~) +Breaks: libreoffice-gtk (<< 1:5.2.0~) +Description: office productivity suite -- GTK+ 2 integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the Gtk plugin for drawing LibreOffices widgets + with Gtk+ 2 and a Gtk/GNOMEish File Picker and print dialog when running + under GNOME. + +Package: libreoffice-gtk3 +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: libreofficekit-data +Recommends: gstreamer1.0-gtk3 +Section: gnome +Enhances: libreoffice +Description: office productivity suite -- GTK+ 3 integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the Gtk plugin for drawing LibreOffices widgets + with Gtk+ 3 and Gtk/GNOMEish print dialog when running under GNOME. + +Package: gir1.2-lokdocview-0.1 +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Section: introspection +Depends: liblibreofficekitgtk (= ${binary:Version}), + ${gir:Depends}, + ${misc:Depends} +Description: GTK3 widget wrapping LibreOffice functionality - introspection + LOKDocView is the GTK3 widget that wraps the libreoffice functionality and + exposes a simple API for applications to use this widget. + . + This package contains the Introspection data. + +Package: liblibreofficekitgtk +Section: gnome +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreofficekit-data, ${misc:Depends}, ${shlibs:Depends} +Replaces: libreoffice-gtk3 (<< 1:5.2.0~) +Breaks: libreoffice-gtk3 (<< 1:5.2.0~) +Recommends: libreoffice-gtk3 +Description: GTK3 widget wrapping LibreOffice functionality + This package contains a (basic) GTK+ document viewer widget (used + by e.g. LOKDocView) + +Package: libreofficekit-data +Architecture: all +Section: web +Depends: ${misc:Depends} +Recommends: gir1.2-lokdocview-0.1 +Description: common data for LOKDocView + LOKDocView is the GTK3 widget that wraps the libreoffice functionality and + exposes a simple API for applications to use this widget. + . + This package contains architecture-independent data (e.g. the selection + handlers). + +Package: libreoffice-kde5 +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: ${kde-iconset-dep} +Replaces: libreoffice-kde (<< 1:6.1.0~alpha1-1) +Section: kde +Enhances: libreoffice +Description: office productivity suite -- KDE 5 integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the KDE plugin for LibreOffice and a KDEish File Picker + when running under KDE. + +Package: libreoffice-sdbc-postgresql +Section: misc +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Depends: libreoffice-core, ${misc:Depends}, ${shlibs:Depends} +Suggests: postgresql (>= 8.4) +Enhances: libreoffice-base-drivers +Description: PostgreSQL SDBC driver for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The PostgreSQL SDBC Driver allows one to use the PostgreSQL database from + LibreOffice without any wrapper layer such as ODBC or JDBC. +Homepage: http://wiki.documentfoundation.org/PostgreSQL-SDBC + +Package: libreoffice-mysql-connector +Section: misc +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Depends: libreoffice-core, ${misc:Depends}, ${shlibs:Depends} +Suggests: default-mysql-server | virtual-mysql-server +Homepage: http://extensions.services.openoffice.org/en/project/mysql_connector +Description: MariaDB/MySQL Connector extension for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The MariaDB/MySQL Connector extension allows one to use the MariaDB or MySQL + database from LibreOffice without any wrapper layer such as ODBC or JDBC. + +Package: libreoffice-evolution +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Section: gnome +Depends: libreoffice-base, + libreoffice-common, + libreoffice-core (= ${binary:Version}), + ${libebook-dep}, + ${misc:Depends}, + ${shlibs:Depends} +Recommends: evolution +Description: office productivity suite -- Evolution addressbook support + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package allows LibreOffice to access Evolution address books. + You need to install evolution separately. + +Package: libreoffice-subsequentcheckbase +Section: libs +Architecture: all +Depends: ${java:Depends}, ${misc:Depends} +Build-Profiles: +Description: LibreOffice java test libraries + Java libraries LibreOffice subsequentchecks integration test suite + +Package: libreoffice-smoketest-data +Section: misc +Depends: ${misc:Depends} +Architecture: all +Build-Profiles: +Description: data files for LibreOffices "smoketest" + Data files for the LibreOffice "smoketest". + +Package: libreoffice-librelogo +Section: misc +Architecture: all +Depends: libreoffice-core, + libreoffice-script-provider-python, + libreoffice-writer, + ${misc:Depends} +Homepage: http://librelogo.org +Description: Logo-like progamming language for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains Librelogo, which is a pyuno-based Logo-like progamming + language with interactive vectorgraphics for education and DTP + - basic Logo syntax for back compatibility with educational Logo systems + - interactive vectorgraphics in LibreOffice Writer + - native commands (easily translatable) + - Python data structures (list, tuple, set, dictionary) and other Python + features + +Package: libreoffice-sdbc-firebird +Depends: libreoffice-core, + ${firebird-engine-depends}, + ${misc:Depends}, + ${shlibs:Depends} +Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386 +Section: database +Enhances: libreoffice-base-drivers +Description: Firebird SDBC driver for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The Firebird SDBC Driver allows one to use the Firebird database from + LibreOffice without any wrapper layer such as ODBC or JDBC. + +Package: libreoffice-pdfimport +Section: oldlibs +Architecture: all +Depends: libreoffice-common (>= 1:5.4~), + libreoffice-core (>= 1:5.4~), + ${misc:Depends} +Description: transitional package for PDF Import component for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package formerly contained a component enabling LibreOffice to import PDF + Documents. This now has been merged back into the "main" packages and this + package thus can be safely removed once installed. + +Package: libreoffice-kde +Section: oldlibs +Architecture: all +Depends: libreoffice-kde5, ${misc:Depends} +Description: transitional package for LibreOffice KDE integration + This package used to contain the LibreOffice KDE 4 backend. The package has + been renamed to libreoffice-kdeX and this package now depends on the new + libreoffice-kde5 packages. + . + You can safely remove this package. + +Package: libreoffice-ogltrans +Section: oldlibs +Architecture: all +Depends: libreoffice-impress (>= 1:6.1.4-2~), ${misc:Depends} +Description: transitional package for libreoffice-ogltrans + This package used to contain the OpenGL slide transitions for LibreOffice + Impress. + That has been merged into libreoffice-impress directly and thus this package + can be safely removed. + diff --git a/debian/control.evolution.in b/debian/control.evolution.in new file mode 100644 index 00000000000..23244bee912 --- /dev/null +++ b/debian/control.evolution.in @@ -0,0 +1,17 @@ +Package: libreoffice-evolution +Architecture: %OOO_BASE_ARCHS% +Section: gnome +Depends: libreoffice-base, + libreoffice-common, + libreoffice-core (= ${binary:Version}), + ${libebook-dep}, + ${misc:Depends}, + ${shlibs:Depends} +Recommends: evolution +Description: office productivity suite -- Evolution addressbook support + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package allows LibreOffice to access Evolution address books. + You need to install evolution separately. + diff --git a/debian/control.firebird.in b/debian/control.firebird.in new file mode 100644 index 00000000000..16c3763730b --- /dev/null +++ b/debian/control.firebird.in @@ -0,0 +1,12 @@ +Package: libreoffice-sdbc-firebird +Depends: libreoffice-core, ${shlibs:Depends}, ${misc:Depends}, ${firebird-engine-depends} +Architecture: %OOO_FIREBIRD_ARCHS% +Section: database +Enhances: libreoffice-base-drivers +Description: Firebird SDBC driver for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The Firebird SDBC Driver allows one to use the Firebird database from + LibreOffice without any wrapper layer such as ODBC or JDBC. + diff --git a/debian/control.fonts.in b/debian/control.fonts.in new file mode 100644 index 00000000000..f52165d404c --- /dev/null +++ b/debian/control.fonts.in @@ -0,0 +1,13 @@ +Package: fonts-opensymbol +Section: fonts +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Recommends: fontconfig +Replaces: ttf-opensymbol +Provides: ttf-opensymbol +Description: OpenSymbol TrueType font + This package contains the OpenSymbol TrueType font included in + LibreOffice. This font contains symbols (like fonts as Wingdings(tm)), + bullets (needed for bullets in LibreOffice) and non-latin character + diff --git a/debian/control.gtk2.in b/debian/control.gtk2.in new file mode 100644 index 00000000000..13e4542a040 --- /dev/null +++ b/debian/control.gtk2.in @@ -0,0 +1,17 @@ +Package: libreoffice-gtk2 +Architecture: %OOO_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Section: gnome +Enhances: libreoffice +Replaces: libreoffice-gtk (<< 1:5.2.0~) +Breaks: libreoffice-gtk (<< 1:5.2.0~) +Description: office productivity suite -- GTK+ 2 integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the Gtk plugin for drawing LibreOffices widgets + with Gtk+ 2 and a Gtk/GNOMEish File Picker and print dialog when running + under GNOME. + diff --git a/debian/control.gtk3.in b/debian/control.gtk3.in new file mode 100644 index 00000000000..6dd26771630 --- /dev/null +++ b/debian/control.gtk3.in @@ -0,0 +1,49 @@ +Package: libreoffice-gtk3 +Architecture: %OOO_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: libreofficekit-data +Recommends: gstreamer1.0-gtk3 +Section: gnome +Enhances: libreoffice +Description: office productivity suite -- GTK+ 3 integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the Gtk plugin for drawing LibreOffices widgets + with Gtk+ 3 and Gtk/GNOMEish print dialog when running under GNOME. + +Package: gir1.2-lokdocview-0.1 +Architecture: %OOO_ARCHS% +Section: introspection +Depends: ${gir:Depends}, ${misc:Depends}, liblibreofficekitgtk (= ${binary:Version}) +Description: GTK3 widget wrapping LibreOffice functionality - introspection + LOKDocView is the GTK3 widget that wraps the libreoffice functionality and + exposes a simple API for applications to use this widget. + . + This package contains the Introspection data. + +Package: liblibreofficekitgtk +Section: gnome +Architecture: %OOO_ARCHS% +Depends: ${shlibs:Depends}, ${misc:Depends}, libreofficekit-data +Replaces: libreoffice-gtk3 (<< 1:5.2.0~) +Breaks: libreoffice-gtk3 (<< 1:5.2.0~) +Recommends: libreoffice-gtk3 +Description: GTK3 widget wrapping LibreOffice functionality + This package contains a (basic) GTK+ document viewer widget (used + by e.g. LOKDocView) + +Package: libreofficekit-data +Architecture: all +Section: web +Depends: ${misc:Depends} +Recommends: gir1.2-lokdocview-0.1 +Description: common data for LOKDocView + LOKDocView is the GTK3 widget that wraps the libreoffice functionality and + exposes a simple API for applications to use this widget. + . + This package contains architecture-independent data (e.g. the selection + handlers). + diff --git a/debian/control.help.in b/debian/control.help.in new file mode 100644 index 00000000000..faf21928d16 --- /dev/null +++ b/debian/control.help.in @@ -0,0 +1,17 @@ +Package: libreoffice-help-@LCODE@ +Architecture: all +Section: doc +Recommends: libreoffice-core (>> ${base-version}) +Depends: libreoffice-l10n-@LCODE@, + libreoffice-common (>= 1:6.1.0~), + ${help-depends}, + ${misc:Depends} +Provides: libreoffice-help (= ${help-l10n-virtual-version}) +Replaces: libreoffice-help-common (<< 1:6.1.0~beta1) +Description: office productivity suite -- @LNAME@ help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the help of LibreOffice in + @LNAME@. + diff --git a/debian/control.in b/debian/control.in new file mode 100644 index 00000000000..04fecab67a7 --- /dev/null +++ b/debian/control.in @@ -0,0 +1,623 @@ +Source: libreoffice +Section: editors +Priority: optional +Maintainer: Debian LibreOffice Maintainers +Uploaders: Rene Engelhard , Chris Halls +Build-Depends: %BUILD_DEPS%, +Build-Depends-Indep: %BUILD_DEPS_INDEP% +Build-Conflicts: nvidia-glx-dev, + nvidia-glx-legacy-dev, + amd-libopencl1, + nvidia-libopencl1 +Standards-Version: 4.0.1 +Vcs-Git: https://salsa.debian.org/libreoffice-team/libreoffice/libreoffice.git +Vcs-Browser: https://salsa.debian.org/libreoffice-team/libreoffice/libreoffice +Bugs: @BUGS@ +Homepage: http://www.libreoffice.org + +Package: libreoffice +Architecture: %OOO_ARCHS% +Section: metapackages +Depends: libreoffice-base%OOO_NO_BASE_ARCHS%, + libreoffice-calc, + libreoffice-core (= ${binary:Version}), + libreoffice-draw, + libreoffice-impress, + libreoffice-math, + libreoffice-report-builder-bin%OOO_NO_REPORTBUILDER_ARCHS%, + libreoffice-writer, + ${avmedia-be-depends}, + ${misc:Depends}, + ${pyuno-depends} +Recommends: ${java-common-depends}, + fonts-sil-gentium-basic, + fonts-crosextra-caladea, + fonts-crosextra-carlito, + fonts-dejavu, + fonts-liberation, + fonts-liberation2, + fonts-linuxlibertine, + fonts-noto-mono, + libreoffice-script-provider-bsh, + libreoffice-script-provider-js, + libreoffice-script-provider-python, + libreoffice-librelogo, + libreoffice-nlpsolver, + libreoffice-report-builder%OOO_NO_REPORTBUILDER_ARCHS%, + libreoffice-wiki-publisher, + libreoffice-sdbc-postgresql +Suggests: cups-bsd, + ghostscript, + hunspell-dictionary, + hyphen-hyphenation-patterns, + firefox-esr | thunderbird | firefox, + imagemagick | graphicsmagick-imagemagick-compat, + libgl1, + libreoffice-grammarcheck, + libreoffice-help (= ${help-l10n-virtual-version}), + libreoffice-l10n (= ${help-l10n-virtual-version}), + ${libsane-suggests}, + libxrender1, + myspell-dictionary, + mythes-thesaurus, + openclipart2-libreoffice | openclipart-libreoffice, + pstoedit, + unixodbc, + gnupg, + gpa, + ${gstreamer-plugins-suggests}, + ${java-runtime-depends}, + ${ooo-officebean-dep}, + %LO-DESKTOP-INTEGRATION% +Conflicts: libreoffice-dev (<= 1:5.0.3~rc1-2), libreoffice-dev-doc (<= 1:5.0.3~rc1-2) +Description: office productivity suite (metapackage) + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This metapackage installs all components of libreoffice: + * libreoffice-writer: Word processor + * libreoffice-calc: Spreadsheet + * libreoffice-impress: Presentation + * libreoffice-draw: Drawing + * libreoffice-base: Database + * libreoffice-math: Equation editor + It also recommends additional packages (e.g. fonts) in order to match an + upstream LibreOffice install as closely as possible. + . + You can extend the functionality of LibreOffice by installing these + packages: + * hunspell-*/myspell-*: Hunspell/Myspell dictionaries + for use with LibreOffice + * libreoffice-l10n-*: UI interface translation + * libreoffice-help-*: User help + * mythes-*: Thesauri for the use with LibreOffice + * hyphen-*: Hyphenation patterns for LibreOffice + * libreoffice-gtk(2|3): Gtk UI Plugin, GNOME File Picker support + * libreoffice-gnome: GIO backend + * unixodbc: ODBC database support + * cups-bsd: Allows LibreOffice to detect your CUPS printer queues + automatically + * libsane: Use your sane-supported scanner with LibreOffice + * libxrender1: Speed up display by using Xrender library + * libgl1: OpenGL support + * openclipart-libreoffice: Open Clip Art Gallery with LibreOffice index + files + * firefox-esr | thunderbird | firefox: + Mozilla profile with Certificates needed for XML Security... + * openjdk-9-jre | openjdk-8-jre | openjdk-7-jre | java6-runtime: + Java Runtime Environment for use with LibreOffice + * pstoedit / imagemagick / ghostscript: helper tools for EPS + * gstreamer0.10-plugins-*: GStreamer plugins for use with LibreOffices + media backend + * libpaper-utils: papersize detection support via paperconf + +Package: libreoffice-l10n-za +Section: metapackages +Architecture: all +Depends: libreoffice-l10n-af, + libreoffice-l10n-en-za, + libreoffice-l10n-nr, + libreoffice-l10n-nso, + libreoffice-l10n-ss, + libreoffice-l10n-st, + libreoffice-l10n-tn, + libreoffice-l10n-ts, + libreoffice-l10n-ve, + libreoffice-l10n-xh, + libreoffice-l10n-zu, + ${misc:Depends} +Description: office productivity suite -- South African language packages + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package is a metapackage installing l10n packages for all 11 South + African languages. + +Package: libreoffice-l10n-in +Section: metapackages +Architecture: all +Depends: libreoffice-l10n-as, + libreoffice-l10n-bn, + libreoffice-l10n-gu, + libreoffice-l10n-hi, + libreoffice-l10n-ml, + libreoffice-l10n-mr, + libreoffice-l10n-or, + libreoffice-l10n-pa-in, + libreoffice-l10n-ta, + libreoffice-l10n-te, + ${misc:Depends} +Recommends: fonts-indic +Description: office productivity suite -- Indic language packages + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package is a metapackage installing l10n packages for all available + indic languages. + +Package: libreoffice-core +Architecture: %OOO_ARCHS% +Depends: fontconfig, + fonts-opensymbol, + libreoffice-common (>> ${base-version}), + ure (>= 6.1.1~), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: libpaper-utils +Breaks: libreoffice-base (<< ${binary:Version}), + libreoffice-calc (<< ${binary:Version}), + libreoffice-dev (<< ${binary:Version}), + libreoffice-draw (<< ${binary:Version}), + libreoffice-evolution (<< ${binary:Version}), + libreoffice-gnome (<< ${binary:Version}), + libreoffice-gtk2 (<< ${binary:Version}), + libreoffice-gtk3 (<< ${binary:Version}), + libreoffice-impress (<< ${binary:Version}), + libreoffice-kde4 (<< ${binary:Version}), + libreoffice-kde5 (<< ${binary:Version}), + libreoffice-officebean (<< ${binary:Version}), + libreoffice-writer (<< ${binary:Version}), + browser-plugin-libreoffice, + libreoffice-pdfimport (<< 1:5.4~), + libreoffice-common (<< 1:5.4.1) +Conflicts: libreoffice-filter-binfilter, libreoffice-unbundled +Provides: libreoffice-bundled +Replaces: libreoffice-pdfimport (<< 1:5.4~), libreoffice-common (<< 1:5.4.1) +Description: office productivity suite -- arch-dependent files + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the architecture-dependent core files of + LibreOffice. See the libreoffice package for more information. + +Package: libreoffice-common +Architecture: all +Depends: libreoffice-style-colibre, libreoffice-style-tango, ure, ${numbertext-data-recommends}, ${misc:Depends} +Suggests: libreoffice-style, +Recommends: ${pyuno-depends}, ${textcat-data-recommends}, xdg-utils, fonts-liberation2 | ttf-mscorefonts-installer +Conflicts: openoffice-unbundled, + broffice, + libreoffice-filter-mobiledev, + libreoffice-l10n-4.3, + libreoffice-l10n-4.4, + libreoffice-wiki-publisher (<< 1.2.0+LibO5.4.0~rc2) +Provides: libreoffice-l10n-en-us +Breaks: libreoffice-core (<< 1:${oover}~), + libreoffice-help-5.2, + libreoffice-help (<< 5.4), + libreoffice-core (>= 1:${next-oover}~), + libreoffice-style-andromeda (<< 1:${oover}~), + libreoffice-style-crystal (<< 1:${oover}~), + libreoffice-style-crystal (>= 1:${next-oover}~), + libreoffice-style-galaxy (<< 1:${oover}~), + libreoffice-style-galaxy (>= 1:${next-oover}~), + libreoffice-style-hicontrast (<< 1:${oover}~), + libreoffice-style-hicontrast (>= 1:${next-oover}~), + libreoffice-style-tango (<< 1:${oover}~), + libreoffice-style-tango (>= 1:${next-oover}~), + libreoffice-writer2latex (<< 1.0.2-9), + libreoffice-writer2xhtml (<< 1.0.2-9) +Replaces: libreoffice-pdfimport (<< 1:5.4~) +Description: office productivity suite -- arch-independent files + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the architecture-independent files of + LibreOffice. + +Package: libreoffice-java-common +Architecture: all +Depends: libreoffice-common, ${java:Depends}, ${misc:Depends} +Description: office productivity suite -- arch-independent Java support files + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the architecture-independent files of + the Java support for LibreOffice (Java classes, scripts, config snippets). + +Package: libreoffice-help-common +Architecture: all +Depends: libreoffice-common, ${help-common-depends}, ${misc:Depends} +Breaks: libreoffice-common (<< 1:6.1.0~alpha1-1) +Replaces: libreoffice-common (<< 1:6.1.0~alpha1-1) +Description: office productivity suite -- common files for LibreOffice help + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the common files (e.g. language-independent, media) files + for the LibreOffice Help. + +Package: libreoffice-writer +Architecture: %OOO_ARCHS% +Depends: libreoffice-base-core (= ${binary:Version})%OOO_NO_BASE_ARCHS%, + libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: libreoffice-math, +Suggests: fonts-crosextra-caladea, + fonts-crosextra-carlito, + libreoffice-base, + ${java-common-depends}, + ${java-runtime-depends} +Replaces: libreoffice-common (<< 1:5.4.1) +Breaks: libreoffice-common (<< 1:5.4.1) +Description: office productivity suite -- word processor + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the wordprocessor component for LibreOffice. + +Package: libreoffice-calc +Architecture: %OOO_ARCHS% +Depends: libreoffice-base-core (= ${binary:Version})%OOO_NO_BASE_ARCHS%, + libreoffice-core (= ${binary:Version}), + ${lpsolve-dep}, + ${misc:Depends}, + ${shlibs:Depends} +Suggests: ocl-icd-libopencl1 | mesa-opencl-icd | beignet-opencl-icd +Replaces: libreoffice-common (<< 1:5.4.1) +Breaks: libreoffice-common (<< 1:5.4.1) +Description: office productivity suite -- spreadsheet + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the spreadsheet component for LibreOffice. + +Package: libreoffice-impress +Architecture: %OOO_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + libreoffice-draw (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Replaces: libreoffice-common (<< 1:5.4.1), libreoffice-ogltrans (<< 1:6.1.4-2~) +Conflicts: libreoffice-ogltrans (<< 1:6.1.4-2~) +Provides: libreoffice-ogltrans +Breaks: libreoffice-common (<< 1:5.4.1) +Recommends: ${avmedia-be-depends} +Description: office productivity suite -- presentation + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the presentation component for LibreOffice. + +Package: libreoffice-draw +Architecture: %OOO_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Replaces: libreoffice-impress (<< 1:5.2.0-2), libreoffice-common (<< 1:5.4.1) +Breaks: libreoffice-impress (<< 1:5.2.0-2), libreoffice-common (<< 1:5.4.1) +Description: office productivity suite -- drawing + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the drawing component for LibreOffice. + +Package: libreoffice-math +Architecture: %OOO_ARCHS% +Depends: fonts-opensymbol, + libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: office productivity suite -- equation editor + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the equation editor component for LibreOffice. + +Package: libreoffice-base-core +Architecture: %OOO_BASE_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: libreoffice-base +Replaces: libreoffice-base-drivers (<< 1:6.1.1~rc1-2) +Description: office productivity suite -- shared library + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains common libraries of LibreOffice Base used by + Base, Writer and Calc. + . + If you need full Base functionality (or actual database drivers), please + install libreoffice-base (and/or libreoffice-base-drivers and/o + libreoffice-sdbc-*). + +Package: libreoffice-base +Architecture: %OOO_BASE_ARCHS% +Section: database +Depends: libreoffice-base-core (= ${binary:Version}), + libreoffice-base-drivers (= ${binary:Version}), + libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: libreoffice-report-builder, + unixodbc +Recommends: libreoffice-writer, ${java-common-depends}, ${java-runtime-depends} +Replaces: libreoffice-common (<< 1:4.3.0~beta1) +Description: office productivity suite -- database + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the database component for LibreOffice. + +Package: libreoffice-style-breeze +Architecture: all +Enhances: libreoffice-core +Depends: libreoffice-style-tango, ${misc:Depends} +Suggests: breeze-icon-theme +Provides: libreoffice-style +Description: office productivity suite -- Breeze symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "breeze" symbol style, default style for KDE 5. + +Package: libreoffice-style-colibre +Architecture: all +Enhances: libreoffice-core +Depends: ${misc:Depends} +Provides: libreoffice-style +Description: office productivity suite -- colibre symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "colibre" symbol style - a icon theme + which follow Microsoft(R) Offices color scheme. + +Package: libreoffice-style-tango +Architecture: all +Enhances: libreoffice-core +Depends: ${misc:Depends} +Suggests: tango-icon-theme +Provides: libreoffice-style +Replaces: libreoffice-common (<= 1:4.3.0~beta2-2) +Description: office productivity suite -- Tango symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "tango" symbol style. + +Package: libreoffice-style-sifr +Architecture: all +Enhances: libreoffice-core +Depends: libreoffice-style-breeze, ${misc:Depends} +Provides: libreoffice-style, libreoffice-style-hicontrast +Replaces: libreoffice-style-hicontrast +Conflicts: libreoffice-style-hicontrast +Description: office productivity suite -- Sifr symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "sifr" symbol style (an adaption of the Gnome + symbolic theme), needs to be manually enabled in the LibreOffice option + menu. + +Package: libreoffice-style-elementary +Architecture: all +Depends: libreoffice-style-tango, ${misc:Depends} +Enhances: libreoffice-core +Provides: libreoffice-style +Description: office productivity suite -- Elementary symbol style + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the "elementary" symbol style, default style + for GTK+/Gnome. + +Package: libreoffice-gnome +Architecture: %OOO_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: ${gnome-gtk-recommends}, libreoffice-style-elementary +Suggests: libreoffice-evolution, seahorse +Section: gnome +Enhances: libreoffice +Provides: libreoffice-gtk-gnome +Replaces: libreoffice-gtk (<< 1:5.0.0~rc2-1) +Description: office productivity suite -- GNOME integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the GIO support. + . + You can extend the functionality of this by installing these packages: + . + * libreoffice-evolution: Evolution addressbook support + * evolution + +Package: python3-uno +Section: python +Architecture: %OOO_ARCHS% +Enhances: libreoffice +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Conflicts: python-uno +Replaces: libreoffice-core (= 1:4.3.0~beta1-1), libreoffice-common (<< 1:4.4.0~beta2) +Description: Python-UNO bridge + 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. +Homepage: http://udk.openoffice.org/python/python-bridge.html + +Package: libreoffice-officebean +Architecture: %OOO_JAVA_ARCHS% +Section: java +Depends: libreoffice-core (= ${binary:Version}), + ${java-common-depends}, + ${java-runtime-depends}, + ${java:Depends}, + ${misc:Depends}, + ${shlibs:Depends} +Description: office productivity suite -- Java bean + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the LibreOffice Office Bean for embedding + LibreOffice in custom Java applications. + +Package: libreoffice-script-provider-python +Architecture: all +Section: python +Depends: libreoffice-common, + libreoffice-core, + ${misc:Depends}, + ${python:Depends}, + ${pyuno-depends} +Description: Python script support provider for LibreOffice scripting framework + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The Scripting Framework allows LibreOffice users to write and run macros + in multiple languages including LibreOffice Basic, Python, Java, BeanShell + and JavaScript. These macros can then be assigned to menus, toolbars, + keyboard shortcuts, events and embedded objects. + . + This package contains the script provider to support Python. + +Package: libreoffice-script-provider-bsh +Architecture: all +Section: java +Depends: libreoffice-common, + libreoffice-core, + ${java-common-depends}, + ${java:Depends}, + ${java-runtime-depends}, + ${misc:Depends} +Description: BeanShell script support provider for LibreOffice scripting framework + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The Scripting Framework allows LibreOffice users to write and run macros + in multiple languages including LibreOffice Basic, Python, Java, BeanShell + and JavaScript. These macros can then be assigned to menus, toolbars, + keyboard shortcuts, events and embedded objects. + . + This package contains the script provider to support BeanShell. + +Package: libreoffice-script-provider-js +Architecture: all +Section: web +Depends: libreoffice-common, + libreoffice-core, + ${java-common-depends}, + ${java:Depends}, + ${java-runtime-depends}, + ${misc:Depends} +Description: JavaScript script support provider for LibreOffice scripting framework + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The Scripting Framework allows LibreOffice users to write and run macros + in multiple languages including LibreOffice Basic, Python, Java, BeanShell + and JavaScript. These macros can then be assigned to menus, toolbars, + keyboard shortcuts, events and embedded objects. + . + This package contains the script provider to support JavaScript. + +Package: libreoffice-avmedia-backend-gstreamer +Section: misc +Architecture: %OOO_ARCHS% +Depends: libreoffice-core, ${misc:Depends}, ${shlibs:Depends} +Recommends: gstreamer1.0-plugins-bad +Provides: libreoffice-avmedia-backend +Description: GStreamer backend for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains a GStreamer backend for LibreOffices avmedia component + to play audio/video. + +Package: libreoffice-avmedia-backend-vlc +Section: misc +Architecture: %OOO_ARCHS% +Depends: libreoffice-core, ${misc:Depends}, ${shlibs:Depends}, ${libvlc-dep} +Provides: libreoffice-avmedia-backend +Description: VLC backend for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains a VLC backend for LibreOffices avmedia component + to play audio/video. + +Package: libreoffice-sdbc-hsqldb +Depends: libreoffice-core, ${java-common-depends}, ${java:Depends}, ${java-runtime-depends}, ${shlibs:Depends}, ${misc:Depends} +Architecture: %OOO_JAVA_ARCHS% +Section: database +Enhances: libreoffice-base-drivers +Description: HSQLDB SDBC driver for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The HSQLDB SDBC Driver allows one to use the HSQLDB embedded database from + LibreOffice without any wrapper layer such as ODBC or JDBC. + +Package: libreoffice-base-drivers +Depends: libreoffice-core, ${shlibs:Depends}, ${misc:Depends} +Architecture: %OOO_BASE_ARCHS% +Section: database +Suggests: libreoffice-sdbc-postgresql | odbc-postgresql | libpg-java, + libreoffice-mysql-connector | libmyodbc | libmariadb-java, + libsqliteodbc | tdsodbc | mdbtools, + libjtds-java, +Recommends: libreoffice-sdbc-hsqldb [%OOO_JAVA_ARCHS%], ${base-firebird-recommends} +Replaces: libreoffice-base (<< 1:4.3.0-3) +Breaks: libreoffice-base (<< 1:4.3.0-3) +Description: Database connectivity drivers for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the database connectivity drivers used by LibreOffices + database functionality: + - ODBC + - JDBC + - dBase + - Calc + - Flat files + - MySQL + . + You can extend this by installing: + . + * unixodbc: ODBC database support + * libmyodbc | odbc-postgresql | libsqliteodbc | tdsodbc | mdbtools: ODBC + drivers for: + - MySQL + - PostgreSQL + - SQLite + - MS SQL / Sybase SQL + - *.mdb (JET / MS Access) + * libmariadb-java | libpg-java | libjtds-java: JDBC Drivers + for: + - MySQL/MariaDB + - PostgreSQL + - MS SQL Server and Sybase + * libreoffice-sdbc-hsqldb: embedded HSQLDB SDBC Driver + * libreoffice-sdbc-firebird: Firebird SDBC Driver + * libreoffice-sdbc-postgresql: PostgreSQL SDBC Driver + * libreoffice-mysql-connector: "native" MySQL Connector + diff --git a/debian/control.kde4.in b/debian/control.kde4.in new file mode 100644 index 00000000000..438d2241dd9 --- /dev/null +++ b/debian/control.kde4.in @@ -0,0 +1,21 @@ +Package: libreoffice-kde4 +Architecture: %OOO_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: ${kde-iconset-dep} +Suggests: kmail, konqueror, kleopatra | kgpg +Replaces: libreoffice-kde (<< 1:6.1.0~alpha1-1) +Section: kde +Enhances: libreoffice +Replaces: libreoffice-core (= 1:4.3.0~beta1-1) +Description: office productivity suite -- KDE 4 integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the KDE plugin for drawing LibreOffices widgets with + KDE/Qt and a KDEish File Picker when running under KDE. + You can extend the functionality of this by installing these packages: + . + * konqueror / kmail + diff --git a/debian/control.kde5.in b/debian/control.kde5.in new file mode 100644 index 00000000000..061db1597ad --- /dev/null +++ b/debian/control.kde5.in @@ -0,0 +1,16 @@ +Package: libreoffice-kde5 +Architecture: %OOO_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: ${kde-iconset-dep} +Replaces: libreoffice-kde (<< 1:6.1.0~alpha1-1) +Section: kde +Enhances: libreoffice +Description: office productivity suite -- KDE 5 integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the KDE plugin for LibreOffice and a KDEish File Picker + when running under KDE. + diff --git a/debian/control.lang.in b/debian/control.lang.in new file mode 100644 index 00000000000..cd05d9ec618 --- /dev/null +++ b/debian/control.lang.in @@ -0,0 +1,29 @@ +Package: libreoffice-l10n-@LCODE@ +Section: localization +Architecture: all +Depends: libreoffice-common, ${misc:Depends}, @LOCALES_DEPENDS@ +Recommends: libreoffice-core (>> ${base-version}) @FONT_RECOMMENDS@ +Provides: libreoffice-l10n (= ${help-l10n-virtual-version}) +Suggests: hunspell-dictionary-@LCODE@ | myspell-dictionary-@LCODE@, + hyphen-@LCODE@, + libreoffice-grammarcheck-@LCODE@, + libreoffice-help-@LCODE@, + mythes-@LCODE@ +Description: office productivity suite -- @LNAME@ language package + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the localization of LibreOffice in + @LNAME@. + It contains the user interface, the templates and the autotext features. + (please note that not all this is available for all possible languages). + You can switch user interface language using the locales system. + . + Spelling dictionaries, hyphenation patterns, thesauri and help are not + included in this package. There are some available in separate packages + (myspell-*, hyphen-*, mythes-*, libreoffice-help-*) + . + If you just want to be able to spellcheck etc. in other languages, you can + install extra dictionaries/hyphenation patterns/thesauri independently of + the language packs. + diff --git a/debian/control.librelogo.in b/debian/control.librelogo.in new file mode 100644 index 00000000000..8c65b738e6b --- /dev/null +++ b/debian/control.librelogo.in @@ -0,0 +1,20 @@ +Package: libreoffice-librelogo +Section: misc +Architecture: all +Depends: libreoffice-core, + libreoffice-writer, + libreoffice-script-provider-python, + ${misc:Depends} +Homepage: http://librelogo.org +Description: Logo-like progamming language for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains Librelogo, which is a pyuno-based Logo-like progamming + language with interactive vectorgraphics for education and DTP + - basic Logo syntax for back compatibility with educational Logo systems + - interactive vectorgraphics in LibreOffice Writer + - native commands (easily translatable) + - Python data structures (list, tuple, set, dictionary) and other Python + features + diff --git a/debian/control.lokit.in b/debian/control.lokit.in new file mode 100644 index 00000000000..59dfd57c26f --- /dev/null +++ b/debian/control.lokit.in @@ -0,0 +1,16 @@ +Package: libreofficekit-dev +Section: libdevel +Architecture: %OOO_ARCHS% +Depends: ${misc:Depends}, gir1.2-lokdocview-0.1 (= ${binary:Version}) +Suggests: libgtk-3-dev +Recommends: libreoffice-core, libreofficekit-data +Replaces: gir1.2-lokdocview-0.1 (<< 1:5.4.0~rc1) +Description: LibreOfficeKit -- headers + LibreOfficeKit can be used for accessing LibreOffice functionality through + C/C++, without any need to use UNO. + . + For now it only offers document conversion (in addition to an experimental + tiled rendering API). + . + This package contains the headers needed for using LibreOfficeKit. + diff --git a/debian/control.mediawiki.in b/debian/control.mediawiki.in new file mode 100644 index 00000000000..8cbcd4d00f0 --- /dev/null +++ b/debian/control.mediawiki.in @@ -0,0 +1,18 @@ +Package: libreoffice-wiki-publisher +Section: misc +Architecture: all +Depends: libreoffice-core, + ${java-common-depends}, + ${java:Depends}, + ${java-runtime-depends}, + ${misc:Depends} +Enhances: libreoffice-writer +Suggests: mediawiki +Description: LibreOffice extension for working with MediaWiki articles + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains an extension to create/edit/publish MediaWiki + articles with LibreOffice +Homepage: http://extensions.services.openoffice.org/project/wikipublisher + diff --git a/debian/control.mysql.in b/debian/control.mysql.in new file mode 100644 index 00000000000..7d67aaf545f --- /dev/null +++ b/debian/control.mysql.in @@ -0,0 +1,13 @@ +Package: libreoffice-mysql-connector +Section: misc +Architecture: %OOO_BASE_ARCHS% +Depends: libreoffice-core, ${misc:Depends}, ${shlibs:Depends} +Suggests: default-mysql-server | virtual-mysql-server +Homepage: http://extensions.services.openoffice.org/en/project/mysql_connector +Description: MariaDB/MySQL Connector extension for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The MariaDB/MySQL Connector extension allows one to use the MariaDB or MySQL + database from LibreOffice without any wrapper layer such as ODBC or JDBC. + diff --git a/debian/control.nlpsolver.in b/debian/control.nlpsolver.in new file mode 100644 index 00000000000..ce34ba09ef5 --- /dev/null +++ b/debian/control.nlpsolver.in @@ -0,0 +1,14 @@ +Package: libreoffice-nlpsolver +Architecture: all +Depends: ${misc:Depends}, libreoffice-calc, libreoffice-core, ${java-common-depends}, ${java-runtime-depends} +Section: math +Description: "Solver for Nonlinear Programming" extension for LibreOffice + By default LibreOffice Calc ships with a solver engine for linear + programming only. This allows the optimization of models to a certain degree. + However, if the formulas or constraints become more complex, + nonlinear programming is required. That missing gap is now filled by the + Solver for Nonlinear Programming extension. + . + Currently it incorporates two Evolutionary Algorithms which are able to + handle floating point and integer variables as well as nonlinear constraints. + diff --git a/debian/control.postgresql.in b/debian/control.postgresql.in new file mode 100644 index 00000000000..2421530d131 --- /dev/null +++ b/debian/control.postgresql.in @@ -0,0 +1,16 @@ +Package: libreoffice-sdbc-postgresql +Section: misc +Architecture: %OOO_BASE_ARCHS% +Depends: libreoffice-core, + ${misc:Depends}, + ${shlibs:Depends} +Suggests: postgresql (>= 8.4) +Enhances: libreoffice-base-drivers +Description: PostgreSQL SDBC driver for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + The PostgreSQL SDBC Driver allows one to use the PostgreSQL database from + LibreOffice without any wrapper layer such as ODBC or JDBC. +Homepage: http://wiki.documentfoundation.org/PostgreSQL-SDBC + diff --git a/debian/control.qt5.in b/debian/control.qt5.in new file mode 100644 index 00000000000..3337094712f --- /dev/null +++ b/debian/control.qt5.in @@ -0,0 +1,13 @@ +Package: libreoffice-qt5 +Architecture: %OOO_64BIT_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Enhances: libreoffice +Description: office productivity suite -- Qt 5 integration + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the Qt 5 plugin for drawing LibreOffices widgets + with Qt 5 and a Qt File Picker and print dialog. + diff --git a/debian/control.reportbuilder.in b/debian/control.reportbuilder.in new file mode 100644 index 00000000000..055b0a66673 --- /dev/null +++ b/debian/control.reportbuilder.in @@ -0,0 +1,35 @@ +Package: libreoffice-report-builder +Section: misc +Architecture: all +Depends: libreoffice-core, + libreoffice-java-common, + libreoffice-report-builder-bin (>= ${base-version}), + ${java:Depends}, + ${misc:Depends}, + ${report-builder-jar-depends} +Provides: libreoffice-reportdesigner +Enhances: libreoffice-base +Description: LibreOffice component for building database reports + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the report builder: + "Create with the Sun Report Builder stylish, smart-looking database reports. + The flexible report editor can define group and page headers as well as + group and page footers and even calculation fields are available to + accomplish complex database reports." + +Package: libreoffice-report-builder-bin +Section: misc +Architecture: %OOO_REPORTBUILDER_ARCHS% +Depends: libreoffice-core, + libreoffice-base, + ${misc:Depends}, + ${shlibs:Depends} +Description: LibreOffice component for building database reports -- libraries + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains some architecture-dependent support libraries + (librpt*.so) for the report builder component. + diff --git a/debian/control.sdk.in b/debian/control.sdk.in new file mode 100644 index 00000000000..b1490280efc --- /dev/null +++ b/debian/control.sdk.in @@ -0,0 +1,55 @@ +Package: libreoffice-dev +Section: devel +Architecture: %OOO_ARCHS% +Depends: libreoffice-core (= ${binary:Version}), + libreoffice-dev-common (= ${source:Version}), + ${idlc-cpp-depends}, + ${misc:Depends}, + ${shlibs:Depends} +Recommends: g++, ${java-common-depends}, ${java-runtime-depends} +Suggests: libmythes-dev, libreofficekit-dev, libreoffice-dev-doc +Replaces: libreoffice-dev-common (<< 1:5.4.1~) +Conflicts: libreoffice-dev-doc (<< 1:5.2.5-2~), libreoffice (<< 1:5.2.5-2~) +Breaks: libreoffice-dev-common (<< 1:5.4.1~) +Description: office productivity suite -- SDK -- architecture-dependent parts + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the (architecture-dependent) files needed to build + plugins/add-ons for LibreOffice (build tools, libraries, arch-dependent + includes, ...). + . + It also contains the gengal and ui-previewer utilities. + +Package: libreoffice-dev-common +Section: devel +Architecture: all +Depends: ${misc:Depends} +Replaces: libreoffice-dev (<< 1:5.2.0~) +Breaks: libreoffice-dev (<< 1:5.2.0~) +Conflicts: libreoffice (<< 1:5.2.5-2~) +Description: office productivity suite -- SDK -- architecture-independent parts + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the (architecture-independent) files needed to build + plugins/add-ons for LibreOffice (includes, IDL files, ...) + +Package: libreoffice-dev-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Recommends: libreoffice-dev (= ${binary:Version}), + www-browser +Conflicts: openoffice.org-dev-doc, libreoffice-dev (<= 1:5.0.3~rc1-2), libreoffice (<< 1:5.2.5-2~) +Build-Profiles: +Description: office productivity suite -- SDK documentation + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package contains the documentation of the LibreOffice SDK: + . + * C++/Java API reference + * IDL reference + * C++/Java/Basic examples + diff --git a/debian/control.test-packages.in b/debian/control.test-packages.in new file mode 100644 index 00000000000..90235114599 --- /dev/null +++ b/debian/control.test-packages.in @@ -0,0 +1,16 @@ +Package: libreoffice-subsequentcheckbase +Section: libs +Architecture: all +Depends: ${java:Depends}, ${misc:Depends} +Build-Profiles: +Description: LibreOffice java test libraries + Java libraries LibreOffice subsequentchecks integration test suite + +Package: libreoffice-smoketest-data +Section: misc +Depends: ${misc:Depends} +Architecture: all +Build-Profiles: +Description: data files for LibreOffices "smoketest" + Data files for the LibreOffice "smoketest". + diff --git a/debian/control.transitionals.in b/debian/control.transitionals.in new file mode 100644 index 00000000000..501e0657415 --- /dev/null +++ b/debian/control.transitionals.in @@ -0,0 +1,33 @@ +Package: libreoffice-pdfimport +Section: oldlibs +Architecture: all +Depends: libreoffice-core (>= 1:5.4~), libreoffice-common (>= 1:5.4~), ${misc:Depends} +Description: transitional package for PDF Import component for LibreOffice + LibreOffice is a full-featured office productivity suite that provides + a near drop-in replacement for Microsoft(R) Office. + . + This package formerly contained a component enabling LibreOffice to import PDF + Documents. This now has been merged back into the "main" packages and this + package thus can be safely removed once installed. + +Package: libreoffice-kde +Section: oldlibs +Architecture: all +Depends: libreoffice-kde5, ${misc:Depends} +Description: transitional package for LibreOffice KDE integration + This package used to contain the LibreOffice KDE 4 backend. The package has + been renamed to libreoffice-kdeX and this package now depends on the new + libreoffice-kde5 packages. + . + You can safely remove this package. + +Package: libreoffice-ogltrans +Section: oldlibs +Architecture: all +Depends: libreoffice-impress (>= 1:6.1.4-2~), ${misc:Depends} +Description: transitional package for libreoffice-ogltrans + This package used to contain the OpenGL slide transitions for LibreOffice + Impress. + That has been merged into libreoffice-impress directly and thus this package + can be safely removed. + diff --git a/debian/control.ure.in b/debian/control.ure.in new file mode 100644 index 00000000000..1d47bdee218 --- /dev/null +++ b/debian/control.ure.in @@ -0,0 +1,40 @@ +Package: uno-libs3 +Section: libs +Architecture: %OOO_ARCHS% +Depends: ${misc:Depends}, ${shlibs:Depends} +Replaces: ure (<< 1:5.0.0~rc2-1) +Breaks: libreoffice-core (<< 1:4.3.0~) +Description: LibreOffice UNO runtime environment -- public shared libraries + The Uno Runtime Environment (URE) is the well-known UNO component model + of LibreOffice, packaged up as an individual product. + . + It offers you a flexible, low-overhead component model that is most ideal + for (but not limited to) combining in one application components written in + different computer languages, and developed by different parties. You can use + it to create any kind of application, in whatever application domain you can + imagine. + . + This package contains the public libraries: + - libuno_sal: System Abstraction Layer (C Interface) + - libuno_salhelpergcc3: additional C++ functionality for sal + - libuno_cppu: C++ UNO bridge (C Interface) + - libuno_cppuhelpergcc3: additional C++ functionality for cppu + - libuno_purpenvhelpergcc3: "purpose environments" helper + +Package: ure +Section: libs +Architecture: %OOO_ARCHS% +Depends: uno-libs3 (= ${ure:Version}), ${misc:Depends}, ${shlibs:Depends} +Suggests: java5-runtime +Replaces: libreoffice-common (<< 1:4.5.0), libreoffice-core (<< 1:5.3.0~beta1~) +Breaks: libreoffice-core (<< 1:5.3.0~beta1~), libreoffice-common (<< 1:4.5.0) +Description: LibreOffice UNO runtime environment + The Uno Runtime Environment (URE) is the well-known UNO component model + of LibreOffice, packaged up as an individual product. + . + It offers you a flexible, low-overhead component model that is most ideal + for (but not limited to) combining in one application components written in + different computer languages, and developed by different parties. You can use + it to create any kind of application, in whatever application domain you can + imagine. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 00000000000..b62f95ec2ca --- /dev/null +++ b/debian/copyright @@ -0,0 +1,254 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: LibreOffice +Upstream-Contact: libreoffice@lists.freedesktop.org +Source: http://download.documentfoundation.org/libreoffice +# they are already removed when packing the upstream tarballs, but are in git... +#Files-Excluded: schema/*/* + +Files: * +Copyright: Copyright 2000, 2010 Oracle and/or its affiliates. + Copyright (c) 2000, 2010 LibreOffice contributors and/or their affiliates. +License: MPL-2.0 + On Debian systems the full text of the MPL-2.0 can be found in + /usr/share/common-licenses/MPL-2.0. + . + Some files include Apache-2.0 licensed material: + . + # 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 . + . + On Debian systems the full text of the Apache-2.0 license can be found in + /usr/share/common-licenses/Apache-2.0. + +Files: extras/source/truetype/symbol/OpenSymbol.sfd +Copyright: (c) 2009 Sun Microsystems Inc. + (c) 2010 Google Corporation + (c) 2011 Julien Nabet + (c) 2011 Olivier Hallot + (c) 2013 Mathias Hasselmann + (c) 2015 Khaled Hosny + (c) 2016 Mike Kaganski +License: MPL-2.0 + On Debian systems the full text of the MPL-2.0 can be found in + /usr/share/common-licenses/MPL-2.0. + . + Some files include Apache-2.0 licensed material: + . + # 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 . + . + On Debian systems the full text of the Apache-2.0 license can be found in + /usr/share/common-licenses/Apache-2.0. + +Files: swext/mediawiki/src/filter/odt2mediawiki.xsl +Copyright: Copyright (C) 2007-2013 Bernhard Haumacher (haui@haumacher.de) +License: Apache-2.0 + +Files: sysui/desktop/apparmor/* +Copyright: Copyright (C) 2016 Canonical Ltd. + Copyright (C) 2017 Software in the Public Interest, Inc. +License: MPL-2.0 + +Files: icon-themes/breeze*/* +Copyright: Copyright 2014 Uri Herrera + Copyright 2015 Andreas Kainz and other contributors +License: GPL-2+ + +Files: icon-themes/sifr*/* +Copyright: Jakub Steiner + Lapo Calamandrei + Hylke Bons + Barbara Muraus + Issa Alkurtass + Norah Abanumay + Copyright 2017-2018 Matthias Freund +License: CC-BY-SA-3.0 + +Files: icon-themes/tango*/* +Copyright: Alexander Wilms and Miroslav Mazel +License: CC-BY-SA-3.0 + +Files: icon-themes/tango*/cmd/lc_crop.png +Copyright: Copyright 2014 by Daniel Foré +License: GPL-2+ + +Files: icon_themes/elementary*/* +Copyright: Copyright 2015 by Simon Steinbeiss , Pasi Lallinaho +License: GPL-3+ + +Files: icon-themes/colibre*/* +Copyright: Copyright 2018 Andreas Kainz +License: CC0-1.0 + +https://github.com/rizmut/libreoffice-style-karasa-jaga/blob/master/COPYING +Files: icon-themes/karasa_jaga/* +Copyright: Copyright (c) 2014 Rizal Muttaqin +License: LGPL-3+ + +Files: helpcontent2/help3xsl/fuse.js +Copyright: Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me) +License: Apache-2.0 + +Files: helpcontent2/help3xsl/paginathing.js +Copyright: (C) 2018 Alfred Crosby +License: Expat + +Files: helpcontent2/help3xsl/normalize.css +Copyright: Copyright © Nicolas Gallagher and Jonathan Neal +License: Expat + +Files: debian/* +Copyright: Copyright (C) 2002-2009 Software in the Public Interest, Inc. +License: GPL-2 + +Files: debian/scripts/get_ttf_version.pl +Copyright: Copyright (C) 2015 Software in the Public Interest, Inc. +License: MPL-2.0 + +Files: debian/templates/debian-presentation.otp +Copyright: Copyright (C) 2010 Raphaël Hertzog +License: GPL-2+ + +Files: debian/templates/debian-presentation-background.xcf +Copyright: Copyright Alexis Younes "ayo" +License: GPL-2+ + +Files: tarballs/*rhino* +Copyright: Copyright (C) 1997-2000 Netscape Communications Corporation + Copyright (C) 2000 See Beyond Communications Corporation +License: MPL-1.1 or GPL-2 or LGPL-2 + +Files: tarballs/*xsltml* +Copyright: Copyright (C) 2001-2003 Vasil Yaroshevich +License: other + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the ``Software''), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + Except as contained in this notice, the names of individuals + credited with contribution to this software shall not be used in + advertising or otherwise to promote the sale, use or other + dealings in this Software without prior written authorization + from the individuals in question. + . + Any stylesheet derived from this Software that is publically + distributed will be identified with a different name and the + version strings in any derived Software will be changed so that + no possibility of confusion between the derived package and this + Software will exist. + +Files: tarballs/*swingEx* +Copyright: Copyright 2008 by Sun Microsystems, Inc. +License: LGPL-3 + On Debian systems the full text of the LGPL-3 can be found in + /usr/share/common-licenses/LGPL-3 + +Files: tarballs/*pdfium* +Copyright: // Copyright 2014-2016 PDFium Authors. + // Original code copyright 2014 Foxit Software Inc. +License: other + // Redistribution and use in source and binary forms, with or without + // modification, are permitted provided that the following conditions are + // met: + // + // * Redistributions of source code must retain the above copyright + // notice, this list of conditions and the following disclaimer. + // * Redistributions in binary form must reproduce the above + // copyright notice, this list of conditions and the following disclaimer + // in the documentation and/or other materials provided with the + // distribution. + // * Neither the name of Google Inc. nor the names of its + // contributors may be used to endorse or promote products derived from + // this software without specific prior written permission. + // + // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License: MPL-2.0 + On Debian systems the full text of the MPL-2.0 can be found in + /usr/share/common-licenses/MPL-2.0. + +License: Apache-2.0 + On Debian systems the full text of the Apache-2.0 license can be found in + /usr/share/common-licenses/Apache-2.0. + +License: GPL-2+ + On Debian systems the full text of the GPL-2 can be found in + /usr/share/common-licenses/GPL-2 + +License: GPL-3+ + On Debian systems the full text of the GPL-3 can be found in + /usr/share/common-licenses/GPL-3 + +License: GPL-2 + On Debian systems the full text of the GPL-2 can be found in + /usr/share/common-licenses/GPL-2 + +License: MPL-1.1 + On Debian systems the full text of the MPL-1.1 can be found in + /usr/share/common-licenses/MPL-1.1 + +License: LGPL-2 + On Debian systems the full text of the LGPL-2 can be found in + /usr/share/common-licenses/LGPL-2 + +License: LGPL-3+ + On Debian systems the full text of the LGPL-3 can be found in + /usr/share/common-licenses/LGPL-3 + +License: CC0-1.0 + On Debian systems the full text of the CC0-1.0 license can be found in + /usr/share/common-licenses/CC0-1.0 + + diff --git a/debian/liblibreofficekitgtk.links b/debian/liblibreofficekitgtk.links new file mode 100644 index 00000000000..c8017de61d1 --- /dev/null +++ b/debian/liblibreofficekitgtk.links @@ -0,0 +1 @@ +usr/lib/libreoffice/program/liblibreofficekitgtk.so usr/lib/liblibreofficekitgtk.so diff --git a/debian/libreoffice-base-drivers.NEWS b/debian/libreoffice-base-drivers.NEWS new file mode 100644 index 00000000000..0a0b922f8f2 --- /dev/null +++ b/debian/libreoffice-base-drivers.NEWS @@ -0,0 +1,14 @@ +libreoffice (1:6.1.3-2) unstable; urgency=low + + * The JDBC Driver used for JDBC Access by the LibreOffice MySQL driver + (NOT libreoffice-mysql-connector) contained in this package has been + changed from MySQL to MariaDB (libmysql-java -> libmariadb-java). See + http://bugs.debian.org/913360 and https://bugs.debian.org/912916. + + This also involves changing the classes used in the code, so using + libmysql-java and com.mysql.jdbc.Driver does not work anymore. + + If you want to connect to MySQL or MariaDB databases over JDBC, use + libmariadb-java. + + -- Rene Engelhard Fri, 16 Nov 2018 19:35:22 +0100 diff --git a/debian/libreoffice-base.NEWS b/debian/libreoffice-base.NEWS new file mode 100644 index 00000000000..b7a30f1a0e0 --- /dev/null +++ b/debian/libreoffice-base.NEWS @@ -0,0 +1,14 @@ +libreoffice (1:4.2.1-1) experimental; urgency=low + + * the database drivers have been split out to a new libreoffice-base-drivers + package. This package depends on most of them, but that explicitly + _does not_ include the HSQLDB SDBC Driver or the new Firebird SDBC Driver + (both for the embedded database) - whose because of their dependencies are + split into extra packages. + . + If you used a "normal" embedded database in your (old) database file you + _must_ install libreoffice-sdbc-hsqldb so that it can "connect" to it. + . + Similar with the new Firebird embedded database in 4.2 and -sdbc-firebird. + + -- Rene Engelhard Fri, 16 Aug 2013 10:21:53 +0200 diff --git a/debian/libreoffice-base.bug-control b/debian/libreoffice-base.bug-control new file mode 100644 index 00000000000..31f42c1f1f7 --- /dev/null +++ b/debian/libreoffice-base.bug-control @@ -0,0 +1,2 @@ +report-with: libreoffice-core +package-status: unixodbc libmyodbc odbc-postgresql libsqliteodbc tdsodbc mdbtools libmariadb-java libmysql-java libpg-java libsapdbc-java diff --git a/debian/libreoffice-base.lintian-overrides b/debian/libreoffice-base.lintian-overrides new file mode 100644 index 00000000000..d1500e8d835 --- /dev/null +++ b/debian/libreoffice-base.lintian-overrides @@ -0,0 +1 @@ +libreoffice-base: desktop-command-not-in-package usr/share/applications/libreoffice-base.desktop libreoffice diff --git a/debian/libreoffice-base.manpages b/debian/libreoffice-base.manpages new file mode 100644 index 00000000000..144eec74763 --- /dev/null +++ b/debian/libreoffice-base.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/lobase.1.gz diff --git a/debian/libreoffice-base.mime b/debian/libreoffice-base.mime new file mode 100644 index 00000000000..ce16f8016b8 --- /dev/null +++ b/debian/libreoffice-base.mime @@ -0,0 +1,11 @@ +### +# shared-mime-info + +# OASIS OpenDocument Format +application/vnd.oasis.opendocument.database; soffice --nologo --base '%s'; edit=soffice --nologo --base '%s'; print=soffice --nologo --base -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Database"; nametemplate=%s.odb; priority=9 + +# OpenOffice.org 1.0 +application/vnd.sun.xml.base; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; description="OpenOffice.org Database"; nametemplate=%s.sdb; priority=8 + +# +### diff --git a/debian/libreoffice-base.postrm.in b/debian/libreoffice-base.postrm.in new file mode 100644 index 00000000000..d17df159b6e --- /dev/null +++ b/debian/libreoffice-base.postrm.in @@ -0,0 +1,26 @@ +#!/bin/sh + +set -e + +#INCLUDE_SHELL_LIB# + +if [ "$1" = remove -o "$1" = abort-install -o "$1" = disappear ]; then + dpkg-divert --remove --rename \ + --divert /usr/lib/libreoffice/share/basic/dialog.xlc.noaccess \ + /usr/lib/libreoffice/share/basic/dialog.xlc + dpkg-divert --remove --rename \ + --divert /usr/lib/libreoffice/share/basic/script.xlc.noaccess \ + /usr/lib/libreoffice/share/basic/script.xlc +fi +if [ "$1" = abort-upgrade ] && dpkg --compare-versions "$2" lt 1:4.3.0~beta1-1; then + dpkg-divert --remove --rename \ + --divert /usr/lib/libreoffice/share/basic/dialog.xlc.noaccess \ + /usr/lib/libreoffice/share/basic/dialog.xlc + dpkg-divert --remove --rename \ + --divert /usr/lib/libreoffice/share/basic/script.xlc.noaccess \ + /usr/lib/libreoffice/share/basic/script.xlc +fi + +#DEBHELPER# + +exit 0 diff --git a/debian/libreoffice-base.preinst.in b/debian/libreoffice-base.preinst.in new file mode 100644 index 00000000000..2d5fcc159d0 --- /dev/null +++ b/debian/libreoffice-base.preinst.in @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +#INCLUDE_SHELL_LIB# + +if [ upgrade != "$1" ] || dpkg --compare-versions "$2" lt 1:4.3.0~beta1-1; then + dpkg-divert --add --rename \ + --divert /usr/lib/libreoffice/share/basic/dialog.xlc.noaccess \ + /usr/lib/libreoffice/share/basic/dialog.xlc + dpkg-divert --add --rename \ + --divert /usr/lib/libreoffice/share/basic/script.xlc.noaccess \ + /usr/lib/libreoffice/share/basic/script.xlc +fi + +#DEBHELPER# + +exit 0 diff --git a/debian/libreoffice-calc.bug-control b/debian/libreoffice-calc.bug-control new file mode 100644 index 00000000000..1ac405f9788 --- /dev/null +++ b/debian/libreoffice-calc.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-core diff --git a/debian/libreoffice-calc.lintian-overrides b/debian/libreoffice-calc.lintian-overrides new file mode 100644 index 00000000000..004fc535988 --- /dev/null +++ b/debian/libreoffice-calc.lintian-overrides @@ -0,0 +1,2 @@ +libreoffice-calc: binary-or-shlib-defines-rpath +libreoffice-calc: desktop-command-not-in-package usr/share/applications/libreoffice-calc.desktop libreoffice diff --git a/debian/libreoffice-calc.manpages b/debian/libreoffice-calc.manpages new file mode 100644 index 00000000000..a4b78ee3406 --- /dev/null +++ b/debian/libreoffice-calc.manpages @@ -0,0 +1,2 @@ +debian/tmp/usr/share/man/man1/localc.1.gz + diff --git a/debian/libreoffice-calc.mime b/debian/libreoffice-calc.mime new file mode 100644 index 00000000000..4528b17d35d --- /dev/null +++ b/debian/libreoffice-calc.mime @@ -0,0 +1,37 @@ +### +# shared-mime-info + +# Generic +text/csv; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="CSV Document"; nametemplate=%s.csv; priority=3 +text/spreadsheet; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="Spreadsheet Interchange Document"; nametemplate=%s.slk; priority=3 + +# Corel Quattro Pro +application/x-quattropro; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="Quattro Pro 6 for Windows Spreadsheet"; nametemplate=%s.wb2; priority=3 + +# dBase dBASE +application/x-dbf; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="xBase Document"; nametemplate=%s.dbf; priority=3 + +# ECMA Office Open XML (Microsoft Office 2007) +application/vnd.ms-excel.sheet.macroEnabled.12; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="Office Open XML Spreadsheet with Macros Enabled"; nametemplate=%s.xlsm; priority=3 +application/vnd.ms-excel.template.macroEnabled.12; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="Office Open XML Spreadsheet Template with Macros Enabled"; nametemplate=%s.xltm; priority=3 +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="Office Open XML Spreadsheet"; nametemplate=%s.xlsx; priority=3 +application/vnd.openxmlformats-officedocument.spreadsheetml.template; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="Office Open XML Spreadsheet Template"; nametemplate=%s.xltx; priority=3 + +# IBM Lotus 1-2-3 +application/vnd.lotus-1-2-3; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="Lotus 1-2-3 spreadsheet"; nametemplate=%s.123; priority=3 + +# Microsoft Excel +application/vnd.ms-excel; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="Microsoft Excel Document"; nametemplate=%s.xls; priority=3 + +# OASIS OpenDocument Format +application/vnd.oasis.opendocument.chart; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; print=soffice --nologo --calc -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Chart"; nametemplate=%s.odc; priority=9 +application/vnd.oasis.opendocument.spreadsheet; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; print=soffice --nologo --calc -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Spreadsheet"; nametemplate=%s.ods; priority=9 +application/vnd.oasis.opendocument.spreadsheet-template; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; print=soffice --nologo --calc -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Spreadsheet Template"; nametemplate=%s.ots; priority=9 + +# OpenOffice.org 1.0 +application/vnd.sun.xml.calc; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="OpenOffice.org Spreadsheet"; nametemplate=%s.sxc; priority=8 +application/vnd.sun.xml.calc.template; soffice --nologo --calc '%s'; edit=soffice --nologo --calc '%s'; test=test -n "$DISPLAY"; description="OpenOffice.org Spreadsheet Template"; nametemplate=%s.stc; priority=8 + +# +### + diff --git a/debian/libreoffice-common.bug-control b/debian/libreoffice-common.bug-control new file mode 100644 index 00000000000..38da481c1f2 --- /dev/null +++ b/debian/libreoffice-common.bug-control @@ -0,0 +1 @@ +report-with: python-uno python3-uno diff --git a/debian/libreoffice-common.links.in b/debian/libreoffice-common.links.in new file mode 100644 index 00000000000..be8c18d1c5e --- /dev/null +++ b/debian/libreoffice-common.links.in @@ -0,0 +1,36 @@ +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-database.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.database.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-drawing.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.drawing.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-drawing-template.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.drawing-template.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-formula.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.formula.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-master-document.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.master-document.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-presentation.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.presentation.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-presentation-template.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.presentation-template.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-spreadsheet.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.spreadsheet.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-spreadsheet-template.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.spreadsheet-template.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-text.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.text.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-text-template.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.text-template.png +usr/share/icons/hicolor/16x16/mimetypes/libreoffice-oasis-web-template.png usr/share/icons/hicolor/16x16/mimetypes/application-vnd.oasis.opendocument.web-template.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-database.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.database.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-drawing.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.drawing.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-drawing-template.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.drawing-template.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-formula.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.formula.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-master-document.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.master-document.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-presentation.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.presentation.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-presentation-template.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.presentation-template.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-spreadsheet.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.spreadsheet.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-spreadsheet-template.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.spreadsheet-template.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-text.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.text.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-text-template.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.text-template.png +usr/share/icons/hicolor/32x32/mimetypes/libreoffice-oasis-web-template.png usr/share/icons/hicolor/32x32/mimetypes/application-vnd.oasis.opendocument.web-template.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-database.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.database.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-drawing.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.drawing.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-drawing-template.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.drawing-template.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-formula.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.formula.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-master-document.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.master-document.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-presentation.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.presentation.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-presentation-template.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.presentation-template.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-spreadsheet.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.spreadsheet.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-spreadsheet-template.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.spreadsheet-template.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-text.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.text.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-text-template.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.text-template.png +usr/share/icons/hicolor/48x48/mimetypes/libreoffice-oasis-web-template.png usr/share/icons/hicolor/48x48/mimetypes/application-vnd.oasis.opendocument.web-template.png diff --git a/debian/libreoffice-common.lintian-overrides b/debian/libreoffice-common.lintian-overrides new file mode 100644 index 00000000000..efdaf3d980c --- /dev/null +++ b/debian/libreoffice-common.lintian-overrides @@ -0,0 +1,2 @@ +# this is essentially a breaks with version +libreoffice-common: breaks-without-version libreoffice-help-5.2 diff --git a/debian/libreoffice-common.maintscript b/debian/libreoffice-common.maintscript new file mode 100644 index 00000000000..0c3e87dc2dc --- /dev/null +++ b/debian/libreoffice-common.maintscript @@ -0,0 +1,5 @@ +mv_conffile /etc/apparmor.d/usr.lib.libreofficeprogram.oosplash /etc/apparmor.d/usr.lib.libreoffice.program.oosplash 1:5.4.3-1 +mv_conffile /etc/apparmor.d/usr.lib.libreofficeprogram.senddoc /etc/apparmor.d/usr.lib.libreoffice.program.senddoc 1:5.4.3-1 +mv_conffile /etc/apparmor.d/usr.lib.libreofficeprogram.soffice.bin /etc/apparmor.d/usr.lib.libreoffice.program.soffice.bin 1:5.4.3-1 +mv_conffile /etc/apparmor.d/usr.lib.libreofficeprogram.xpdfimport /etc/apparmor.d/usr.lib.libreoffice.program.xpdfimport 1:5.4.3-1 + diff --git a/debian/libreoffice-common.manpages b/debian/libreoffice-common.manpages new file mode 100644 index 00000000000..37ce2e86511 --- /dev/null +++ b/debian/libreoffice-common.manpages @@ -0,0 +1,4 @@ +debian/tmp/usr/share/man/man1/libreoffice.1.gz +debian/tmp/usr/share/man/man1/loffice.1.gz +debian/tmp/usr/share/man/man1/unopkg.1.gz +debian/tmp/usr/share/man/man1/lofromtemplate.1.gz diff --git a/debian/libreoffice-common.postinst.in b/debian/libreoffice-common.postinst.in new file mode 100644 index 00000000000..ea024a9432e --- /dev/null +++ b/debian/libreoffice-common.postinst.in @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +#INCLUDE_SHELL_LIB# + +if [ "$1" = "triggered" ]; then + for triggername in $2; do + case "$triggername" in + # new "bundled" extensions (since 3.3) + "/@OODIR@/share/extensions") + make_lo_sync_extensions + ;; + "/@OODIR@") + # check also whether /usr/bin/loolwsd-systemplate-setup + # is +x do to not fail when it's gone but + # /var/lib/lool/systemplate is still there (loolwsd + # removed but not purged) + if [ -x /usr/bin/loolwsd-systemplate-setup -a \ + -d /var/lib/lool/systemplate ]; then + update_lool_systemplate + fi + ;; + esac + done +fi + +#DEBHELPER# + diff --git a/debian/libreoffice-common.postrm.in b/debian/libreoffice-common.postrm.in new file mode 100644 index 00000000000..c4471b59176 --- /dev/null +++ b/debian/libreoffice-common.postrm.in @@ -0,0 +1,26 @@ +#!/bin/sh + +set -e + +#INCLUDE_SHELL_LIB# + +case "$1" in + remove|abort-install|abort-upgrade) + rm -rf /`echo @OODIR@ | sed -e s,usr/,var/,g`/share/prereg/bundled + rmdir /`echo @OODIR@ | sed -e s,usr/,var/,g`/share/prereg/ || true + rmdir /`echo @OODIR@ | sed -e s,usr/,var/,g`/share/ || true + # this belongs to -core, but won't work until we have -common stuff removed, too, so try here again + # in adduition to -core + rmdir /`echo @OODIR@ | sed -e s,usr/,var/,g`/program/ || true + rmdir /`echo @OODIR@ | sed -e s,usr/,var/,g` || true + # and try to remove /@OOBRANDDIR@ itself + rmdir /`echo @OODIR@ | sed -e s,usr/,var/,g` || true + ;; + purge) + rm -f /`echo @OODIR@ | sed -e s,usr/,var/,g`/share/config/javasettingsunopkginstall.xml + rmdir /`echo @OODIR@ | sed -e s,usr/,var/,g`/share/config || true + rmdir /`echo @OODIR@ | sed -e s,usr/,var/,g`/share || true + ;; +esac + +#DEBHELPER# diff --git a/debian/libreoffice-common.triggers.in b/debian/libreoffice-common.triggers.in new file mode 100644 index 00000000000..274301752fe --- /dev/null +++ b/debian/libreoffice-common.triggers.in @@ -0,0 +1,2 @@ +interest-noawait /@OODIR@/share/extensions +interest-noawait /@OODIR@ diff --git a/debian/libreoffice-core.bug-control b/debian/libreoffice-core.bug-control new file mode 100644 index 00000000000..97439bdec60 --- /dev/null +++ b/debian/libreoffice-core.bug-control @@ -0,0 +1,2 @@ +report-with: libreoffice-common libreoffice-java-common fonts-opensymbol +package-status: libxrender1 libxinerama1 libsane iceweasel firefox icedove iceape-browser libreoffice-filter-binfilter pstoedit imagemagick fglrx-driver nvidia-glx nvidia-glx-legacy diff --git a/debian/libreoffice-core.bug-script.in b/debian/libreoffice-core.bug-script.in new file mode 100755 index 00000000000..9300ef4b3dd --- /dev/null +++ b/debian/libreoffice-core.bug-script.in @@ -0,0 +1,20 @@ +#!/bin/sh + +# list all installed extensions. --bundled, --shared and non-shared +/usr/lib/libreoffice/program/unopkg list --bundled >&3 +/usr/lib/libreoffice/program/unopkg list --shared >&3 +/usr/lib/libreoffice/program/unopkg list >&3 + +# experimental stuff enabled? +echo "" >&3 +echo "Experimental features enabled:" >&3 +#_lo_profile_ver=`echo @OOVER@ | cut -d. -f1` +_lo_profile_ver=4 +if [ -d "$HOME/.config/libreoffice/$_lo_profile_ver" ]; then + grep ExperimentalMode $HOME/.config/libreoffice/$_lo_profile_ver/user/registrymodifications.xcu >&3 +fi + +# installed VCLplugs +echo "" >&3 +echo "Installed VCLplugs:" >&3 +dpkg -l libreoffice-gtk2 libreoffice-gtk3 libreoffice-kde5 >&3 diff --git a/debian/libreoffice-core.lintian-overrides b/debian/libreoffice-core.lintian-overrides new file mode 100644 index 00000000000..3a4d1d8b84d --- /dev/null +++ b/debian/libreoffice-core.lintian-overrides @@ -0,0 +1 @@ +libreoffice-core: embedded-library usr/lib/libreoffice/program/libpdfiumlo.so: openjpeg diff --git a/debian/libreoffice-core.postrm.in b/debian/libreoffice-core.postrm.in new file mode 100755 index 00000000000..95ed9cb4f46 --- /dev/null +++ b/debian/libreoffice-core.postrm.in @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +#INCLUDE_SHELL_LIB# + +if [ "$1" = "remove" ]; then + rm -rf /var/spool/libreoffice +fi + +#DEBHELPER# + +exit 0 diff --git a/debian/libreoffice-dev-doc.links b/debian/libreoffice-dev-doc.links new file mode 100644 index 00000000000..7e6fd17fba7 --- /dev/null +++ b/debian/libreoffice-dev-doc.links @@ -0,0 +1 @@ +usr/share/doc/libreoffice/sdk/docs usr/share/doc/libreoffice-dev-doc/api diff --git a/debian/libreoffice-dev.lintian-overrides b/debian/libreoffice-dev.lintian-overrides new file mode 100644 index 00000000000..f1338bb4535 --- /dev/null +++ b/debian/libreoffice-dev.lintian-overrides @@ -0,0 +1 @@ +libreoffice-dev: wrong-section-according-to-package-name libreoffice-dev => libdevel diff --git a/debian/libreoffice-draw.bug-control b/debian/libreoffice-draw.bug-control new file mode 100644 index 00000000000..1ac405f9788 --- /dev/null +++ b/debian/libreoffice-draw.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-core diff --git a/debian/libreoffice-draw.lintian-overrides b/debian/libreoffice-draw.lintian-overrides new file mode 100644 index 00000000000..12588b54def --- /dev/null +++ b/debian/libreoffice-draw.lintian-overrides @@ -0,0 +1 @@ +libreoffice-draw: desktop-command-not-in-package usr/share/applications/libreoffice-draw.desktop libreoffice diff --git a/debian/libreoffice-draw.manpages b/debian/libreoffice-draw.manpages new file mode 100644 index 00000000000..3267e53d6e2 --- /dev/null +++ b/debian/libreoffice-draw.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/lodraw.1.gz diff --git a/debian/libreoffice-draw.mime b/debian/libreoffice-draw.mime new file mode 100644 index 00000000000..e960d67b574 --- /dev/null +++ b/debian/libreoffice-draw.mime @@ -0,0 +1,13 @@ +### +# shared-mime-info + +# OASIS OpenDocument Format +application/vnd.oasis.opendocument.graphics; soffice --nologo --draw '%s'; edit=soffice --nologo --draw '%s'; print=soffice --nologo --draw -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Drawing"; nametemplate=%s.odg; priority=9 +application/vnd.oasis.opendocument.graphics-template; soffice --nologo --draw '%s'; edit=soffice --nologo --draw '%s'; print=soffice --nologo --draw -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Drawing Template"; nametemplate=%s.otg; priority=9 + +# OpenOffice.org 1.0 +application/vnd.sun.xml.draw; soffice --nologo --draw '%s'; edit=soffice --nologo --draw '%s'; test=test -n "$DISPLAY"; description="OpenOffice.org Drawing"; nametemplate=%s.sxd; priority=8 +application/vnd.sun.xml.draw.template; soffice --nologo --draw '%s'; edit=soffice --nologo --draw '%s'; test=test -n "$DISPLAY"; description="OpenOffice.org Drawing Template"; nametemplate=%s.std; priority=8 + +# +### diff --git a/debian/libreoffice-evolution.bug-control b/debian/libreoffice-evolution.bug-control new file mode 100644 index 00000000000..aa427dea40d --- /dev/null +++ b/debian/libreoffice-evolution.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-core evolution libreoffice-base diff --git a/debian/libreoffice-gtk2.lintian-overrides b/debian/libreoffice-gtk2.lintian-overrides new file mode 100644 index 00000000000..9c0dd9eb166 --- /dev/null +++ b/debian/libreoffice-gtk2.lintian-overrides @@ -0,0 +1 @@ +libreoffice-gtk2: binary-or-shlib-defines-rpath diff --git a/debian/libreoffice-help-common.links b/debian/libreoffice-help-common.links new file mode 100644 index 00000000000..48ab2acd4ce --- /dev/null +++ b/debian/libreoffice-help-common.links @@ -0,0 +1 @@ +/usr/share/javascript/normalize.css/normalize.css usr/share/libreoffice/help/normalize.css diff --git a/debian/libreoffice-help.doc-base.in b/debian/libreoffice-help.doc-base.in new file mode 100644 index 00000000000..870af5cfe43 --- /dev/null +++ b/debian/libreoffice-help.doc-base.in @@ -0,0 +1,7 @@ +Document: libreoffice-help-@LCODE@ +Title: LibreOffice Help (@HELPISO@) +Author: The Document Foundation +Section: Office + +Format: HTML +Index: /usr/share/libreoffice/help/@HELPISO@/text/shared/main0108.html diff --git a/debian/libreoffice-help.lintian-overrides.in b/debian/libreoffice-help.lintian-overrides.in new file mode 100644 index 00000000000..17fde6dd126 --- /dev/null +++ b/debian/libreoffice-help.lintian-overrides.in @@ -0,0 +1,15 @@ +# these are in -help-common. See lintian bug http://bugs.debian.org/897244 +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/media/* +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/help.html +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/idxcaption.xsl +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/fuse.js +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/help.js +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/hid2file.js +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/paginathing.js +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/idxcontent.xsl +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/index.html +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/normalize.css +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/main_transform.xsl +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/help2.js +doc-base-file-references-missing-file libreoffice-help-@LCODE@:8 /usr/share/libreoffice/help/default.css + diff --git a/debian/libreoffice-impress.bug-control b/debian/libreoffice-impress.bug-control new file mode 100644 index 00000000000..a3a052e7da4 --- /dev/null +++ b/debian/libreoffice-impress.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-core libreoffice-draw diff --git a/debian/libreoffice-impress.lintian-overrides b/debian/libreoffice-impress.lintian-overrides new file mode 100644 index 00000000000..5df0b376ef9 --- /dev/null +++ b/debian/libreoffice-impress.lintian-overrides @@ -0,0 +1 @@ +libreoffice-impress: desktop-command-not-in-package usr/share/applications/libreoffice-impress.desktop libreoffice diff --git a/debian/libreoffice-impress.manpages b/debian/libreoffice-impress.manpages new file mode 100644 index 00000000000..60ab514ba8f --- /dev/null +++ b/debian/libreoffice-impress.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/loimpress.1.gz diff --git a/debian/libreoffice-impress.mime b/debian/libreoffice-impress.mime new file mode 100644 index 00000000000..fe758783e6f --- /dev/null +++ b/debian/libreoffice-impress.mime @@ -0,0 +1,25 @@ +### +# shared-mime-info + +# ECMA Office Open XML (Microsoft Office 2007) +application/vnd.ms-powerpoint.presentation.macroEnabled.12; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="Office Open XML Presentation with Macros Enabled"; nametemplate=%s.pptm; priority=3 +application/vnd.ms-powerpoint.slideshow.macroEnabled.12; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="Office Open XML Presentation Slide Show with Macros Enabled"; nametemplate=%s.ppsm; priority=3 +application/vnd.ms-powerpoint.template.macroEnabled.12; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="Office Open XML Presentation Template with Macros Enabled"; nametemplate=%s.potm; priority=3 +application/vnd.openxmlformats-officedocument.presentationml.presentation; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="Office Open XML Presentation"; nametemplate=%s.pptx; priority=3 +application/vnd.openxmlformats-officedocument.presentationml.slideshow; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="Office Open XML Presentation Slide Show"; nametemplate=%s.ppsx; priority=3 +application/vnd.openxmlformats-officedocument.presentationml.template; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="Office Open XML Presentation Template"; nametemplate=%s.potx; priority=3 + +# Microsoft PowerPoint +application/vnd.ms-powerpoint; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="Microsoft PowerPoint Document"; nametemplate=%s.ppt; priority=3 + +# OASIS OpenDocument Format +application/vnd.oasis.opendocument.presentation; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; print=soffice --nologo --impress -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Presentation"; nametemplate=%s.odp; priority=9 +application/vnd.oasis.opendocument.presentation-template; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; print=soffice --nologo --impress -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Presentation Template"; nametemplate=%s.otp; priority=9 + +# OpenOffice.org 1.0 +application/vnd.sun.xml.impress; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="OpenOffice.org Presentation"; nametemplate=%s.sxi; priority=8 +application/vnd.sun.xml.impress.template; soffice --nologo --impress '%s'; edit=soffice --nologo --impress '%s'; test=test -n "$DISPLAY"; description="OpenOffice.org Presentation Template"; nametemplate=%s.sti; priority=8 + +# +### + diff --git a/debian/libreoffice-java-common.poms b/debian/libreoffice-java-common.poms new file mode 100644 index 00000000000..fcc4eec6e4c --- /dev/null +++ b/debian/libreoffice-java-common.poms @@ -0,0 +1,28 @@ +# List of POM files for the package +# Format of this file is: +# [option]* +# where option can be: +# --ignore: ignore this POM and its artifact if any +# --ignore-pom: don't install the POM. To use on POM files that are created +# temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms] +# --no-parent: remove the tag from the POM +# --package=: an alternative package to use when installing this POM +# and its artifact +# --has-package-version: to indicate that the original version of the POM is the same as the upstream part +# of the version for the package. +# --keep-elements=: a list of XML elements to keep in the POM +# during a clean operation with mh_cleanpom or mh_installpom +# --artifact=: path to the build artifact associated with this POM, +# it will be installed when using the command mh_install. [mh_install] +# --java-lib: install the jar into /usr/share/java to comply with Debian +# packaging guidelines +# --usj-name=: name to use when installing the library in /usr/share/java +# --usj-version=: version to use when installing the library in /usr/share/java +# --no-usj-versionless: don't install the versionless link in /usr/share/java +# --dest-jar=: the destination for the real jar. +# It will be installed with mh_install. [mh_install] +# --classifier=: Optional, the classifier for the jar. Empty by default. +# --site-xml=: Optional, the location for site.xml if it needs to be installed. +# Empty by default. [mh_install] +# +debian/pom.unoil.xml --no-parent --has-package-version diff --git a/debian/libreoffice-l10n-in.lintian-overrides b/debian/libreoffice-l10n-in.lintian-overrides new file mode 100644 index 00000000000..5b67277e05e --- /dev/null +++ b/debian/libreoffice-l10n-in.lintian-overrides @@ -0,0 +1,2 @@ +# this is a metapackage, so actually "metapackages" is correct, IMHO +libreoffice-l10n-in: wrong-section-according-to-package-name libreoffice-l10n-in => localization diff --git a/debian/libreoffice-l10n-za.lintian-overrides b/debian/libreoffice-l10n-za.lintian-overrides new file mode 100644 index 00000000000..3c1bc8861b3 --- /dev/null +++ b/debian/libreoffice-l10n-za.lintian-overrides @@ -0,0 +1,2 @@ +# this is a metapackage, so actually "metapackages" is correct, IMHO +libreoffice-l10n-za: wrong-section-according-to-package-name libreoffice-l10n-za => localization diff --git a/debian/libreoffice-math.bug-control b/debian/libreoffice-math.bug-control new file mode 100644 index 00000000000..1ac405f9788 --- /dev/null +++ b/debian/libreoffice-math.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-core diff --git a/debian/libreoffice-math.lintian-overrides b/debian/libreoffice-math.lintian-overrides new file mode 100644 index 00000000000..bf3665b50c3 --- /dev/null +++ b/debian/libreoffice-math.lintian-overrides @@ -0,0 +1 @@ +libreoffice-math: desktop-command-not-in-package usr/share/applications/libreoffice-math.desktop libreoffice diff --git a/debian/libreoffice-math.manpages b/debian/libreoffice-math.manpages new file mode 100644 index 00000000000..6798b1e6b4e --- /dev/null +++ b/debian/libreoffice-math.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/lomath.1.gz diff --git a/debian/libreoffice-math.mime b/debian/libreoffice-math.mime new file mode 100644 index 00000000000..c9eee478bb3 --- /dev/null +++ b/debian/libreoffice-math.mime @@ -0,0 +1,14 @@ +### +# shared-mime-info + +# Generic +text/mathml; soffice --nologo --math '%s'; edit=soffice --nologo --math '%s'; test=test -n "$DISPLAY"; description="MathML Formula"; nametemplate=%s.mml; priority=3 + +# OASIS OpenDocument Format +application/vnd.oasis.opendocument.formula; soffice --nologo --math '%s'; edit=soffice --nologo --math '%s'; print=soffice --nologo --math -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Formula"; nametemplate=%s.odf; priority=9 + +# OpenOffice.org 1.0 +application/vnd.sun.xml.math; soffice --nologo --math '%s'; edit=soffice --nologo --math '%s'; test=test -n "$DISPLAY"; description="OpenOffice.org Formula"; nametemplate=%s.sxm; priority=8 + +# +### diff --git a/debian/libreoffice-mysql-connector.bug-script.in b/debian/libreoffice-mysql-connector.bug-script.in new file mode 100755 index 00000000000..1ce804830f7 --- /dev/null +++ b/debian/libreoffice-mysql-connector.bug-script.in @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/lib/libreoffice/program/unopkg list --bundled com.sun.star.mysql-connector-ooo-@PLATFORMID@ >&3 diff --git a/debian/libreoffice-nlpsolver.lintian-overrides b/debian/libreoffice-nlpsolver.lintian-overrides new file mode 100644 index 00000000000..447d371403f --- /dev/null +++ b/debian/libreoffice-nlpsolver.lintian-overrides @@ -0,0 +1 @@ +libreoffice-nlpsolver: jar-not-in-usr-share usr/lib/libreoffice/share/extensions/nlpsolver/help/*/help.jar diff --git a/debian/libreoffice-officebean.bug-control b/debian/libreoffice-officebean.bug-control new file mode 100644 index 00000000000..1ac405f9788 --- /dev/null +++ b/debian/libreoffice-officebean.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-core diff --git a/debian/libreoffice-officebean.poms b/debian/libreoffice-officebean.poms new file mode 100644 index 00000000000..36e613aa9ae --- /dev/null +++ b/debian/libreoffice-officebean.poms @@ -0,0 +1,28 @@ +# List of POM files for the package +# Format of this file is: +# [option]* +# where option can be: +# --ignore: ignore this POM and its artifact if any +# --ignore-pom: don't install the POM. To use on POM files that are created +# temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms] +# --no-parent: remove the tag from the POM +# --package=: an alternative package to use when installing this POM +# and its artifact +# --has-package-version: to indicate that the original version of the POM is the same as the upstream part +# of the version for the package. +# --keep-elements=: a list of XML elements to keep in the POM +# during a clean operation with mh_cleanpom or mh_installpom +# --artifact=: path to the build artifact associated with this POM, +# it will be installed when using the command mh_install. [mh_install] +# --java-lib: install the jar into /usr/share/java to comply with Debian +# packaging guidelines +# --usj-name=: name to use when installing the library in /usr/share/java +# --usj-version=: version to use when installing the library in /usr/share/java +# --no-usj-versionless: don't install the versionless link in /usr/share/java +# --dest-jar=: the destination for the real jar. +# It will be installed with mh_install. [mh_install] +# --classifier=: Optional, the classifier for the jar. Empty by default. +# --site-xml=: Optional, the location for site.xml if it needs to be installed. +# Empty by default. [mh_install] +# +debian/pom.officebean.xml --no-parent --has-package-version diff --git a/debian/libreoffice-ogltrans.bug-control b/debian/libreoffice-ogltrans.bug-control new file mode 100644 index 00000000000..4df26c74c91 --- /dev/null +++ b/debian/libreoffice-ogltrans.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-impress fglrx-glx ia32-fglrx-glx nvidia-glx nvidia-glx-legacy diff --git a/debian/libreoffice-report-builder.bug-control b/debian/libreoffice-report-builder.bug-control new file mode 100644 index 00000000000..48ef942e313 --- /dev/null +++ b/debian/libreoffice-report-builder.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-base diff --git a/debian/libreoffice-script-provider-python.bug-control b/debian/libreoffice-script-provider-python.bug-control new file mode 100644 index 00000000000..38da481c1f2 --- /dev/null +++ b/debian/libreoffice-script-provider-python.bug-control @@ -0,0 +1 @@ +report-with: python-uno python3-uno diff --git a/debian/libreoffice-sdbc-firebird.NEWS b/debian/libreoffice-sdbc-firebird.NEWS new file mode 100644 index 00000000000..00d810308fa --- /dev/null +++ b/debian/libreoffice-sdbc-firebird.NEWS @@ -0,0 +1,21 @@ +libreoffice (1:5.3.0~alpha1-1) experimental; urgency=low + + * LibreOffice switched from Firebird 2.5 to Firebird 3. Unfortunately + the format used by the Firebird 2.5 code (fdb - the native on-disk format) + is NOT compatible with the "new" one (the archive format). LibreOffice 5.3 + can NOT read older .odbs having .fdb embedded. + + Some future firebird version might have a way to convert itself/make LO + able to convert but until then you need to convert manually as follows: + + You need the gbak tool from firebird2.5: + https://packages.debian.org/search?searchon=contents&keywords=gbak&mode=exactfilename&suite=oldstable&arch=any + + Then execute: + unzip -d oldFirebird.odb temp; + gbak -b temp/database/firebird.fdb temp/database/firebird.fbk; + rm temp/database/firebird.fdb + zip -FSr oldFirebird.odb temp; + rm -r temp; + + -- Rene Engelhard Mon, 28 Nov 2016 10:27:15 +0200 diff --git a/debian/libreoffice-sdbc-firebird.maintscript b/debian/libreoffice-sdbc-firebird.maintscript new file mode 100644 index 00000000000..8421fc63eb9 --- /dev/null +++ b/debian/libreoffice-sdbc-firebird.maintscript @@ -0,0 +1 @@ +dir_to_symlink /usr/share/doc/libreoffice-sdbc-firebird /usr/share/doc/libreoffice-core 1:5.4.3~rc1-3~ diff --git a/debian/libreoffice-wiki-publisher.bug-script.in b/debian/libreoffice-wiki-publisher.bug-script.in new file mode 100755 index 00000000000..9497e5ca079 --- /dev/null +++ b/debian/libreoffice-wiki-publisher.bug-script.in @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/lib/libreoffice/program/unopkg list --bundled com.sun.wiki-publisher >&3 diff --git a/debian/libreoffice-wiki-publisher.lintian-overrides b/debian/libreoffice-wiki-publisher.lintian-overrides new file mode 100644 index 00000000000..82dc8202233 --- /dev/null +++ b/debian/libreoffice-wiki-publisher.lintian-overrides @@ -0,0 +1 @@ +libreoffice-wiki-publisher: jar-not-in-usr-share usr/lib/libreoffice/share/extensions/wiki-publisher/help/*/help.jar diff --git a/debian/libreoffice-writer.bug-control b/debian/libreoffice-writer.bug-control new file mode 100644 index 00000000000..1ac405f9788 --- /dev/null +++ b/debian/libreoffice-writer.bug-control @@ -0,0 +1 @@ +report-with: libreoffice-core diff --git a/debian/libreoffice-writer.lintian-overrides b/debian/libreoffice-writer.lintian-overrides new file mode 100644 index 00000000000..08563077e14 --- /dev/null +++ b/debian/libreoffice-writer.lintian-overrides @@ -0,0 +1 @@ +libreoffice-writer: desktop-command-not-in-package usr/share/applications/libreoffice-writer.desktop libreoffice diff --git a/debian/libreoffice-writer.manpages b/debian/libreoffice-writer.manpages new file mode 100644 index 00000000000..53c4e248a63 --- /dev/null +++ b/debian/libreoffice-writer.manpages @@ -0,0 +1,3 @@ +debian/tmp/usr/share/man/man1/loweb.1.gz +debian/tmp/usr/share/man/man1/lowriter.1.gz + diff --git a/debian/libreoffice-writer.mime b/debian/libreoffice-writer.mime new file mode 100644 index 00000000000..799dd44f074 --- /dev/null +++ b/debian/libreoffice-writer.mime @@ -0,0 +1,37 @@ +### +# shared-mime-info + +# Generic +application/rtf; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="Rich Text Format"; nametemplate=%s.rtf; priority=3 +application/x-extension-txt; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="Plain Text Document"; nametemplate=%s.txt; priority=3 +application/x-t602; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="T602 Document"; nametemplate=%s.602; priority=3 + +# Corel WordPerfect +application/vnd.wordperfect; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="WordPerfect Document"; nametemplate=%s.wp; priority=3 + +# ECMA Office Open XML (Microsoft Office 2007) +application/vnd.ms-word.document.macroEnabled.12; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="Office Open XML Document with Macros Enabled"; nametemplate=%s.docm; priority=3 +application/vnd.ms-word.template.macroEnabled.12; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="Office Open XML Document Template with Macros Enabled"; nametemplate=%s.dotm; priority=3 +application/vnd.openxmlformats-officedocument.wordprocessingml.document; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="Office Open XML Document"; nametemplate=%s.docx; priority=3 +application/vnd.openxmlformats-officedocument.wordprocessingml.template; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="Office Open XML Document Template"; nametemplate=%s.dotx; priority=3 + +# Microsoft Word +application/msword; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="Microsoft Word Document"; nametemplate=%s.doc; priority=3 + +# Microsoft Works +application/vnd.ms-works; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; test=test -n "$DISPLAY"; description="Microsoft Works Document"; nametemplate=%s.wps; priority=3 + +# OASIS OpenDocument Format +application/vnd.oasis.opendocument.text; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; print=soffice --nologo --writer -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Text Document"; nametemplate=%s.odt; priority=9 +application/vnd.oasis.opendocument.text-master; soffice --nologo --global '%s'; edit=soffice --nologo --writer '%s'; print=soffice --nologo --writer -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Master Document"; nametemplate=%s.odm; priority=9 +application/vnd.oasis.opendocument.text-template; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; print=soffice --nologo --writer -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument Text Document Template"; nametemplate=%s.ott; priority=9 +application/vnd.oasis.opendocument.text-web; soffice --nologo --web '%s'; edit=soffice --nologo --web '%s'; print=soffice --nologo --web -p '%s'; test=test -n "$DISPLAY"; description="OpenDocument HTML Document Template"; nametemplate=%s.oth; priority=9 + +# OpenOffice.org 1.0 +application/vnd.sun.xml.writer; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; description="OpenOffice.org Text Document"; nametemplate=%s.sxw; priority=8 +application/vnd.sun.xml.writer.global; soffice --nologo --global '%s'; edit=soffice --nologo --writer '%s'; description="OpenOffice.org Master Document"; nametemplate=%s.sxg; priority=8 +application/vnd.sun.xml.writer.template; soffice --nologo --writer '%s'; edit=soffice --nologo --writer '%s'; description="OpenOffice.org Text Document Template"; nametemplate=%s.stw; priority=8 + +# +### + diff --git a/debian/libreoffice.bug-control b/debian/libreoffice.bug-control new file mode 100644 index 00000000000..21ad6ad79a4 --- /dev/null +++ b/debian/libreoffice.bug-control @@ -0,0 +1,2 @@ +report-with: libreoffice-core libreoffice-writer libreoffice-calc libreoffice-base libreoffice-draw libreoffice-impress libreoffice-math + diff --git a/debian/libreofficekit-dev.docs b/debian/libreofficekit-dev.docs new file mode 100644 index 00000000000..d9f2643255b --- /dev/null +++ b/debian/libreofficekit-dev.docs @@ -0,0 +1 @@ +libreofficekit/README diff --git a/debian/lo-cpp-ref.in b/debian/lo-cpp-ref.in new file mode 100644 index 00000000000..b31c746b2d5 --- /dev/null +++ b/debian/lo-cpp-ref.in @@ -0,0 +1,7 @@ +Document: lo-cpp-ref +Title: LibreOffice @lo_sources_ver@ SDK C/C++ API Reference +Author: The Document Foundation +Section: Programming + +Format: HTML +Index: /usr/share/doc/libreoffice/sdk/docs/cpp/ref/index.html diff --git a/debian/lo-idl-ref.in b/debian/lo-idl-ref.in new file mode 100644 index 00000000000..3c9a812f7ef --- /dev/null +++ b/debian/lo-idl-ref.in @@ -0,0 +1,7 @@ +Document: lo-idl-ref +Title: LibreOffice @lo_sources_ver@ SDK API Reference +Author: The Document Foundation +Section: Programming + +Format: HTML +Index: /usr/share/doc/libreoffice/sdk/docs/idl/ref/index.html diff --git a/debian/lo-java-ref.in b/debian/lo-java-ref.in new file mode 100644 index 00000000000..e66337ea9a8 --- /dev/null +++ b/debian/lo-java-ref.in @@ -0,0 +1,7 @@ +Document: lo-java-ref +Title: LibreOffice SDK @lo_sources_ver@ Java API Reference +Author: The Document Foundation +Section: Programming/Java + +Format: HTML +Index: /usr/share/doc/libreoffice/sdk/docs/java/ref/index.html diff --git a/debian/patches/Improve-check-for-absolute-URI.diff b/debian/patches/Improve-check-for-absolute-URI.diff new file mode 100644 index 00000000000..8bf07f1ecd8 --- /dev/null +++ b/debian/patches/Improve-check-for-absolute-URI.diff @@ -0,0 +1,36 @@ +From 52f7aa318722bd17c77ee5c4fa8307936e7b53af Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann +Date: Mon, 19 Aug 2019 11:27:15 +0200 +Subject: Improve check for absolute URI +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Change-Id: I4dee44832107f72f8f3fb68554428dc1e646c346 +Reviewed-on: https://gerrit.libreoffice.org/77706 +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +(cherry picked from commit c79efeb66f7951305d0334bc288aee1c571a8728) +Reviewed-on: https://gerrit.libreoffice.org/77724 +Reviewed-by: Caolán McNamara +Tested-by: Caolán McNamara +--- + scripting/source/pyprov/pythonscript.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripting/source/pyprov/pythonscript.py b/scripting/source/pyprov/pythonscript.py +index d8924f8..acb6184 100644 +--- a/scripting/source/pyprov/pythonscript.py ++++ b/scripting/source/pyprov/pythonscript.py +@@ -237,7 +237,7 @@ class MyUriHelper: + log.debug( message ) + raise RuntimeException( message ) + +- if xFileUri.isAbsolute(): ++ if not xFileUri.hasRelativePath(): + message = "pythonscript: an absolute uri is invalid '" + sFileUri+ "'" + log.debug( message ) + raise RuntimeException( message ) +-- +cgit v1.1 + diff --git a/debian/patches/Improve-check.diff b/debian/patches/Improve-check.diff new file mode 100644 index 00000000000..6a47eac9587 --- /dev/null +++ b/debian/patches/Improve-check.diff @@ -0,0 +1,32 @@ +From ffad51e9e625a22f1efab3da7886baf4134b444f Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann +Date: Mon, 26 Aug 2019 10:18:09 +0200 +Subject: Improve check + +Change-Id: I8280a81eef2ced0ff0ace51ea9f094421abafe13 +Reviewed-on: https://gerrit.libreoffice.org/78108 +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +(cherry picked from commit 761e6dd25782420bf06e4a2ff3205a79b6cbb136) +Reviewed-on: https://gerrit.libreoffice.org/78129 +Reviewed-by: Michael Stahl +--- + sfx2/source/doc/objmisc.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx +index 08f4d8c..dd01995 100644 +--- a/sfx2/source/doc/objmisc.cxx ++++ b/sfx2/source/doc/objmisc.cxx +@@ -1364,7 +1364,7 @@ bool SfxObjectShell::UnTrustedScript(const OUString& rScriptURL) + do + { + OUString aToken = sScript.getToken(0, '/', nIndex); +- if (aToken.startsWithIgnoreAsciiCase("LibreLogo")) ++ if (aToken.startsWithIgnoreAsciiCase("LibreLogo") || aToken.indexOf('~') != -1) + { + return true; + } +-- +cgit v1.1 + diff --git a/debian/patches/More-uses-of-referer-URL-with-SvxBrushItem.diff b/debian/patches/More-uses-of-referer-URL-with-SvxBrushItem.diff new file mode 100644 index 00000000000..cf4a66a40f9 --- /dev/null +++ b/debian/patches/More-uses-of-referer-URL-with-SvxBrushItem.diff @@ -0,0 +1,165 @@ +From 87c418a98650ab6e4a62a0b4b72e02fee358dced Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann +Date: Fri, 7 Jun 2019 09:28:12 +0200 +Subject: More uses of referer URL with SvxBrushItem + +Reviewed-on: https://gerrit.libreoffice.org/73643 +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +(cherry picked from commit b518882de8213ef71a8003f95fbdf7689069c06d) +Conflicts: + sw/source/core/text/porfld.cxx + sw/source/core/unocore/unosett.cxx + +Change-Id: I04b524784df4ef453d8b1feec13b62f183a17e23 +Reviewed-on: https://gerrit.libreoffice.org/73860 +Tested-by: Jenkins +Reviewed-by: Miklos Vajna +--- + sw/inc/unosett.hxx | 2 +- + sw/source/core/text/porfld.cxx | 4 ++-- + sw/source/core/text/porfld.hxx | 1 + + sw/source/core/text/txtfld.cxx | 12 +++++++++++- + sw/source/core/unocore/unosett.cxx | 15 ++++++++++++--- + sw/source/uibase/config/StoredChapterNumbering.cxx | 2 +- + 6 files changed, 28 insertions(+), 8 deletions(-) + +diff --git a/sw/inc/unosett.hxx b/sw/inc/unosett.hxx +index a6d49603..4d83c77 100644 +--- a/sw/inc/unosett.hxx ++++ b/sw/inc/unosett.hxx +@@ -209,7 +209,7 @@ public: + + static css::uno::Sequence GetPropertiesForNumFormat( + const SwNumFormat& rFormat, OUString const& rCharFormatName, +- OUString const* pHeadingStyleName); ++ OUString const* pHeadingStyleName, OUString const & referer); + static void SetPropertiesToNumFormat( + SwNumFormat & aFormat, + OUString & rCharStyleName, +diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx +index be4bf77..bb563e6 100644 +--- a/sw/source/core/text/porfld.cxx ++++ b/sw/source/core/text/porfld.cxx +@@ -751,7 +751,7 @@ SwBulletPortion::SwBulletPortion( const sal_Unicode cBullet, + + SwGrfNumPortion::SwGrfNumPortion( + const OUString& rGraphicFollowedBy, +- const SvxBrushItem* pGrfBrush, ++ const SvxBrushItem* pGrfBrush, OUString const & referer, + const SwFormatVertOrient* pGrfOrient, const Size& rGrfSize, + const bool bLft, const bool bCntr, const sal_uInt16 nMinDst, + const bool bLabelAlignmentPosAndSpaceModeActive ) : +@@ -765,7 +765,7 @@ SwGrfNumPortion::SwGrfNumPortion( + if( pGrfBrush ) + { + *pBrush = *pGrfBrush; +- const Graphic* pGraph = pGrfBrush->GetGraphic(); ++ const Graphic* pGraph = pGrfBrush->GetGraphic(referer); + if( pGraph ) + SetAnimated( pGraph->IsAnimated() ); + else +diff --git a/sw/source/core/text/porfld.hxx b/sw/source/core/text/porfld.hxx +index 1514041..1490d93 100644 +--- a/sw/source/core/text/porfld.hxx ++++ b/sw/source/core/text/porfld.hxx +@@ -162,6 +162,7 @@ class SwGrfNumPortion : public SwNumberPortion + public: + SwGrfNumPortion( const OUString& rGraphicFollowedBy, + const SvxBrushItem* pGrfBrush, ++ OUString const & referer, + const SwFormatVertOrient* pGrfOrient, + const Size& rGrfSize, + const bool bLeft, +diff --git a/sw/source/core/text/txtfld.cxx b/sw/source/core/text/txtfld.cxx +index 9138a35e..1bed580 100644 +--- a/sw/source/core/text/txtfld.cxx ++++ b/sw/source/core/text/txtfld.cxx +@@ -52,6 +52,7 @@ + #include + #include + #include ++#include + #include + + static bool lcl_IsInBody( SwFrame const *pFrame ) +@@ -505,8 +506,17 @@ SwNumberPortion *SwTextFormatter::NewNumberPortion( SwTextFormatInfo &rInf ) con + + if( SVX_NUM_BITMAP == rNumFormat.GetNumberingType() ) + { ++ OUString referer; ++ if (auto const sh1 = rInf.GetVsh()) { ++ if (auto const doc = sh1->GetDoc()) { ++ auto const sh2 = doc->GetPersist(); ++ if (sh2 != nullptr && sh2->HasName()) { ++ referer = sh2->GetMedium()->GetName(); ++ } ++ } ++ } + pRet = new SwGrfNumPortion( pTextNd->GetLabelFollowedBy(), +- rNumFormat.GetBrush(), ++ rNumFormat.GetBrush(), referer, + rNumFormat.GetGraphicOrientation(), + rNumFormat.GetGraphicSize(), + bLeft, bCenter, nMinDist, +diff --git a/sw/source/core/unocore/unosett.cxx b/sw/source/core/unocore/unosett.cxx +index 3a72361..02ae09e 100644 +--- a/sw/source/core/unocore/unosett.cxx ++++ b/sw/source/core/unocore/unosett.cxx +@@ -60,6 +60,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -1301,13 +1302,21 @@ uno::Sequence SwXNumberingRules::GetNumberingRuleByIndex( + SwStyleNameMapper::FillProgName(sValue, aUString, SwGetPoolIdFromName::TxtColl); + } + +- return GetPropertiesForNumFormat(rFormat, CharStyleName, (pDocShell) ? & aUString : nullptr); ++ OUString referer; ++ if (pDoc != nullptr) { ++ auto const sh = pDoc->GetPersist(); ++ if (sh != nullptr && sh->HasName()) { ++ referer = sh->GetMedium()->GetName(); ++ } ++ } ++ return GetPropertiesForNumFormat( ++ rFormat, CharStyleName, (pDocShell) ? & aUString : nullptr, referer); + + } + + uno::Sequence SwXNumberingRules::GetPropertiesForNumFormat( + const SwNumFormat& rFormat, OUString const& rCharFormatName, +- OUString const*const pHeadingStyleName) ++ OUString const*const pHeadingStyleName, OUString const & referer) + { + bool bChapterNum = pHeadingStyleName != nullptr; + +@@ -1429,7 +1438,7 @@ uno::Sequence SwXNumberingRules::GetPropertiesForNumFormat + if (SVX_NUM_BITMAP == rFormat.GetNumberingType()) + { + const SvxBrushItem* pBrush = rFormat.GetBrush(); +- const Graphic* pGraphic = pBrush ? pBrush->GetGraphic() : nullptr; ++ const Graphic* pGraphic = pBrush ? pBrush->GetGraphic(referer) : nullptr; + if (pGraphic) + { + //GraphicBitmap +diff --git a/sw/source/uibase/config/StoredChapterNumbering.cxx b/sw/source/uibase/config/StoredChapterNumbering.cxx +index 940ffb3..7be6460 100644 +--- a/sw/source/uibase/config/StoredChapterNumbering.cxx ++++ b/sw/source/uibase/config/StoredChapterNumbering.cxx +@@ -130,7 +130,7 @@ public: + OUString dummy; // pass in empty HeadingStyleName - can't import anyway + uno::Sequence const ret( + SwXNumberingRules::GetPropertiesForNumFormat( +- *pNumFormat, *pCharStyleName, &dummy)); ++ *pNumFormat, *pCharStyleName, &dummy, "")); + return uno::makeAny(ret); + } + +-- +cgit v1.1 + diff --git a/debian/patches/Postgresql-12-no-adsrc.diff b/debian/patches/Postgresql-12-no-adsrc.diff new file mode 100644 index 00000000000..76275adef3a --- /dev/null +++ b/debian/patches/Postgresql-12-no-adsrc.diff @@ -0,0 +1,128 @@ +From 0872f7dc87445f81afd56b5a096d026df75d3a05 Mon Sep 17 00:00:00 2001 +From: Julien Nabet +Date: Sun, 13 Oct 2019 00:26:10 +0200 +Subject: tdf#128111: "adsrc" doesn't exist from Postgresql 12 + +Before Postgresql 8.0, there was only "adsrc" +then it's been deprecated +"The adsrc field is historical, and is best not used, because it does not track outside changes + that might affect the representation of the default value. + Reverse-compiling the adbin field (with pg_get_expr for example) is a better way to display the default value +" +and finally it's been removed with version 12 + +See evolution with: +- https://www.postgresql.org/docs/8/catalog-pg-attrdef.html +- https://www.postgresql.org/docs/11/catalog-pg-attrdef.html +- https://www.postgresql.org/docs/12/catalog-pg-attrdef.html + +Merge with https://cgit.freedesktop.org/libreoffice/core/commit/?id=1ec93ef100bb5f6ccef91f12e28ed09feb3eb38b + +Change-Id: I57e9da423a23b5a96bbb64b0e026b160e9643ab9 +Reviewed-on: https://gerrit.libreoffice.org/80722 +(cherry picked from commit 0c46c81e04530e8f6ce4f34195d8f0443ed8bfc3) +Reviewed-on: https://gerrit.libreoffice.org/80736 +Tested-by: Jenkins +Reviewed-by: Julien Nabet +--- + connectivity/source/drivers/postgresql/pq_databasemetadata.cxx | 6 +++--- + connectivity/source/drivers/postgresql/pq_statement.cxx | 10 ++++++---- + connectivity/source/drivers/postgresql/pq_tools.cxx | 7 +++++++ + connectivity/source/drivers/postgresql/pq_tools.hxx | 2 ++ + 4 files changed, 18 insertions(+), 7 deletions(-) + +diff --git a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx +index 10c8546..8af02f9 100644 +--- a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx ++++ b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx +@@ -1514,7 +1514,7 @@ css::uno::Reference< XResultSet > DatabaseMetaData::getColumns( + // allow NULL values. An empty string means + // nobody knows. + // => pg_attribute.attnotnull +- ++ OUString strDefaultValue = getColExprForDefaultSettingVal(m_pSettings); + Reference< XPreparedStatement > statement = m_origin->prepareStatement( + "SELECT pg_namespace.nspname, " // 1 + "pg_class.relname, " // 2 +@@ -1524,8 +1524,8 @@ css::uno::Reference< XResultSet > DatabaseMetaData::getColumns( + "pg_attribute.attnotnull, " // 6 + "pg_type.typdefault, " // 7 + "pg_type.typtype, " // 8 +- "pg_attrdef.adsrc, " // 9 +- "pg_description.description, " // 10 ++ + strDefaultValue + // 9 ++ ",pg_description.description, " // 10 + "pg_type.typbasetype, " // 11 + "pg_attribute.attnum " // 12 + "FROM pg_class, " +diff --git a/connectivity/source/drivers/postgresql/pq_statement.cxx b/connectivity/source/drivers/postgresql/pq_statement.cxx +index 7796cac..79930e2 100644 +--- a/connectivity/source/drivers/postgresql/pq_statement.cxx ++++ b/connectivity/source/drivers/postgresql/pq_statement.cxx +@@ -631,10 +631,12 @@ static void getAutoValues( + String2StringMap & result, + const Reference< XConnection > & connection, + const OUString &schemaName, +- const OUString & tableName ) ++ const OUString & tableName, ++ ConnectionSettings *pConnectionSettings ) + { ++ OUString strDefaultValue = getColExprForDefaultSettingVal(pConnectionSettings); + Reference< XPreparedStatement > stmt = connection->prepareStatement( +- "SELECT pg_attribute.attname, pg_attrdef.adsrc " ++ "SELECT pg_attribute.attname, " + strDefaultValue + + "FROM pg_class, pg_namespace, pg_attribute " + "LEFT JOIN pg_attrdef ON pg_attribute.attrelid = pg_attrdef.adrelid AND " + "pg_attribute.attnum = pg_attrdef.adnum " +@@ -644,7 +646,7 @@ static void getAutoValues( + // LEM TODO: this is weird; why "LIKE" and not "="? + // Most probably gives problems if tableName contains '%' + "pg_class.relname LIKE ? AND " +- "pg_attrdef.adsrc != ''" ++ + strDefaultValue + " != ''" + ); + DisposeGuard guard( stmt ); + Reference< XParameters > paras( stmt, UNO_QUERY ); +@@ -738,7 +740,7 @@ Reference< XResultSet > getGeneratedValuesFromLastInsert( + { + if( autoValues.begin() == autoValues.end() ) + { +- getAutoValues( autoValues, connection, schemaName, tableName ); ++ getAutoValues( autoValues, connection, schemaName, tableName, pConnectionSettings ); + } + // this could mean, that the column is a default or auto value, check this ... + bool bColumnMatchAutoValue = false; +diff --git a/connectivity/source/drivers/postgresql/pq_tools.cxx b/connectivity/source/drivers/postgresql/pq_tools.cxx +index fd691f2..63ed515 100644 +--- a/connectivity/source/drivers/postgresql/pq_tools.cxx ++++ b/connectivity/source/drivers/postgresql/pq_tools.cxx +@@ -836,6 +836,13 @@ OString extractSingleTableFromSelect( const std::vector< OString > &vec ) + + } + ++OUString getColExprForDefaultSettingVal(ConnectionSettings const *settings) ++{ ++ return (PQserverVersion( settings->pConnection ) < 80000)? ++ OUString("pg_attrdef.adsrc"): ++ OUString("pg_get_expr(pg_attrdef.adbin, pg_attrdef.adrelid, true)"); ++} ++ + css::uno::Sequence< sal_Int32 > string2intarray( const OUString & str ) + { + css::uno::Sequence< sal_Int32 > ret; +diff --git a/connectivity/source/drivers/postgresql/pq_tools.hxx b/connectivity/source/drivers/postgresql/pq_tools.hxx +index 9d4e234..af751f8 100644 +--- a/connectivity/source/drivers/postgresql/pq_tools.hxx ++++ b/connectivity/source/drivers/postgresql/pq_tools.hxx +@@ -100,6 +100,8 @@ void disposeObject( const css::uno::Reference< css::uno::XInterface > & r ); + OUString extractTableFromInsert( const OUString & sql ); + OString extractSingleTableFromSelect( const std::vector< OString > &vec ); + ++OUString getColExprForDefaultSettingVal(ConnectionSettings const *settings); ++ + void tokenizeSQL( const OString & sql, std::vector< OString > &vec ); + void splitSQL( const OString & sql, std::vector< OString > &vec ); + std::vector< sal_Int32 > parseIntArray( const OUString & str ); +-- +cgit v1.1 + diff --git a/debian/patches/Properly-obtain-location.diff b/debian/patches/Properly-obtain-location.diff new file mode 100644 index 00000000000..a9cd8e8536d --- /dev/null +++ b/debian/patches/Properly-obtain-location.diff @@ -0,0 +1,88 @@ +From 1256f4f1ad0e6038055c0a5856c79b9e61c3f802 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann +Date: Tue, 6 Aug 2019 13:29:22 +0200 +Subject: Properly obtain location +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Change-Id: I9fb0d883a3623394343cd54ef61e5610544198c8 +Reviewed-on: https://gerrit.libreoffice.org/77019 +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +(cherry picked from commit a9cde2557242a0c343d99533f3ee032599c66f42) +Reviewed-on: https://gerrit.libreoffice.org/77022 +Reviewed-by: Caolán McNamara +Reviewed-by: Christian Lohmaier +Tested-by: Christian Lohmaier +--- + scripting/source/protocolhandler/scripthandler.cxx | 9 +++++++-- + sfx2/source/doc/objmisc.cxx | 21 ++++++++++++--------- + 2 files changed, 19 insertions(+), 11 deletions(-) + +diff --git a/scripting/source/protocolhandler/scripthandler.cxx b/scripting/source/protocolhandler/scripthandler.cxx +index 07c4353..3340ff4 100644 +--- a/scripting/source/protocolhandler/scripthandler.cxx ++++ b/scripting/source/protocolhandler/scripthandler.cxx +@@ -49,6 +49,7 @@ + + #include + #include ++#include + #include + + #include +@@ -135,8 +136,12 @@ void SAL_CALL ScriptProtocolHandler::dispatchWithNotification( + { + try + { +- bool bIsDocumentScript = ( aURL.Complete.indexOf( "document" ) !=-1 ); +- // TODO: isn't this somewhat strange? This should be a test for a location=document parameter, shouldn't it? ++ css::uno::Reference urifac( ++ css::uri::UriReferenceFactory::create(m_xContext)); ++ css::uno::Reference uri( ++ urifac->parse(aURL.Complete), css::uno::UNO_QUERY_THROW); ++ auto const loc = uri->getParameter("location"); ++ bool bIsDocumentScript = loc == "document"; + + if ( bIsDocumentScript ) + { +diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx +index 8a6ff1b..e999557 100644 +--- a/sfx2/source/doc/objmisc.cxx ++++ b/sfx2/source/doc/objmisc.cxx +@@ -1383,19 +1383,22 @@ ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptCon + SAL_INFO("sfx", "in CallXScript" ); + ErrCode nErr = ERRCODE_NONE; + +- bool bIsDocumentScript = ( _rScriptURL.indexOf( "location=document" ) >= 0 ); +- // TODO: we should parse the URL, and check whether there is a parameter with this name. +- // Otherwise, we might find too much. +- if ( bIsDocumentScript && !lcl_isScriptAccessAllowed_nothrow( _rxScriptContext ) ) +- return ERRCODE_IO_ACCESSDENIED; +- +- if ( UnTrustedScript(_rScriptURL) ) +- return ERRCODE_IO_ACCESSDENIED; +- + bool bCaughtException = false; + Any aException; + try + { ++ css::uno::Reference urifac( ++ css::uri::UriReferenceFactory::create(comphelper::getProcessComponentContext())); ++ css::uno::Reference uri( ++ urifac->parse(_rScriptURL), css::uno::UNO_QUERY_THROW); ++ auto const loc = uri->getParameter("location"); ++ bool bIsDocumentScript = loc == "document"; ++ if ( bIsDocumentScript && !lcl_isScriptAccessAllowed_nothrow( _rxScriptContext ) ) ++ return ERRCODE_IO_ACCESSDENIED; ++ ++ if ( UnTrustedScript(_rScriptURL) ) ++ return ERRCODE_IO_ACCESSDENIED; ++ + // obtain/create a script provider + Reference< provider::XScriptProvider > xScriptProvider; + Reference< provider::XScriptProviderSupplier > xSPS( _rxScriptContext, UNO_QUERY ); +-- +cgit v1.1 + diff --git a/debian/patches/allow-link-updates-in-an-intermediate-linked-document.diff b/debian/patches/allow-link-updates-in-an-intermediate-linked-document.diff new file mode 100644 index 00000000000..62477614e57 --- /dev/null +++ b/debian/patches/allow-link-updates-in-an-intermediate-linked-document.diff @@ -0,0 +1,193 @@ +From 3d59261bfa6f02a36b20cd117ed25422c59fbe4f Mon Sep 17 00:00:00 2001 +From: Eike Rathke +Date: Fri, 16 Aug 2019 15:36:15 +0200 +Subject: Resolves: tdf#126928 allow link updates in an intermediate linked + document +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +... if link updates are allowed in the current document and that +intermediate document resides in a trusted location. + +This works with both, the "Always (from trusted locations)" and +the "On request" settings under Tools -> Options -> Calc -> +General. It can't work with documents residing in a non-trusted +location as there is no way to allow updates on demand for a such +loaded document (hidden via formulas). + +Reviewed-on: https://gerrit.libreoffice.org/77588 +Reviewed-by: Eike Rathke +Tested-by: Jenkins +(cherry picked from commit 54bf84746a2a9a2e2aaf0df9e429b0cfd538f640) + + Conflicts: + sc/source/ui/docshell/docsh4.cxx + sc/source/ui/docshell/externalrefmgr.cxx + +Backported. Also includes + + commit 1663b1e8233db6c6d1c2b35639ad984961084009 + CommitDate: Tue Feb 26 21:15:57 2019 +0100 + + tdf#120736: For Calc shared documents also check the original document URL + +Change-Id: Ie483f7743db7c6d5cf947dc16a9c3660855f3423 +Reviewed-on: https://gerrit.libreoffice.org/77613 +Tested-by: Jenkins +Reviewed-by: Caolán McNamara +Tested-by: Caolán McNamara +--- + sc/source/ui/docshell/docsh.cxx | 13 +++++-- + sc/source/ui/docshell/docsh4.cxx | 64 ++++++++++++++++++-------------- + sc/source/ui/docshell/externalrefmgr.cxx | 1 + + sc/source/ui/inc/docsh.hxx | 2 + + 4 files changed, 49 insertions(+), 31 deletions(-) + +diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx +index 59fe24a..3d20d85 100644 +--- a/sc/source/ui/docshell/docsh.cxx ++++ b/sc/source/ui/docshell/docsh.cxx +@@ -601,15 +601,22 @@ bool ScDocShell::Load( SfxMedium& rMedium ) + bool bRet = SfxObjectShell::Load(rMedium); + if (bRet) + { +- comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = getEmbeddedObjectContainer(); +- rEmbeddedObjectContainer.setUserAllowsLinkUpdate(false); +- + if (GetMedium()) + { + const SfxUInt16Item* pUpdateDocItem = SfxItemSet::GetItem(rMedium.GetItemSet(), SID_UPDATEDOCMODE, false); + m_nCanUpdate = pUpdateDocItem ? pUpdateDocItem->GetValue() : css::document::UpdateDocMode::NO_UPDATE; + } + ++ // GetLinkUpdateModeState() evaluates m_nCanUpdate so that must have ++ // been set first. Do not override an already forbidden LinkUpdate (the ++ // default is allow). ++ comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = getEmbeddedObjectContainer(); ++ if (rEmbeddedObjectContainer.getUserAllowsLinkUpdate()) ++ { ++ // For anything else than LM_ALWAYS we need user confirmation. ++ rEmbeddedObjectContainer.setUserAllowsLinkUpdate( GetLinkUpdateModeState() == LM_ALWAYS); ++ } ++ + { + // prepare a valid document for XML filter + // (for ConvertFrom, InitNew is called before) +diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx +index e021414..ac2ebfb 100644 +--- a/sc/source/ui/docshell/docsh4.cxx ++++ b/sc/source/ui/docshell/docsh4.cxx +@@ -154,6 +154,41 @@ IMPL_LINK_NOARG( ScDocShell, ReloadAllLinksHdl, Button*, void ) + SAL_WARN_IF(!pViewFrame, "sc", "expected there to be a ViewFrame"); + } + ++ScLkUpdMode ScDocShell::GetLinkUpdateModeState() const ++{ ++ const ScDocument& rDoc = GetDocument(); ++ ++ ScLkUpdMode nSet = rDoc.GetLinkMode(); ++ ++ if (nSet == LM_UNKNOWN) ++ { ++ ScAppOptions aAppOptions = SC_MOD()->GetAppOptions(); ++ nSet = aAppOptions.GetLinkMode(); ++ } ++ ++ if (m_nCanUpdate == css::document::UpdateDocMode::NO_UPDATE) ++ nSet = LM_NEVER; ++ else if (m_nCanUpdate == css::document::UpdateDocMode::FULL_UPDATE) ++ nSet = LM_ALWAYS; ++ ++ if (nSet == LM_ALWAYS ++ && !(SvtSecurityOptions().isTrustedLocationUriForUpdatingLinks( ++ GetMedium() == nullptr ? OUString() : GetMedium()->GetName()) ++ || (IsDocShared() ++ && SvtSecurityOptions().isTrustedLocationUriForUpdatingLinks( ++ GetSharedFileURL())))) ++ { ++ nSet = LM_ON_DEMAND; ++ } ++ if (m_nCanUpdate == css::document::UpdateDocMode::QUIET_UPDATE ++ && nSet == LM_ON_DEMAND) ++ { ++ nSet = LM_NEVER; ++ } ++ ++ return nSet; ++} ++ + void ScDocShell::Execute( SfxRequest& rReq ) + { + const SfxItemSet* pReqArgs = rReq.GetArgs(); +@@ -451,34 +486,7 @@ void ScDocShell::Execute( SfxRequest& rReq ) + break; + case SID_UPDATETABLINKS: + { +- ScDocument& rDoc = GetDocument(); +- +- ScLkUpdMode nSet = rDoc.GetLinkMode(); +- +- if(nSet==LM_UNKNOWN) +- { +- ScAppOptions aAppOptions=SC_MOD()->GetAppOptions(); +- nSet=aAppOptions.GetLinkMode(); +- } +- +- if (m_nCanUpdate == css::document::UpdateDocMode::NO_UPDATE) +- nSet = LM_NEVER; +- else if (m_nCanUpdate == css::document::UpdateDocMode::FULL_UPDATE) +- nSet = LM_ALWAYS; +- +- if (nSet == LM_ALWAYS +- && !(SvtSecurityOptions() +- .isTrustedLocationUriForUpdatingLinks( +- GetMedium() == nullptr +- ? OUString() : GetMedium()->GetName()))) +- { +- nSet = LM_ON_DEMAND; +- } +- if (m_nCanUpdate == css::document::UpdateDocMode::QUIET_UPDATE +- && nSet == LM_ON_DEMAND) +- { +- nSet = LM_NEVER; +- } ++ ScLkUpdMode nSet = GetLinkUpdateModeState(); + + if (nSet == LM_ALWAYS) + { +diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx +index 14b8363..940717d 100644 +--- a/sc/source/ui/docshell/externalrefmgr.cxx ++++ b/sc/source/ui/docshell/externalrefmgr.cxx +@@ -62,6 +62,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx +index 90b6840..be21efa 100644 +--- a/sc/source/ui/inc/docsh.hxx ++++ b/sc/source/ui/inc/docsh.hxx +@@ -217,6 +217,7 @@ public: + + void GetDocStat( ScDocStat& rDocStat ); + ++ const ScDocument& GetDocument() const { return m_aDocument; } + ScDocument& GetDocument() { return m_aDocument; } + ScDocFunc& GetDocFunc() { return *m_pDocFunc; } + +@@ -299,6 +300,7 @@ public: + void UpdateLinks() override; + void ReloadAllLinks(); + void ReloadTabLinks(); ++ ScLkUpdMode GetLinkUpdateModeState() const; + + void SetFormulaOptions( const ScFormulaOptions& rOpt, bool bForLoading = false ); + /** +-- +cgit v1.1 + diff --git a/debian/patches/allow-opensymbol-rebuild.diff b/debian/patches/allow-opensymbol-rebuild.diff new file mode 100644 index 00000000000..f1012265c6f --- /dev/null +++ b/debian/patches/allow-opensymbol-rebuild.diff @@ -0,0 +1,148 @@ +diff --git a/Makefile.fetch b/Makefile.fetch +index fce291d2c3ac..44f5031aac4a 100644 +--- a/Makefile.fetch ++++ b/Makefile.fetch +@@ -52,7 +52,7 @@ $(filter 32,$(words $(shell echo $(1) | sed -e 's/./& /g'))) + endef + + define fetch_Download__subst_var +-$(subst _DLL,_SHA256SUM,$(subst _TARBALL,_SHA256SUM,$(subst _PACK,_SHA256SUM,$(subst _JAR,_SHA256SUM,$(1))))) ++$(subst _TTF,_SHA256SUM,$(subst _DLL,_SHA256SUM,$(subst _TARBALL,_SHA256SUM,$(subst _PACK,_SHA256SUM,$(subst _JAR,_SHA256SUM,$(1)))))) + endef + + # fetch_Download_item url variable-name +@@ -224,6 +224,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_$(gb_Side).mk $(SRCDIR)/download.lst $(S + ,$(call fetch_Download_item,https://dev-www.libreoffice.org/src,$(item))) + $(foreach item, \ + $(call fetch_Optional,ODK,UNOWINREG_DLL) \ ++ $(call fetch_Optional,OPENSYMBOL,OPENSYMBOL_TTF) \ + $(call fetch_Optional,ODFVALIDATOR,ODFVALIDATOR_JAR) \ + $(call fetch_Optional,OFFICEOTRON,OFFICEOTRON_JAR) \ + ,$(call fetch_Download_item,https://dev-www.libreoffice.org/extern,$(item))) +diff --git a/config_host.mk.in b/config_host.mk.in +index 4a864c745424..0e3ba4864755 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -188,6 +188,7 @@ export FLEX=@FLEX@ + export FLUTE_JAR=@FLUTE_JAR@ + export FONTCONFIG_CFLAGS=$(gb_SPACE)@FONTCONFIG_CFLAGS@ + export FONTCONFIG_LIBS=$(gb_SPACE)@FONTCONFIG_LIBS@ ++export FONTFORGE=@FONTFORGE@ + export FREEHAND_CFLAGS=$(gb_SPACE)@FREEHAND_CFLAGS@ + export FREEHAND_LIBS=$(gb_SPACE)@FREEHAND_LIBS@ + export FREETYPE_CFLAGS=$(gb_SPACE)@FREETYPE_CFLAGS@ +@@ -432,6 +433,7 @@ export OOO_JUNIT_JAR=@OOO_JUNIT_JAR@ + export OOO_VENDOR=@OOO_VENDOR@ + export OPENSSL_CFLAGS=$(gb_SPACE)@OPENSSL_CFLAGS@ + export OPENSSL_LIBS=$(gb_SPACE)@OPENSSL_LIBS@ ++export OPENSYMBOL_TTF=@OPENSYMBOL_TTF@ + export ORCUS_CFLAGS=$(gb_SPACE)@ORCUS_CFLAGS@ + export ORCUS_LIBS=$(gb_SPACE)@ORCUS_LIBS@ + export OS=@OS@ +diff --git a/configure.ac b/configure.ac +index 21218f46e41c..73e3384cf1ce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1315,6 +1315,12 @@ AC_ARG_ENABLE(build-unowinreg, + compiler is needed on Linux.]), + ,) + ++AC_ARG_ENABLE(build-opensymbol, ++ AS_HELP_STRING([--enable-build-opensymbol], ++ [Do not use the prebuilt opens___.ttf. Build it instead. This needs ++ fontforge installed.]), ++,) ++ + AC_ARG_ENABLE(dependency-tracking, + AS_HELP_STRING([--enable-dependency-tracking], + [Do not reject slow dependency extractors.])[ +@@ -11297,6 +11303,21 @@ if test "x$with_java" != "xno"; then + libo_CHECK_EXTENSION([LanguageTool],[LANGUAGETOOL],[languagetool],[languagetool],[]) + fi + ++AC_MSG_CHECKING([whether to build opens___.ttf]) ++if test "$enable_build_opensymbol" = "yes"; then ++ AC_MSG_RESULT([yes]) ++ AC_PATH_PROG(FONTFORGE, fontforge) ++ if test -z "$FONTFORGE"; then ++ AC_MSG_ERROR([fontforge not installed]) ++ fi ++else ++ AC_MSG_RESULT([no]) ++ OPENSYMBOL_TTF=49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63-opens___.ttf ++ BUILD_TYPE="$BUILD_TYPE OPENSYMBOL" ++fi ++AC_SUBST(OPENSYMBOL_TTF) ++AC_SUBST(FONTFORGE) ++ + TEST_FONTS_MISSING=0 + + # $1 = font family +diff --git a/download.lst b/download.lst +index 1a5e697767b6..492b90b6b82c 100644 +--- a/download.lst ++++ b/download.lst +@@ -256,3 +256,4 @@ export ZMF_TARBALL := libzmf-0.0.2.tar.xz + + NUMBERTEXT_EXTENSION_SHA256SUM := 1568ed1d2feb8210bb5de61d69574a165cded536cfa17c6953c9064076469de2 + UNOWINREG_SHA256SUM := eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6 ++OPENSYMBOL_SHA256SUM := 49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63 +diff --git a/extras/CustomTarget_opensymbol.mk b/extras/CustomTarget_opensymbol.mk +new file mode 100644 +index 000000000000..a27718feb377 +--- /dev/null ++++ b/extras/CustomTarget_opensymbol.mk +@@ -0,0 +1,23 @@ ++# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- ++# ++# 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/. ++# ++ ++$(eval $(call gb_CustomTarget_CustomTarget,extras/fonts)) ++ ++$(eval $(call gb_CustomTarget_register_targets,extras/fonts,opens___.ttf)) ++ ++ifneq (,$(FONTFORGE)) ++$(call gb_CustomTarget_get_workdir,extras/fonts)/opens___.ttf : \ ++ $(SRCDIR)/extras/source/truetype/symbol/OpenSymbol.sfd ++ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),FNT,1) ++ $(FONTFORGE) -lang=ff -c 'Open($$1); Generate($$2)' $< $@ ++else ++$(call gb_CustomTarget_get_workdir,extras/fonts)/opens___.ttf : \ ++ $(TARFILE_LOCATION)/$(OPENSYMBOL_TTF) ++ cp $< $@ ++endif +diff --git a/extras/Module_extras.mk b/extras/Module_extras.mk +index 2aa41bda3901..164d38aefd1c 100644 +--- a/extras/Module_extras.mk ++++ b/extras/Module_extras.mk +@@ -68,4 +68,8 @@ $(eval $(call gb_Module_add_targets,extras,\ + )) + endif + ++$(eval $(call gb_Module_add_targets,extras,\ ++ CustomTarget_opensymbol \ ++)) ++ + # vim: set noet sw=4 ts=4: +diff --git a/extras/Package_fonts.mk b/extras/Package_fonts.mk +index 952c8286a5e7..8d2d23cbed6b 100644 +--- a/extras/Package_fonts.mk ++++ b/extras/Package_fonts.mk +@@ -7,8 +7,10 @@ + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + +-$(eval $(call gb_Package_Package,extras_fonts,$(SRCDIR)/extras)) ++$(eval $(call gb_Package_Package,extras_fonts,$(call gb_CustomTarget_get_workdir,extras/fonts))) + +-$(eval $(call gb_Package_add_file,extras_fonts,$(LIBO_SHARE_FOLDER)/fonts/truetype/opens___.ttf,source/truetype/symbol/opens___.ttf)) ++$(eval $(call gb_Package_use_customtarget,extras_fonts,extras/fonts)) ++ ++$(eval $(call gb_Package_add_file,extras_fonts,$(LIBO_SHARE_FOLDER)/fonts/truetype/opens___.ttf,opens___.ttf)) + + # vim: set noet sw=4 ts=4: diff --git a/debian/patches/an-absolute-uri-is-invalid-input.diff b/debian/patches/an-absolute-uri-is-invalid-input.diff new file mode 100644 index 00000000000..347be385e5e --- /dev/null +++ b/debian/patches/an-absolute-uri-is-invalid-input.diff @@ -0,0 +1,34 @@ +From c6f119c9b58a9793c68a76f12511ee393608b4f4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Fri, 16 Aug 2019 10:18:34 +0100 +Subject: an absolute uri is invalid input + +Change-Id: I392be4282be8ed67e3451b28d2c9f22acd4c87fc +Reviewed-on: https://gerrit.libreoffice.org/77564 +Reviewed-by: Stephan Bergmann +Tested-by: Stephan Bergmann +(cherry picked from commit 3c076e54f736980e208f5c27ecf179aa90aea103) +Reviewed-on: https://gerrit.libreoffice.org/77571 +Tested-by: Jenkins +--- + scripting/source/pyprov/pythonscript.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/scripting/source/pyprov/pythonscript.py b/scripting/source/pyprov/pythonscript.py +index 0f74852..d8924f8 100644 +--- a/scripting/source/pyprov/pythonscript.py ++++ b/scripting/source/pyprov/pythonscript.py +@@ -237,6 +237,11 @@ class MyUriHelper: + log.debug( message ) + raise RuntimeException( message ) + ++ if xFileUri.isAbsolute(): ++ message = "pythonscript: an absolute uri is invalid '" + sFileUri+ "'" ++ log.debug( message ) ++ raise RuntimeException( message ) ++ + # absolute path to the .py file + xAbsScriptUri = self.m_uriRefFac.makeAbsolute(xBaseUri, xFileUri, True, RETAIN) + sAbsScriptUri = xAbsScriptUri.getUriReference() +-- +cgit v1.1 diff --git a/debian/patches/apparmor-allow-java.security.diff b/debian/patches/apparmor-allow-java.security.diff new file mode 100644 index 00000000000..e4b8ae6eae1 --- /dev/null +++ b/debian/patches/apparmor-allow-java.security.diff @@ -0,0 +1,14 @@ +diff --git a/sysui/desktop/apparmor/program.soffice.bin b/sysui/desktop/apparmor/program.soffice.bin +index 2fc7fd6b5735..3fd82b08431e 100644 +--- a/sysui/desktop/apparmor/program.soffice.bin ++++ b/sysui/desktop/apparmor/program.soffice.bin +@@ -144,6 +144,9 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + /usr/lib{,32,64}/jvm/** r, + /usr/lib{,32,64}/jvm/**/jre/bin/java mix, + /usr/lib{,32,64}/jvm/**/bin/java mix, ++ # should be included in the jvm/** above but there it is ++ # a symlink, so apparmor still doesn't allow it... ++ /etc/java-??-openjdk/security/java.security r, + INSTDIR-** rw, + INSTDIR-**.so m, + INSTDIR-program/soffice.bin mix, diff --git a/debian/patches/apparmor-cleanups.diff b/debian/patches/apparmor-cleanups.diff new file mode 100644 index 00000000000..bfef4c780ac --- /dev/null +++ b/debian/patches/apparmor-cleanups.diff @@ -0,0 +1,34 @@ +From b3c157faeb945fd689fcc8561a520d9e611a7419 Mon Sep 17 00:00:00 2001 +From: Vincas Dargis +Date: Sat, 4 Aug 2018 17:40:05 +0300 +Subject: [PATCH] apparmor: use dri-enumerate abstraction + +Remove backported rule and use new dri-enumerate abstraction instead. +dri-enumerate is available in AppArmor 2.13, which recently migrated +into Debian Buster. + +Change-Id: I64919edc1882f7bc1e65cfb94686464c5350f699 +--- + sysui/desktop/apparmor/program.soffice.bin | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysui/desktop/apparmor/program.soffice.bin b/sysui/desktop/apparmor/program.soffice.bin +index 2fc7fd6b5735..33ad6f933ef6 100644 +--- a/sysui/desktop/apparmor/program.soffice.bin ++++ b/sysui/desktop/apparmor/program.soffice.bin +@@ -82,6 +82,7 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + #include + #include + #include ++ #include + #include + #include + #include +@@ -179,7 +179,6 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + #Likely moving to abstractions in the future + owner @{HOME}/.icons/*/cursors/* r, + /etc/fstab r, # Solid::DeviceNotifier::instance() TODO: deny? +- /sys/devices/pci[0-9]*/**/{device,subsystem_device,subsystem_vendor,uevent,vendor} r, # for libdrm + /usr/share/*-fonts/conf.avail/*.conf r, + /usr/share/fonts-config/conf.avail/*.conf r, + /{,var/}run/udev/data/+usb:* r, # Solid::Device::listFromQuery() diff --git a/debian/patches/apparmor-complain.diff b/debian/patches/apparmor-complain.diff new file mode 100644 index 00000000000..8f96fd3046b --- /dev/null +++ b/debian/patches/apparmor-complain.diff @@ -0,0 +1,26 @@ +diff --git a/sysui/desktop/apparmor/program.oosplash b/sysui/desktop/apparmor/program.oosplash +index fef54b7ee384..9dde31a63615 100644 +--- a/sysui/desktop/apparmor/program.oosplash ++++ b/sysui/desktop/apparmor/program.oosplash +@@ -12,7 +12,7 @@ + + #include + +-profile libreoffice-oopslash INSTDIR-program/oosplash { ++profile libreoffice-oopslash INSTDIR-program/oosplash flags=(complain) { + #include + #include + +diff --git a/sysui/desktop/apparmor/program.soffice.bin b/sysui/desktop/apparmor/program.soffice.bin +index b4baeab8f5ee..7861c9eac9bd 100644 +--- a/sysui/desktop/apparmor/program.soffice.bin ++++ b/sysui/desktop/apparmor/program.soffice.bin +@@ -60,7 +60,7 @@ + + #include + +-profile libreoffice-soffice INSTDIR-program/soffice.bin { ++profile libreoffice-soffice INSTDIR-program/soffice.bin flags=(complain) { + #include + + #include diff --git a/debian/patches/apparmor-kde.diff b/debian/patches/apparmor-kde.diff new file mode 100644 index 00000000000..3657ed296fc --- /dev/null +++ b/debian/patches/apparmor-kde.diff @@ -0,0 +1,144 @@ +From c86e4ad53391d17d1eb54845b5999889f7e65061 Mon Sep 17 00:00:00 2001 +From: Vincas Dargis +Date: Tue, 7 Aug 2018 20:34:21 +0300 +Subject: apparmor: update program.soffice.bin for KDE + +Add rules to fix file dialog and other issues with 6.2 alpha1 on Debian +Buster with KDE desktop. + +Change-Id: Ib1b20c5809ac9bdea1bf2623eff4345fa42fd4f3 +Reviewed-on: https://gerrit.libreoffice.org/58702 +Tested-by: Jenkins +Reviewed-by: Jan-Marek Glogowski +Reviewed-by: Katarina Behrens +--- + sysui/desktop/apparmor/program.soffice.bin | 50 ++++++++++++++++++++++++++++++ + 1 file changed, 50 insertions(+) + +diff --git a/sysui/desktop/apparmor/program.soffice.bin b/sysui/desktop/apparmor/program.soffice.bin +index a680260..ebb012a 100644 +--- a/sysui/desktop/apparmor/program.soffice.bin ++++ b/sysui/desktop/apparmor/program.soffice.bin +@@ -98,6 +98,7 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + owner @{libo_user_dirs}/**~lock.* rw, #lock file support + owner @{libo_user_dirs}/**.@{libreoffice_ext} rwk, #Open files rw with the right exts + owner @{libo_user_dirs}/{,**/}lu??????????{,?}.tmp rwk, #Temporary file used when saving ++ owner @{libo_user_dirs}/{,**/}.directory r, #Read directory settings on KDE + + # Settings + /etc/libreoffice/ r, +@@ -107,6 +108,9 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + /proc/*/status r, + + owner @{HOME}/.config/libreoffice{,dev}/** rwk, ++ owner @{HOME}/.config/soffice.binrc rwl -> @{HOME}/.config/#[0-9]*, ++ owner @{HOME}/.config/soffice.binrc.* rwl -> @{HOME}/.config/#[0-9]*, ++ owner @{HOME}/.config/soffice.binrc.lock rwk, + owner @{HOME}/.cache/fontconfig/** rw, + owner @{HOME}/.config/gtk-???/bookmarks r, #Make bookmarks work + owner @{HOME}/.recently-used rwk, +@@ -174,9 +178,18 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + + #Likely moving to abstractions in the future + owner @{HOME}/.icons/*/cursors/* r, ++ /etc/fstab r, # Solid::DeviceNotifier::instance() TODO: deny? + /sys/devices/pci[0-9]*/**/{device,subsystem_device,subsystem_vendor,uevent,vendor} r, # for libdrm + /usr/share/*-fonts/conf.avail/*.conf r, + /usr/share/fonts-config/conf.avail/*.conf r, ++ /{,var/}run/udev/data/+usb:* r, # Solid::Device::listFromQuery() ++ /{,var/}run/udev/data/{c,b}*:* r, # Solid::Device::description(), Solid::Device::listFromQuery() ++ @{PROC}/sys/kernel/random/boot_id r, # KRecentDocument::add() -> QSysInfo::bootUniqueId() ++ ++ #To avoid "Unable to create io-slave." for file dialog ++ owner /{,var/}run/user/[0-9]*/#[0-9]* rw, ++ #For KIO IO::Slave::createSlave() ++ owner /{,var/}run/user/[0-9]*/soffice.bin*.slave-socket wl -> /{,var/}run/user/[0-9]*/#[0-9]*, + + owner @{HOME}/.mozilla/firefox/profiles.ini r, + owner @{HOME}/.mozilla/firefox/*/secmod.db r, +@@ -184,6 +197,9 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + owner @{HOME}/.mozilla/firefox/*/cert8.db r, + # firefox >= 58 + owner @{HOME}/.mozilla/firefox/*/cert9.db r, ++ ++ owner @{HOME}/.local/share/user-places.xbel r, ++ + # there is abstractions/gnupg but that's just for gpg1... + profile gpg { + #include +@@ -204,4 +220,38 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + /usr/lib/*/qt5/plugins/** rm, + /usr/share/plasma/look-and-feel/**/contents/defaults r, + ++ # TODO: remove when rules are available in abstractions/kde ++ owner @{HOME}/.cache/ksycoca5_??_* r, # KDE System Configuration Cache ++ owner @{HOME}/.config/baloofilerc r, # indexing options (excludes, etc), used by KFileWidget ++ owner @{HOME}/.config/dolphinrc r, # settings used by KFileWidget ++ owner @{HOME}/.config/kde.org/libphonon.conf r, # for KNotifications::sendEvent() ++ owner @{HOME}/.config/klanguageoverridesrc r, # per-application languages, for KDEPrivate::initializeLanguages() from libKF5XmlGui.so ++ owner @{HOME}/.config/trashrc r, # user by KFileWidget ++ /usr/share/knotifications5/*.notifyrc r, # KNotification::sendEvent ++ ++ # TODO: remove when rules are available in abstactions/kde-write-icon-cache or similar ++ owner @{HOME}/.cache/icon-cache.kcache rw, # for KIconLoader ++ ++ # TODO: remove when rules are available in abstractions/kdeframeworks5 or simiar ++ /usr/share/kservices5/*.protocol r, ++ ++ # TODO: use qt5-settings-write abstraction when it is available ++ owner @{HOME}/.config/QtProject.conf rw, ++ owner @{HOME}/.config/QtProject.conf.?????? l -> @{HOME}/.config/#[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9], ++ owner @{HOME}/.config/QtProject.conf.?????? rw, # for temporary files like QtProject.conf.Aqrgeb ++ owner @{HOME}/.config/QtProject.conf.lock rwk, ++ ++ # TODO: use qt5-compose-cache-write abstraction when it is available ++ owner @{HOME}/.cache/qt_compose_cache_{little,big}_endian_* r, ++ ++ # TODO: use recent-documents-write abstaction when it is available ++ owner @{HOME}/.local/share/RecentDocuments/** r, ++ owner @{HOME}/.local/share/RecentDocuments/*.desktop rwl -> @{HOME}/.local/share/RecentDocuments/#[0-9]*, ++ owner @{HOME}/.local/share/RecentDocuments/#[0-9]* rw, ++ owner @{HOME}/.local/share/RecentDocuments/*.lock rwk, ++ ++ # TODO: use kde-globals-write abstraction when it is available ++ owner @{HOME}/.config/kdeglobals rw, ++ owner @{HOME}/.config/kdeglobals.* rwl -> @{HOME}/.config/#[0-9]*, ++ owner @{HOME}/.config/kdeglobals.lock rwk, + } +-- +cgit v1.1 + +From 032c3f0d8403c6c7cdc60564641687bfb56cf9b3 Mon Sep 17 00:00:00 2001 +From: Vincas Dargis +Date: Tue, 14 Aug 2018 22:11:39 +0300 +Subject: apparmor: fix qt-related denies + +Commit c86e4ad53391d17d1eb54845b5999889f7e65061 introduced qt-related +rules, like linking to ~/.config/#[0-9]* files, though does not allow to +write the files themselves, in result producing DENIED log entries if +AppArmor profile is enabled. This is fixed by adding read-write rule for +particular files. +Change-Id: I6441398c4fcfbfcf59ba5f5b3178682c1e5d1cd5 +Reviewed-on: https://gerrit.libreoffice.org/59007 +Tested-by: Jenkins +Reviewed-by: Rene Engelhard +Tested-by: Rene Engelhard +--- + sysui/desktop/apparmor/program.soffice.bin | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/sysui/desktop/apparmor/program.soffice.bin b/sysui/desktop/apparmor/program.soffice.bin +index dd71b94..cf6fd4b 100644 +--- a/sysui/desktop/apparmor/program.soffice.bin ++++ b/sysui/desktop/apparmor/program.soffice.bin +@@ -236,6 +236,7 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin { + /usr/share/kservices5/*.protocol r, + + # TODO: use qt5-settings-write abstraction when it is available ++ owner @{HOME}/.config/#[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] rw, + owner @{HOME}/.config/QtProject.conf rw, + owner @{HOME}/.config/QtProject.conf.?????? l -> @{HOME}/.config/#[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9], + owner @{HOME}/.config/QtProject.conf.?????? rw, # for temporary files like QtProject.conf.Aqrgeb +-- +cgit v1.1 + diff --git a/debian/patches/apparmor-mesa.diff b/debian/patches/apparmor-mesa.diff new file mode 100644 index 00000000000..dd6dd20a633 --- /dev/null +++ b/debian/patches/apparmor-mesa.diff @@ -0,0 +1,10 @@ +--- a/sysui/desktop/apparmor/program.soffice.bin-old 2018-11-09 23:04:59.858704214 +0100 ++++ b/sysui/desktop/apparmor/program.soffice.bin 2018-11-09 23:05:28.050949237 +0100 +@@ -87,6 +87,7 @@ + #include + #include + #include ++ #include + #include + #include + #include diff --git a/debian/patches/apparmor-opencl.diff b/debian/patches/apparmor-opencl.diff new file mode 100644 index 00000000000..ed6e90cdd91 --- /dev/null +++ b/debian/patches/apparmor-opencl.diff @@ -0,0 +1,19 @@ +apparmor: Add opencl support + +AppArmor in Debian Buster now has OpenCL abstractions. + +Include OpenCL abstractions to fix OpenCL usage in Calc. +Index: libreoffice-6.1.4/sysui/desktop/apparmor/program.soffice.bin +=================================================================== +--- libreoffice-6.1.4.orig/sysui/desktop/apparmor/program.soffice.bin 2019-01-14 19:29:25.000000000 +0200 ++++ libreoffice-6.1.4/sysui/desktop/apparmor/program.soffice.bin 2019-01-16 18:43:17.051781559 +0200 +@@ -95,6 +95,9 @@ + # #include + #include + #include ++ #include ++ #include ++ #include + + #List directories for file browser + / r, diff --git a/debian/patches/appstream-ignore-startcenter.diff b/debian/patches/appstream-ignore-startcenter.diff new file mode 100644 index 00000000000..4251d649299 --- /dev/null +++ b/debian/patches/appstream-ignore-startcenter.diff @@ -0,0 +1,10 @@ +--- a/sysui/desktop/menus/startcenter.desktop ++++ b/sysui/desktop/menus/startcenter.desktop +@@ -31,6 +31,7 @@ StartupNotify=true + X-GIO-NoFuse=true + StartupWMClass=libreoffice-startcenter + X-KDE-Protocols=file,http,ftp,webdav,webdavs ++X-AppStream-Ignore=True + + ##Define Actions + Actions=Writer;Calc;Impress;Draw;Base;Math; diff --git a/debian/patches/build-against-shared-lpsolve.diff b/debian/patches/build-against-shared-lpsolve.diff new file mode 100644 index 00000000000..7a8c66cbdd6 --- /dev/null +++ b/debian/patches/build-against-shared-lpsolve.diff @@ -0,0 +1,27 @@ +diff --git a/configure.ac b/configure.ac +index cdae8b5..49f3ba2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9468,8 +9468,9 @@ if test "$with_system_lpsolve" = "yes"; then + # some systems need this. Like Ubuntu.... + AC_CHECK_LIB(m, floor) + AC_CHECK_LIB(dl, dlopen) ++ AC_CHECK_LIB(colamd, colamd) + AC_CHECK_LIB([lpsolve55], [make_lp], [:], +- [ AC_MSG_ERROR(lpsolve library not found or too old.)], []) ++ [ AC_MSG_ERROR(lpsolve library not found or too old.)], [-L/usr/lib/lp_solve]) + LIBS=$save_LIBS + else + AC_MSG_RESULT([internal]) +diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk +index a4daea7..0dea12d 100644 +--- a/RepositoryExternal.mk ++++ b/RepositoryExternal.mk +@@ -1961,6 +1961,7 @@ ifeq ($(WITH_LPSOLVER),lpsolve) + + define gb_LinkTarget__use_lpsolve + $(call gb_LinkTarget_add_libs,$(1),-llpsolve55) ++$(call gb_LinkTarget_add_ldflags,$(1),-L/usr/lib/lp_solve -Wl$(COMMA)-rpath=/usr/lib/lp_solve) + $(call gb_LinkTarget_add_defs,$(1),\ + -DSYSTEM_LPSOLVE \ + ) diff --git a/debian/patches/construct-final-url-from-parsed-output.diff b/debian/patches/construct-final-url-from-parsed-output.diff new file mode 100644 index 00000000000..1ed44f8faa9 --- /dev/null +++ b/debian/patches/construct-final-url-from-parsed-output.diff @@ -0,0 +1,48 @@ +From 55ac0a8b13de01c5561c6e724b8bc75ea506b25d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Mon, 12 Aug 2019 20:32:54 +0100 +Subject: construct final url from parsed output + +Change-Id: Ifd733625a439685ad307603eb2b00bf463eb9ca9 +Reviewed-on: https://gerrit.libreoffice.org/77373 +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +(cherry picked from commit 87959e5deea6d33cd35dbb3b8423056f9566710e) +Reviewed-on: https://gerrit.libreoffice.org/77379 +--- + scripting/source/pyprov/pythonscript.py | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/scripting/source/pyprov/pythonscript.py b/scripting/source/pyprov/pythonscript.py +index 64e1337..0f74852 100644 +--- a/scripting/source/pyprov/pythonscript.py ++++ b/scripting/source/pyprov/pythonscript.py +@@ -224,7 +224,13 @@ class MyUriHelper: + sStorageUri = sStorageUri.replace( "|", "/" ) + + # path to the .py file, relative to the base +- sFileUri = sStorageUri[0:sStorageUri.find("$")] ++ funcNameStart = sStorageUri.find("$") ++ if funcNameStart != -1: ++ sFileUri = sStorageUri[0:funcNameStart] ++ sFuncName = sStorageUri[funcNameStart+1:] ++ else: ++ sFileUri = sStorageUri ++ + xFileUri = self.m_uriRefFac.parse(sFileUri) + if not xFileUri: + message = "pythonscript: invalid relative uri '" + sFileUri+ "'" +@@ -241,7 +247,9 @@ class MyUriHelper: + log.debug( message ) + raise RuntimeException( message ) + +- ret = sBaseUri + sStorageUri ++ ret = sAbsScriptUri ++ if funcNameStart != -1: ++ ret = ret + "$" + sFuncName + log.debug( "converting scriptURI="+scriptURI + " to storageURI=" + ret ) + return ret + except UnoException as e: +-- +cgit v1.1 + diff --git a/debian/patches/cppunit-optional.diff b/debian/patches/cppunit-optional.diff new file mode 100644 index 00000000000..4106bf40262 --- /dev/null +++ b/debian/patches/cppunit-optional.diff @@ -0,0 +1,184 @@ +diff --git a/configure.ac b/configure.ac +index c12fe95a561c..66d327ae8fb8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2047,6 +2047,11 @@ AC_ARG_WITH(bffvalidator, + See https://www.microsoft.com/en-us/download/details.aspx?id=26794]), + ,with_bffvalidator=no) + ++libo_FUZZ_ARG_WITH(cppunit, ++ AS_HELP_STRING([--without-cppunit>], ++ [disable building(!) of cppunit stuff also built during make build]), ++,with_cppunit=yes) ++ + libo_FUZZ_ARG_WITH(junit, + AS_HELP_STRING([--with-junit=], + [Specifies the JUnit 4 jar file to use for JUnit-based tests. +@@ -7932,8 +7959,12 @@ dnl =================================================================== + dnl Check for system cppunit + dnl =================================================================== + if test "$cross_compiling" != "yes"; then ++ if test "$with_cppunit" != "no"; then + libo_CHECK_SYSTEM_MODULE([cppunit],[CPPUNIT],[cppunit >= 1.14.0]) ++ ENABLE_CPPUNIT=TRUE ++ fi + fi ++AC_SUBST(ENABLE_CPPUNIT) + + dnl =================================================================== + dnl Check whether freetype is available +diff --git a/config_host.mk.in b/config_host.mk.in +index 880895e3c00f..a3dab3e00979 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -114,6 +115,7 @@ export SYSTEM_COINMP=@SYSTEM_COINMP@ + export SYSTEM_COINMP=@SYSTEM_COINMP@ + export COINMP_CFLAGS=@COINMP_CFLAGS@ + export COINMP_LIBS=@COINMP_LIBS@ ++export ENABLE_CPPUNIT=@ENABLE_CPPUNIT@ + export ENABLE_CUPS=@ENABLE_CUPS@ + export ENABLE_CURL=@ENABLE_CURL@ + export ENABLE_FUZZERS=@ENABLE_FUZZERS@ +diff --git a/sal/Module_sal.mk b/sal/Module_sal.mk +index fe9523a7a6e2..719edf8c6252 100644 +--- a/sal/Module_sal.mk ++++ b/sal/Module_sal.mk +@@ -10,7 +10,6 @@ + $(eval $(call gb_Module_Module,sal)) + + $(eval $(call gb_Module_add_targets,sal,\ +- $(if $(CROSS_COMPILING),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,Executable_cppunittester)) \ + $(if $(filter $(OS),ANDROID), \ + Library_lo-bootstrap) \ + Library_sal \ +@@ -33,4 +32,10 @@ $(eval $(call gb_Module_add_check_targets,sal,\ + + endif + ++ifeq ($(ENABLE_CPPUNIT),TRUE) ++$(eval $(call gb_Module_add_check_targets,sal,\ ++ $(if $(CROSS_COMPILING),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,Executable_cppunittester)) \ ++)) ++endif ++ + # vim: set noet sw=4 ts=4: +diff --git a/sdext/Executable_pdf2xml.mk b/sdext/Executable_pdf2xml.mk +index 373f40da36fd..c0401bef9c7a 100644 +--- a/sdext/Executable_pdf2xml.mk ++++ b/sdext/Executable_pdf2xml.mk +@@ -13,10 +13,10 @@ $(eval $(call gb_Executable_use_sdk_api,pdf2xml)) + + $(eval $(call gb_Executable_use_externals,pdf2xml,\ + boost_headers \ +- cppunit \ + zlib \ + )) + ++ + $(eval $(call gb_Executable_set_include,pdf2xml,\ + -I$(SRCDIR)/sdext/source/pdfimport/inc \ + $$(INCLUDE) \ +@@ -27,12 +27,20 @@ $(eval $(call gb_Executable_use_libraries,pdf2xml,\ + vcl \ + comphelper \ + cppu \ +- unotest \ + cppuhelper \ + sal \ + xo \ + )) + ++ifeq ($(ENABLE_CPPUNIT),TRUE) ++$(eval $(call gb_Executable_use_externals,pdf2xml,\ ++ cppunit \ ++)) ++$(eval $(call gb_Executable_use_libraries,pdf2xml,\ ++ unotest \ ++)) ++endif ++ + $(eval $(call gb_Executable_use_library_objects,pdf2xml,pdfimport)) + + $(eval $(call gb_Executable_add_exception_objects,pdf2xml,\ +diff --git a/smoketest/Module_smoketest.mk b/smoketest/Module_smoketest.mk +index 7e8b6d5f11f6..a084e254bf70 100644 +--- a/smoketest/Module_smoketest.mk ++++ b/smoketest/Module_smoketest.mk +@@ -12,6 +12,8 @@ $(eval $(call gb_Module_Module,smoketest)) + + ifeq ($(CROSS_COMPILING),) + ++ifeq ($(ENABLE_CPPUNIT),TRUE) ++ + $(eval $(call gb_Module_add_targets,smoketest,\ + Library_smoketest \ + Zip_smoketestdoc \ +@@ -42,6 +44,8 @@ endif + + endif + ++endif ++ + ifneq ($(ENABLE_JAVA),) + $(eval $(call gb_Module_add_targets,smoketest,\ + Jar_smoketest \ +diff --git a/test/Module_test.mk b/test/Module_test.mk +index e1051f16b5a0..d1787cb5789b 100644 +--- a/test/Module_test.mk ++++ b/test/Module_test.mk +@@ -11,6 +11,7 @@ $(eval $(call gb_Module_Module,test)) + + ifneq (,$(filter DESKTOP,$(BUILD_TYPE))) + ++ifeq ($(ENABLE_CPPUNIT),TRUE) + $(eval $(call gb_Module_add_targets,test,\ + Library_test \ + Library_test_setupvcl \ +@@ -18,6 +19,7 @@ $(eval $(call gb_Module_add_targets,test,\ + Library_vclbootstrapprotector \ + Package_unittest \ + )) ++endif + + endif + +diff --git a/unotest/Module_unotest.mk b/unotest/Module_unotest.mk +index a47ca5d4b694..e243e06309f5 100644 +--- a/unotest/Module_unotest.mk ++++ b/unotest/Module_unotest.mk +@@ -11,12 +11,15 @@ + $(eval $(call gb_Module_Module,unotest)) + + ifneq (,$(filter DESKTOP,$(BUILD_TYPE))) ++ ++ifeq ($(ENABLE_CPPUNIT),TRUE) + $(eval $(call gb_Module_add_targets,unotest,\ + Library_unobootstrapprotector \ + Library_unoexceptionprotector \ + Library_unotest \ + )) + endif ++endif + + ifneq ($(ENABLE_JAVA),) + $(eval $(call gb_Module_add_targets,unotest,\ +diff --git a/testtools/Module_testtools.mk b/testtools/Module_testtools.mk +index a1b84e175b30..08e4aad24c11 100644 +--- a/testtools/Module_testtools.mk ++++ b/testtools/Module_testtools.mk +@@ -11,6 +11,8 @@ $(eval $(call gb_Module_Module,testtools)) + + ifeq ($(CROSS_COMPILING),) + ++ifeq ($(ENABLE_CPPUNIT),TRUE) ++ + $(eval $(call gb_Module_add_targets,testtools,\ + CustomTarget_bridgetest \ + InternalUnoApi_bridgetest \ +@@ -41,4 +43,6 @@ $(eval $(call gb_Module_add_check_targets,testtools,\ + + endif + ++endif ++ + # vim:set noet sw=4 ts=4: diff --git a/debian/patches/debian-debug.diff b/debian/patches/debian-debug.diff new file mode 100644 index 00000000000..e012b07905a --- /dev/null +++ b/debian/patches/debian-debug.diff @@ -0,0 +1,41 @@ +diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk +index 9de88a2..9161a4e 100644 +--- a/solenv/gbuild/platform/com_GCC_defs.mk ++++ b/solenv/gbuild/platform/com_GCC_defs.mk +@@ -170,6 +170,8 @@ gb_COMPILERNOOPTFLAGS := -O0 -fstrict-aliasing -fstrict-overflow + ifeq ($(OS),ANDROID) + gb_DEBUGINFO_FLAGS=-glldb + # Clang does not know -ggdb2 or some other options ++else ifeq ($(ENABLE_SYMBOLS),SMALL) ++gb_DEBUGINFO_FLAGS=-g1 + else ifeq ($(HAVE_GCC_GGDB2),TRUE) + gb_DEBUGINFO_FLAGS=-ggdb2 + else +diff --git a/configure.ac b/configure.ac +index a91de78..1c03b1d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4043,15 +4043,20 @@ if test -z "$enable_symbols"; then + fi + fi + if test "$enable_symbols" != no; then +- ENABLE_SYMBOLS=TRUE +- AC_MSG_RESULT([yes]) ++ if test "$enable_symbols" = "SMALL" -o "$enable_symbols" = "small"; then ++ ENABLE_SYMBOLS="SMALL" ++ AC_MSG_RESULT([yes, small ones]) ++ else ++ ENABLE_SYMBOLS=TRUE ++ AC_MSG_RESULT([yes]) ++ fi + else + ENABLE_SYMBOLS= + AC_MSG_RESULT([no]) + fi + AC_SUBST(ENABLE_SYMBOLS) + +-if test -n "$with_android_ndk" -a \( -n "$ENABLE_SYMBOLS" -o -n "$ENABLE_DEBUG" -o -n "$ENABLE_DBGUTIL" \) -a "$ENABLE_DEBUGINFO_FOR" = "all"; then ++if test -n "$with_android_ndk" -a \( "$ENABLE_SYMBOLS" != "SMALL" -o -n "$ENABLE_DEBUG" -o -n "$ENABLE_DBGUTIL" \) -a "$ENABLE_DEBUGINFO_FOR" = "all"; then + # Building on Android with full symbols: without enough memory the linker never finishes currently. + AC_MSG_CHECKING([whether enough memory is available for linking]) + mem_size=$(grep -o 'MemTotal: *.\+ kB' /proc/meminfo | sed 's/MemTotal: *\(.\+\) kB/\1/') diff --git a/debian/patches/debian-hardened-buildflags-CPPFLAGS.diff b/debian/patches/debian-hardened-buildflags-CPPFLAGS.diff new file mode 100644 index 00000000000..066cbfdfd4f --- /dev/null +++ b/debian/patches/debian-hardened-buildflags-CPPFLAGS.diff @@ -0,0 +1,37 @@ +--- a/configure.ac-old 2012-03-02 21:48:47.000000000 +0000 ++++ b/configure.ac 2012-03-02 21:51:29.000000000 +0000 +@@ -10225,6 +10225,11 @@ else + fi + AC_SUBST(ENABLE_VLC) + ++if test -x /usr/bin/dpkg-buildflags; then ++ HARDEN_CPPFLAGS=`dpkg-buildflags --get CPPFLAGS 2>/dev/null` ++fi ++AC_SUBST(HARDEN_CPPFLAGS) ++ + ENABLE_OPENGL_TRANSITIONS= + ENABLE_OPENGL_CANVAS= + if test $_os = iOS -o $_os = Android -o "$ENABLE_FUZZERS" = "TRUE"; then +--- a/config_host.mk.in-old 2012-04-06 14:17:55.164239390 +0200 ++++ b/config_host.mk.in 2012-04-06 14:18:55.440239065 +0200 +@@ -76,6 +76,7 @@ + export CPPUNIT_LIBS=$(gb_SPACE)@CPPUNIT_LIBS@ + export CPUNAME=@CPUNAME@ + export CDEFAULTOPT=@CDEFAULTOPT@ ++export HARDEN_CPPFLAGS=@HARDEN_CPPFLAGS@ + export CROSS_COMPILING=@CROSS_COMPILING@ + export CURL=@CURL@ + export CURL_CFLAGS=$(gb_SPACE)@CURL_CFLAGS@ +diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk +index c71cb40..f826d65 100644 +--- a/solenv/gbuild/gbuild.mk ++++ b/solenv/gbuild/gbuild.mk +@@ -259,6 +259,8 @@ gb_GLOBALDEFS += \ + ENABLE_LTO \ + ) + ++gb_GLOBALDEFS += $(HARDEN_CPPFLAGS) ++ + gb_GLOBALDEFS := $(sort $(gb_GLOBALDEFS)) + + # This is used to detect whether LibreOffice is being built (as opposed to building diff --git a/debian/patches/debian-hardened-buildflags-no-LO-fstack-protector-strong.diff b/debian/patches/debian-hardened-buildflags-no-LO-fstack-protector-strong.diff new file mode 100644 index 00000000000..1ffcf7b0f4e --- /dev/null +++ b/debian/patches/debian-hardened-buildflags-no-LO-fstack-protector-strong.diff @@ -0,0 +1,50 @@ +don't hardcode -fstack-protector-strong in configure.ac/gbuild. We get the +hardening flags from dpkg-buildflags anyway. + +--- a/configure.ac-old 2012-03-02 21:48:47.000000000 +0000 ++++ b/configure.ac 2012-03-02 21:51:29.000000000 +0000 +@@ -5751,17 +5751,6 @@ if test "$GCC" = "yes"; then + AC_MSG_RESULT([no]) + fi + +- AC_MSG_CHECKING([whether $CC supports -fstack-protector-strong]) +- save_CFLAGS=$CFLAGS +- CFLAGS="$CFLAGS -Werror -fstack-protector-strong" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_STACK_PROTECTOR_STRONG=TRUE ],[]) +- CFLAGS=$save_CFLAGS +- if test "$HAVE_GCC_STACK_PROTECTOR_STRONG" = "TRUE"; then +- AC_MSG_RESULT([yes]) +- else +- AC_MSG_RESULT([no]) +- fi +- + AC_MSG_CHECKING([whether $CC supports atomic functions]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ + int v = 0; +diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk +index 7acd068..b6d9735 100644 +--- a/solenv/gbuild/platform/com_GCC_defs.mk ++++ b/solenv/gbuild/platform/com_GCC_defs.mk +@@ -113,12 +113,6 @@ endif + gb_VISIBILITY_FLAGS_CXX := -fvisibility-inlines-hidden + gb_CXXFLAGS_COMMON += $(gb_VISIBILITY_FLAGS_CXX) + +-ifeq ($(HAVE_GCC_STACK_PROTECTOR_STRONG),TRUE) +-gb_CFLAGS_COMMON += -fstack-protector-strong +-gb_CXXFLAGS_COMMON += -fstack-protector-strong +-gb_LinkTarget_LDFLAGS += -fstack-protector-strong +-endif +- + ifeq ($(ENABLE_PCH),TRUE) + ifneq ($(COM_IS_CLANG),TRUE) + gb_CFLAGS_COMMON += -fpch-preprocess -Winvalid-pch +--- a/config_host.mk.in-old 2012-04-06 14:17:55.164239390 +0200 ++++ b/config_host.mk.in 2012-04-06 14:18:55.440239065 +0200 +@@ -240,7 +240,6 @@ export GUIBASE=@GUIBASE@ + export USING_X11=@USING_X11@ + export HAMCREST_JAR=@HAMCREST_JAR@ + export HAVE_GCC_AVX=@HAVE_GCC_AVX@ +-export HAVE_GCC_STACK_PROTECTOR_STRONG=@HAVE_GCC_STACK_PROTECTOR_STRONG@ + export HAVE_GCC_BUILTIN_ATOMIC=@HAVE_GCC_BUILTIN_ATOMIC@ + export HAVE_GCC_BUILTIN_FFS=@HAVE_GCC_BUILTIN_FFS@ + export HAVE_GCC_FINLINE_LIMIT=@HAVE_GCC_FINLINE_LIMIT@ diff --git a/debian/patches/debian-opt.diff b/debian/patches/debian-opt.diff new file mode 100644 index 00000000000..e58de21d854 --- /dev/null +++ b/debian/patches/debian-opt.diff @@ -0,0 +1,26 @@ +diff --git a/configure.ac b/configure.ac +index f06ef8e..91ce612 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -12776,6 +12776,9 @@ fi + + AC_SUBST(ENABLE_FORMULA_LOGGER) + ++CDEFAULTOPT=`echo $CFLAGS 2>/dev/null | grep -E -o "\-O[[0-3]]"` ++AC_SUBST(CDEFAULTOPT) ++ + dnl =================================================================== + dnl Setting up the environment. + dnl =================================================================== +diff --git a/config_host.mk.in b/config_host.mk.in +index 1ec3268..abb45b1 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -69,6 +69,7 @@ export CPP_LIBRARY=@CPP_LIBRARY@ + export CPPUNIT_CFLAGS=$(gb_SPACE)@CPPUNIT_CFLAGS@ + export CPPUNIT_LIBS=$(gb_SPACE)@CPPUNIT_LIBS@ + export CPUNAME=@CPUNAME@ ++export CDEFAULTOPT=@CDEFAULTOPT@ + export CROSS_COMPILING=@CROSS_COMPILING@ + export CURL=@CURL@ + export CURL_CFLAGS=$(gb_SPACE)@CURL_CFLAGS@ diff --git a/debian/patches/decode-url-escape-codes-and-check-each-path-segment.diff b/debian/patches/decode-url-escape-codes-and-check-each-path-segment.diff new file mode 100644 index 00000000000..2f0f5884f40 --- /dev/null +++ b/debian/patches/decode-url-escape-codes-and-check-each-path-segment.diff @@ -0,0 +1,67 @@ +From 5c3ba8ae6bc2521b44a78b33e354fe906a74014e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Fri, 26 Jul 2019 13:25:31 +0100 +Subject: decode url escape codes and check each path segment + +Change-Id: Ie8f7cef912e8dacbc2a0bca73534a7a242a53ca1 +Reviewed-on: https://gerrit.libreoffice.org/76395 +Reviewed-by: Michael Stahl +Tested-by: Jenkins +(cherry picked from commit 0344b7684753876a3148a47d1e131a1b13595f63) +Reviewed-on: https://gerrit.libreoffice.org/76538 +Reviewed-by: Christian Lohmaier +Tested-by: Christian Lohmaier +--- + sfx2/source/doc/objmisc.cxx | 29 ++++++++++++++++++++++++++++- + 1 file changed, 28 insertions(+), 1 deletion(-) + +diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx +index 0e188b9..8a6ff1b 100644 +--- a/sfx2/source/doc/objmisc.cxx ++++ b/sfx2/source/doc/objmisc.cxx +@@ -43,6 +43,8 @@ + #include + #include + #include ++#include ++#include + #include + + #include +@@ -1347,7 +1349,32 @@ namespace + // don't allow LibreLogo to be used with our mouseover/etc dom-alike events + bool SfxObjectShell::UnTrustedScript(const OUString& rScriptURL) + { +- return rScriptURL.startsWithIgnoreAsciiCase("vnd.sun.star.script:LibreLogo"); ++ if (!rScriptURL.startsWith("vnd.sun.star.script:")) ++ return false; ++ ++ // ensure URL Escape Codes are decoded ++ css::uno::Reference uri( ++ css::uri::UriReferenceFactory::create(comphelper::getProcessComponentContext())->parse(rScriptURL)); ++ css::uno::Reference sfUri(uri, css::uno::UNO_QUERY); ++ ++ if (!sfUri.is()) ++ return false; ++ ++ OUString sScript = sfUri->getName(); ++ ++ // check if any path portion matches LibreLogo and ban it if it does ++ sal_Int32 nIndex = 0; ++ do ++ { ++ OUString aToken = sScript.getToken(0, '/', nIndex); ++ if (aToken.startsWithIgnoreAsciiCase("LibreLogo")) ++ { ++ return true; ++ } ++ } ++ while (nIndex >= 0); ++ ++ return false; + } + + ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptContext, const OUString& _rScriptURL, +-- +cgit v1.1 + diff --git a/debian/patches/disable-flaky-tests.diff b/debian/patches/disable-flaky-tests.diff new file mode 100644 index 00000000000..7a9b895906e --- /dev/null +++ b/debian/patches/disable-flaky-tests.diff @@ -0,0 +1,213 @@ +14:13 < mst__> _rene_, the toolkit unoapi tests are known to be flaky (in some + system dependent way) e.g. on the Win@6 tinderbox it always + crashes +14:14 < mst__> _rene_, sc.ScAccessible* tests also fail on some systems some of + the time + +diff --git a/toolkit/Module_toolkit.mk b/toolkit/Module_toolkit.mk +index 25db0b6..14e507c 100644 +--- a/toolkit/Module_toolkit.mk ++++ b/toolkit/Module_toolkit.mk +@@ -26,11 +26,11 @@ $(eval $(call gb_Module_add_targets,toolkit,\ + ifneq ($(OOO_JUNIT_JAR),) + $(eval $(call gb_Module_add_subsequentcheck_targets,toolkit,\ + JunitTest_toolkit_complex \ +- JunitTest_toolkit_unoapi_1 \ +- JunitTest_toolkit_unoapi_2 \ +- JunitTest_toolkit_unoapi_3 \ +- JunitTest_toolkit_unoapi_4 \ + )) + endif ++# JunitTest_toolkit_unoapi_1 \ ++# JunitTest_toolkit_unoapi_2 \ ++# JunitTest_toolkit_unoapi_3 \ ++# JunitTest_toolkit_unoapi_4 \ + + # vim: set noet sw=4 ts=4: +diff --git a/sc/qa/unoapi/sc_1.sce b/sc/qa/unoapi/sc_1.sce +index fa1684c..cc8e1a5 100644 +--- a/sc/qa/unoapi/sc_1.sce ++++ b/sc/qa/unoapi/sc_1.sce +@@ -24,10 +24,3 @@ + # i84554 -o sc.AccessibleEditableTextPara_PreviewNote + # i88241 -o sc.AccessibleEditableTextPara_HeaderFooter + -o sc.AccessibleEditableTextPara_PreviewCell +--o sc.ScAccessibleCell +-# i91044 -o sc.ScAccessibleCsvCell +-# i91044 -o sc.ScAccessibleCsvGrid +-# i84641 -o sc.ScAccessibleCsvRuler +-# i88330 -o sc.ScAccessibleDocument +-# i91045 -o sc.ScAccessibleDocumentPagePreview +--o sc.ScAccessiblePageHeader +diff --git a/sc/qa/unoapi/sc_2.sce b/sc/qa/unoapi/sc_2.sce +index dbfc3e1..d235c5d 100644 +--- a/sc/qa/unoapi/sc_2.sce ++++ b/sc/qa/unoapi/sc_2.sce +@@ -15,11 +15,6 @@ + # except in compliance with the License. You may obtain a copy of + # the License at http://www.apache.org/licenses/LICENSE-2.0 . + # +-# fdo#FOO -o sc.ScAccessiblePageHeaderArea +--o sc.ScAccessiblePreviewCell +--o sc.ScAccessiblePreviewHeaderCell +--o sc.ScAccessiblePreviewTable +-# fdo#45337 -o sc.ScAccessibleSpreadsheet + # FIXME_REMOVE_WHEN_RE_BASE_COMPLETE + # -o sc.ScAnnotationObj + # -o sc.ScAnnotationShapeObj + +12:18 < _rene_> chris_wot: ping? +12:18 < chris_wot> heya +12:18 < chris_wot> you pinged? +12:19 < _rene_> chris_wot: any news on + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815292? +12:20 < _rene_> (of course the this-night-uploaded rc3 also failed) +12:21 < chris_wot> ah, sorry - I've looked at an EMF regression, but I've not + gotten any further on that one +12:22 < chris_wot> I honestly think that for this one just disable the test for + now +12:22 < chris_wot> I'll ping the ML + +This seems fixed when opening the original doc. + +diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx +index 54eed4d..78019bd 100644 +--- a/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx ++++ b/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx +@@ -1128,30 +1128,30 @@ DECLARE_OOXMLEXPORT_TEST(testTDF93675, "no-numlevel-but-indented.odt") + + + +-DECLARE_OOXMLEXPORT_TEST(testFlipAndRotateCustomShape, "flip_and_rotate.odt") +-{ +- xmlDocPtr pXmlDoc = parseExport("word/document.xml"); +- if (!pXmlDoc) +- return; +- // there should be no flipH and flipV attributes in this case +- assertXPathNoAttribute(pXmlDoc, "//a:xfrm", "flipH"); +- assertXPathNoAttribute(pXmlDoc, "//a:xfrm", "flipV"); +- // check rotation angle +- assertXPath(pXmlDoc, "//a:xfrm", "rot", "13500000"); +- // check the first few coordinates of the polygon +-#ifndef MACOSX /* Retina-related rounding roundtrip error +- * hard to smooth out due to the use of string compare +- * instead of number */ +-#if !defined(_WIN32) +- assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[1]/a:pt", "x", "2351"); +- assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[1]/a:pt", "y", "3171"); +- assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[2]/a:pt", "x", "1695"); +- assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[2]/a:pt", "y", "3171"); +- assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[3]/a:pt", "x", "1695"); +- assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[3]/a:pt", "y", "1701"); +-#endif +-#endif +-} ++//DECLARE_OOXMLEXPORT_TEST(testFlipAndRotateCustomShape, "flip_and_rotate.odt") ++//{ ++// xmlDocPtr pXmlDoc = parseExport("word/document.xml"); ++// if (!pXmlDoc) ++// return; ++// // there should be no flipH and flipV attributes in this case ++// assertXPathNoAttribute(pXmlDoc, "//a:xfrm", "flipH"); ++// assertXPathNoAttribute(pXmlDoc, "//a:xfrm", "flipV"); ++// // check rotation angle ++// assertXPath(pXmlDoc, "//a:xfrm", "rot", "13500000"); ++// // check the first few coordinates of the polygon ++//#ifndef MACOSX /* Retina-related rounding roundtrip error ++// * hard to smooth out due to the use of string compare ++// * instead of number */ ++//#if !defined(_WIN32) ++// assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[1]/a:pt", "x", "2351"); ++// assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[1]/a:pt", "y", "3171"); ++// assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[2]/a:pt", "x", "1695"); ++// assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[2]/a:pt", "y", "3171"); ++// assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[3]/a:pt", "x", "1695"); ++// assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[3]/a:pt", "y", "1701"); ++//#endif ++//#endif ++//} + + + CPPUNIT_PLUGIN_IMPLEMENT(); +diff --git a/svx/qa/unoapi/svx.sce b/svx/qa/unoapi/svx.sce +index 1c3925f..a16f001 100644 +--- a/svx/qa/unoapi/svx.sce ++++ b/svx/qa/unoapi/svx.sce +@@ -25,7 +25,7 @@ + #i111216 -o svx.AccessiblePresentationGraphicShape + #i111216 -o svx.AccessiblePresentationOLEShape + #i85539 -o svx.AccessiblePresentationShape +--o svx.AccessibleShape ++#-o svx.AccessibleShape + #i90294 -o svx.GraphicExporter + -o svx.SvxDrawPage + #i85501 -o svx.SvxGraphCtrlAccessibleContext + +19:26 <@x1sc0> _rene_, since that test is using exact dimensions, it seems it + fails on your side probably because the paragraph style is + different. 1. I will change the test to avoid the exact + dimensions. 2. meantime you can skip that test: +https://cgit.freedesktop.org/libreoffice/core/commit/?id=e05f16e6bf36efbaab16dd2ed1427a750ce7cafd +19:26 < IZBot> core - disable UI test that does exact comparison +19:27 < _rene_> mmh, ok, saw that but that was for a different test, so.. :) +19:27 -!- jacobo [~jaragunde@fanzine.igalia.com] has quit [Quit: Leaving.] +19:27 < _rene_> thanks, will do + +diff --git a/uitest/writer_tests/tdf79236.py b/uitest/writer_tests/tdf79236.py +index 8585e48d8c64..704f42c009a1 100644 +--- a/uitest/writer_tests/tdf79236.py ++++ b/uitest/writer_tests/tdf79236.py +@@ -8,8 +8,11 @@ from uitest.framework import UITestCase + import time + from uitest.uihelper.common import get_state_as_dict, type_text + ++import unittest ++ + class tdf79236(UITestCase): + ++ @unittest.skip("Currently broken") + def test_paragraph(self): + + self.ui_test.create_doc_in_start_center("writer") + +14:39 < ztamas> _rene_: chart2dump is used to fail because of font size differences, just use a bigger delta or disable it if it + fails for you. +14:40 <@sberg_> noelgrandin, no +14:40 < noelgrandin> sberg_, sure seems that way both in the debugger and in the resulting SAL_WARN output +14:42 < ztamas> _rene_: there were some work on making font rendering consistent on different platforms, but it's not finished + yet, I guess +diff --git a/chart2/Module_chart2.mk b/chart2/Module_chart2.mk +index 3273055d5373..cb452139170c 100644 +--- a/chart2/Module_chart2.mk ++++ b/chart2/Module_chart2.mk +@@ -33,9 +33,9 @@ $(eval $(call gb_Module_add_slowcheck_targets,chart2,\ + CppunitTest_chart2_export \ + CppunitTest_chart2_import \ + CppunitTest_chart2_trendcalculators \ +- CppunitTest_chart2_dump \ + CppunitTest_chart2_pivot_chart_test \ + )) ++# CppunitTest_chart2_dump \ + + ifeq ($(ENABLE_CHART_TESTS),TRUE) + ifeq ($(WITH_FONTS), TRUE) +diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx +index eb3b42a31387..120df8faa548 100644 +--- a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx ++++ b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx +@@ -161,13 +161,13 @@ DECLARE_OOXMLIMPORT_TEST(testTdf43017, "tdf43017.docx") + getProperty(xText, "CharColor")); + } + +-DECLARE_OOXMLIMPORT_TEST(testTdf112443, "tdf112443.docx") ++/*DECLARE_OOXMLIMPORT_TEST(testTdf112443, "tdf112443.docx") + { + // the position of the flying text frame should be off page + // 30624 below its anchor + OUString aTop = parseDump("//fly[1]/infos/bounds", "top"); + CPPUNIT_ASSERT_EQUAL(OUString("30624"), aTop); +-} ++}*/ + + // DOCX: Textbox wrap differs in MSO and LO + // Both should layout text regardless of existing text box diff --git a/debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff b/debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff new file mode 100644 index 00000000000..03316b1aa5c --- /dev/null +++ b/debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff @@ -0,0 +1,58 @@ +diff --git a/config_host.mk.in b/config_host.mk.in +index 8cbbc5fee1d5..40e37643a0ea 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -282,6 +282,7 @@ export JAVAFLAGS=@JAVAFLAGS@ + export JAVAIFLAGS=@JAVAIFLAGS@ + export JAVA_CLASSPATH_NOT_SET=@JAVA_CLASSPATH_NOT_SET@ + export JAVAINTERPRETER=@JAVAINTERPRETER@ ++export JAVA_HAS_ZERO_VM=@JAVA_HAS_ZERO_VM@ + export JAVA_HOME=@JAVA_HOME@ + export JAVA_SOURCE_VER=@JAVA_SOURCE_VER@ + export JAVA_TARGET_VER=@JAVA_TARGET_VER@ +diff --git a/configure.ac b/configure.ac +index e6bfb13ebab8..3b7f0a2e1121 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -6675,6 +6675,14 @@ you must use the "--with-jdk-home" configure option explicitly]) + JAVAIFLAGS=-Xmx64M + # set to limit VM usage for javac + JAVAFLAGS=-J-Xmx128M ++ ++ AC_MSG_CHECKING([whether $JAVAINTERPRETER is using the Zero VM]) ++ if $JAVAINTERPRETER -version 2>&1 | grep -q Zero; then ++ JAVA_HAS_ZERO_VM=y ++ AC_MSG_RESULT([yes]) ++ else ++ AC_MSG_RESULT([no]) ++ fi + fi + else + AC_MSG_ERROR([Java not found. You need at least jdk-1.6]) +@@ -6684,6 +6689,7 @@ else + JAVA_HOME= + export JAVA_HOME + fi ++AC_SUBST(JAVA_HAS_ZERO_VM) + + dnl =================================================================== + dnl Set target Java bytecode version +diff --git a/odk/Module_odk.mk b/odk/Module_odk.mk +index 410f8cf8ef1e..bd05d4bba200 100644 +--- a/odk/Module_odk.mk ++++ b/odk/Module_odk.mk +@@ -60,10 +62,14 @@ $(eval $(call gb_Module_add_check_targets,odk,\ + ifneq ($(filter $(OS),LINUX MACOSX),) + $(eval $(call gb_Module_add_subsequentcheck_targets,odk, \ + CustomTarget_build-examples \ ++)) ++ifneq ($(JAVA_HAS_ZERO_VM),y) ++$(eval $(call gb_Module_add_subsequentcheck_targets,odk, \ + $(if $(ENABLE_JAVA),\ + CustomTarget_build-examples_java \ + ) \ + )) + endif ++endif + + # vim: set noet sw=4 ts=4: diff --git a/debian/patches/disable-some-sc-tests-with-internal-cppunit.diff b/debian/patches/disable-some-sc-tests-with-internal-cppunit.diff new file mode 100644 index 00000000000..bfbbee1b119 --- /dev/null +++ b/debian/patches/disable-some-sc-tests-with-internal-cppunit.diff @@ -0,0 +1,77 @@ +# fails with internal cppunit: +# +# [build LNK] CppunitTest/libtest_sc_subsequent_filters_test.so +# S=/data/rene/git/LibreOffice/master && I=$S/instdir && W=$S/workdir && /usr/bin/ccache x86_64-linux-gnu-g++ -shared -Wl,-z,noexecstack -Wl,-z,origin '-Wl,-rpath,$ORIGIN/../Library' -Wl,-rpath-link,$I/program -Wl,-z,defs -Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc -Wl,--hash-style=gnu -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo -Wl,-Bsymbolic-functions -L$W/LinkTarget/StaticLibrary -L$I/sdk/lib -L$I/program -L$I/program -L$W/LinkTarget/Library -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu $W/CxxObject/sc/qa/unit/subsequent_filters-test.o -Wl,--start-group -L$W/UnpackedTarball/cppunit/src/cppunit/.libs -lcppunit -lxml2 -lorcus-0.12 -lorcus-parser-0.12 -lboost_filesystem -lboost_iostreams -lz -Wl,--end-group -Wl,--no-as-needed -lmergedlo -luno_cppu -luno_cppuhelpergcc3 -lforlo -lforuilo -li18nlangtag -looxlo -luno_sal -luno_salhelpergcc3 -lsclo -lscqahelper -lsubsequenttest -ltest -lunotest -lvbahelperlo -o $W/LinkTarget/CppunitTest/libtest_sc_subsequent_filters_test.so +# /data/rene/git/LibreOffice/master/workdir/CxxObject/sc/qa/unit/subsequent_filters-test.o:(.data.rel.ro._ZTIN7CppUnit17AdditionalMessageE[_ZTIN7CppUnit17AdditionalMessageE]+0x10): undefined reference to `typeinfo for CppUnit::Message' +# collect2: error: ld returned 1 exit status +# /data/rene/git/LibreOffice/master/solenv/gbuild/LinkTarget.mk:598: recipe for target '/data/rene/git/LibreOffice/master/workdir/LinkTarget/CppunitTest/libtest_sc_subsequent_filters_test.so' failed +# make[4]: *** [/data/rene/git/LibreOffice/master/workdir/LinkTarget/CppunitTest/libtest_sc_subsequent_filters_test.so] Error 1 +# +# interestingly, this works with system-cppunit... + +diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk +index ca37c6413780..6744ae54453f 100644 +--- a/sc/Module_sc.mk ++++ b/sc/Module_sc.mk +@@ -35,17 +35,12 @@ endif + ifneq ($(OS),IOS) + $(eval $(call gb_Module_add_check_targets,sc,\ + Library_scqahelper \ +- $(if $(and $(filter $(COM),MSC),$(MERGELIBS)),, \ +- CppunitTest_sc_ucalc) \ + CppunitTest_sc_bugfix_test \ + CppunitTest_sc_filters_test \ + CppunitTest_sc_rangelst_test \ + CppunitTest_sc_range_test \ + CppunitTest_sc_mark_test \ + CppunitTest_sc_core \ +- CppunitTest_sc_dataprovider \ +- CppunitTest_sc_datatransformation \ +- CppunitTest_sc_cache_test \ + )) + + ifneq ($(ENABLE_HEADLESS),TRUE) +@@ -59,13 +54,25 @@ endif + $(eval $(call gb_Module_add_slowcheck_targets,sc, \ + CppunitTest_sc_cond_format_merge \ + CppunitTest_sc_new_cond_format_api \ +- CppunitTest_sc_subsequent_filters_test \ + CppunitTest_sc_subsequent_export_test \ + CppunitTest_sc_html_export_test \ + CppunitTest_sc_copypaste \ + CppunitTest_sc_pivottable_filters_test \ + )) + ++ifeq ($(SYSTEM_CPPUNIT),TRUE) ++$(eval $(call gb_Module_add_check_targets,sc, \ ++ $(if $(and $(filter $(COM),MSC),$(MERGELIBS)),, \ ++ CppunitTest_sc_ucalc) \ ++ CppunitTest_sc_dataprovider \ ++ CppunitTest_sc_datatransformation \ ++ CppunitTest_sc_cache_test \ ++)) ++$(eval $(call gb_Module_add_slowcheck_targets,sc, \ ++ CppunitTest_sc_subsequent_filters_test \ ++)) ++endif ++ + # Various function tests fail in 32-bit linux_x86 build due to dreaded floating + # point weirdness (x87, registers, compiler optimization, ... whatever), + # disable them until someone finds a real cure. +diff --git a/sccomp/Module_sccomp.mk b/sccomp/Module_sccomp.mk +index ef6d47984bf2..c92afe3fbb38 100644 +--- a/sccomp/Module_sccomp.mk ++++ b/sccomp/Module_sccomp.mk +@@ -29,7 +29,12 @@ $(eval $(call gb_Module_add_l10n_targets,sccomp,\ + + $(eval $(call gb_Module_add_check_targets,sccomp,\ + CppunitTest_sccomp_solver \ ++)) ++ ++ifeq ($(SYSTEM_CPPUNIT),TRUE) ++$(eval $(call gb_Module_add_check_targets,sccomp,\ + $(if $(and $(filter INTEL,$(CPUNAME)),$(filter -fsanitize=%,$(gb_CXX))),,CppunitTest_sccomp_swarmsolvertest) \ + )) ++endif + + # vim: set noet sw=4 ts=4: diff --git a/debian/patches/disable-unused-test-programs.diff b/debian/patches/disable-unused-test-programs.diff new file mode 100644 index 00000000000..74928084839 --- /dev/null +++ b/debian/patches/disable-unused-test-programs.diff @@ -0,0 +1,70 @@ +diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk +index a5e4bf5d68d2..3e9e1bf9fe27 100644 +--- a/vcl/Module_vcl.mk ++++ b/vcl/Module_vcl.mk +@@ -28,28 +28,9 @@ $(eval $(call gb_Module_add_targets,vcl,\ + StaticLibrary_vclmain \ + $(if $(ENABLE_MACOSX_SANDBOX),, \ + $(if $(ENABLE_HEADLESS),, \ +- Executable_ui-previewer)) \ +- $(if $(filter LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \ +- Executable_outdevgrind \ +- $(if $(ENABLE_HEADLESS),, \ +- Executable_vcldemo \ +- Executable_icontest \ +- Executable_visualbackendtest \ +- Executable_mtfdemo ))) \ ++ Executable_ui-previewer))) \ + )) + +-ifeq ($(CROSS_COMPILING)$(DISABLE_DYNLOADING),) +- +-$(eval $(call gb_Module_add_targets,vcl,\ +- $(if $(filter-out ANDROID IOS WNT,$(OS)), \ +- Executable_svdemo \ +- Executable_fftester \ +- Executable_svptest \ +- Executable_svpclient) \ +-)) +- +-endif +- + $(eval $(call gb_Module_add_l10n_targets,vcl,\ + AllLangMoTarget_vcl \ + )) +diff --git a/xmlsecurity/Module_xmlsecurity.mk b/xmlsecurity/Module_xmlsecurity.mk +index d3fafeb7e4ec..87b8c067903e 100644 +--- a/xmlsecurity/Module_xmlsecurity.mk ++++ b/xmlsecurity/Module_xmlsecurity.mk +@@ -45,14 +45,6 @@ $(eval $(call gb_Module_add_screenshot_targets,xmlsecurity,\ + CppunitTest_xmlsecurity_dialogs_test \ + )) + +-ifneq (,$(filter DESKTOP,$(BUILD_TYPE))) +- +-$(eval $(call gb_Module_add_targets,xmlsecurity,\ +- Executable_pdfverify \ +-)) +- +-endif +- + endif + + # vim: set noet sw=4 ts=4: +diff --git a/libreofficekit/Module_libreofficekit.mk b/libreofficekit/Module_libreofficekit.mk +index 351f89a33e48..defe0b14a681 100644 +--- a/libreofficekit/Module_libreofficekit.mk ++++ b/libreofficekit/Module_libreofficekit.mk +@@ -23,12 +23,10 @@ $(eval $(call gb_Module_add_check_targets,libreofficekit, \ + ifneq ($(ENABLE_GTK3),) + $(eval $(call gb_Module_add_targets,libreofficekit,\ + Library_libreofficekitgtk \ +- Executable_gtktiledviewer \ + )) + endif # ($(ENABLE_GTK3),) + + $(eval $(call gb_Module_add_targets,libreofficekit,\ +- Executable_tilebench \ + Package_selectionhandles \ + UIConfig_libreofficekit \ + )) diff --git a/debian/patches/disableClassPathURLCheck.diff b/debian/patches/disableClassPathURLCheck.diff new file mode 100644 index 00000000000..94163510205 --- /dev/null +++ b/debian/patches/disableClassPathURLCheck.diff @@ -0,0 +1,92 @@ +--- a/configure.ac-old 2018-11-12 06:51:15.504128408 +0100 ++++ b/configure.ac 2018-11-12 06:52:32.427358015 +0100 +@@ -6898,6 +6898,7 @@ + + # set to limit VM usage for JunitTests + JAVAIFLAGS=-Xmx64M ++ JAVAIFLAGS="$JAVAIFLAGS -Djdk.net.URLClassPath.disableClassPathURLCheck=true" + # set to limit VM usage for javac + JAVAFLAGS=-J-Xmx128M + +From 905c107cde4a0a7059b1e11b5f23a0a59188cb0c Mon Sep 17 00:00:00 2001 +From: Jan-Marek Glogowski +Date: Thu, 6 Dec 2018 13:26:48 +0000 +Subject: tdf#121925 test for URLClassPath.ClassPathURLCheck + +Adds a configure test to check for the enabled ClassPathURLCheck. +Should be reverted, if our jars pass it. + +Change-Id: I040b41f329ccae21b92118fd58270682e50e95c1 +Reviewed-on: https://gerrit.libreoffice.org/64709 +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +--- + configure.ac | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 52 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 4dc6274..97836e1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -7308,6 +7308,58 @@ if test -n "$ENABLE_JAVA" -a -z "$JAVAINC"; then + fi + SOLARINC="$SOLARINC $JAVAINC" + ++if test "$ENABLE_JAVA" != "" -a "x" != "x$JAVACOMPILER"; then ++ url_check_unknown=0 ++ java_base="testurlcheck" ++ java_src="${java_base}.java" ++ java_cls="${java_base}.class" ++ cat > "${java_src}" <<_ACEOF ++[import jdk.internal.loader.URLClassPath; ++import java.lang.reflect.Field; ++import java.net.URL; ++ ++class ${java_base} ++{ ++ public static void main(String args[]) ++ { ++ try { ++ URLClassPath cp = new URLClassPath(new URL[0], null); ++ Field field = cp.getClass().getDeclaredField("DISABLE_CP_URL_CHECK"); ++ field.setAccessible(true); ++ System.out.println(field.get(cp).toString()); ++ } catch(Exception e) { ++ System.out.println("unknown"); ++ } ++ } ++}] ++_ACEOF ++ AC_MSG_CHECKING([if jdk.net.URLClassPath.ClassPathURLCheck is disabled]) ++ java_cmd="$JAVACOMPILER --add-exports java.base/jdk.internal.loader=ALL-UNNAMED ${java_src} 1>&2" ++ AC_TRY_EVAL(java_cmd) ++ if test $? = 0 -a -f "./${java_cls}"; then ++ java_res=`$JAVAINTERPRETER --add-opens java.base/jdk.internal.loader=ALL-UNNAMED ${java_base} 2>/dev/null` ++ if test $? = 0; then ++ case "${java_res}" in ++ true) AC_MSG_RESULT([yes]) ;; ++ false) ++ rm -f "./${java_src}" "./${java_cls}" ++ AC_MSG_ERROR([no - Java unit tests will break!]) ++ ;; ++ *) url_check_unknown=1 ;; ++ esac ++ else ++ url_check_unknown=1 ++ fi ++ else ++ url_check_unknown=1 ++ fi ++ if test $url_check_unknown -eq 1; then ++ AC_MSG_RESULT([unknown - assuming yes]) ++ add_warning "Unable to find the default value for jdk.net.URLClassPath.ClassPathURLCheck - java tests might fail!" ++ fi ++ rm -f "./${java_src}" "./${java_cls}" ++fi ++ + AC_SUBST(JAVACOMPILER) + AC_SUBST(JAVADOC) + AC_SUBST(JAVAINTERPRETER) +-- +cgit v1.1 + diff --git a/debian/patches/do-not-hide-test-output.diff b/debian/patches/do-not-hide-test-output.diff new file mode 100644 index 00000000000..436bccee3fb --- /dev/null +++ b/debian/patches/do-not-hide-test-output.diff @@ -0,0 +1,99 @@ +diff --git a/odk/build-examples_common.mk b/odk/build-examples_common.mk +index 931d6eea856e..5ea56e959bfc 100644 +--- a/odk/build-examples_common.mk ++++ b/odk/build-examples_common.mk +@@ -32,11 +32,7 @@ endif + && (cd $(INSTDIR)/$(SDKDIRNAME)/examples/$(my_dir) \ + && printf 'yes\n' | LC_ALL=C make \ + $(if $(filter MACOSX,$(OS)), SHELL=$(ODK_BUILD_SHELL), )))) \ +- >$(call gb_CustomTarget_get_workdir,$(1))/log 2>&1 \ +- || (RET=$$$$? \ +- $(if $(filter MACOSX,$(OS)), && rm -f $(ODK_BUILD_SHELL) , ) \ +- && cat $(call gb_CustomTarget_get_workdir,$(1))/log \ +- && exit $$$$RET) ++ 2>&1 + ifeq (MACOSX,$(OS)) + -rm -f $(ODK_BUILD_SHELL) + endif +diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk +index 45af5c9b25a7..7933fc84c8b2 100644 +--- a/solenv/gbuild/CppunitTest.mk ++++ b/solenv/gbuild/CppunitTest.mk +@@ -139,12 +139,7 @@ else + ; RET=$$? && $(gb_CppunitTest_POSTGDBTRACE) && (exit $$RET)) \ + $(if $(gb_CppunitTest_localized),|| exit $$?; done) \ + ) \ +- $(if $(gb_CppunitTest__interactive),, \ +- > $@.log 2>&1 \ +- || ($(if $(value gb_CppunitTest_postprocess), \ +- RET=$$?; \ +- $(call gb_CppunitTest_postprocess,$(gb_CppunitTest_CPPTESTCOMMAND),$@.core,$$RET) >> $@.log 2>&1;) \ +- cat $@.log; $(gb_CppunitTest_UNITTESTFAILED) Cppunit $*))) ++ 2>&1) + endif + + define gb_CppunitTest_CppunitTest +diff --git a/solenv/gbuild/JunitTest.mk b/solenv/gbuild/JunitTest.mk +index 36f29b50ef28..3ac4603ff6a0 100644 +--- a/solenv/gbuild/JunitTest.mk ++++ b/solenv/gbuild/JunitTest.mk +@@ -44,17 +44,7 @@ else + -classpath "$(T_CP)" \ + $(DEFS) \ + org.junit.runner.JUnitCore \ +- $(CLASSES) > $@.log 2>&1 || \ +- (cat $@.log \ +- && echo "to rerun just this failed test without all others, run:" \ +- && echo && echo " make JunitTest_$*" && echo \ +- && echo "cd into the module dir to run the tests faster" \ +- && echo "Or to do interactive debugging, run two shells with:" \ +- && echo \ +- && echo " make debugrun" \ +- && echo " make gb_JunitTest_DEBUGRUN=T JunitTest_$*" \ +- && echo \ +- && false))) ++ $(CLASSES) 2>&1)) + $(CLEAN_CMD) + endif + +diff --git a/solenv/gbuild/UITest.mk b/solenv/gbuild/UITest.mk +index 03d30448ef7b..5628e47866f8 100644 +--- a/solenv/gbuild/UITest.mk ++++ b/solenv/gbuild/UITest.mk +@@ -77,16 +77,7 @@ else + --userdir=$(call gb_Helper_make_url,$(dir $(call gb_UITest_get_target,$*))user) \ + --dir=$(strip $(MODULES)) \ + $(gb_UITest_GDBTRACE) \ +- $(if $(gb_UITest__interactive),, \ +- > $@.log 2>&1 \ +- || ($(if $(value gb_CppunitTest_postprocess), \ +- RET=$$?; \ +- $(call gb_CppunitTest_postprocess,$(gb_UITest_EXECUTABLE_GDB),$@.core,$$RET) >> $@.log 2>&1;) \ +- $(if $(filter WNT,$(OS)), \ +- printf '%s: <<<\n' $(dir $(call gb_UITest_get_target,$*))/soffice.out.log; \ +- cat $(dir $(call gb_UITest_get_target,$*))/soffice.out.log; \ +- printf ' >>>\n\n';) \ +- cat $@.log; $(gb_UITest_UNITTESTFAILED) UI $*)))) ++ 2>&1)) + endif + + # always use udkapi and URE services +diff --git a/solenv/gbuild/PythonTest.mk b/solenv/gbuild/PythonTest.mk +index 9b0590e35d2a..3a1d7d9caceb 100644 +--- a/solenv/gbuild/PythonTest.mk ++++ b/solenv/gbuild/PythonTest.mk +@@ -58,12 +58,7 @@ else + $(gb_CppunitTest_GDBTRACE) $(gb_CppunitTest_VALGRINDTOOL) \ + $(gb_PythonTest_COMMAND) \ + $(if $(PYTHON_TEST_NAME),$(PYTHON_TEST_NAME),$(MODULES)) \ +- $(if $(gb_CppunitTest__interactive),, \ +- > $@.log 2>&1 \ +- || ($(if $(value gb_CppunitTest_postprocess), \ +- RET=$$?; \ +- $(call gb_CppunitTest_postprocess,$(gb_PythonTest_EXECUTABLE_GDB),$@.core,$$RET) >> $@.log 2>&1;) \ +- cat $@.log; $(gb_PythonTest_UNITTESTFAILED) Python $*)))) ++ 2>&1)) + endif + + # always use udkapi and URE services + diff --git a/debian/patches/dont-touch-urd.diff b/debian/patches/dont-touch-urd.diff new file mode 100644 index 00000000000..f19ef5dc217 --- /dev/null +++ b/debian/patches/dont-touch-urd.diff @@ -0,0 +1,80 @@ +18:43 <@_rene_> hmm. /me wonders why after a rm config.status autogen.lastrun + and a re-configure (and make clean for odk/scp2/scripting) LO + master tries to rebuild offapi/udkapi again? +18:44 <@_rene_> this a) takes with cpp instead of ucpp and b) causes all kind + of stuff "down" to be rebuilt.... :( +18:44 <@_rene_> which is extremely bad. +18:44 <@_rene_> if it isn't solvable easily: what to touch to prevent it from + doing that? :-) +18:45 < loirkerbot> LibreOffice (core) mstahl * desktop/source/app/main.c: + desktop: tweak xmlCleanupParser hack: disable on return + from main +18:46 < mst__> _rene_, did you switch between --with-system-ucpp and without? + that should rebuild IDL file... +18:47 <@_rene_> nah, first run is just --disable-help, --disable-scripting etc +18:47 <@_rene_> and the second run does that +18:47 <@_rene_> (first pass to "just" build what is needed for arch-specific + stuff) +18:48 <@_rene_> (and I am not using ucpp at all, but cpp ;)) +18:51 < mst__> _rene_, hmm don't know why that would happen then... you could + try running second make with -d and redirect to a file, but + beware that file will be huge... then grep for "Must + remake.*urd" or something should give you the problem area +18:59 -!- reisi007 [~chatzilla@cpe90-146-226-33.liwest.at] has quit [Quit: + ChatZilla 0.9.89 [Firefox 14.0.1/20120713134347]] +19:00 -!- crossmanith_ [~cr@p3E9EAEF6.dip.t-dialin.net] has joined + #libreoffice-dev +19:00 -!- erAck_away is now known as erAck +19:05 -!- cbosdonnat [~cbosdo@ALyon-651-1-309-127.w90-14.abo.wanadoo.fr] has + quit [Quit: Leaving] +19:07 <@_rene_> mst__: ok, starting a new build, let's see +[...] +10:36 <@_rene_> mst__: nothing interesting there instead of the loads of + touch'es... +10:36 <@_rene_> mst__: butI just removed the touch from the UnoApiTarget and + let's see now :) +10:36 -!- erAck [~erathke@f054050047.adsl.alicedsl.de] has joined + #libreoffice-dev +10:36 -!- mode/#libreoffice-dev [+o erAck] by ChanServ +10:36 <@_rene_> $(call gb_UnoApiPartTarget_get_target,%.urd) : +10:36 <@_rene_> - touch $@ +10:36 <@_rene_> + +[...] +10:38 < mst__> _rene_, there must be something interesting there: preceding the + "Must remake.*urd" line there must be some line that says target + "foo" is "newer" than the .urd and therefor it will be rebuilt +[...] +10:40 <@_rene_> mst__: I didn't see anything there, no ".*urd*muss neu" +10:41 < mst__> _rene_, there must be a message like that immediately preceding + running the touch command +10:41 -!- pepp [~pierre-er@vaf26-6-78-248-2-61.fbx.proxad.net] has joined + #libreoffice-dev +10:42 <@vmiklos> mst__: makes sense. +10:42 -!- matus [~ubuntu@adsl-dyn17.78-98-107.t-com.sk] has joined + #libreoffice-dev +10:42 <@_rene_> as said, there was done. I don't think I oversaw it +10:43 <@_rene_> but can try again later, for now I will just keep removing the + touch. according to the comment this shoudln't do harm +10:43 < mst__> _rene_, removing it will break incremental builds iirc +10:44 <@_rene_> but only if you change idl stuff inbetween +10:44 <@_rene_> which won't happen that often in package builds ;) +10:44 < mst__> _rene_, exactly +10:44 -!- Fridrich [~fridrich@71-99.199-178.cust.bluewin.ch] has joined + #libreoffice-dev +10:44 -!- mode/#libreoffice-dev [+o Fridrich] by ChanServ +10:45 <@_rene_> (when I am out of "use git", only when there's a new + (pre-)release" + +diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk +index 98734ab..b281a84 100644 +--- a/solenv/gbuild/UnoApiTarget.mk ++++ b/solenv/gbuild/UnoApiTarget.mk +@@ -46,7 +46,7 @@ $(dir $(call gb_UnoApiPartTarget_get_target,))%/.dir : + $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@)) + + $(call gb_UnoApiPartTarget_get_target,%.urd) : +- touch $@ ++ + + # TODO: + # - get idlc switch "-P" (generate .urd into package dir) diff --git a/debian/patches/expand-LibreLogo-checks-to-global-events.diff b/debian/patches/expand-LibreLogo-checks-to-global-events.diff new file mode 100644 index 00000000000..69b4c201012 --- /dev/null +++ b/debian/patches/expand-LibreLogo-checks-to-global-events.diff @@ -0,0 +1,95 @@ +From 70d022f6f134e67ffa9e65ca2a6de64e458a7db0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Tue, 23 Jul 2019 15:31:05 +0100 +Subject: expand LibreLogo check to global events +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Change-Id: I7f436983ba0eb4b76b02d08ee52626e54b103d5f +Reviewed-on: https://gerrit.libreoffice.org/76194 +Tested-by: Jenkins +Reviewed-by: Michael Stahl +Reviewed-by: Caolán McNamara +Tested-by: Caolán McNamara +(cherry picked from commit 85cbe1f06703c0b8e1f15a3d969202d99c66f34b) +Reviewed-on: https://gerrit.libreoffice.org/76540 +Reviewed-by: Stephan Bergmann +Reviewed-by: Christian Lohmaier +Tested-by: Christian Lohmaier +--- + include/sfx2/objsh.hxx | 2 ++ + sfx2/source/doc/objmisc.cxx | 6 +----- + sfx2/source/notify/eventsupplier.cxx | 18 ++++++++++++------ + 3 files changed, 15 insertions(+), 11 deletions(-) + +diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx +index eaa93af..d982aa1 100644 +--- a/include/sfx2/objsh.hxx ++++ b/include/sfx2/objsh.hxx +@@ -392,6 +392,8 @@ public: + */ + bool AdjustMacroMode(); + ++ static bool UnTrustedScript(const OUString& rScriptURL); ++ + SvKeyValueIterator* GetHeaderAttributes(); + void ClearHeaderAttributesForSourceViewHack(); + void SetHeaderAttributesForSourceViewHack(); +diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx +index d44b55e..0e188b9 100644 +--- a/sfx2/source/doc/objmisc.cxx ++++ b/sfx2/source/doc/objmisc.cxx +@@ -1344,16 +1344,12 @@ namespace + } + } + +-namespace { +- + // don't allow LibreLogo to be used with our mouseover/etc dom-alike events +-bool UnTrustedScript(const OUString& rScriptURL) ++bool SfxObjectShell::UnTrustedScript(const OUString& rScriptURL) + { + return rScriptURL.startsWithIgnoreAsciiCase("vnd.sun.star.script:LibreLogo"); + } + +-} +- + ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptContext, const OUString& _rScriptURL, + const Sequence< Any >& aParams, Any& aRet, Sequence< sal_Int16 >& aOutParamIndex, Sequence< Any >& aOutParam, bool bRaiseError, const css::uno::Any* pCaller ) + { +diff --git a/sfx2/source/notify/eventsupplier.cxx b/sfx2/source/notify/eventsupplier.cxx +index 78667a1d8036..2656e9c213ec 100644 +--- a/sfx2/source/notify/eventsupplier.cxx ++++ b/sfx2/source/notify/eventsupplier.cxx +@@ -207,18 +207,24 @@ void SfxEvents_Impl::Execute( uno::Any const & aEventData, const document::Docum + else if (aType == "Service" || + aType == "Script") + { +- if ( !aScript.isEmpty() ) ++ bool bAllowed = false; ++ util::URL aURL; ++ if (!aScript.isEmpty()) + { +- SfxViewFrame* pView = pDoc ? +- SfxViewFrame::GetFirst( pDoc ) : +- SfxViewFrame::Current(); +- + uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) ); + +- util::URL aURL; + aURL.Complete = aScript; + xTrans->parseStrict( aURL ); + ++ bAllowed = !SfxObjectShell::UnTrustedScript(aURL.Complete); ++ } ++ ++ if (bAllowed) ++ { ++ SfxViewFrame* pView = pDoc ? ++ SfxViewFrame::GetFirst( pDoc ) : ++ SfxViewFrame::Current(); ++ + uno::Reference + < frame::XDispatchProvider > xProv; + diff --git a/debian/patches/expand-pyuno-path-separators.diff b/debian/patches/expand-pyuno-path-separators.diff new file mode 100644 index 00000000000..a2ba83e0882 --- /dev/null +++ b/debian/patches/expand-pyuno-path-separators.diff @@ -0,0 +1,33 @@ +From 4478218df5c4af87c8d242b296bf085e432353b3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Wed, 7 Aug 2019 12:58:01 +0100 +Subject: expand pyuno path separators + +Change-Id: Ic97649ed6d4be595b308922c7bdc880cbb60b239 +Reviewed-on: https://gerrit.libreoffice.org/77102 +Reviewed-by: Michael Stahl +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +(cherry picked from commit 75903a0298218f89a199a5ac151ee0166f4469d7) +Reviewed-on: https://gerrit.libreoffice.org/77116 +--- + sfx2/source/doc/objmisc.cxx | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx +index e999557..ab41b14 100644 +--- a/sfx2/source/doc/objmisc.cxx ++++ b/sfx2/source/doc/objmisc.cxx +@@ -1360,7 +1360,8 @@ bool SfxObjectShell::UnTrustedScript(const OUString& rScriptURL) + if (!sfUri.is()) + return false; + +- OUString sScript = sfUri->getName(); ++ // pyuno encodes path separator as | ++ OUString sScript = sfUri->getName().replace('|', '/'); + + // check if any path portion matches LibreLogo and ban it if it does + sal_Int32 nIndex = 0; +-- +cgit v1.1 + diff --git a/debian/patches/explictly-exclude-LibreLogo-from-XScript-usage.diff b/debian/patches/explictly-exclude-LibreLogo-from-XScript-usage.diff new file mode 100644 index 00000000000..1c5f571a083 --- /dev/null +++ b/debian/patches/explictly-exclude-LibreLogo-from-XScript-usage.diff @@ -0,0 +1,31 @@ +diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx +index 2ece4b9a6e6c..d44b55e6b753 100644 +--- a/sfx2/source/doc/objmisc.cxx ++++ b/sfx2/source/doc/objmisc.cxx +@@ -1344,6 +1344,16 @@ namespace + } + } + ++namespace { ++ ++// don't allow LibreLogo to be used with our mouseover/etc dom-alike events ++bool UnTrustedScript(const OUString& rScriptURL) ++{ ++ return rScriptURL.startsWithIgnoreAsciiCase("vnd.sun.star.script:LibreLogo"); ++} ++ ++} ++ + ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptContext, const OUString& _rScriptURL, + const Sequence< Any >& aParams, Any& aRet, Sequence< sal_Int16 >& aOutParamIndex, Sequence< Any >& aOutParam, bool bRaiseError, const css::uno::Any* pCaller ) + { +@@ -1356,6 +1366,9 @@ ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptCon + if ( bIsDocumentScript && !lcl_isScriptAccessAllowed_nothrow( _rxScriptContext ) ) + return ERRCODE_IO_ACCESSDENIED; + ++ if ( UnTrustedScript(_rScriptURL) ) ++ return ERRCODE_IO_ACCESSDENIED; ++ + bool bCaughtException = false; + Any aException; + try diff --git a/debian/patches/fix-internal-hsqldb-build.diff b/debian/patches/fix-internal-hsqldb-build.diff new file mode 100644 index 00000000000..477528515ac --- /dev/null +++ b/debian/patches/fix-internal-hsqldb-build.diff @@ -0,0 +1,45 @@ +diff -urN hsqldb.old/patches/use-system-servlet-api.jar.diff hsqldb/patches/use-system-servlet-api.jar.diff +--- a/external/hsqldb/patches/use-system-servlet-api.jar.diff 1970-01-01 01:00:00.000000000 +0100 ++++ b/external/hsqldb/patches/use-system-servlet-api.jar.diff 2013-03-19 15:09:42.137801521 +0100 +@@ -0,0 +1,29 @@ ++--- misc/hsqldb/build/build.xml +++++ misc/build/hsqldb/build/build.xml ++@@ -356,7 +356,7 @@ ++ optimize="${build.optimize}" ++ > ++ ++- +++ ++ ++ ++ ++@@ -818,7 +818,7 @@ ++ ${src}/org/hsqldb/util/RCData.java, ++ ${src}/org/hsqldb/util/SqlTool.java" ++ destdir="${basedir}/doc/src" ++- classpath="${basedir}/lib/servlet.jar;${basedir}/lib/junit.jar" +++ classpath="/usr/share/java/servlet-api-3.1.jar;${basedir}/lib/junit.jar" ++ author="true" ++ version="false" ++ use="true" ++@@ -839,7 +839,7 @@ ++ +Date: Sat, 20 Oct 2018 14:38:35 +0200 +Subject: Java 11 no longer synthesizes DocumentView$1.class + +...so, for simplicity, just include whatever generated DocumentView$*.class by +wildcard + +Change-Id: I779e2709c8ef2859d68233300302dd62dbe2455f +Reviewed-on: https://gerrit.libreoffice.org/62073 +Tested-by: Jenkins +Reviewed-by: Stephan Bergmann +--- + odk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment/Makefile | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/odk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment/Makefile b/odk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment/Makefile +index 4227108..2048ade 100644 +--- a/odk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment/Makefile ++++ b/odk/examples/DevelopersGuide/OfficeDev/DesktopEnvironment/Makefile +@@ -66,8 +66,7 @@ APP1_JAVAFILES = \ + APP1_CLASSFILES = $(patsubst %.java,$(OUT_APP_CLASS)/%.class,$(APP1_JAVAFILES)) + APP1_CLASSNAMES = $(patsubst %.java,%.class,$(APP1_JAVAFILES)) \ + CustomizeView$(QUOTE)$$ClickListener.class \ +- DocumentView$(QUOTE)$$1.class \ +- DocumentView$(QUOTE)$$Reactor.class ++ DocumentView$(QUOTE)$$*.class + + + SDK_CLASSPATH = $(subst $(EMPTYSTRING) $(PATH_SEPARATOR),$(PATH_SEPARATOR),$(CLASSPATH)\ +-- +cgit v1.1 + diff --git a/debian/patches/help-msg-add-package-info.diff b/debian/patches/help-msg-add-package-info.diff new file mode 100644 index 00000000000..dbfb32ae653 --- /dev/null +++ b/debian/patches/help-msg-add-package-info.diff @@ -0,0 +1,13 @@ +diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc +index 1b0ea6ccb2ff..630f4330552a 100644 +--- a/include/sfx2/strings.hrc ++++ b/include/sfx2/strings.hrc +@@ -132,7 +132,7 @@ + #define STR_GID_CONTROLS NC_("STR_GID_CONTROLS", "Controls") + #define STR_QUITAPP NC_("STR_QUITAPP", "E~xit %PRODUCTNAME") + #define RID_STR_HELP NC_("RID_STR_HELP", "Help") +-#define RID_STR_HLPFILENOTEXIST NC_("RID_STR_HLPFILENOTEXIST", "The help file for this topic is not installed.") ++#define RID_STR_HLPFILENOTEXIST NC_("RID_STR_HLPFILENOTEXIST", "The help file for this topic is not installed. Please install the libreoffice-help-en-us package or the locale specific help package libreoffice-help-.") + #define STR_QUICKSTART_EXIT NC_("STR_QUICKSTART_EXIT", "Exit Quickstarter") + #define STR_QUICKSTART_TIP NC_("STR_QUICKSTART_TIP", "%PRODUCTNAME %PRODUCTVERSION Quickstarter") + #define STR_QUICKSTART_FILEOPEN NC_("STR_QUICKSTART_FILEOPEN", "Open Document...") diff --git a/debian/patches/hide-math-desktop-file.patch b/debian/patches/hide-math-desktop-file.patch new file mode 100644 index 00000000000..3e7fd4bbadc --- /dev/null +++ b/debian/patches/hide-math-desktop-file.patch @@ -0,0 +1,15 @@ +Description: Hide startcenter and math from the shell +Author: Olivier Tilloy +Bug-Ubuntu: https://launchpad.net/bugs/1696250 +Forwarded: not-needed + +--- a/sysui/desktop/menus/math.desktop ++++ b/sysui/desktop/menus/math.desktop +@@ -33,6 +33,7 @@ Keywords=Equation;OpenDocument Formula;F + InitialPreference=5 + StartupWMClass=libreoffice-math + X-KDE-Protocols=file,http,ftp,webdav,webdavs ++NotShowIn=GNOME; + + Actions=NewDocument; + [Desktop Action NewDocument] diff --git a/debian/patches/hppa-is-32bit.diff b/debian/patches/hppa-is-32bit.diff new file mode 100644 index 00000000000..b3ceb179fd3 --- /dev/null +++ b/debian/patches/hppa-is-32bit.diff @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index 42dc3b4..f5a51c9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -6671,7 +6671,7 @@ if test "$ENABLE_JAVA" != ""; then + JAVAINTERPRETER=`win_short_path_for_make "$JAVAINTERPRETER"` + elif test "$cross_compiling" != "yes"; then + case $CPUNAME in +- AARCH64|AXP|X86_64|HPPA|IA64|POWERPC64|S390X|SPARC64|GODSON64) ++ AARCH64|AXP|X86_64|IA64|POWERPC64|S390X|SPARC64|GODSON64) + if test -f "$JAVAINTERPRETER" -a "`$JAVAINTERPRETER -version 2>&1 | $GREP -i 64-bit`" = "" >/dev/null; then + AC_MSG_WARN([You are building 64-bit binaries but the JDK $JAVAINTERPRETER is 32-bit]) + AC_MSG_ERROR([You should pass the --with-jdk-home option pointing to a 64-bit JDK]) diff --git a/debian/patches/install-fixes.diff b/debian/patches/install-fixes.diff new file mode 100644 index 00000000000..891bb321c78 --- /dev/null +++ b/debian/patches/install-fixes.diff @@ -0,0 +1,166 @@ +diff --git a/bin/distro-install-file-lists b/bin/distro-install-file-lists +index eaabf9c..c1b1ec6 100755 +--- libreoffice-3.5.0/bin/distro-install-file-lists ++++ libreoffice-3.5.0/bin/distro-install-file-lists +@@ -8,6 +8,8 @@ + exit 1 + fi + ++export OOO_VENDOR=Debian ++ + BUILDDIR=`pwd` + FILELISTSDIR="$BUILDDIR/file-lists" + +@@ -351,152 +351,6 @@ if test "z$OOO_VENDOR" != "zDebian" ; then + remove_duplicity_from_flists common_list.txt lang_bg_list.txt $INSTALLDIR/presets/config/styles.sod + # the British fixes can be removed after the issue #54113 is fixed + remove_duplicity_from_flists common_list.txt lang_en-GB_list.txt $INSTALLDIR/presets/config/standard.sog +- +-else +- +- echo "Creating package directories..." +- +- test -d pkg && rm -r pkg || : +- +- # Create package tree (needed by Debian's dpkg) +- # create_package_directory +- create_package_directory() +- { +- listfile=$1 +- directory="$2" +- perl -nl \ +- -e " if(/^%dir (.*)/) +- {system('mkdir', '-p', '-m', '755', \"$directory\".\$1);} +- else +- {rename('./'.\$_, \"$directory\".\$_);} +- " \ +- $listfile +- } +- +- create_package_directory gid_Module_Root_Ure_Hidden pkg/ure +- +- create_package_directory gid_Module_Root pkg/libreoffice-common +- create_package_directory gid_Module_Root_Brand pkg/libreoffice-common +- create_package_directory gid_Module_Root_Files_Images pkg/libreoffice-common +- create_package_directory gid_Module_Oo_Linguistic pkg/libreoffice-common +- create_package_directory gid_Module_Optional_Xsltfiltersamples pkg/libreoffice-common +- create_package_directory gid_Module_Optional_Grfflt pkg/libreoffice-draw +- create_package_directory gid_Module_Prg_Calc_Bin pkg/libreoffice-calc +- create_package_directory gid_Module_Prg_Math_Bin pkg/libreoffice-math +- create_package_directory gid_Module_Prg_Draw_Bin pkg/libreoffice-draw +- create_package_directory gid_Module_Prg_Wrt_Bin pkg/libreoffice-writer +- create_package_directory gid_Module_Prg_Impress_Bin pkg/libreoffice-impress +- create_package_directory gid_Module_Prg_Base_Bin pkg/libreoffice-base +- create_package_directory gid_Module_Brand_Prg_Calc pkg/libreoffice-calc +- create_package_directory gid_Module_Brand_Prg_Math pkg/libreoffice-math +- create_package_directory gid_Module_Brand_Prg_Draw pkg/libreoffice-draw +- create_package_directory gid_Module_Brand_Prg_Wrt pkg/libreoffice-writer +- create_package_directory gid_Module_Brand_Prg_Impress pkg/libreoffice-impress +- create_package_directory gid_Module_Brand_Prg_Base pkg/libreoffice-base +- create_package_directory gid_Module_Pyuno pkg/python-uno +- create_package_directory gid_Module_Optional_Gnome pkg/libreoffice-gnome +- +- create_package_directory gid_Module_Root_Files_2 pkg/libreoffice-common +- create_package_directory gid_Module_Root_Files_3 pkg/libreoffice-common +- create_package_directory gid_Module_Root_Files_4 pkg/libreoffice-common +- create_package_directory gid_Module_Root_Files_5 pkg/libreoffice-common +- create_package_directory gid_Module_Root_Files_6 pkg/libreoffice-common +- create_package_directory gid_Module_Root_Files_7 pkg/libreoffice-common +- if [ -e gid_Module_Optional_Pymailmerge ]; then +- create_package_directory gid_Module_Optional_Pymailmerge pkg/libreoffice-emailmerge +- else # post m26 +- mkdir -p pkg/libreoffice-emailmerge/$INSTALLDIR/program +- mv pkg/libreoffice-common/$INSTALLDIR/program/mailmerge.py \ +- pkg/libreoffice-emailmerge/$INSTALLDIR/program/mailmerge.py +- fi +- create_package_directory gid_Module_Optional_OGLTrans pkg/libreoffice-ogltrans +- +- create_package_directory gid_Module_Root_SDK pkg/libreoffice-dev +- +- for l in `echo $WITH_LANG_LIST`; do +- for p in Impress Draw Math Calc Base Writer; do +- create_package_directory gid_Module_Langpack_${p}_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l +- done +- create_package_directory gid_Module_Langpack_Basis_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l +- create_package_directory gid_Module_Langpack_Brand_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l +- create_package_directory gid_Module_Langpack_Resource_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l +- create_package_directory gid_Module_Helppack_Help_`echo $l | sed -e s/-/_/g` pkg/libreoffice-help-$l +- +- # some help files are in _Langpack_{Writer,Impress,...}_ +- # move them from -l10n to -help +- if [ "$l" = "en-US" ]; then d=en; else d=$l; fi +- mv pkg/libreoffice-l10n-$l/$INSTALLDIR/help/$d/* \ +- pkg/libreoffice-help-$l/$INSTALLDIR/help/$d && \ +- rmdir pkg/libreoffice-l10n-$l/$INSTALLDIR/help/$d +- done +- +- # move_wrappers [...] +- move_wrappers() +- { +- directory=$1 +- shift +- mkdir -m755 -p "$directory"/usr/bin +- while test -n "$1"; do +- mv usr/*bin/"$1$BINSUFFIX" "$directory"/usr/bin +- shift +- done +- } +- move_wrappers pkg/libreoffice-common soffice unopkg +- if test "$COMPAT_OOWRAPPERS" = "YES" ; then +- move_wrappers pkg/libreoffice-common ooffice oofromtemplate +- move_wrappers pkg/libreoffice-base oobase +- move_wrappers pkg/libreoffice-writer oowriter ooweb +- move_wrappers pkg/libreoffice-calc oocalc +- move_wrappers pkg/libreoffice-impress ooimpress +- move_wrappers pkg/libreoffice-math oomath +- move_wrappers pkg/libreoffice-draw oodraw +- fi +- move_wrappers pkg/libreoffice-common libreoffice lofromtemplate +- move_wrappers pkg/libreoffice-base lobase +- move_wrappers pkg/libreoffice-writer lowriter loweb +- move_wrappers pkg/libreoffice-calc localc +- move_wrappers pkg/libreoffice-impress loimpress +- move_wrappers pkg/libreoffice-math lomath +- move_wrappers pkg/libreoffice-draw lodraw +- +- # Move all libraries, binaries, *.rdb from -common to -core +- for d in $INSTALLDIR/program $INSTALLDIR/program; do \ +- if [ ! -d $DESTDIR/pkg/libreoffice-core/$d ]; then \ +- mkdir -p $DESTDIR/pkg/libreoffice-core/$d; \ +- fi && +- ( cd pkg/libreoffice-common/$d +- find -maxdepth 1 \ +- -regex '\./\(.*\.so.*\|.*\.bin\|pagein\|msfontextract\|.*\.rdb\|javaldx\|uri-encode\)' \ +- -exec mv {} $DESTDIR/pkg/libreoffice-core/$d \; +- ); \ +- done +- +- # install additional ooo-build scripts & misc stuff +- mkdir -p pkg/libreoffice-common/usr/share/man/man1 +- if test "$COMPAT_OOWRAPPERS" = "YES" ; then +- mv usr/share/man/man1/openoffice$BINSUFFIX.1 \ +- pkg/libreoffice-common/usr/share/man/man1 +- fi +- mv usr/share/man/man1/libreoffice$BINSUFFIX.1 \ +- pkg/libreoffice-common/usr/share/man/man1 +- mkdir -p pkg/libreoffice-common/etc/bash_completion.d +- if test "$COMPAT_OOWRAPPERS" = "YES" ; then +- mv etc/bash_completion.d/ooffice$BINSUFFIX.sh \ +- pkg/libreoffice-common/etc/bash_completion.d +- fi +- mv etc/bash_completion.d/libreoffice$BINSUFFIX.sh \ +- pkg/libreoffice-common/etc/bash_completion.d +- mv .$INSTALLDIR/program/java-set-classpath \ +- pkg/libreoffice-common/$INSTALLDIR/program +- if echo $WITH_LANG_LIST | grep -q en-US; then +- for i in forms/resume.ott officorr/project-proposal.ott; do \ +- mkdir -p pkg/libreoffice-common/$INSTALLDIR/share/template/en-US/`dirname $i`; \ +- mv .$INSTALLDIR/share/template/en-US/$i \ +- pkg/libreoffice-common/$INSTALLDIR/share/template/en-US/$i; \ +- done; \ +- fi +- # Warn for any remaining files +- find . -path './pkg' -prune -o -not -name 'gid_Module_*' -not -type d -exec echo "File not packaged: {}" \; + fi + + # mark the config files diff --git a/debian/patches/java.vendor-Debian.diff b/debian/patches/java.vendor-Debian.diff new file mode 100644 index 00000000000..5155d5326e0 --- /dev/null +++ b/debian/patches/java.vendor-Debian.diff @@ -0,0 +1,39 @@ +diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml +index b008bb1fc0f7..ea0ddc4e7c91 100644 +--- a/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml ++++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml +@@ -25,6 +25,9 @@ + + 1.6.0 + ++ ++ 1.6.0 ++ + + 1.5.0 + +diff --git a/jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx b/jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx +index 60911f8a63ca..eaa26f441ad7 100644 +--- a/jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx ++++ b/jvmfwk/plugins/sunmajor/pluginlib/vendorlist.cxx +@@ -41,6 +41,7 @@ + #endif + VENDOR_MAP_ENTRY("Sun Microsystems Inc.", SunInfo) + VENDOR_MAP_ENTRY("Oracle Corporation", SunInfo) ++ VENDOR_MAP_ENTRY("Debian", SunInfo) + VENDOR_MAP_ENTRY("AdoptOpenJdk", SunInfo) + #ifndef MACOSX + VENDOR_MAP_ENTRY("IBM Corporation", OtherInfo) +diff --git a/bean/com/sun/star/comp/beans/LocalOfficeWindow.java b/bean/com/sun/star/comp/beans/LocalOfficeWindow.java +index 67ace100fb5f..46cdb32fd276 100644 +--- a/bean/com/sun/star/comp/beans/LocalOfficeWindow.java ++++ b/bean/com/sun/star/comp/beans/LocalOfficeWindow.java +@@ -250,7 +250,7 @@ public class LocalOfficeWindow + if (getNativeWindowSystemType() == SystemDependent.SYSTEM_XWINDOW ) + { + String vendor = System.getProperty("java.vendor"); +- if ((vendor.equals("Sun Microsystems Inc.") || vendor.equals("Oracle Corporation")) ++ if ((vendor.equals("Sun Microsystems Inc.") || vendor.equals("Oracle Corporation") || vendor.equals("Debian")) + && Boolean.getBoolean("sun.awt.xembedserver")) + { + xembed = new NamedValue( diff --git a/debian/patches/javadoc-optional.diff b/debian/patches/javadoc-optional.diff new file mode 100644 index 00000000000..5ab2da15ef3 --- /dev/null +++ b/debian/patches/javadoc-optional.diff @@ -0,0 +1,153 @@ +Gemeinsame Unterverzeichnisse: odk-old/config und odk/config. +Gemeinsame Unterverzeichnisse: odk-old/docs und odk/docs. +Gemeinsame Unterverzeichnisse: odk-old/examples und odk/examples. +diff --git a/odk/Module_odk.mk b/odk/Module_odk.mk +index 32bdfc1..a174932 100644 +--- a/odk/Module_odk.mk ++++ b/odk/Module_odk.mk +@@ -43,11 +43,13 @@ ifneq ($(ENABLE_JAVA),) + $(eval $(call gb_Module_add_targets,odk,\ + $(if $(and $(BUILD_UNOWINREG),$(filter GCC,$(COM))),CustomTarget_unowinreg)\ + CustomTarget_classes \ +- CustomTarget_javadoc \ +- GeneratedPackage_odk_javadoc \ + GeneratedPackage_uno_loader_classes \ + $(if $(filter WNT,$(OS)),Library_unowinreg) \ + Package_unowinreg \ ++ $(if $(JAVADOC),\ ++ CustomTarget_javadoc \ ++ GeneratedPackage_odk_javadoc \ ++ ) \ + )) + endif + +Gemeinsame Unterverzeichnisse: odk-old/pack und odk/pack. +Gemeinsame Unterverzeichnisse: odk-old/qa und odk/qa. +Gemeinsame Unterverzeichnisse: odk-old/settings und odk/settings. +Gemeinsame Unterverzeichnisse: odk-old/source und odk/source. +Gemeinsame Unterverzeichnisse: odk-old/util und odk/util. +--- a/configure.ac-old 2013-05-27 18:32:42.187305241 +0200 ++++ b/configure.ac 2013-05-27 18:44:29.131286710 +0200 +@@ -2057,6 +2057,18 @@ AC_ARG_WITH(doxygen, + documentation. Not relevant in the --disable-odk case.]), + ,with_doxygen=yes) + ++AC_ARG_WITH( ++ [javadoc], ++ AS_HELP_STRING( ++ [--with-javadoc], ++ [Specifies the javadoc executable to use when generating ODK Java ++ documentation. --without-javadoc disables generation of ODK Java ++ documentation. Not relevant in the --disable-odk case.]) ++ [ ++ Usage: --with-javadoc= ++ ],, ++ [with_javadoc=yes]) ++ + AC_ARG_WITH(visual-studio, + AS_HELP_STRING([--with-visual-studio=<2015/2017>], + [Specify which Visual Studio version to use in case several are +@@ -6290,34 +6302,44 @@ + dnl =================================================================== + dnl Checks for javadoc + dnl =================================================================== +-if test "$ENABLE_JAVA" != ""; then ++if test "$ENABLE_JAVA" != "" -a "$enable_odk" != no; then + if test -z "$with_jdk_home"; then + AC_PATH_PROG(JAVADOC, javadoc) + else +- _javadoc_path="$with_jdk_home/bin/javadoc" +- dnl Check if there is a javadoc at all. +- if test -x "$_javadoc_path"; then +- JAVADOC=$_javadoc_path +- else +- AC_PATH_PROG(JAVADOC, javadoc) +- fi +- fi +- if test -z "$JAVADOC"; then +- AC_MSG_ERROR([$_javadoc_path not found set with_jdk_home]) +- fi +- if test "$build_os" = "cygwin"; then +- if test x`echo "$JAVADOC" | $GREP -i '\.exe$'` = x; then +- JAVADOC="${JAVADOC}.exe" +- fi +- JAVADOC=`win_short_path_for_make "$JAVADOC"` +- fi ++ if test "$with_javadoc" = "yes"; then ++ _javadoc_path="$with_jdk_home/bin/javadoc" ++ dnl Check if there is a javadoc at all. ++ if test -x "$_javadoc_path"; then ++ JAVADOC=$_javadoc_path ++ else ++ AC_PATH_PROG(JAVADOC, javadoc) ++ fi ++ if test -z "$JAVADOC"; then ++ AC_MSG_ERROR([$_javadoc_path not found set with_jdk_home]) ++ fi ++ if test "$build_os" = "cygwin"; then ++ if test x`echo "$JAVADOC" | $GREP -i '\.exe$'` = x; then ++ JAVADOC="${JAVADOC}.exe" ++ fi ++ JAVADOC=`win_short_path_for_make "$JAVADOC"` ++ fi + +- if test `$JAVADOC --version 2>&1 | $GREP -c "gjdoc"` -gt 0; then +- JAVADOCISGJDOC="yes" ++ if test `$JAVADOC --version 2>&1 | $GREP -c "gjdoc"` -gt 0; then ++ JAVADOCISGJDOC="yes" ++ fi ++ else ++ unset JAVADOC ++ fi + fi ++else ++ unset JAVADOC + fi + AC_SUBST(JAVADOCISGJDOC) + ++if test "$JAVADOCISGJDOC" = "yes"; then ++ unset JAVADOC ++fi ++ + if test "$ENABLE_JAVA" != ""; then + # check if JAVA_HOME was (maybe incorrectly?) set automatically to /usr + if test "$JAVA_HOME" = "/usr" -a "x$with_jdk_home" = "x"; then +diff --git a/odk/CustomTarget_check.mk b/odk/CustomTarget_check.mk +index a9b542d..707829a 100644 +--- a/odk/CustomTarget_check.mk ++++ b/odk/CustomTarget_check.mk +@@ -35,7 +35,7 @@ $(call gb_CustomTarget_get_workdir,odk/check)/checkbin : \ + $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,odk_config_win)) \ + $(call gb_Package_get_target,odk_docs) \ + $(call gb_Package_get_target,odk_html) \ +- $(if $(ENABLE_JAVA),$(call gb_GeneratedPackage_get_target,odk_javadoc)) \ ++ $(if $(JAVADOC),$(call gb_GeneratedPackage_get_target,odk_javadoc)) \ + $(call gb_Package_get_target,odk_settings) \ + $(call gb_Package_get_target,odk_settings_generated) \ + $(if $(ENABLE_JAVA),$(call gb_Package_get_target,odk_unowinreg)) +diff --git a/odk/util/check.pl b/odk/util/check.pl +index 899b42c..2c7a780 100644 +--- a/odk/util/check.pl ++++ b/odk/util/check.pl +@@ -188,7 +188,7 @@ if (-d "$SdkDir") { + # improvement required + my $solar_java = $ENV{"ENABLE_JAVA"}; + my $JDK = $ENV{"JDK"}; +- if (defined($solar_java) && $solar_java ne "" && (!defined($JDK) || $JDK ne "gcj")) { ++ if (defined($solar_java) && $solar_java ne "" && $ENV{"JAVADOC"} ne "") { + print "check java docu: "; + if (check_dir("docs/java/ref")) { + if (!check_file("docs/java/ref/index.html")) { +diff --git a/Repository.mk b/Repository.mk +index 5f2654b..471210f 100644 +--- a/Repository.mk ++++ b/Repository.mk +@@ -834,7 +841,7 @@ $(eval $(call gb_Helper_register_packages_for_install,sdk,\ + offapi_idl \ + udkapi_idl \ + $(if $(ENABLE_JAVA), \ +- odk_javadoc \ ++ $(if $(JAVADOC),odk_javadoc) \ + odk_uno_loader_classes \ + odk_unowinreg \ + ) \ diff --git a/debian/patches/jdbc-driver-classpaths.diff b/debian/patches/jdbc-driver-classpaths.diff new file mode 100644 index 00000000000..8f4a1660e75 --- /dev/null +++ b/debian/patches/jdbc-driver-classpaths.diff @@ -0,0 +1,35 @@ +diff --git a/officecfg/registry/data/org/openoffice/Office/DataAccess.xcu b/officecfg/registry/data/org/openoffice/Office/DataAccess.xcu +index 9be30a2..59c87cb 100644 +--- a/officecfg/registry/data/org/openoffice/Office/DataAccess.xcu ++++ b/officecfg/registry/data/org/openoffice/Office/DataAccess.xcu +@@ -147,6 +147,30 @@ + + + ++ ++ ++ ++ ++ file:///usr/share/java/mariadb-java-client.jar ++ ++ ++ ++ ++ file:///usr/share/java/mysql.jar ++ ++ ++ ++ ++ file:///usr/share/java/posgresql.jar ++ ++ ++ ++ ++ file:///usr/share/java/jtds.jar ++ ++ ++ ++ + + + diff --git a/debian/patches/jp-JP-Reiwa.diff b/debian/patches/jp-JP-Reiwa.diff new file mode 100644 index 00000000000..fd27178d457 --- /dev/null +++ b/debian/patches/jp-JP-Reiwa.diff @@ -0,0 +1,89 @@ +From 39de7d73fdab86a1531f19076ab1d07fcff97b55 Mon Sep 17 00:00:00 2001 +From: Eike Rathke +Date: Thu, 26 Jul 2018 20:46:23 +0200 +Subject: Introduce next Japanese gengou era 'Reiwa' + +Prepare for "Japan's Y2K" Gengou calendar era switch after 2019-04-30 + +The emperor Akihito will abdicate on 2019-04-30. The next emperor +will be Naruhito, but so far neither the new era name (Heisei for +Akihito) nor its abbreviation or a Unicode character are +determined. At least introduce the new era with some dummy names +(Naruhito,Na,N). + +Change-Id: I8c0af390ca0408ac259e47e7eaf2e49b5889c9ba +Reviewed-on: https://gerrit.libreoffice.org/58142 +Reviewed-by: Eike Rathke +Tested-by: Jenkins + +Introduce next Japanese gengou era 'Reiwa' + +starting from 2019-05-01, which has been announced officially. + +This fills the provisional slot acknowledged at +cacbb0faef77ae8462de9ff5c7307a6a2e28b2bb. + +Change-Id: Ifb12e6afaad4c66d455f664b46ec946e80324e87 +Reviewed-on: https://gerrit.libreoffice.org/70157 +Reviewed-by: Eike Rathke +Tested-by: Jenkins +Reviewed-on: https://gerrit.libreoffice.org/70185 +--- + i18npool/source/calendar/calendar_gregorian.cxx | 9 +++++---- + i18npool/source/localedata/data/ja_JP.xml | 5 +++++ + svl/source/numbers/zformat.cxx | 3 +++ + 3 files changed, 13 insertions(+), 4 deletions(-) + +diff --git a/i18npool/source/calendar/calendar_gregorian.cxx b/i18npool/source/calendar/calendar_gregorian.cxx +index a4ac0ac..7abef52 100644 +--- a/i18npool/source/calendar/calendar_gregorian.cxx ++++ b/i18npool/source/calendar/calendar_gregorian.cxx +@@ -205,10 +205,11 @@ Calendar_hanja::loadCalendar( const OUString& /*uniqueID*/, const css::lang::Loc + } + + static const Era gengou_eraArray[] = { +- {1868, 1, 1, 0}, +- {1912, 7, 30, 0}, +- {1926, 12, 25, 0}, +- {1989, 1, 8, 0}, ++ {1868, 1, 1, 0}, // Meiji ++ {1912, 7, 30, 0}, // Taisho ++ {1926, 12, 25, 0}, // Showa ++ {1989, 1, 8, 0}, // Heisei ++ {2019, 5, 1, 0}, // Reiwa + {0, 0, 0, 0} + }; + Calendar_gengou::Calendar_gengou() : Calendar_gregorian(gengou_eraArray) +diff --git a/i18npool/source/localedata/data/ja_JP.xml b/i18npool/source/localedata/data/ja_JP.xml +index 7d75260..c15c665 100644 +--- a/i18npool/source/localedata/data/ja_JP.xml ++++ b/i18npool/source/localedata/data/ja_JP.xml +@@ -480,6 +480,11 @@ + 平 + 平成 + ++ ++ Reiwa ++ 令 ++ 令和 ++ + + + sun +diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx +index c9bd3d8..e14413c 100644 +--- a/svl/source/numbers/zformat.cxx ++++ b/svl/source/numbers/zformat.cxx +@@ -3409,6 +3409,9 @@ void SvNumberformat::ImpAppendEraG( OUStringBuffer& OutString, + case 4: + cEra = 'H'; + break; ++ case 5: ++ cEra = 'R'; ++ break; + default: + cEra = '?'; + break; +-- +cgit v1.1 + diff --git a/debian/patches/jurt-soffice-location.diff b/debian/patches/jurt-soffice-location.diff new file mode 100644 index 00000000000..b10cb78f840 --- /dev/null +++ b/debian/patches/jurt-soffice-location.diff @@ -0,0 +1,20 @@ +commit b71107fb12e3c3125e0cb62c5a4f6636a80c6408 +Author: Bjoern Michaelsen +AuthorDate: Tue Jun 7 11:52:37 2011 +0200 +Commit: Bjoern Michaelsen +CommitDate: Tue Jun 7 11:52:37 2011 +0200 + + on debian-based systems, we know where our soffice binary is + +diff --git a/jurt/com/sun/star/lib/util/NativeLibraryLoader.java b/jurt/com/sun/star/lib/util/NativeLibraryLoader.jav +index da22980..36664ca 100644 +--- libreoffice-3.5.0/jurt/com/sun/star/lib/util/NativeLibraryLoader.java ++++ libreoffice-3.5.0/jurt/com/sun/star/lib/util/NativeLibraryLoader.java +@@ -111,6 +111,8 @@ public final class NativeLibraryLoader { + } + } + } ++ if (name.equals("soffice")) ++ return new File("/usr/lib/libreoffice/program/soffice"); + return null; + } diff --git a/debian/patches/keep-name-percent-encoded.diff b/debian/patches/keep-name-percent-encoded.diff new file mode 100644 index 00000000000..8e083b42c08 --- /dev/null +++ b/debian/patches/keep-name-percent-encoded.diff @@ -0,0 +1,36 @@ +From 3ff117a020def02de0041d67825a124be95c3ec5 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann +Date: Sat, 3 Aug 2019 16:37:48 +0100 +Subject: keep name percent-encoded +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Change-Id: I470c4b24192c3e3c9b556a9bbb3b084359e0033b +Reviewed-on: https://gerrit.libreoffice.org/77007 +Reviewed-by: Caolán McNamara +Reviewed-by: Michael Stahl +Reviewed-by: Christian Lohmaier +Tested-by: Christian Lohmaier +--- + scripting/source/pyprov/pythonscript.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/scripting/source/pyprov/pythonscript.py b/scripting/source/pyprov/pythonscript.py +index f1b2bfc..64e1337 100644 +--- a/scripting/source/pyprov/pythonscript.py ++++ b/scripting/source/pyprov/pythonscript.py +@@ -219,7 +219,9 @@ class MyUriHelper: + + # path to the .py file + "$functionname, arguments, etc + xStorageUri = self.m_uriRefFac.parse(scriptURI) +- sStorageUri = xStorageUri.getName().replace( "|", "/" ); ++ # getName will apply url-decoding to the name, so encode back ++ sStorageUri = xStorageUri.getName().replace("%", "%25") ++ sStorageUri = sStorageUri.replace( "|", "/" ) + + # path to the .py file, relative to the base + sFileUri = sStorageUri[0:sStorageUri.find("$")] +-- +cgit v1.1 + diff --git a/debian/patches/m68k-fix-parameter-type.patch b/debian/patches/m68k-fix-parameter-type.patch new file mode 100644 index 00000000000..ee008b8a787 --- /dev/null +++ b/debian/patches/m68k-fix-parameter-type.patch @@ -0,0 +1,15 @@ +Description: Fix incorrect parameter type to std::min() on m68k +Author: John Paul Adrian Glaubitz +Last-Update: 2018-12-28 + +--- libreoffice-6.1.4.orig/cppu/source/typelib/typelib.cxx ++++ libreoffice-6.1.4/cppu/source/typelib/typelib.cxx +@@ -1660,7 +1660,7 @@ extern "C" sal_Int32 typelib_typedescrip + #ifdef __m68k__ + // Anything that is at least 16 bits wide is aligned on a 16-bit + // boundary on the m68k default abi +- sal_Int32 nMaxAlign = std::min(rMaxIntegralTypeSize, 2); ++ sal_Int32 nMaxAlign = std::min(rMaxIntegralTypeSize, sal_Int32( 2 )); + nStructSize = (nStructSize + nMaxAlign -1) / nMaxAlign * nMaxAlign; + #else + // Example: A { double; int; } structure has a size of 16 instead of 10. The diff --git a/debian/patches/make-package-modules-not-suck.diff b/debian/patches/make-package-modules-not-suck.diff new file mode 100644 index 00000000000..a22a19dff0f --- /dev/null +++ b/debian/patches/make-package-modules-not-suck.diff @@ -0,0 +1,199 @@ +diff --git a/scp2/InstallModule_draw.mk b/scp2/InstallModule_draw.mk +index a7c02be..d48edf2 100644 +--- a/scp2/InstallModule_draw.mk ++++ b/scp2/InstallModule_draw.mk +@@ -10,6 +10,7 @@ + $(eval $(call gb_InstallModule_InstallModule,scp2/draw)) + + $(eval $(call gb_InstallModule_use_auto_install_libs,scp2/draw,\ ++ draw \ + draw_brand \ + )) + +diff --git a/scp2/source/draw/module_draw.scp b/scp2/source/draw/module_draw.scp +index 8737579..0913c61 100644 +--- a/scp2/source/draw/module_draw.scp ++++ b/scp2/source/draw/module_draw.scp +@@ -18,6 +18,7 @@ + + #include "macros.inc" + ++#include "AutoInstall/draw" + #include "AutoInstall/draw_brand" + + Module gid_Module_Prg_Draw +@@ -34,7 +35,8 @@ Module gid_Module_Prg_Draw_Bin + Sortkey = "100"; + Default = YES; + Styles = (HIDDEN_ROOT); +- Files = (gid_File_Extra_Urldesktop_Draw,gid_File_Extra_Urlnew_Draw,gid_File_Extra_Urlstart_Draw,gid_File_Extra_Urltasks_Draw, ++ Files = (auto_draw_ALL ++ gid_File_Extra_Urldesktop_Draw,gid_File_Extra_Urlnew_Draw,gid_File_Extra_Urlstart_Draw,gid_File_Extra_Urltasks_Draw, + gid_File_Share_Registry_Draw_Xcd, + gid_File_Tmp_Userinstall_Draw_Inf); + End +diff --git a/scp2/AutoInstall.mk b/scp2/AutoInstall.mk +index 7d2a347..a15ac52 100644 +--- a/scp2/AutoInstall.mk ++++ b/scp2/AutoInstall.mk +@@ -17,6 +17,7 @@ $(eval $(call gb_AutoInstall_add_module,base_brand,,LIBO_EXECUTABLE,,PACKAGE_FIL + $(eval $(call gb_AutoInstall_add_module,brand,,LIBO_EXECUTABLE,,PACKAGE_FILELIST)) + $(eval $(call gb_AutoInstall_add_module,calc,LIBO_LIB_FILE,,,PACKAGE_FILELIST)) + $(eval $(call gb_AutoInstall_add_module,calc_brand,,LIBO_EXECUTABLE,,PACKAGE_FILELIST)) ++$(eval $(call gb_AutoInstall_add_module,draw,LIBO_LIB_FILE)) + $(eval $(call gb_AutoInstall_add_module,draw_brand,,LIBO_EXECUTABLE,,PACKAGE_FILELIST)) + $(eval $(call gb_AutoInstall_add_module,extensions_ct2n,,,,PACKAGE_FILELIST)) + $(eval $(call gb_AutoInstall_add_module,extensions_bsh,,,LIBO_JAR_FILE)) +diff --git a/Repository.mk b/Repository.mk +index fa62def2fc91..7fc34d4fe9cf 100644 +--- a/Repository.mk ++++ b/Repository.mk +@@ -247,13 +247,28 @@ $(eval $(call gb_Helper_register_executables_for_install,UREBIN,ure,\ + + $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,base, \ + abp \ ++ calc \ ++ $(call gb_Helper_optional,DBCONNECTIVITY, \ ++ dba \ ++ dbase \ ++ dbaxml \ ++ dbahsql) \ + dbp \ + dbu \ ++ $(call gb_Helper_optional,DBCONNECTIVITY,flat) \ ++ $(if $(ENABLE_JAVA),jdbc) \ ++ $(call gb_Helper_optional,DBCONNECTIVITY,mysql) \ ++ odbc \ ++)) ++ ++$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,base, \ ++ $(call gb_Helper_optional,DBCONNECTIVITY,dbpool2) \ ++ $(if $(ENABLE_JAVA),hsqldb) \ ++ sdbc2 \ + )) + + $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,calc, \ + analysis \ +- $(call gb_Helper_optional,DBCONNECTIVITY,calc) \ + date \ + pricing \ + sc \ +@@ -265,6 +280,14 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,calc, \ + $(call gb_Helper_optional,SCRIPTING,vbaobj) \ + )) + ++$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,draw, \ ++ animcore \ ++ sd \ ++ sdd \ ++ sdfilt \ ++ sdui \ ++)) ++ + $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,graphicfilter, \ + svgfilter \ + flash \ +@@ -273,10 +296,10 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,graphicfilter, \ + )) + + $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,impress, \ +- animcore \ + PresenterScreen \ + PresentationMinimizer \ + wpftimpress \ ++ slideshow \ + )) + + $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,onlineupdate, \ +@@ -350,11 +373,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \ + ctl \ + cui \ + $(call gb_Helper_optional,DBCONNECTIVITY, \ +- dba \ +- dbase \ +- dbmm \ +- dbaxml \ +- dbahsql) \ ++ dbmm) \ + dbtools \ + deploymentmisc \ + $(if $(filter-out MACOSX WNT,$(OS)),desktopbe1) \ +@@ -368,7 +387,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \ + evtatt \ + expwrap \ + $(call gb_Helper_optional,DBCONNECTIVITY, \ +- flat \ + file) \ + filterconfig \ + fps_office \ +@@ -389,7 +407,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \ + gie \ + hyphen \ + icg \ +- $(if $(ENABLE_JAVA),jdbc) \ + ldapbe2 \ + $(if $(filter WNT,$(OS)),WinUserInfoBe) \ + localebe1 \ +@@ -403,9 +420,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \ + msfilter \ + $(call gb_Helper_optional,SCRIPTING,msforms) \ + mtfrenderer \ +- $(call gb_Helper_optional,DBCONNECTIVITY,mysql) \ + numbertext \ +- odbc \ + odfflatxml \ + offacc \ + oox \ +@@ -418,13 +433,8 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \ + sb \ + $(call gb_Helper_optional,DBCONNECTIVITY,sdbt) \ + scn \ +- sd \ +- sdd \ +- sdfilt \ +- sdui \ + sfx \ + simplecanvas \ +- slideshow \ + sot \ + spell \ + $(if $(ENABLE_HEADLESS),,spl) \ +@@ -436,7 +446,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \ + svt \ + svx \ + svxcore \ +- sw \ + syssh \ + textconversiondlgs \ + textfd \ +@@ -521,6 +530,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,writer, \ + hwp \ + $(if $(ENABLE_LWP),lwpft) \ + msword \ ++ sw \ + swd \ + swui \ + t602filter \ +@@ -599,14 +609,12 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \ + cached1 \ + collator_data \ + comphelper \ +- $(call gb_Helper_optional,DBCONNECTIVITY,dbpool2) \ + $(call gb_Helper_optional,BREAKPAD,crashreport) \ + deployment \ + deploymentgui \ + dict_ja \ + dict_zh \ + embobj \ +- $(if $(ENABLE_JAVA),hsqldb) \ + i18nutil \ + index_data \ + $(if $(and $(ENABLE_GTK3), $(filter LINUX %BSD SOLARIS,$(OS))), libreofficekitgtk) \ +@@ -622,7 +630,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \ + package2 \ + $(if $(USING_X11),recentfile) \ + $(call gb_Helper_optional,SCRIPTING,scriptframe) \ +- sdbc2 \ + sofficeapp \ + srtrs1 \ + $(if $(filter $(OS),WNT),sysdtrans) \ diff --git a/debian/patches/mdds-1.4.1.diff b/debian/patches/mdds-1.4.1.diff new file mode 100644 index 00000000000..dc7fcce3af4 --- /dev/null +++ b/debian/patches/mdds-1.4.1.diff @@ -0,0 +1,693 @@ +From 3debd23d47d1fcbef76033c739a0b7003824d4ca Mon Sep 17 00:00:00 2001 +From: Noel Grandin +Date: Sat, 11 Aug 2018 13:25:09 +0200 +Subject: [PATCH] Update mdds to 1.4.1 + +loplugin:constantparam + +Reviewed-on: https://gerrit.libreoffice.org/58875 +Tested-by: Jenkins +Reviewed-by: Noel Grandin +(cherry picked from commit bb6f2b12e8f0bbc99a5ca93141d35fd40b043e55) + +Update mdds to 1.4.1. + +The largest change in 1.4.x relevant to the calc code is that the +multi_type_matrix::walk() methods now take a copy of the function +object rather than a reference, to allow for it to take an inline +lambda function. Instead, it does return a instance of the input +function object, similar to how std::for_each() behaves. + +In case the function object contains a large data member, try to +make it a moveable so that it will get moved rather than copied +when going through one of the walk() methods. + +Reviewed-on: https://gerrit.libreoffice.org/59584 +Tested-by: Jenkins +Reviewed-by: Kohei Yoshida +(cherry picked from commit 51f73f35ea61dd81dd3194af50394b98ff1bf8e9) + +mdds 1.4.1 is now a minimum requirement. + +Reviewed-on: https://gerrit.libreoffice.org/59614 +Tested-by: Jenkins +Reviewed-by: Kohei Yoshida +(cherry picked from commit 4d1f735fcf064b18ef2848cc1f5a2a0616b0b33d) + +fd08fc4a2ed75039e5292a35ff08726e0126c77f +647bcfbdd8e0417990ed93b25c1bca00f60df709 + +Change-Id: I676a8408e97cc8134009f764736cad68513c89ad +--- + configure.ac | 2 +- + download.lst | 4 +- + external/mdds/UnpackedTarball_mdds.mk | 3 - + external/mdds/c++17.patch | 22 --- + sc/inc/scmatrix.hxx | 6 +- + sc/source/core/tool/interpr3.cxx | 4 +- + sc/source/core/tool/scmatrix.cxx | 208 +++++++++++++++++++------- + 7 files changed, 161 insertions(+), 88 deletions(-) + delete mode 100644 external/mdds/c++17.patch + +diff --git a/configure.ac b/configure.ac +index 735ebf2e360a..3ff574a3f24f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -8883,7 +8883,7 @@ AC_SUBST(SYSTEM_BOOST) + dnl =================================================================== + dnl Check for system mdds + dnl =================================================================== +-libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.2 >= 1.2.3], ["-I${WORKDIR}/UnpackedTarball/mdds/include"]) ++libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.4 >= 1.4.1], ["-I${WORKDIR}/UnpackedTarball/mdds/include"]) + + dnl =================================================================== + dnl Check for system glm +diff --git a/download.lst b/download.lst +index c40bece90e26..d4c145a0cfc9 100644 +--- a/download.lst ++++ b/download.lst +@@ -166,8 +166,8 @@ export LXML_SHA256SUM := 940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a + export LXML_TARBALL := lxml-4.1.1.tgz + export MARIADB_CONNECTOR_C_SHA256SUM := fd2f751dea049c1907735eb236aeace1d811d6a8218118b00bbaa9b84dc5cd60 + export MARIADB_CONNECTOR_C_TARBALL := a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz +-export MDDS_SHA256SUM := dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1 +-export MDDS_TARBALL := mdds-1.3.1.tar.bz2 ++export MDDS_SHA256SUM := 9ac690c37f5f06dc88551405d5daf9d9ad25edf65aae6325b59e905c2ba444c3 ++export MDDS_TARBALL := mdds-1.4.1.tar.bz2 + export MDNSRESPONDER_SHA256SUM := 4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0 + export MDNSRESPONDER_TARBALL := mDNSResponder-576.30.4.tar.gz + export MSPUB_SHA256SUM := ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba +diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk +index 4f6db6b24e7b..c015f4c13f5a 100644 +--- a/external/mdds/UnpackedTarball_mdds.mk ++++ b/external/mdds/UnpackedTarball_mdds.mk +@@ -13,10 +13,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL))) + + $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0)) + +-# c++17.patch upstreamed as "Remove some +-# unnecessary uses of obsolete std::unary_function": + $(eval $(call gb_UnpackedTarball_add_patches,mdds,\ +- external/mdds/c++17.patch \ + )) + + # vim: set noet sw=4 ts=4: +diff --git a/external/mdds/c++17.patch b/external/mdds/c++17.patch +deleted file mode 100644 +index d96910f34e68..000000000000 +--- a/external/mdds/c++17.patch ++++ /dev/null +@@ -1,22 +0,0 @@ +---- include/mdds/multi_type_matrix.hpp +-+++ include/mdds/multi_type_matrix.hpp +-@@ -149,7 +149,7 @@ +- +- private: +- template +-- struct walk_func : std::unary_function +-+ struct walk_func +- { +- _Func& m_func; +- walk_func(_Func& func) : m_func(func) {} +---- include/mdds/multi_type_vector.hpp +-+++ include/mdds/multi_type_vector.hpp +-@@ -139,7 +139,7 @@ +- block& operator=(block); +- }; +- +-- struct element_block_deleter : public std::unary_function +-+ struct element_block_deleter +- { +- void operator() (const element_block_type* p) +- { +diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx +index 9be335fbc06b..b1bc5e0e3047 100644 +--- a/sc/inc/scmatrix.hxx ++++ b/sc/inc/scmatrix.hxx +@@ -399,7 +399,7 @@ public: + virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) = 0; + virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) = 0; + +- virtual std::vector Collect(bool bTextAsZero, const std::vector>& aOp) = 0; ++ virtual std::vector Collect(const std::vector>& aOp) = 0; + + virtual void ExecuteOperation(const std::pair& rStartPos, const std::pair& rEndPos, + DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc, +@@ -617,7 +617,7 @@ public: + virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) override; + virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) override; + +- virtual std::vector Collect(bool bTextAsZero, const std::vector>& aOp) override; ++ virtual std::vector Collect(const std::vector>& aOp) override; + + virtual void ExecuteOperation(const std::pair& rStartPos, const std::pair& rEndPos, + DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc, +@@ -837,7 +837,7 @@ public: + virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) override; + virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) override; + +- virtual std::vector Collect(bool bTextAsZero, const std::vector>& aOp) override; ++ virtual std::vector Collect(const std::vector>& aOp) override; + + virtual void ExecuteOperation(const std::pair& rStartPos, const std::pair& rEndPos, + DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc, +diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx +index 28e8cd9a9c48..88c0d8353783 100644 +--- a/sc/source/core/tool/interpr3.cxx ++++ b/sc/source/core/tool/interpr3.cxx +@@ -2745,12 +2745,12 @@ void ScInterpreter::ScFTest() + aOp.emplace_back(new sc::op::Op(0.0, [](double& rAccum, double fVal){rAccum += fVal;})); + aOp.emplace_back(new sc::op::Op(0.0, [](double& rAccum, double fVal){rAccum += fVal * fVal;})); + +- auto aVal1 = pMat1->Collect(false, aOp); ++ auto aVal1 = pMat1->Collect(aOp); + fSum1 = aVal1[0].mfFirst + aVal1[0].mfRest; + fSumSqr1 = aVal1[1].mfFirst + aVal1[1].mfRest; + fCount1 = aVal1[2].mnCount; + +- auto aVal2 = pMat2->Collect(false, aOp); ++ auto aVal2 = pMat2->Collect(aOp); + fSum2 = aVal2[0].mfFirst + aVal2[0].mfRest; + fSumSqr2 = aVal2[1].mfFirst + aVal2[1].mfRest; + fCount2 = aVal2[2].mnCount; +diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx +index 7f8c8767e917..7dadec9f0b57 100644 +--- a/sc/source/core/tool/scmatrix.cxx ++++ b/sc/source/core/tool/scmatrix.cxx +@@ -160,6 +160,12 @@ public: + maNewMatValues.reserve(nRow*nCol); + } + ++ CompareMatrixElemFunc( const CompareMatrixElemFunc& ) = delete; ++ CompareMatrixElemFunc& operator= ( const CompareMatrixElemFunc& ) = delete; ++ ++ CompareMatrixElemFunc( CompareMatrixElemFunc&& ) = default; ++ CompareMatrixElemFunc& operator= ( CompareMatrixElemFunc&& ) = default; ++ + void operator() (const MatrixImplType::element_block_node_type& node) + { + switch (node.type) +@@ -323,7 +329,7 @@ public: + const ScFullMatrix::EmptyOpFunction& aEmptyFunc) const; + + template +- std::vector ApplyCollectOperation(bool bTextAsZero, const std::vector>& aOp); ++ std::vector ApplyCollectOperation(const std::vector>& aOp); + + void MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef& xMat1, const ScMatrixRef& xMat2, + SvNumberFormatter& rFormatter, svl::SharedStringPool& rPool); +@@ -979,7 +985,7 @@ void ScMatrixImpl::CompareEqual() + { + MatrixImplType::size_pair_type aSize = maMat.size(); + CompareMatrixElemFunc aFunc(aSize.row, aSize.column); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + aFunc.swap(maMat); + } + +@@ -987,7 +993,7 @@ void ScMatrixImpl::CompareNotEqual() + { + MatrixImplType::size_pair_type aSize = maMat.size(); + CompareMatrixElemFunc aFunc(aSize.row, aSize.column); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + aFunc.swap(maMat); + } + +@@ -995,7 +1001,7 @@ void ScMatrixImpl::CompareLess() + { + MatrixImplType::size_pair_type aSize = maMat.size(); + CompareMatrixElemFunc aFunc(aSize.row, aSize.column); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + aFunc.swap(maMat); + } + +@@ -1003,7 +1009,7 @@ void ScMatrixImpl::CompareGreater() + { + MatrixImplType::size_pair_type aSize = maMat.size(); + CompareMatrixElemFunc aFunc(aSize.row, aSize.column); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + aFunc.swap(maMat); + } + +@@ -1011,7 +1017,7 @@ void ScMatrixImpl::CompareLessEqual() + { + MatrixImplType::size_pair_type aSize = maMat.size(); + CompareMatrixElemFunc aFunc(aSize.row, aSize.column); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + aFunc.swap(maMat); + } + +@@ -1019,7 +1025,7 @@ void ScMatrixImpl::CompareGreaterEqual() + { + MatrixImplType::size_pair_type aSize = maMat.size(); + CompareMatrixElemFunc aFunc(aSize.row, aSize.column); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + aFunc.swap(maMat); + } + +@@ -1174,21 +1180,34 @@ public: + template + class WalkElementBlocksMultipleValues + { +- const std::vector>& maOp; ++ const std::vector>* mpOp; + std::vector maRes; + bool mbFirst:1; +- bool mbTextAsZero:1; + public: +- WalkElementBlocksMultipleValues(bool bTextAsZero, const std::vector>& aOp) : +- maOp(aOp), mbFirst(true), mbTextAsZero(bTextAsZero) ++ WalkElementBlocksMultipleValues(const std::vector>& aOp) : ++ mpOp(&aOp), mbFirst(true) + { +- for (const auto& rpOp : maOp) ++ for (const auto& rpOp : *mpOp) + { + maRes.emplace_back(rpOp->mInitVal, rpOp->mInitVal, 0); + } + maRes.emplace_back(0.0, 0.0, 0); // count + } + ++ WalkElementBlocksMultipleValues( const WalkElementBlocksMultipleValues& ) = delete; ++ WalkElementBlocksMultipleValues& operator= ( const WalkElementBlocksMultipleValues& ) = delete; ++ ++ WalkElementBlocksMultipleValues( WalkElementBlocksMultipleValues&& r ) : ++ mpOp(r.mpOp), maRes(std::move(r.maRes)), mbFirst(r.mbFirst) {} ++ ++ WalkElementBlocksMultipleValues& operator= ( WalkElementBlocksMultipleValues&& r ) ++ { ++ mpOp = r.mpOp; ++ maRes = std::move(r.maRes); ++ mbFirst = r.mbFirst; ++ return *this; ++ } ++ + const std::vector& getResult() const { return maRes; } + + void operator() (const MatrixImplType::element_block_node_type& node) +@@ -1205,17 +1224,17 @@ public: + { + if (mbFirst) + { +- for (auto i = 0u; i < maOp.size(); ++i) ++ for (auto i = 0u; i < mpOp->size(); ++i) + { +- (*maOp[i])(maRes[i].mfFirst, *it); ++ (*(*mpOp)[i])(maRes[i].mfFirst, *it); + } + mbFirst = false; + } + else + { +- for (auto i = 0u; i < maOp.size(); ++i) ++ for (auto i = 0u; i < mpOp->size(); ++i) + { +- (*maOp[i])(maRes[i].mfRest, *it); ++ (*(*mpOp)[i])(maRes[i].mfRest, *it); + } + } + } +@@ -1232,17 +1251,17 @@ public: + { + if (mbFirst) + { +- for (auto i = 0u; i < maOp.size(); ++i) ++ for (auto i = 0u; i < mpOp->size(); ++i) + { +- (*maOp[i])(maRes[i].mfFirst, *it); ++ (*(*mpOp)[i])(maRes[i].mfFirst, *it); + } + mbFirst = false; + } + else + { +- for (auto i = 0u; i < maOp.size(); ++i) ++ for (auto i = 0u; i < mpOp->size(); ++i) + { +- (*maOp[i])(maRes[i].mfRest, *it); ++ (*(*mpOp)[i])(maRes[i].mfRest, *it); + } + } + } +@@ -1250,9 +1269,6 @@ public: + } + break; + case mdds::mtm::element_string: +- if (mbTextAsZero) +- maRes.back().mnCount += node.size; +- break; + case mdds::mtm::element_empty: + default: + ; +@@ -1310,8 +1326,8 @@ template + class WalkAndMatchElements + { + Type maMatchValue; +- const size_t mnStartIndex; +- const size_t mnStopIndex; ++ size_t mnStartIndex; ++ size_t mnStopIndex; + size_t mnResult; + size_t mnIndex; + +@@ -1669,6 +1685,24 @@ public: + maResValues.reserve(nResSize); + } + ++ CompareMatrixFunc( const CompareMatrixFunc& ) = delete; ++ CompareMatrixFunc& operator= ( const CompareMatrixFunc& ) = delete; ++ ++ CompareMatrixFunc( CompareMatrixFunc&& r ) : ++ mrComp(r.mrComp), ++ mnMatPos(r.mnMatPos), ++ mpOptions(r.mpOptions), ++ maResValues(std::move(r.maResValues)) {} ++ ++ CompareMatrixFunc& operator= ( CompareMatrixFunc&& r ) ++ { ++ mrComp = r.mrComp; ++ mnMatPos = r.mnMatPos; ++ mpOptions = r.mpOptions; ++ maResValues = std::move(r.maResValues); ++ return *this; ++ } ++ + void operator() (const MatrixImplType::element_block_node_type& node) + { + sc::Compare::Cell& rCell = mrComp.maCells[mnMatPos]; +@@ -1777,6 +1811,24 @@ public: + maResValues.reserve(nResSize); + } + ++ CompareMatrixToNumericFunc( const CompareMatrixToNumericFunc& ) = delete; ++ CompareMatrixToNumericFunc& operator= ( const CompareMatrixToNumericFunc& ) = delete; ++ ++ CompareMatrixToNumericFunc( CompareMatrixToNumericFunc&& r ) : ++ mrComp(r.mrComp), ++ mfRightValue(r.mfRightValue), ++ mpOptions(r.mpOptions), ++ maResValues(std::move(r.maResValues)) {} ++ ++ CompareMatrixToNumericFunc& operator= ( CompareMatrixToNumericFunc&& r ) ++ { ++ mrComp = r.mrComp; ++ mfRightValue = r.mfRightValue; ++ mpOptions = r.mpOptions; ++ maResValues = std::move(r.maResValues); ++ return *this; ++ } ++ + void operator() (const MatrixImplType::element_block_node_type& node) + { + sc::Compare::Cell& rCell = mrComp.maCells[0]; +@@ -1840,6 +1892,17 @@ class ToDoubleArray + double mfNaN; + bool mbEmptyAsZero; + ++ void moveArray( ToDoubleArray& r ) ++ { ++ // Re-create the iterator from the new array after the array has been ++ // moved, to ensure that the iterator points to a valid array ++ // position. ++ size_t n = std::distance(r.maArray.begin(), r.miPos); ++ maArray = std::move(r.maArray); ++ miPos = maArray.begin(); ++ std::advance(miPos, n); ++ } ++ + public: + ToDoubleArray( size_t nSize, bool bEmptyAsZero ) : + maArray(nSize, 0.0), miPos(maArray.begin()), mbEmptyAsZero(bEmptyAsZero) +@@ -1847,6 +1910,23 @@ public: + mfNaN = CreateDoubleError( FormulaError::ElementNaN); + } + ++ ToDoubleArray( const ToDoubleArray& ) = delete; ++ ToDoubleArray& operator= ( const ToDoubleArray& ) = delete; ++ ++ ToDoubleArray( ToDoubleArray&& r ) : ++ mfNaN(r.mfNaN), mbEmptyAsZero(r.mbEmptyAsZero) ++ { ++ moveArray(r); ++ } ++ ++ ToDoubleArray& operator= ( ToDoubleArray&& r ) ++ { ++ mfNaN = r.mfNaN; ++ mbEmptyAsZero = r.mbEmptyAsZero; ++ moveArray(r); ++ return *this; ++ } ++ + void operator() (const MatrixImplType::element_block_node_type& node) + { + using namespace mdds::mtv; +@@ -1917,6 +1997,12 @@ public: + mfNaN = CreateDoubleError( FormulaError::ElementNaN); + } + ++ MergeDoubleArrayFunc( const MergeDoubleArrayFunc& ) = delete; ++ MergeDoubleArrayFunc& operator= ( const MergeDoubleArrayFunc& ) = delete; ++ ++ MergeDoubleArrayFunc( MergeDoubleArrayFunc&& ) = default; ++ MergeDoubleArrayFunc& operator= ( MergeDoubleArrayFunc&& ) = default; ++ + void operator() (const MatrixImplType::element_block_node_type& node) + { + using namespace mdds::mtv; +@@ -1982,7 +2068,7 @@ template + ScMatrix::IterateResult GetValueWithCount(bool bTextAsZero, const MatrixImplType& maMat) + { + WalkElementBlocks aFunc(bTextAsZero); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + return aFunc.getResult(); + } + +@@ -2006,49 +2092,49 @@ ScMatrix::IterateResult ScMatrixImpl::Product(bool bTextAsZero) const + size_t ScMatrixImpl::Count(bool bCountStrings, bool bCountErrors) const + { + CountElements aFunc(bCountStrings, bCountErrors); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + return aFunc.getCount(); + } + + size_t ScMatrixImpl::MatchDoubleInColumns(double fValue, size_t nCol1, size_t nCol2) const + { + WalkAndMatchElements aFunc(fValue, maMat.size(), nCol1, nCol2); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + return aFunc.getMatching(); + } + + size_t ScMatrixImpl::MatchStringInColumns(const svl::SharedString& rStr, size_t nCol1, size_t nCol2) const + { + WalkAndMatchElements aFunc(rStr, maMat.size(), nCol1, nCol2); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + return aFunc.getMatching(); + } + + double ScMatrixImpl::GetMaxValue( bool bTextAsZero ) const + { + CalcMaxMinValue aFunc(bTextAsZero); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + return aFunc.getValue(); + } + + double ScMatrixImpl::GetMinValue( bool bTextAsZero ) const + { + CalcMaxMinValue aFunc(bTextAsZero); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + return aFunc.getValue(); + } + + double ScMatrixImpl::GetGcd() const + { + CalcGcdLcm aFunc; +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + return aFunc.getResult(); + } + + double ScMatrixImpl::GetLcm() const + { + CalcGcdLcm aFunc; +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + return aFunc.getResult(); + } + +@@ -2065,7 +2151,7 @@ ScMatrixRef ScMatrixImpl::CompareMatrix( + // function object that has much less branching for much better + // performance. + CompareMatrixToNumericFunc aFunc(nSize, rComp, rComp.maCells[1].mfValue, pOptions); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + + // We assume the result matrix has the same dimension as this matrix. + const std::vector& rResVal = aFunc.getValues(); +@@ -2077,7 +2163,7 @@ ScMatrixRef ScMatrixImpl::CompareMatrix( + } + + CompareMatrixFunc aFunc(nSize, rComp, nMatPos, pOptions); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + + // We assume the result matrix has the same dimension as this matrix. + const std::vector& rResVal = aFunc.getValues(); +@@ -2091,7 +2177,7 @@ void ScMatrixImpl::GetDoubleArray( std::vector& rArray, bool bEmptyAsZer + { + MatrixImplType::size_pair_type aSize = maMat.size(); + ToDoubleArray aFunc(aSize.row*aSize.column, bEmptyAsZero); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + aFunc.swap(rArray); + } + +@@ -2107,7 +2193,7 @@ void ScMatrixImpl::MergeDoubleArray( std::vector& rArray, ScFullMatrix:: + case ScFullMatrix::Mul: + { + MergeDoubleArrayFunc aFunc(rArray); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(std::move(aFunc)); + } + break; + default: +@@ -2329,16 +2415,26 @@ struct MatrixOpWrapper + private: + MatrixImplType& mrMat; + MatrixImplType::position_type pos; +- T maOp; ++ const T* mpOp; + + public: +- MatrixOpWrapper(MatrixImplType& rMat, T const & aOp): ++ MatrixOpWrapper(MatrixImplType& rMat, const T& aOp): + mrMat(rMat), + pos(rMat.position(0,0)), +- maOp(aOp) ++ mpOp(&aOp) + { + } + ++ MatrixOpWrapper( const MatrixOpWrapper& r ) : mrMat(r.mrMat), pos(r.pos), mpOp(r.mpOp) {} ++ ++ MatrixOpWrapper& operator= ( const MatrixOpWrapper& r ) ++ { ++ mrMat = r.mrMat; ++ pos = r.pos; ++ mpOp = r.mpOp; ++ return *this; ++ } ++ + void operator()(const MatrixImplType::element_block_node_type& node) + { + switch (node.type) +@@ -2349,7 +2445,7 @@ public: + + block_type::const_iterator it = block_type::begin(*node.data); + block_type::const_iterator itEnd = block_type::end(*node.data); +- MatrixIteratorWrapper aFunc(it, itEnd, maOp); ++ MatrixIteratorWrapper aFunc(it, itEnd, *mpOp); + pos = mrMat.set(pos,aFunc.begin(), aFunc.end()); + } + break; +@@ -2360,7 +2456,7 @@ public: + block_type::const_iterator it = block_type::begin(*node.data); + block_type::const_iterator itEnd = block_type::end(*node.data); + +- MatrixIteratorWrapper aFunc(it, itEnd, maOp); ++ MatrixIteratorWrapper aFunc(it, itEnd, *mpOp); + pos = mrMat.set(pos, aFunc.begin(), aFunc.end()); + } + break; +@@ -2371,17 +2467,17 @@ public: + block_type::const_iterator it = block_type::begin(*node.data); + block_type::const_iterator itEnd = block_type::end(*node.data); + +- MatrixIteratorWrapper aFunc(it, itEnd, maOp); ++ MatrixIteratorWrapper aFunc(it, itEnd, *mpOp); + pos = mrMat.set(pos, aFunc.begin(), aFunc.end()); + } + break; + case mdds::mtm::element_empty: + { +- if (maOp.useFunctionForEmpty()) ++ if (mpOp->useFunctionForEmpty()) + { + std::vector aVec(node.size); + MatrixIteratorWrapper, T, typename T::number_value_type> +- aFunc(aVec.begin(), aVec.end(), maOp); ++ aFunc(aVec.begin(), aVec.end(), *mpOp); + pos = mrMat.set(pos, aFunc.begin(), aFunc.end()); + } + } +@@ -2397,14 +2493,14 @@ template + void ScMatrixImpl::ApplyOperation(T aOp, ScMatrixImpl& rMat) + { + MatrixOpWrapper aFunc(rMat.maMat, aOp); +- maMat.walk(aFunc); ++ aFunc = maMat.walk(aFunc); + } + + template +-std::vector ScMatrixImpl::ApplyCollectOperation(bool bTextAsZero, const std::vector>& aOp) ++std::vector ScMatrixImpl::ApplyCollectOperation(const std::vector>& aOp) + { +- WalkElementBlocksMultipleValues aFunc(bTextAsZero, aOp); +- maMat.walk(aFunc); ++ WalkElementBlocksMultipleValues aFunc(aOp); ++ aFunc = maMat.walk(std::move(aFunc)); + return aFunc.getResult(); + } + +@@ -2544,8 +2640,10 @@ void ScMatrixImpl::ExecuteOperation(const std::pair& rStartPos, + { + WalkElementBlockOperation aFunc(maMat.size().row, + aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc); +- maMat.walk(aFunc, MatrixImplType::size_pair_type(rStartPos.first, rStartPos.second), +- MatrixImplType::size_pair_type(rEndPos.first, rEndPos.second)); ++ aFunc = maMat.walk( ++ aFunc, ++ MatrixImplType::size_pair_type(rStartPos.first, rStartPos.second), ++ MatrixImplType::size_pair_type(rEndPos.first, rEndPos.second)); + } + + #if DEBUG_MATRIX +@@ -3452,9 +3550,9 @@ void ScFullMatrix::ExecuteOperation(const std::pair& rStartPos, + pImpl->ExecuteOperation(rStartPos, rEndPos, aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc); + } + +-std::vector ScFullMatrix::Collect(bool bTextAsZero, const std::vector>& aOp) ++std::vector ScFullMatrix::Collect(const std::vector>& aOp) + { +- return pImpl->ApplyCollectOperation(bTextAsZero, aOp); ++ return pImpl->ApplyCollectOperation(aOp); + } + + ScFullMatrix& ScFullMatrix::operator+= ( const ScFullMatrix& r ) +@@ -4216,10 +4314,10 @@ void ScVectorRefMatrix::PowOp(bool bFlag, double fVal, ScMatrix& rMat) + mpFullMatrix->PowOp(bFlag, fVal, rMat); + } + +-std::vector ScVectorRefMatrix::Collect(bool bTextAsZero, const std::vector>& aOp) ++std::vector ScVectorRefMatrix::Collect(const std::vector>& aOp) + { + ensureFullMatrix(); +- return mpFullMatrix->Collect(bTextAsZero, aOp); ++ return mpFullMatrix->Collect(aOp); + } + + void ScVectorRefMatrix::ExecuteOperation(const std::pair& rStartPos, +-- +2.17.1 + diff --git a/debian/patches/mediwiki-oor-replace.diff b/debian/patches/mediwiki-oor-replace.diff new file mode 100644 index 00000000000..ed04c917e35 --- /dev/null +++ b/debian/patches/mediwiki-oor-replace.diff @@ -0,0 +1,51 @@ +diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu +index 2b35ced08f31..0c96070dd4f0 100644 +--- a/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu ++++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu +@@ -18,9 +18,9 @@ + --> + + +- ++ + +- ++ + + com.sun.wiki-publisher + +diff --git a/swext/mediawiki/src/registry/data/org/openoffice/TypeDetection/Filter.xcu b/swext/mediawiki/src/registry/data/org/openoffice/TypeDetection/Filter.xcu +index 3309b503824c..261e470b253b 100644 +--- a/swext/mediawiki/src/registry/data/org/openoffice/TypeDetection/Filter.xcu ++++ b/swext/mediawiki/src/registry/data/org/openoffice/TypeDetection/Filter.xcu +@@ -19,7 +19,7 @@ + + + +- ++ + 0 + MediaWiki + com.sun.star.text.TextDocument +@@ -31,7 +31,7 @@ + + EXPORT ALIEN 3RDPARTYFILTER + +- ++ + 0 + MediaWiki + com.sun.star.text.WebDocument +diff --git a/swext/mediawiki/src/registry/data/org/openoffice/TypeDetection/Types.xcu b/swext/mediawiki/src/registry/data/org/openoffice/TypeDetection/Types.xcu +index 15e4f850041a..ce7cd0763b79 100644 +--- a/swext/mediawiki/src/registry/data/org/openoffice/TypeDetection/Types.xcu ++++ b/swext/mediawiki/src/registry/data/org/openoffice/TypeDetection/Types.xcu +@@ -19,7 +19,7 @@ + + + +- ++ + com.sun.star.comp.filters.XMLFilterDetect + + txt diff --git a/debian/patches/mention-java-common-package.diff b/debian/patches/mention-java-common-package.diff new file mode 100644 index 00000000000..efaa3276aed --- /dev/null +++ b/debian/patches/mention-java-common-package.diff @@ -0,0 +1,35 @@ +diff --git a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx +index 718902caba6f..3c8499b5a42c 100644 +--- a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx ++++ b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx +@@ -141,6 +141,9 @@ static bool findAndSelect(JavaInfo ** ppInfo) + if (errcode == JFW_E_NO_JAVA_FOUND) + { + fprintf(stderr,"javaldx: Could not find a Java Runtime Environment!\n"); ++ fprintf(stderr,"Please ensure that a JVM and the package libreoffice-java-common\n"); ++ fprintf(stderr,"is installed.\n"); ++ fprintf(stderr,"If it is already installed then try removing ~/.config/libreoffice/4/user/config/javasettings_Linux_*.xml\n"); + return false; + } + else if (errcode != JFW_E_NONE && errcode != JFW_E_DIRECT_MODE) +diff --git a/include/svtools/strings.hrc b/include/svtools/strings.hrc +index f9dc617f4313..874b0400cbc5 100644 +--- a/include/svtools/strings.hrc ++++ b/include/svtools/strings.hrc +@@ -281,13 +281,13 @@ + + #define STR_SVT_DEFAULT_SERVICE_LABEL NC_("STR_SVT_DEFAULT_SERVICE_LABEL", "$user$'s $service$") + +-#define STR_WARNING_JAVANOTFOUND NC_("STR_WARNING_JAVANOTFOUND", "%PRODUCTNAME requires a Java runtime environment (JRE) to perform this task. Please install a JRE and restart %PRODUCTNAME.") ++#define STR_WARNING_JAVANOTFOUND NC_("STR_WARNING_JAVANOTFOUND", "%PRODUCTNAME requires a Java runtime environment (JRE) to perform this task. Please install a JRE (and libreoffice-java-common) and restart %PRODUCTNAME.") + #define STR_WARNING_JAVANOTFOUND_WIN NC_("STR_WARNING_JAVANOTFOUND_WIN", "%PRODUCTNAME requires a %BITNESS-bit Java runtime environment (JRE) to perform this task. Please install a JRE and restart %PRODUCTNAME.") + #define STR_WARNING_JAVANOTFOUND_MAC NC_("STR_WARNING_JAVANOTFOUND_MAC", "%PRODUCTNAME requires Oracle's Java Development Kit (JDK) on Mac OS X 10.10 or greater to perform this task. Please install them and restart %PRODUCTNAME.") + #define STR_WARNING_INVALIDJAVASETTINGS_MAC NC_("STR_WARNING_INVALIDJAVASETTINGS_MAC", "The %PRODUCTNAME configuration has been changed. Under %PRODUCTNAME - Preferences - %PRODUCTNAME - Advanced, select the Java runtime environment you want to have used by %PRODUCTNAME.") +-#define STR_WARNING_INVALIDJAVASETTINGS NC_("STR_WARNING_INVALIDJAVASETTINGS", "The %PRODUCTNAME configuration has been changed. Under Tools - Options - %PRODUCTNAME - Advanced, select the Java runtime environment you want to have used by %PRODUCTNAME.") ++#define STR_WARNING_INVALIDJAVASETTINGS NC_("STR_WARNING_INVALIDJAVASETTINGS", "The %PRODUCTNAME configuration has been changed. Under Tools - Options - %PRODUCTNAME - Advanced, select the Java runtime environment you want to have used by %PRODUCTNAME. Maybe you also need to install libreoffice-java-common.") + #define STR_ERROR_JVMCREATIONFAILED_MAC NC_("STR_ERROR_JVMCREATIONFAILED_MAC", "%PRODUCTNAME requires a Java runtime environment (JRE) to perform this task. The selected JRE is defective. Please select another version or install a new JRE and select it under %PRODUCTNAME - Preferences - %PRODUCTNAME - Advanced.") +-#define STR_ERROR_JVMCREATIONFAILED NC_("STR_ERROR_JVMCREATIONFAILED", "%PRODUCTNAME requires a Java runtime environment (JRE) to perform this task. The selected JRE is defective. Please select another version or install a new JRE and select it under Tools - Options - %PRODUCTNAME - Advanced.") ++#define STR_ERROR_JVMCREATIONFAILED NC_("STR_ERROR_JVMCREATIONFAILED", "%PRODUCTNAME requires a Java runtime environment (JRE) to perform this task. The selected JRE is defective. Please select another version or install a new JRE and select it under Tools - Options - %PRODUCTNAME - Advanced or install libreoffice-java-common if not already installed.") + #define STR_WARNING_JAVANOTFOUND_TITLE NC_("STR_WARNING_JAVANOTFOUND_TITLE", "JRE Required") + #define STR_WARNING_INVALIDJAVASETTINGS_TITLE NC_("STR_WARNING_INVALIDJAVASETTINGS_TITLE", "Select JRE") + #define STR_ERROR_JVMCREATIONFAILED_TITLE NC_("STR_ERROR_JVMCREATIONFAILED_TITLE", "JRE is Defective") diff --git a/debian/patches/mysqlcppconn-libmysqlclient-SONAME.diff b/debian/patches/mysqlcppconn-libmysqlclient-SONAME.diff new file mode 100644 index 00000000000..581764f2df9 --- /dev/null +++ b/debian/patches/mysqlcppconn-libmysqlclient-SONAME.diff @@ -0,0 +1,40 @@ +diff --git a/external/mysql-connector-cpp/Library_mysql-connector-cpp.mk b/external/mysql-connector-cpp/Library_mysql-connector-cpp.mk +index 1670de8..c5bab4f 100644 +--- a/external/mysql-connector-cpp/Library_mysqlcppconn.mk ++++ b/external/mysql-connector-cpp/Library_mysqlcppconn.mk +@@ -80,4 +80,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,mysql-connector-cpp,\ + UnpackedTarball/mysql-connector-cpp/driver/nativeapi/mysql_native_statement_wrapper \ + )) + ++$(eval $(call gb_Library_add_cflags,mysql-connector-cpp,\ ++ -DLIBMYSQLCLIENT_SONAME=\"$(shell readlink -f `mysql_config --variable=pkglibdir`/libmysqlclient_r.so | sed -e s/mysqlclient/mysqlclient_r/ | sed -e "s,`mysql_config --variable=pkglibdir`/\(libmysqlclient_r.so.[0-9][0-9]\).*,\\1,")\" \ ++)) ++ + # vim: set noet sw=4 ts=4: +--- a/external/mysql-connector-cpp/patches/mysql-connector-c++-1.1.0-SONAME.patch 2013-02-08 21:20:25.249889678 +0100 ++++ b/external/mysql-connector-cpp/patches/mysql-connector-c++-1.1.0-SONAME.patch 2013-02-26 22:48:27.030275718 +0100 +@@ -0,0 +1,12 @@ ++diff -urNad mysql-connector-c++-1.0.6~r754~/driver/nativeapi/libmysql_dynamic_proxy.cpp mysql-connector-c++-1.0.6~r754/driver/nativeapi/libmysql_dynamic_proxy.cpp ++--- misc/mysql-connector-c++-1.1.0/driver/nativeapi/libmysql_dynamic_proxy.cpp 2009-08-20 16:42:14.000000000 +0200 +++++ misc/build/mysql-connector-c++-1.1.0/driver/nativeapi/libmysql_dynamic_proxy.cpp 2009-08-20 20:25:31.000000000 +0200 ++@@ -26,7 +26,7 @@ ++ #elif defined(__hpux) && defined(__hppa) ++ static const char * const baseName = "libmysqlclient_r.sl"; ++ #else ++-static const char * const baseName = "libmysqlclient_r.so"; +++static const char * const baseName = LIBMYSQLCLIENT_SONAME; ++ #endif ++ ++ template +diff --git a/external/mysql-connector-cpp/UnpackedTarball_mysql-connector-cpp.mk b/external/mysql-connector-cpp/UnpackedTarball_mysql-connector-cpp.mk +index 82a368460747..03d0a8b05057 100644 +--- a/external/mysql-connector-cpp/UnpackedTarball_mysql-connector-cpp.mk ++++ b/external/mysql-connector-cpp/UnpackedTarball_mysql-connector-cpp.mk +@@ -18,6 +18,7 @@ $(eval $(call gb_UnpackedTarball_add_file,mysql-connector-cpp,driver/nativeapi/b + + $(eval $(call gb_UnpackedTarball_add_patches,mysql-connector-cpp,\ + external/mysql-connector-cpp/patches/mysql-connector-c++-1.1.0.patch \ ++ external/mysql-connector-cpp/patches/mysql-connector-c++-1.1.0-SONAME.patch \ + external/mysql-connector-cpp/patches/warnings.patch.0 \ + external/mysql-connector-cpp/patches/enable-libmysql-proxy.patch \ + external/mysql-connector-cpp/patches/dynexcspec.patch.0 \ diff --git a/debian/patches/no-ant-check-if-unneeded.diff b/debian/patches/no-ant-check-if-unneeded.diff new file mode 100644 index 00000000000..c154ecdefb9 --- /dev/null +++ b/debian/patches/no-ant-check-if-unneeded.diff @@ -0,0 +1,58 @@ +From 0b583faeb72ce5391542923fa073e65f17e5448c Mon Sep 17 00:00:00 2001 +From: Rene Engelhard +Date: Wed, 23 May 2018 17:30:04 +0200 +Subject: [PATCH] micro-optimization: do not check for ant if we don't need it + +Change-Id: I84644cddd8a318a2af23780ada9afc26fe23a9fe +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 95e2865017a8..4cc9c1f68b8e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -8503,6 +8503,7 @@ if test "$with_java" != "no"; then + AC_MSG_RESULT([internal]) + SYSTEM_HSQLDB= + BUILD_TYPE="$BUILD_TYPE HSQLDB" ++ NEED_ANT=TRUE + AC_MSG_CHECKING([whether hsqldb should be built with JDBC 4.1]) + javanumver=`$JAVAINTERPRETER -version 2>&1 | $AWK -v num=true -f $SRC_ROOT/solenv/bin/getcompver.awk` + if expr "$javanumver" '>=' 000100060000 > /dev/null; then +@@ -10619,6 +10620,7 @@ if test "$enable_report_builder" != "no" -a "$with_java" != "no"; then + AC_MSG_RESULT([internal]) + SYSTEM_JFREEREPORT= + BUILD_TYPE="$BUILD_TYPE JFREEREPORT" ++ NEED_ANT=TRUE + fi + else + AC_MSG_RESULT([no]) +@@ -10662,6 +10664,7 @@ if test "$ENABLE_REPORTBUILDER" = "TRUE"; then + AC_MSG_RESULT([internal]) + SYSTEM_APACHE_COMMONS= + BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS" ++ NEED_ANT=TRUE + fi + fi + AC_SUBST(SYSTEM_APACHE_COMMONS) +@@ -10724,6 +10727,7 @@ if test "${enable_scripting_javascript}" != "no" -a "x$with_java" != "xno"; then + AC_MSG_RESULT([internal]) + SYSTEM_RHINO= + BUILD_TYPE="$BUILD_TYPE RHINO" ++ NEED_ANT=TRUE + fi + else + AC_MSG_RESULT([no]) +@@ -11640,7 +11644,7 @@ dnl =================================================================== + dnl Test for the presence of Ant and that it works + dnl =================================================================== + +-if test "$ENABLE_JAVA" != ""; then ++if test "$ENABLE_JAVA" != "" -a "$NEED_ANT" = "TRUE"; then + ANT_HOME=; export ANT_HOME + WITH_ANT_HOME=; export WITH_ANT_HOME + if test -z "$with_ant_home" -a -n "$LODE_HOME" ; then +-- +2.17.0 + diff --git a/debian/patches/no-check-if-root.diff b/debian/patches/no-check-if-root.diff new file mode 100644 index 00000000000..faa30a8d7d1 --- /dev/null +++ b/debian/patches/no-check-if-root.diff @@ -0,0 +1,26 @@ +--- a/Makefile.in 2017-07-28 06:09:37.072183489 +0000 ++++ b/Makefile.in 2017-10-18 12:43:59.215567467 +0000 +@@ -57,14 +57,6 @@ else # MAKE_RESTARTS + + all: build + +-check-if-root: +- @if test ! `uname` = 'Haiku' -a `id -u` = 0 && ! grep -q 'lxc\|docker' /proc/self/cgroup; then \ +- echo; \ +- echo 'No. You make ME a sandwich.'; \ +- echo; \ +- exit 1; \ +- fi +- + gb_Side ?= host + + include $(BUILDDIR)/config_$(gb_Side).mk +@@ -252,7 +244,7 @@ endif + # + # Bootstrap + # +-bootstrap: check-if-root compilerplugins ++bootstrap: compilerplugins + + # + # Build diff --git a/debian/patches/no-openssl.diff b/debian/patches/no-openssl.diff new file mode 100644 index 00000000000..97b26c216a4 --- /dev/null +++ b/debian/patches/no-openssl.diff @@ -0,0 +1,345 @@ +don't add -lssl etc if not needed (because we use system-postgresql) + +diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk +index 0fc7d25..952b140 100644 +--- a/RepositoryExternal.mk ++++ b/RepositoryExternal.mk +@@ -2911,9 +2917,10 @@ $(call gb_LinkTarget_add_libs,$(1),\ + $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \ + ) + +-ifeq ($(OS),WNT) + $(call gb_LinkTarget_use_external,$(1),openssl) + ++ifeq ($(OS),WNT) ++ + $(call gb_LinkTarget_use_system_win32_libs,$(1),\ + secur32 \ + ws2_32 \ +diff --git a/connectivity/Library_postgresql-sdbc-impl.mk b/connectivity/Library_postgresql-sdbc-impl.mk +index 0580a8b..7e8b778 100644 +--- a/connectivity/Library_postgresql-sdbc-impl.mk ++++ b/connectivity/Library_postgresql-sdbc-impl.mk +@@ -46,7 +46,6 @@ $(eval $(call gb_Library_use_externals,postgresql-sdbc-impl,\ + boost_headers \ + postgresql \ + $(if $(filter-out MSC,$(COM)), \ +- openssl \ + openldap \ + nss3 \ + plc4 \ + +... and don't uselessly check for openssl in configure + +diff --git a/config_host.mk.in b/config_host.mk.in +index ddd144e..19f8368 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -93,7 +93,6 @@ export DEFAULT_BRAND_IMAGES=@DEFAULT_BRAND_IMAGES@ + export DICT_SYSTEM_DIR=@DICT_SYSTEM_DIR@ + export DISABLE_CVE_TESTS=@DISABLE_CVE_TESTS@ + export DISABLE_DYNLOADING=@DISABLE_DYNLOADING@ +-export DISABLE_OPENSSL=@DISABLE_OPENSSL@ + export DISABLE_PYTHON=@DISABLE_PYTHON@ + export DLOPEN_LIBS=@DLOPEN_LIBS@ + export DLLTOOL=@DLLTOOL@ +@@ -438,8 +439,6 @@ export OOO_JUNIT_JAR=@OOO_JUNIT_JAR@ + export BFFVALIDATOR=@BFFVALIDATOR@ + export OOO_JUNIT_JAR=@OOO_JUNIT_JAR@ + export OOO_VENDOR=@OOO_VENDOR@ +-export OPENSSL_CFLAGS=$(gb_SPACE)@OPENSSL_CFLAGS@ +-export OPENSSL_LIBS=$(gb_SPACE)@OPENSSL_LIBS@ + export OPENSYMBOL_TTF=@OPENSYMBOL_TTF@ + export ORCUS_CFLAGS=$(gb_SPACE)@ORCUS_CFLAGS@ + export ORCUS_LIBS=$(gb_SPACE)@ORCUS_LIBS@ +@@ -569,7 +568,6 @@ export SYSTEM_ODBC_HEADERS=@SYSTEM_ODBC_HEADERS@ + export SYSTEM_ODBC_HEADERS=@SYSTEM_ODBC_HEADERS@ + export SYSTEM_ODFGEN=@SYSTEM_ODFGEN@ + export SYSTEM_OPENLDAP=@SYSTEM_OPENLDAP@ +-export SYSTEM_OPENSSL=@SYSTEM_OPENSSL@ + export SYSTEM_PAGEMAKER=@SYSTEM_PAGEMAKER@ + export SYSTEM_POPPLER=@SYSTEM_POPPLER@ + export SYSTEM_POSTGRESQL=@SYSTEM_POSTGRESQL@ +diff --git a/configure.ac b/configure.ac +index 3862386..45d5e25 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9422,67 +9422,6 @@ else + AC_MSG_RESULT([no]) + fi + +-dnl =================================================================== +-dnl Check for system openssl +-dnl =================================================================== +-DISABLE_OPENSSL= +-AC_MSG_CHECKING([whether to disable OpenSSL usage]) +-if test "$enable_openssl" = "yes"; then +- AC_MSG_RESULT([no]) +- if test "$_os" = Darwin ; then +- # OpenSSL is deprecated when building for 10.7 or later. +- # +- # http://stackoverflow.com/questions/7406946/why-is-apple-deprecating-openssl-in-macos-10-7-lion +- # http://stackoverflow.com/questions/7475914/libcrypto-deprecated-on-mac-os-x-10-7-lion +- +- with_system_openssl=no +- libo_CHECK_SYSTEM_MODULE([openssl],[OPENSSL],[openssl]) +- elif test "$_os" = "NetBSD" -o "$_os" = "OpenBSD" -o "$_os" = "DragonFly" \ +- && test "$with_system_openssl" != "no"; then +- with_system_openssl=yes +- SYSTEM_OPENSSL=TRUE +- OPENSSL_CFLAGS= +- OPENSSL_LIBS="-lssl -lcrypto" +- else +- libo_CHECK_SYSTEM_MODULE([openssl],[OPENSSL],[openssl]) +- fi +- if test "$with_system_openssl" = "yes"; then +- AC_MSG_CHECKING([whether openssl supports SHA512]) +- AC_LANG_PUSH([C]) +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]],[[ +- SHA512_CTX context; +-]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([no, openssl too old. Need >= 0.9.8.])]) +- AC_LANG_POP(C) +- fi +-else +- AC_MSG_RESULT([yes]) +- DISABLE_OPENSSL=TRUE +- +- # warn that although OpenSSL is disabled, system libraries may depend on it +- AC_MSG_WARN([OpenSSL has been disabled. No code compiled by LibO will make use of it but system librares may create indirect dependencies]) +- add_warning "OpenSSL has been disabled. No code compiled by LibO will make use of it but system librares may create indirect dependencies" +-fi +- +-AC_SUBST([DISABLE_OPENSSL]) +- +-if test "$enable_cipher_openssl_backend" = yes && test "$DISABLE_OPENSSL" = TRUE; then +- if test "$libo_fuzzed_enable_cipher_openssl_backend" = yes; then +- AC_MSG_NOTICE([Resetting --enable-cipher-openssl-backend=no]) +- enable_cipher_openssl_backend=no +- else +- AC_MSG_ERROR([--enable-cipher-openssl-backend needs OpenSSL, but --disable-openssl was given.]) +- fi +-fi +-AC_MSG_CHECKING([whether to enable the OpenSSL backend for rtl/cipher.h]) +-ENABLE_CIPHER_OPENSSL_BACKEND= +-if test "$enable_cipher_openssl_backend" = yes; then +- AC_MSG_RESULT([yes]) +- ENABLE_CIPHER_OPENSSL_BACKEND=TRUE +-else +- AC_MSG_RESULT([no]) +-fi +-AC_SUBST([ENABLE_CIPHER_OPENSSL_BACKEND]) +- + dnl =================================================================== + dnl Check for building gnutls + dnl =================================================================== + +.. and without these gbuild still wants it ... + +diff --git a/external/Module_external.mk b/external/Module_external.mk +index 44280e3..44c1c63 100644 +--- a/external/Module_external.mk ++++ b/external/Module_external.mk +@@ -82,7 +82,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\ + $(call gb_Helper_optional,NSS,nss) \ + $(call gb_Helper_optional,ODFGEN,libodfgen) \ + $(call gb_Helper_optional,OPENLDAP,openldap) \ +- $(call gb_Helper_optional,OPENSSL,openssl) \ + $(call gb_Helper_optional,ORCUS,liborcus) \ + $(call gb_Helper_optional,OWNCLOUD_ANDROID_LIB,owncloud-android-lib) \ + $(call gb_Helper_optional,PAGEMAKER,libpagemaker) \ +diff --git a/oox/CppunitTest_oox_tokenmap.mk b/oox/CppunitTest_oox_tokenmap.mk +index 9eac2a5..ef6d5c9 100644 +--- a/oox/CppunitTest_oox_tokenmap.mk ++++ b/oox/CppunitTest_oox_tokenmap.mk +@@ -20,19 +20,10 @@ $(eval $(call gb_CppunitTest_use_sdk_api,oox_tokenmap)) + + $(eval $(call gb_CppunitTest_use_library_objects,oox_tokenmap,oox)) + +-ifeq ($(TLS),OPENSSL) +-$(eval $(call gb_CppunitTest_use_externals,oox_tokenmap,\ +- openssl \ +- openssl_headers \ +-)) +-else +-ifeq ($(TLS),NSS) + $(eval $(call gb_CppunitTest_use_externals,oox_tokenmap,\ + plc4 \ + nss3 \ + )) +-endif +-endif + + $(eval $(call gb_CppunitTest_use_libraries,oox_tokenmap,\ + avmedia \ +diff --git a/oox/Library_oox.mk b/oox/Library_oox.mk +index fcd7215..a178883 100644 +--- a/oox/Library_oox.mk ++++ b/oox/Library_oox.mk +@@ -67,19 +67,10 @@ $(eval $(call gb_Library_use_externals,oox,\ + boost_headers \ + )) + +-ifeq ($(TLS),OPENSSL) +-$(eval $(call gb_Library_use_externals,oox,\ +- openssl \ +- openssl_headers \ +-)) +-else +-ifeq ($(TLS),NSS) + $(eval $(call gb_Library_use_externals,oox,\ + plc4 \ + nss3 \ + )) +-endif +-endif + + $(eval $(call gb_Library_set_componentfile,oox,oox/util/oox)) + +diff --git a/ucb/CppunitTest_ucb_webdav_local_neon.mk b/ucb/CppunitTest_ucb_webdav_local_neon.mk +index 20e827b..9b869f9 100644 +--- a/ucb/CppunitTest_ucb_webdav_local_neon.mk ++++ b/ucb/CppunitTest_ucb_webdav_local_neon.mk +@@ -34,7 +34,6 @@ $(eval $(call gb_CppunitTest_use_externals,ucb_webdav_local_neon,\ + boost_headers \ + libxml2 \ + neon \ +- openssl \ + )) + + $(eval $(call gb_CppunitTest_use_custom_headers,ucb_webdav_local_neon,\ +diff --git a/ucb/Library_ucpdav1.mk b/ucb/Library_ucpdav1.mk +index 37f3c8f..2167dd2 100644 +--- a/ucb/Library_ucpdav1.mk ++++ b/ucb/Library_ucpdav1.mk +@@ -30,7 +30,6 @@ $(eval $(call gb_Library_use_externals,ucpdav1,\ + boost_headers \ + libxml2 \ + neon \ +- openssl \ + )) + + $(eval $(call gb_Library_use_custom_headers,ucpdav1,\ +@@ -66,7 +65,6 @@ else # WITH_WEBDAV == serf + $(eval $(call gb_Library_use_externals,ucpdav1,\ + boost_headers \ + apr \ +- openssl \ + serf \ + zlib \ + )) +diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk +index 0fc7d25..fe5a208 100644 +--- a/RepositoryExternal.mk ++++ b/RepositoryExternal.mk +@@ -1525,75 +1525,6 @@ endif # ENABLE_HARFBUZZ + + ifeq ($(DISABLE_OPENSSL),TRUE) + +-gb_ExternalProject__use_openssl:= +-gb_LinkTarget__use_openssl_headers:= +-gb_LinkTarget__use_openssl:= +- +-else # !DISABLE_OPENSSL +- +-ifneq ($(SYSTEM_OPENSSL),) +- +-gb_LinkTarget__use_openssl_headers:= +-gb_ExternalProject__use_openssl:= +- +-define gb_LinkTarget__use_openssl +-$(call gb_LinkTarget_set_include,$(1),\ +- $$(INCLUDE) \ +- $(OPENSSL_CFLAGS) \ +-) +-$(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS)) +- +-endef +- +-else # !SYSTEM_OPENSSL +- +-$(eval $(call gb_Helper_register_packages_for_install,ooo, \ +- openssl \ +-)) +- +-define gb_ExternalProject__use_openssl +-$(call gb_ExternalProject_use_package,$(1),openssl) +- +-endef +- +-define gb_LinkTarget__use_openssl_headers +-$(call gb_LinkTarget_use_external_project,$(1),openssl) +-$(call gb_LinkTarget_set_include,$(1),\ +- -I$(call gb_UnpackedTarball_get_dir,openssl)/include \ +- $$(INCLUDE) \ +-) +- +-endef +- +-define gb_LinkTarget__use_openssl +-$(call gb_LinkTarget_use_package,$(1),openssl) +-ifeq ($(OS),WNT) +-$(call gb_LinkTarget_add_libs,$(1),\ +- $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/ssleay32.lib \ +- $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/libeay32.lib \ +-) +-else +-$(call gb_LinkTarget_add_libs,$(1),\ +- $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \ +- $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \ +-) +-$(call gb_LinkTarget_use_external_project,$(1),openssl) +-ifeq ($(OS),SOLARIS) +-$(call gb_LinkTarget_add_libs,$(1),\ +- -lnsl \ +- -lsocket \ +-) +-endif +-endif +- +-endef +- +-endif # SYSTEM_OPENSSL +-endif # DISABLE_OPENSSL +- +- +-ifeq ($(DISABLE_OPENSSL),TRUE) +- + define gb_LinkTarget__use_gnutls + $(call gb_LinkTarget_set_include,$(1),\ + $$(INCLUDE) \ +diff --git a/ucb/CppunitTest_ucb_webdav_neon_opts.mk b/ucb/CppunitTest_ucb_webdav_neon_opts.mk +index 91e167b..21e5257 100644 +--- a/ucb/CppunitTest_ucb_webdav_neon_opts.mk ++++ b/ucb/CppunitTest_ucb_webdav_neon_opts.mk +@@ -34,7 +34,6 @@ $(eval $(call gb_CppunitTest_use_externals,ucb_webdav_neon_opts,\ + boost_headers \ + libxml2 \ + neon \ +- openssl \ + )) + + $(eval $(call gb_CppunitTest_use_custom_headers,ucb_webdav_neon_opts,\ +diff --git a/ucb/CppunitTest_ucb_webdav_propfindcache.mk b/ucb/CppunitTest_ucb_webdav_propfindcache.mk +index ebbaee7..e2d064e 100644 +--- a/ucb/CppunitTest_ucb_webdav_propfindcache.mk ++++ b/ucb/CppunitTest_ucb_webdav_propfindcache.mk +@@ -34,7 +34,6 @@ $(eval $(call gb_CppunitTest_use_externals,ucb_webdav_propfindcache,\ + boost_headers \ + libxml2 \ + neon \ +- openssl \ + )) + + $(eval $(call gb_CppunitTest_use_custom_headers,ucb_webdav_propfindcache,\ +diff --git a/ucb/CppunitTest_ucb_webdav_res_access.mk b/ucb/CppunitTest_ucb_webdav_res_access.mk +index ac48f87..c7d151e 100644 +--- a/ucb/CppunitTest_ucb_webdav_res_access.mk ++++ b/ucb/CppunitTest_ucb_webdav_res_access.mk +@@ -34,7 +34,6 @@ $(eval $(call gb_CppunitTest_use_externals,ucb_webdav_res_access,\ + boost_headers \ + libxml2 \ + neon \ +- openssl \ + )) + + $(eval $(call gb_CppunitTest_use_custom_headers,ucb_webdav_res_access,\ diff --git a/debian/patches/no-packagekit-per-default.diff b/debian/patches/no-packagekit-per-default.diff new file mode 100644 index 00000000000..3228d62b2e8 --- /dev/null +++ b/debian/patches/no-packagekit-per-default.diff @@ -0,0 +1,242 @@ +From 1c2296a3809ff9ef36564eff3abdf4c191a1d1c6 Mon Sep 17 00:00:00 2001 +From: Rene Engelhard +Date: Sun, 21 Feb 2016 02:20:43 +0100 +Subject: [PATCH] Revert "always support packagekit if dbus is enabled" + +This reverts commit f2984e95740cfbb9c74574f2a1225af3411d4901. +--- + RepositoryExternal.mk | 6 ++++++ + config_host.mk.in | 1 + + configure.ac | 22 +++++++++++++++++++++- + vcl/inc/unx/fontmanager.hxx | 4 ++-- + vcl/unx/generic/fontmanager/fontconfig.cxx | 8 ++++---- + vcl/unx/generic/fontmanager/fontmanager.cxx | 2 +- + 6 files changed, 35 insertions(+), 8 deletions(-) + +diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk +index d0ee166..fd20bfd 100644 +--- a/RepositoryExternal.mk ++++ b/RepositoryExternal.mk +@@ -2537,6 +2537,12 @@ $(call gb_LinkTarget_set_include,$(1),\ + $(DBUS_CFLAGS) \ + ) + ++ifeq ($(ENABLE_PACKAGEKIT),TRUE) ++$(call gb_LinkTarget_add_defs,$(1),\ ++ -DENABLE_PACKAGEKIT \ ++) ++endif # ENABLE_PACKAGEKIT ++ + $(call gb_LinkTarget_add_libs,$(1),\ + $(DBUS_LIBS) \ + ) +diff --git a/config_host.mk.in b/config_host.mk.in +index 6170227..2721820 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -153,6 +153,7 @@ + export ENABLE_OPENGL_TRANSITIONS=@ENABLE_OPENGL_TRANSITIONS@ + export ENABLE_OPENGL_CANVAS=@ENABLE_OPENGL_CANVAS@ + export ENABLE_OPTIMIZED=@ENABLE_OPTIMIZED@ ++export ENABLE_PACKAGEKIT=@ENABLE_PACKAGEKIT@ + export ENABLE_PCH=@ENABLE_PCH@ + export ENABLE_PDFIMPORT=@ENABLE_PDFIMPORT@ + export ENABLE_PDFIUM=@ENABLE_PDFIUM@ +diff --git a/configure.ac b/configure.ac +index b6f6f37..c6a9b7d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1216,9 +1216,15 @@ AC_ARG_ENABLE(cairo-canvas, + libo_FUZZ_ARG_ENABLE(dbus, + AS_HELP_STRING([--disable-dbus], + [Determines whether to enable features that depend on dbus. +- e.g. Presentation mode screensaver control, bluetooth presentation control, automatic font install]), ++ e.g. Presentation mode screensaver control, bluetooth presentation control]), + ,test "${enable_dbus+set}" = set || enable_dbus=yes) + ++AC_ARG_ENABLE(packagekit, ++ AS_HELP_STRING([--enable-packagekit], ++ [Determines whether to enable features using packagekit. ++ Right now that is auto font install]), ++,) ++ + libo_FUZZ_ARG_ENABLE(sdremote, + AS_HELP_STRING([--disable-sdremote], + [Determines whether to enable Impress remote control (i.e. the server component).]), +@@ -10046,6 +10052,20 @@ AC_SUBST(ENABLE_DBUS) + AC_SUBST(DBUS_CFLAGS) + AC_SUBST(DBUS_LIBS) + ++AC_MSG_CHECKING([whether to enable font install via packagekit]) ++if test "$ENABLE_DBUS" = "TRUE"; then ++ if test -n "$enable_packagekit" -a "$enable_packagekit" != "no"; then ++ ENABLE_PACKAGEKIT=TRUE ++ AC_MSG_RESULT([yes]) ++ else ++ ENABLE_PACKAGEKIT= ++ AC_MSG_RESULT([no]) ++ fi ++else ++ AC_MSG_RESULT([no, dbus disabled.]) ++fi ++AC_SUBST(ENABLE_PACKAGEKIT) ++ + AC_MSG_CHECKING([whether to enable Impress remote control]) + if test -n "$enable_sdremote" -a "$enable_sdremote" != "no"; then + AC_MSG_RESULT([yes]) +diff --git a/Repository.mk b/Repository.mk +index 858be89..901085e 100644 +--- a/Repository.mk ++++ b/Repository.mk +@@ -289,7 +289,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,gnome, \ + $(if $(ENABLE_EVOAB2),evoab) \ + $(if $(ENABLE_GTK),vclplug_gtk) \ + $(if $(ENABLE_GTK3),vclplug_gtk3) \ +- $(if $(ENABLE_GIO),losessioninstall) \ ++ $(if $(ENABLE_PACKAGEKIT),losessioninstall) \ + $(if $(ENABLE_GIO),ucpgio1) \ + )) + +diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx +index f467783..b48e763 100644 +--- a/sfx2/source/appl/appserv.cxx ++++ b/sfx2/source/appl/appserv.cxx +@@ -159,6 +159,7 @@ namespace + // make sure we actually can instantiate services from base first + if(!lcl_isBaseAvailable()) + { ++#if defined (ENABLE_PACKAGEKIT) + try + { + using namespace org::freedesktop::PackageKit; +@@ -176,8 +177,16 @@ namespace + SAL_INFO( + "sfx.appl", + "trying to install LibreOffice Base, caught " << e); ++#else ++ SAL_INFO( ++ "sfx.appl", ++ "missing LibreOffice Base"); ++ ++#endif ++#if defined (ENABLE_PACKAGEKIT) + } + return; ++#endif + } + + try // fdo#48775 +diff --git a/shell/Module_shell.mk b/shell/Module_shell.mk +index 17661e9..99becfd 100644 +--- a/shell/Module_shell.mk ++++ b/shell/Module_shell.mk +@@ -16,11 +16,13 @@ $(eval $(call gb_Module_add_targets,shell,\ + + ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD,$(OS)),) + ifeq ($(ENABLE_GIO),TRUE) ++ifeq ($(ENABLE_PACKAGEKIT),TRUE) + $(eval $(call gb_Module_add_targets,shell,\ + Library_losessioninstall \ + )) + endif + endif ++endif + + ifeq ($(OS),SOLARIS) + ifeq ($(ENABLE_GIO),TRUE) +diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx +index 896b365..5be6a92 100644 +--- a/sw/source/uibase/app/apphdl.cxx ++++ b/sw/source/uibase/app/apphdl.cxx +@@ -349,6 +349,7 @@ void SwMailMergeWizardExecutor::ExecuteMailMergeWizard( const SfxItemSet * pArgs + { + if(!lcl_hasAllComponentsAvailable()) + { ++#if defined (ENABLE_PACKAGEKIT) + try + { + using namespace org::freedesktop::PackageKit; +@@ -365,8 +366,15 @@ void SwMailMergeWizardExecutor::ExecuteMailMergeWizard( const SfxItemSet * pArgs + SAL_INFO( + "sw.core", + "trying to install LibreOffice Base, caught " << e); ++#else ++ SAL_INFO( ++ "sw.core", ++ "missing LibreOffice Base"); ++#endif ++#if defined (ENABLE_PACKAGEKIT) + } + return; ++#endif + } + if ( m_pView ) + { +diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk +index c411fc1..d540983 100644 +--- a/postprocess/Rdb_services.mk ++++ b/postprocess/Rdb_services.mk +@@ -194,9 +194,11 @@ $(eval $(call gb_Rdb_add_components,services,\ + canvas/source/opengl/oglcanvas \ + ) \ + $(if $(ENABLE_GIO), \ +- shell/source/sessioninstall/losessioninstall \ + ucb/source/ucp/gio/ucpgio \ + ) \ ++ $(if $(ENABLE_PACKAGEKIT), \ ++ shell/source/sessioninstall/losessioninstall \ ++ ) \ + $(if $(ENABLE_GSTREAMER_1_0), \ + avmedia/source/gstreamer/avmediagstreamer \ + ) \ +diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu +index 26d1ba053a1e..831e0ff7630f 100644 +--- a/officecfg/registry/data/org/openoffice/Office/Common.xcu ++++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu +@@ -533,10 +533,10 @@ + + + +- true ++ false + + +- true ++ false + + + +diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs +index 2884179d0800..0b8feaa84c99 100644 +--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs ++++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs +@@ -6380,13 +6380,13 @@ + + Specifies if missing font installation should be triggered. + +- true ++ false + + + + Specifies if missing langpack installation should be triggered. + +- true ++ false + + + +diff --git a/svtools/source/misc/langhelp.cxx b/svtools/source/misc/langhelp.cxx +index 47cb87e36963..8dc00e09bd3b 100644 +--- a/svtools/source/misc/langhelp.cxx ++++ b/svtools/source/misc/langhelp.cxx +@@ -137,8 +137,7 @@ OUString getInstalledLocaleForSystemUILanguage(const css::uno::Sequence +Date: Mon, 27 Aug 2018 11:06:17 -0400 +Subject: [PATCH] Update orcus to 0.14.0. + +And make all necessary adjustments for the new version of orcus. + +Change-Id: I0dc207162a3ddfaad6da198a3d13b65f530757d5 +Reviewed-on: https://gerrit.libreoffice.org/59884 +Tested-by: Jenkins +Reviewed-by: Kohei Yoshida +--- + RepositoryExternal.mk | 4 +- + configure.ac | 2 +- + download.lst | 4 +- + .../0001-Missing-header-for-std-tolower.patch | 24 ++ + external/liborcus/ExternalPackage_liborcus.mk | 8 +- + external/liborcus/ExternalProject_liborcus.mk | 4 +- + external/liborcus/Library_orcus.mk | 2 + + external/liborcus/UnpackedTarball_liborcus.mk | 1 + + external/liborcus/gcc9.patch.0 | 3 +- + sc/source/filter/inc/orcusinterface.hxx | 107 ++++-- + sc/source/filter/orcus/interface.cxx | 322 +++++++++++++----- + sc/source/filter/orcus/xmlcontext.cxx | 5 +- + 12 files changed, 360 insertions(+), 126 deletions(-) + create mode 100644 external/liborcus/0001-Missing-header-for-std-tolower.patch + +diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk +index cec79cc105e8..f172765a84f8 100644 +--- a/RepositoryExternal.mk ++++ b/RepositoryExternal.mk +@@ -3295,7 +3295,7 @@ $(call gb_LinkTarget_set_include,$(1),\ + ) + + $(call gb_LinkTarget_add_libs,$(1),\ +- -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.13 \ ++ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.14 \ + ) + + $(if $(SYSTEM_BOOST), \ +@@ -3314,7 +3314,7 @@ $(call gb_LinkTarget_set_include,$(1),\ + ) + + $(call gb_LinkTarget_add_libs,$(1),\ +- -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.13 \ ++ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.14 \ + ) + + endef +diff --git a/configure.ac b/configure.ac +index 3c9e5dc5e908..a60a3e72689f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9196,7 +9196,7 @@ AC_SUBST(ENABLE_FUZZERS) + dnl =================================================================== + dnl Orcus + dnl =================================================================== +-libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.13 >= 0.13.3]) ++libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.14 >= 0.14.0]) + if test "$with_system_orcus" != "yes"; then + if test "$SYSTEM_BOOST" = "TRUE"; then + # =========================================================== +diff --git a/download.lst b/download.lst +index 1ed75b36f3b3..3532e2be3aa3 100644 +--- a/download.lst ++++ b/download.lst +@@ -194,8 +194,8 @@ export OPENLDAP_SHA256SUM := cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb89 + export OPENLDAP_TARBALL := openldap-2.4.45.tgz + export OPENSSL_SHA256SUM := 50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00 + export OPENSSL_TARBALL := openssl-1.0.2p.tar.gz +-export ORCUS_SHA256SUM := bc01b1b3e9091416f498840d3c19a1aa2704b448100e7f6b80eefe88aab06d5b +-export ORCUS_TARBALL := liborcus-0.13.4.tar.gz ++export ORCUS_SHA256SUM := 7bcfac3f4f490540292cfc87d3fde7b47eafa8450afa1e1a2c181d8293dcd4ef ++export ORCUS_TARBALL := liborcus-0.14.0.tar.gz + export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb + export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz + export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d +diff --git a/external/liborcus/0001-Missing-header-for-std-tolower.patch b/external/liborcus/0001-Missing-header-for-std-tolower.patch +new file mode 100644 +index 000000000000..2e00be92a872 +--- /dev/null ++++ b/external/liborcus/0001-Missing-header-for-std-tolower.patch +@@ -0,0 +1,24 @@ ++From 3a6bb93a382b4d5f1463ee3fdd54cab7048ff996 Mon Sep 17 00:00:00 2001 ++From: Kohei Yoshida ++Date: Fri, 31 Aug 2018 16:07:06 -0400 ++Subject: [PATCH] Missing header for std::tolower. ++ ++--- ++ src/parser/sax_token_parser.cpp | 1 + ++ 1 file changed, 1 insertion(+) ++ ++diff --git a/src/parser/sax_token_parser.cpp b/src/parser/sax_token_parser.cpp ++index 9790b498..44ba5844 100644 ++--- a/src/parser/sax_token_parser.cpp +++++ b/src/parser/sax_token_parser.cpp ++@@ -9,6 +9,7 @@ ++ #include "orcus/tokens.hpp" ++ ++ #include +++#include ++ ++ namespace orcus { ++ ++-- ++2.17.1 ++ +diff --git a/external/liborcus/ExternalPackage_liborcus.mk b/external/liborcus/ExternalPackage_liborcus.mk +index 32382b7d89a1..ffa0b38bea19 100644 +--- a/external/liborcus/ExternalPackage_liborcus.mk ++++ b/external/liborcus/ExternalPackage_liborcus.mk +@@ -12,11 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,liborcus,liborcus)) + $(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus)) + + ifeq ($(OS),MACOSX) +-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.13.0.dylib,src/liborcus/.libs/liborcus-0.13.0.dylib)) +-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.13.0.dylib,src/parser/.libs/liborcus-parser-0.13.0.dylib)) ++$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.14.0.dylib,src/liborcus/.libs/liborcus-0.14.0.dylib)) ++$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.14.0.dylib,src/parser/.libs/liborcus-parser-0.14.0.dylib)) + else ifeq ($(DISABLE_DYNLOADING),) +-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.13.so.0,src/liborcus/.libs/liborcus-0.13.so.0.0.0)) +-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.13.so.0,src/parser/.libs/liborcus-parser-0.13.so.0.0.0)) ++$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.14.so.0,src/liborcus/.libs/liborcus-0.14.so.0.0.0)) ++$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.14.so.0,src/parser/.libs/liborcus-parser-0.14.so.0.0.0)) + endif + + # vim: set noet sw=4 ts=4: +diff --git a/external/liborcus/ExternalProject_liborcus.mk b/external/liborcus/ExternalProject_liborcus.mk +index 928c78e3a267..1aa591228f40 100644 +--- a/external/liborcus/ExternalProject_liborcus.mk ++++ b/external/liborcus/ExternalProject_liborcus.mk +@@ -114,8 +114,8 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) : + $(MAKE) \ + $(if $(filter MACOSX,$(OS)),\ + && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \ +- $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.13.0.dylib \ +- $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.13.0.dylib \ ++ $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.14.0.dylib \ ++ $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.14.0.dylib \ + ) \ + ) + +diff --git a/external/liborcus/Library_orcus.mk b/external/liborcus/Library_orcus.mk +index 6457ec4afc0c..1f026c425244 100644 +--- a/external/liborcus/Library_orcus.mk ++++ b/external/liborcus/Library_orcus.mk +@@ -55,6 +55,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ + UnpackedTarball/liborcus/src/liborcus/detection_result \ + UnpackedTarball/liborcus/src/liborcus/dom_tree \ + UnpackedTarball/liborcus/src/liborcus/format_detection \ ++ UnpackedTarball/liborcus/src/liborcus/formula_result \ + UnpackedTarball/liborcus/src/liborcus/global \ + UnpackedTarball/liborcus/src/liborcus/gnumeric_cell_context \ + UnpackedTarball/liborcus/src/liborcus/gnumeric_context \ +@@ -96,6 +97,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ + UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \ + UnpackedTarball/liborcus/src/liborcus/orcus_xml \ + UnpackedTarball/liborcus/src/liborcus/session_context \ ++ UnpackedTarball/liborcus/src/liborcus/spreadsheet_iface_util \ + UnpackedTarball/liborcus/src/liborcus/spreadsheet_interface \ + UnpackedTarball/liborcus/src/liborcus/spreadsheet_types \ + UnpackedTarball/liborcus/src/liborcus/string_helper \ +diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk +index 215bd4b8cc15..f637cc73db46 100644 +--- a/external/liborcus/UnpackedTarball_liborcus.mk ++++ b/external/liborcus/UnpackedTarball_liborcus.mk +@@ -19,5 +19,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\ + external/liborcus/0001-workaround-a-linking-problem-on-windows.patch \ + external/liborcus/rpath.patch.0 \ ++ external/liborcus/0001-Missing-header-for-std-tolower.patch \ + )) + + ifeq ($(OS),WNT) +diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx +index 028fb4126f01..dce0d5b0a64e 100644 +--- a/sc/source/filter/inc/orcusinterface.hxx ++++ b/sc/source/filter/inc/orcusinterface.hxx +@@ -54,6 +54,7 @@ public: + ScOrcusGlobalSettings(ScDocumentImport& rDoc); + + virtual void set_origin_date(int year, int month, int day) override; ++ virtual void set_character_set(orcus::character_set_t cs) override; + + virtual void set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t grammar) override; + virtual orcus::spreadsheet::formula_grammar_t get_default_formula_grammar() const override; +@@ -181,7 +182,7 @@ public: + + virtual ~ScOrcusAutoFilter() override; + +- virtual void set_range(const char* p_ref, size_t n_ref) override; ++ virtual void set_range(const orcus::spreadsheet::range_t& range) override; + + virtual void set_column(orcus::spreadsheet::col_t col) override; + +@@ -214,22 +215,95 @@ public: + virtual void set_merge_cell_range(const orcus::spreadsheet::range_t& range) override; + }; + ++class ScOrcusSheet; ++ ++class ScOrcusFormula : public orcus::spreadsheet::iface::import_formula ++{ ++ enum class ResultType { NotSet, String, Value, Empty }; ++ ++ friend class ScOrcusSheet; ++ ++ ScOrcusSheet& mrSheet; ++ ++ SCCOL mnCol; ++ SCROW mnRow; ++ OUString maFormula; ++ formula::FormulaGrammar::Grammar meGrammar; ++ size_t mnSharedFormulaIndex; ++ bool mbShared; ++ ++ ResultType meResType; ++ size_t mnResult; // result string index. ++ double mfResult; ++ ++ void reset(); ++ ++public: ++ ScOrcusFormula( ScOrcusSheet& rSheet ); ++ virtual ~ScOrcusFormula() override; ++ ++ virtual void set_position(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override; ++ virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) override; ++ virtual void set_shared_formula_index(size_t index) override; ++ virtual void set_result_value(double value) override; ++ virtual void set_result_string(size_t sindex) override; ++ virtual void set_result_empty() override; ++ virtual void set_result_bool(bool value) override; ++ virtual void commit() override; ++}; ++ ++class ScOrcusArrayFormula : public orcus::spreadsheet::iface::import_array_formula ++{ ++ friend class ScOrcusSheet; ++ ++ ScOrcusSheet& mrSheet; ++ ++ SCCOL mnCol; ++ SCROW mnRow; ++ uint32_t mnColRange; ++ uint32_t mnRowRange; ++ OUString maFormula; ++ formula::FormulaGrammar::Grammar meGrammar; ++ ++ void reset(); ++ ++public: ++ ScOrcusArrayFormula( ScOrcusSheet& rSheet ); ++ virtual ~ScOrcusArrayFormula() override; ++ ++ virtual void set_range(const orcus::spreadsheet::range_t& range) override; ++ virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) override; ++ virtual void set_result_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override; ++ virtual void set_result_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex) override; ++ virtual void set_result_empty(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override; ++ virtual void set_result_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override; ++ virtual void commit() override; ++}; ++ + class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet + { ++ friend class ScOrcusFormula; ++ friend class ScOrcusArrayFormula; ++ + ScDocumentImport& mrDoc; + SCTAB mnTab; + ScOrcusFactory& mrFactory; + ScOrcusStyles& mrStyles; + sc::SharedFormulaGroups maFormulaGroups; ++ + ScOrcusAutoFilter maAutoFilter; + ScOrcusSheetProperties maProperties; + ScOrcusConditionalFormat maConditionalFormat; + ScOrcusNamedExpression maNamedExpressions; ++ ScOrcusFormula maFormula; ++ ScOrcusArrayFormula maArrayFormula; + + int mnCellCount; + + void cellInserted(); + ++ ScDocumentImport& getDoc(); ++ + public: + ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& rFactory); + +@@ -238,6 +312,8 @@ public: + virtual orcus::spreadsheet::iface::import_sheet_properties* get_sheet_properties() override; + virtual orcus::spreadsheet::iface::import_conditional_format* get_conditional_format() override; + virtual orcus::spreadsheet::iface::import_named_expression* get_named_expression() override; ++ virtual orcus::spreadsheet::iface::import_formula* get_formula() override; ++ virtual orcus::spreadsheet::iface::import_array_formula* get_array_formula() override; + + // Orcus import interface + virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) override; +@@ -251,33 +327,13 @@ public: + virtual void set_format(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start, + orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end, size_t xf_index) override; + +- virtual void set_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) override; +- virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) override; +- virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double val) override; +- +- virtual void set_shared_formula( +- orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex, +- const char* p_formula, size_t n_formula) override; +- +- virtual void set_shared_formula( +- orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex, +- const char* p_formula, size_t n_formula, const char* p_range, size_t n_range) override; +- +- virtual void set_shared_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex) override; +- +- virtual void set_array_formula( +- orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, +- const char* p, size_t n, orcus::spreadsheet::row_t array_rows, orcus::spreadsheet::col_t array_cols) override; +- +- virtual void set_array_formula( +- orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, +- const char* p, size_t n, const char* p_range, size_t n_range) override; +- + virtual orcus::spreadsheet::range_size_t get_sheet_size() const override; + + SCTAB getIndex() const { return mnTab; } + + const sc::SharedFormulaGroups& getSharedFormulaGroups() const; ++ sc::SharedFormulaGroups& getSharedFormulaGroups(); ++ ScOrcusFactory& getFactory(); + }; + + class ScOrcusStyles : public orcus::spreadsheet::iface::import_styles +@@ -312,7 +368,7 @@ private: + + struct fill + { +- OUString maPattern; ++ orcus::spreadsheet::fill_pattern_t mePattern; + Color maFgColor; + Color maBgColor; + +@@ -446,7 +502,7 @@ public: + // fill + + virtual void set_fill_count(size_t n) override; +- virtual void set_fill_pattern_type(const char* s, size_t n) override; ++ virtual void set_fill_pattern_type(orcus::spreadsheet::fill_pattern_t fp) override; + virtual void set_fill_fg_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override; + virtual void set_fill_bg_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override; + virtual size_t commit_fill() override; +@@ -580,6 +636,7 @@ public: + + size_t appendString(const OUString& rStr); + size_t addString(const OUString& rStr); ++ const OUString* getString(size_t nIndex) const; + + void pushCellStoreAutoToken( const ScAddress& rPos, const OUString& rVal ); + void pushCellStoreToken( const ScAddress& rPos, uint32_t nStrIndex ); +diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx +index dcf3e83d7eae..7b8425d3007d 100644 +--- a/sc/source/filter/orcus/interface.cxx ++++ b/sc/source/filter/orcus/interface.cxx +@@ -101,6 +101,11 @@ void ScOrcusGlobalSettings::set_origin_date(int year, int month, int day) + mrDoc.setOriginDate(year, month, day); + } + ++void ScOrcusGlobalSettings::set_character_set(orcus::character_set_t /*cs*/) ++{ ++ // TODO ++} ++ + void ScOrcusGlobalSettings::set_default_formula_grammar(os::formula_grammar_t grammar) + { + meCalcGrammar = getCalcGrammarFromOrcus(grammar); +@@ -463,6 +468,11 @@ size_t ScOrcusFactory::addString(const OUString& rStr) + return appendString(rStr); + } + ++const OUString* ScOrcusFactory::getString(size_t nIndex) const ++{ ++ return nIndex < maStrings.size() ? &maStrings[nIndex] : nullptr; ++} ++ + void ScOrcusFactory::pushCellStoreAutoToken( const ScAddress& rPos, const OUString& rVal ) + { + maCellStoreTokens.emplace_back(rPos, CellStoreToken::Type::Auto); +@@ -816,10 +826,197 @@ ScOrcusSheet::ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& r + maProperties(mnTab, mrDoc), + maConditionalFormat(mnTab, rDoc.getDoc()), + maNamedExpressions(rDoc, rFactory.getGlobalSettings(), nTab), ++ maFormula(*this), ++ maArrayFormula(*this), + mnCellCount(0) + { + } + ++void ScOrcusFormula::reset() ++{ ++ mnCol = -1; ++ mnRow = -1; ++ maFormula.clear(); ++ meGrammar = formula::FormulaGrammar::GRAM_UNSPECIFIED; ++ mnSharedFormulaIndex = 0; ++ mbShared = false; ++ meResType = ResultType::NotSet; ++ mnResult = 0; ++ mfResult = 0.0; ++} ++ ++ScOrcusFormula::ScOrcusFormula( ScOrcusSheet& rSheet ) : ++ mrSheet(rSheet), ++ mnCol(-1), ++ mnRow(-1), ++ meGrammar(formula::FormulaGrammar::GRAM_UNSPECIFIED), ++ mnSharedFormulaIndex(0), ++ mbShared(false), ++ meResType(ResultType::NotSet), ++ mnResult(0), ++ mfResult(0.0) {} ++ ++ScOrcusFormula::~ScOrcusFormula() {} ++ ++void ScOrcusFormula::set_position(os::row_t row, os::col_t col) ++{ ++ mnCol = col; ++ mnRow = row; ++} ++ ++void ScOrcusFormula::set_formula(os::formula_grammar_t grammar, const char* p, size_t n) ++{ ++ maFormula = OUString(p, n, RTL_TEXTENCODING_UTF8); ++ meGrammar = getCalcGrammarFromOrcus(grammar); ++} ++ ++void ScOrcusFormula::set_shared_formula_index(size_t index) ++{ ++ mnSharedFormulaIndex = index; ++ mbShared = true; ++} ++ ++void ScOrcusFormula::set_result_value(double value) ++{ ++ meResType = ResultType::Value; ++ mfResult = value; ++} ++ ++void ScOrcusFormula::set_result_string(size_t sindex) ++{ ++ meResType = ResultType::String; ++ mnResult = sindex; ++} ++ ++void ScOrcusFormula::set_result_empty() ++{ ++ meResType = ResultType::Empty; ++} ++ ++void ScOrcusFormula::set_result_bool(bool value) ++{ ++ meResType = ResultType::Value; ++ mfResult = value ? 1.0 : 0.0; ++} ++ ++void ScOrcusFormula::commit() ++{ ++ ScOrcusFactory& rFactory = mrSheet.getFactory(); ++ sc::SharedFormulaGroups& rGroups = mrSheet.getSharedFormulaGroups(); ++ ScAddress aPos(mnCol, mnRow, mrSheet.getIndex()); ++ ++ if (mbShared) ++ { ++ if (maFormula.isEmpty()) ++ { ++ // shared formula that references existing formula token. ++ const ScTokenArray* pArray = rGroups.get(mnSharedFormulaIndex); ++ if (!pArray) ++ return; ++ } ++ else ++ { ++ // topmost shared formula with new formula token. ++ ++ // Compile the formula expression into tokens. ++ ScCompiler aComp(&mrSheet.getDoc().getDoc(), aPos, meGrammar); ++ ScTokenArray* pArray = aComp.CompileString(maFormula); ++ if (!pArray) ++ // Tokenization failed. ++ return; ++ ++ rGroups.set(mnSharedFormulaIndex, pArray); ++ } ++ rFactory.pushSharedFormulaToken(aPos, mnSharedFormulaIndex); ++ } ++ else ++ { ++ // non-shared formula ++ rFactory.pushCellStoreToken(aPos, maFormula, meGrammar); ++ } ++ ++ switch (meResType) ++ { ++ case ResultType::String: ++ { ++ const OUString* pStr = rFactory.getString(mnResult); ++ if (pStr) ++ rFactory.pushFormulaResult(aPos, *pStr); ++ break; ++ } ++ case ResultType::Value: ++ rFactory.pushFormulaResult(aPos, mfResult); ++ break; ++ default: ++ ; ++ } ++ ++ mrSheet.cellInserted(); ++} ++ ++void ScOrcusArrayFormula::reset() ++{ ++ mnCol = -1; ++ mnRow = -1; ++ mnColRange = 0; ++ mnRowRange = 0; ++ ++ maFormula.clear(); ++ meGrammar = formula::FormulaGrammar::GRAM_UNSPECIFIED; ++} ++ ++ScOrcusArrayFormula::ScOrcusArrayFormula( ScOrcusSheet& rSheet ) : ++ mrSheet(rSheet), ++ mnCol(-1), ++ mnRow(-1), ++ mnColRange(0), ++ mnRowRange(0), ++ meGrammar(formula::FormulaGrammar::GRAM_UNSPECIFIED) {} ++ ++ScOrcusArrayFormula::~ScOrcusArrayFormula() {} ++ ++void ScOrcusArrayFormula::set_range(const os::range_t& range) ++{ ++ mnCol = range.first.column; ++ mnRow = range.first.row; ++ ++ mnColRange = range.last.column - range.first.column + 1; ++ mnRowRange = range.last.row - range.first.column + 1; ++} ++ ++void ScOrcusArrayFormula::set_formula(os::formula_grammar_t grammar, const char* p, size_t n) ++{ ++ meGrammar = getCalcGrammarFromOrcus(grammar); ++ maFormula = OUString(p, n, RTL_TEXTENCODING_UTF8); ++} ++ ++void ScOrcusArrayFormula::set_result_value(os::row_t /*row*/, os::col_t /*col*/, double /*value*/) ++{ ++ // TODO : implement result cache for matrix ++} ++ ++void ScOrcusArrayFormula::set_result_string(os::row_t /*row*/, os::col_t /*col*/, size_t /*sindex*/) ++{ ++ // TODO : implement result cache for matrix ++} ++ ++void ScOrcusArrayFormula::set_result_empty(os::row_t /*row*/, os::col_t /*col*/) ++{ ++ // TODO : implement result cache for matrix ++} ++ ++void ScOrcusArrayFormula::set_result_bool(os::row_t /*row*/, os::col_t /*col*/, bool /*value*/) ++{ ++ // TODO : implement result cache for matrix ++} ++ ++void ScOrcusArrayFormula::commit() ++{ ++ ScAddress aPos(mnCol, mnRow, mrSheet.getIndex()); ++ mrSheet.getFactory().pushMatrixFormulaToken(aPos, maFormula, meGrammar, mnRowRange, mnColRange); ++ mrSheet.cellInserted(); ++} ++ + void ScOrcusSheet::cellInserted() + { + ++mnCellCount; +@@ -830,6 +1027,11 @@ void ScOrcusSheet::cellInserted() + } + } + ++ScDocumentImport& ScOrcusSheet::getDoc() ++{ ++ return mrDoc; ++} ++ + os::iface::import_auto_filter* ScOrcusSheet::get_auto_filter() + { + return &maAutoFilter; +@@ -855,6 +1057,18 @@ os::iface::import_named_expression* ScOrcusSheet::get_named_expression() + return &maNamedExpressions; + } + ++os::iface::import_formula* ScOrcusSheet::get_formula() ++{ ++ maFormula.reset(); ++ return &maFormula; ++} ++ ++os::iface::import_array_formula* ScOrcusSheet::get_array_formula() ++{ ++ maArrayFormula.reset(); ++ return &maArrayFormula; ++} ++ + void ScOrcusSheet::set_auto(os::row_t row, os::col_t col, const char* p, size_t n) + { + OUString aVal(p, n, RTL_TEXTENCODING_UTF8); +@@ -921,83 +1135,6 @@ void ScOrcusSheet::set_format(os::row_t row_start, os::col_t col_start, + mrDoc.getDoc().ApplyPatternAreaTab(col_start, row_start, col_end, row_end, mnTab, aPattern); + } + +-void ScOrcusSheet::set_formula( +- os::row_t row, os::col_t col, os::formula_grammar_t grammar, const char* p, size_t n) +-{ +- OUString aFormula(p, n, RTL_TEXTENCODING_UTF8); +- mrFactory.pushCellStoreToken( +- ScAddress(col, row, mnTab), aFormula, getCalcGrammarFromOrcus(grammar)); +- cellInserted(); +-} +- +-void ScOrcusSheet::set_formula_result(os::row_t row, os::col_t col, const char* p, size_t n) +-{ +- OUString aResult( p, n, RTL_TEXTENCODING_UTF8); +- mrFactory.pushFormulaResult(ScAddress(col, row, mnTab), aResult); +-} +- +-void ScOrcusSheet::set_formula_result(os::row_t row, os::col_t col, double val) +-{ +- mrFactory.pushFormulaResult(ScAddress(col, row, mnTab), val); +-} +- +-void ScOrcusSheet::set_shared_formula( +- os::row_t row, os::col_t col, os::formula_grammar_t grammar, size_t sindex, +- const char* p_formula, size_t n_formula) +-{ +- ScAddress aPos(col, row, mnTab); +- OUString aFormula(p_formula, n_formula, RTL_TEXTENCODING_UTF8); +- formula::FormulaGrammar::Grammar eGram = getCalcGrammarFromOrcus(grammar); +- +- // Compile the formula expression into tokens. +- ScCompiler aComp(&mrDoc.getDoc(), aPos, eGram); +- ScTokenArray* pArray = aComp.CompileString(aFormula); +- if (!pArray) +- // Tokenization failed. +- return; +- +- maFormulaGroups.set(sindex, pArray); +- +- mrFactory.pushSharedFormulaToken(aPos, sindex); +- cellInserted(); +-} +- +-void ScOrcusSheet::set_shared_formula( +- os::row_t row, os::col_t col, os::formula_grammar_t grammar, size_t sindex, +- const char* p_formula, size_t n_formula, const char* /*p_range*/, size_t /*n_range*/) +-{ +- set_shared_formula(row, col, grammar, sindex, p_formula, n_formula); +-} +- +-void ScOrcusSheet::set_shared_formula(os::row_t row, os::col_t col, size_t sindex) +-{ +- ScAddress aPos(col, row, mnTab); +- +- const ScTokenArray* pArray = maFormulaGroups.get(sindex); +- if (!pArray) +- return; +- +- mrFactory.pushSharedFormulaToken(aPos, sindex); +- cellInserted(); +-} +- +-void ScOrcusSheet::set_array_formula( +- os::row_t row, os::col_t col, os::formula_grammar_t grammar, +- const char* p, size_t n, os::row_t array_rows, os::col_t array_cols) +-{ +- OUString aFormula(p, n, RTL_TEXTENCODING_UTF8); +- formula::FormulaGrammar::Grammar eGrammar = getCalcGrammarFromOrcus(grammar); +- +- ScAddress aPos(col, row, mnTab); +- mrFactory.pushMatrixFormulaToken(aPos, aFormula, eGrammar, array_rows, array_cols); +-} +- +-void ScOrcusSheet::set_array_formula( +- os::row_t /*row*/, os::col_t /*col*/, os::formula_grammar_t /*grammar*/, +- const char* /*p*/, size_t /*n*/, const char* /*p_range*/, size_t /*n_range*/) +-{ +-} +- + orcus::spreadsheet::range_size_t ScOrcusSheet::get_sheet_size() const + { + orcus::spreadsheet::range_size_t ret; +@@ -1012,6 +1149,16 @@ const sc::SharedFormulaGroups& ScOrcusSheet::getSharedFormulaGroups() const + return maFormulaGroups; + } + ++sc::SharedFormulaGroups& ScOrcusSheet::getSharedFormulaGroups() ++{ ++ return maFormulaGroups; ++} ++ ++ScOrcusFactory& ScOrcusSheet::getFactory() ++{ ++ return mrFactory; ++} ++ + ScOrcusSharedStrings::ScOrcusSharedStrings(ScOrcusFactory& rFactory) : + mrFactory(rFactory) {} + +@@ -1087,7 +1234,7 @@ ScOrcusStyles::font::font(): + } + + ScOrcusStyles::fill::fill(): +- maPattern(""), ++ mePattern(orcus::spreadsheet::fill_pattern_t::none), + maFgColor(COL_WHITE), + maBgColor(COL_WHITE), + mbHasFillAttr(false) +@@ -1143,13 +1290,13 @@ void ScOrcusStyles::font::applyToItemSet(SfxItemSet& rSet) const + + void ScOrcusStyles::fill::applyToItemSet(SfxItemSet& rSet) const + { +- if (maPattern.equalsIgnoreAsciiCase("none")) ++ if (mePattern == orcus::spreadsheet::fill_pattern_t::none) + { + SAL_INFO("sc.orcus.style", "no fill style"); + return; + } + +- if (maPattern.equalsIgnoreAsciiCase("solid")) ++ if (mePattern == orcus::spreadsheet::fill_pattern_t::solid) + rSet.Put(SvxBrushItem(maFgColor, ATTR_BACKGROUND)); + } + +@@ -1575,10 +1722,9 @@ void ScOrcusStyles::set_fill_count(size_t /*n*/) + // needed at all? + } + +-void ScOrcusStyles::set_fill_pattern_type(const char* s, size_t n) ++void ScOrcusStyles::set_fill_pattern_type(orcus::spreadsheet::fill_pattern_t fp) + { +- maCurrentFill.maPattern = OUString(s, n, RTL_TEXTENCODING_UTF8); +- maCurrentFill.mbHasFillAttr = true; ++ maCurrentFill.mePattern = fp; + } + + void ScOrcusStyles::set_fill_fg_color( +@@ -1962,12 +2108,12 @@ ScOrcusAutoFilter::~ScOrcusAutoFilter() + { + } + +-void ScOrcusAutoFilter::set_range(const char* p_ref, size_t n_ref) ++void ScOrcusAutoFilter::set_range(const orcus::spreadsheet::range_t& range) + { +- OUString aRange(p_ref, n_ref, RTL_TEXTENCODING_UTF8); +- SAL_INFO("sc.orcus.autofilter", "set_range: " << aRange); +- +- maRange.Parse(aRange); ++ maRange.aStart.SetRow(range.first.row); ++ maRange.aStart.SetCol(range.first.column); ++ maRange.aEnd.SetRow(range.last.row); ++ maRange.aEnd.SetCol(range.last.column); + } + + void ScOrcusAutoFilter::set_column(orcus::spreadsheet::col_t col) +diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx +index e47b862c2138..5494ddefc434 100644 +--- a/sc/source/filter/orcus/xmlcontext.cxx ++++ b/sc/source/filter/orcus/xmlcontext.cxx +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -289,7 +290,9 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam) + } + } + +- filter.read_file(path); ++ std::string content = orcus::load_file_content(path); ++ filter.read_stream(content.data(), content.size()); ++ + aFactory.finalize(); + } + catch (const std::exception&) +-- +2.17.1 + diff --git a/debian/patches/reportdesign-mention-package.diff b/debian/patches/reportdesign-mention-package.diff new file mode 100644 index 00000000000..f85471bf069 --- /dev/null +++ b/debian/patches/reportdesign-mention-package.diff @@ -0,0 +1,13 @@ +diff --git a/dbaccess/inc/strings.hrc b/dbaccess/inc/strings.hrc +index 47068f43d09e..1f8b9a2331b6 100644 +--- a/dbaccess/inc/strings.hrc ++++ b/dbaccess/inc/strings.hrc +@@ -349,7 +349,7 @@ + #define STR_WARNINGS_DURING_CONNECT NC_("STR_WARNINGS_DURING_CONNECT", "Warnings were encountered while connecting to the data source. Press \"$buttontext$\" to view them.") + #define STR_NAMED_OBJECT_ALREADY_EXISTS NC_("STR_NAMED_OBJECT_ALREADY_EXISTS", "The name '$#$' already exists.\nPlease enter another name." ) + // #i96130# use hard coded name +-#define RID_STR_EXTENSION_NOT_PRESENT NC_("RID_STR_EXTENSION_NOT_PRESENT", "The report, \"$file$\", requires the Report Builder feature.") ++#define RID_STR_EXTENSION_NOT_PRESENT NC_("RID_STR_EXTENSION_NOT_PRESENT", "The report, \"$file$\", requires the Report Builder feature. For this, install the package 'libreoffice-report-builder'.") + + #define STR_COULDNOTCREATE_DRIVERMANAGER NC_("STR_COULDNOTCREATE_DRIVERMANAGER", "Cannot connect to the SDBC driver manager (#servicename#).") + #define STR_NOREGISTEREDDRIVER NC_("STR_NOREGISTEREDDRIVER", "A driver is not registered for the URL #connurl#.") diff --git a/debian/patches/sanitize-LibreLogo-calls.diff b/debian/patches/sanitize-LibreLogo-calls.diff new file mode 100644 index 00000000000..2160782bc43 --- /dev/null +++ b/debian/patches/sanitize-LibreLogo-calls.diff @@ -0,0 +1,72 @@ +diff --git a/librelogo/source/LibreLogo/LibreLogo.py b/librelogo/source/LibreLogo/LibreLogo.py +index e58537b2338a..2fa16ed81822 100644 +--- a/librelogo/source/LibreLogo/LibreLogo.py ++++ b/librelogo/source/LibreLogo/LibreLogo.py +@@ -145,6 +145,7 @@ __LineStyle_DOTTED__ = 2 + class __Doc__: + def __init__(self, doc): + self.doc = doc ++ self.secure = False + try: + self.drawpage = doc.DrawPage # Writer + except: +@@ -468,10 +469,58 @@ class LogoProgram(threading.Thread): + self.code = code + threading.Thread.__init__(self) + ++ def secure(self): ++ # 0 = secure ++ if _.secure: ++ return 0 ++ ++ # 1 = forms, fields or embedded objects are forbidden ++ if _.doc.DrawPage.Forms.getCount() > 0 or _.doc.getTextFields().createEnumeration().hasMoreElements() or _.doc.getEmbeddedObjects().getCount() > 0: ++ return 1 ++ ++ # 2 = hyperlinks with script events ++ nodes = _.doc.Text.createEnumeration() ++ while nodes.hasMoreElements(): ++ node = nodes.nextElement() ++ if node.supportsService("com.sun.star.text.Paragraph"): ++ portions = node.createEnumeration() ++ while portions.hasMoreElements(): ++ portion = portions.nextElement() ++ if portion.PropertySetInfo.hasPropertyByName("HyperLinkEvents"): ++ events = portion.getPropertyValue("HyperLinkEvents") ++ for event in events.getElementNames(): ++ attributes = events.getByName(event) ++ for attribute in attributes: ++ if attribute.Name == "EventType" and attribute.Value == "Script": ++ return 2 ++ ++ # 2 = images with script events ++ images = _.doc.DrawPage.createEnumeration() ++ while images.hasMoreElements(): ++ image = images.nextElement() ++ try: ++ events = image.Events ++ for event in events.getElementNames(): ++ attributes = events.getByName(event) ++ for attribute in attributes: ++ if attribute.Name == "EventType" and attribute.Value == "Script": ++ return 2 ++ except: ++ pass ++ ++ _.secure = True ++ return 0 ++ + def run(self): + global __thread__ + try: +- exec(self.code) ++ # check document security ++ secid = self.secure() ++ if secid > 0: ++ parent = _.doc.CurrentController.Frame.ContainerWindow ++ MessageBox(parent, "Document objects with%s script events" % [" possible", ""][secid-1], "LibreLogo program can't start", "errorbox") ++ else: ++ exec(self.code) + if _.origcursor[0] and _.origcursor[1]: + __dispatcher__(".uno:Escape") + try: diff --git a/debian/patches/search-usr-share-for-images.diff b/debian/patches/search-usr-share-for-images.diff new file mode 100644 index 00000000000..6b91fcc127e --- /dev/null +++ b/debian/patches/search-usr-share-for-images.diff @@ -0,0 +1,137 @@ +diff --git a/vcl/inc/impimagetree.hxx b/vcl/inc/impimagetree.hxx +index 41c4f56..93d80f1 100644 +--- a/vcl/inc/impimagetree.hxx ++++ b/vcl/inc/impimagetree.hxx +@@ -85,6 +85,10 @@ private: + typedef boost::unordered_map< + rtl::OUString, std::pair< bool, BitmapEx >, rtl::OUStringHash > IconCache; + ++ // we want to search zip files (icons) also in /usr/share/ ++ ::rtl::OUString m_datadir; // /usr/share/ ++ ::rtl::OUString m_libdir; // /usr/lib or /usr/lib64 ++ + rtl::OUString m_style; + Zips m_zips; + CheckStyleCache m_checkStyleCache; +@@ -92,6 +96,7 @@ private: + + void setStyle(rtl::OUString const & style ); + ++ void addUrlToZips(const rtl::OUString &url); + void resetZips(); + + bool checkStyleCacheLookup( rtl::OUString const & style, bool &exists ); +diff --git a/vcl/source/gdi/impimagetree.cxx b/vcl/source/gdi/impimagetree.cxx +index 03442fc..cfe6c45 100644 +--- a/vcl/source/gdi/impimagetree.cxx ++++ b/vcl/source/gdi/impimagetree.cxx +@@ -121,7 +121,11 @@ void loadFromStream( + + } + +-ImplImageTree::ImplImageTree() {} ++ImplImageTree::ImplImageTree() ++{ ++ m_datadir = ::rtl::OUString::createFromAscii ( "/usr/share/" ); ++ m_libdir = ::rtl::OUString::createFromAscii ( "/usr/lib/" ); ++} + + ImplImageTree::~ImplImageTree() {} + +@@ -259,6 +263,22 @@ void ImplImageTree::setStyle(rtl::OUString const & style) { + } + } + ++void ImplImageTree::addUrlToZips(const rtl::OUString &url) { ++ if ( url.getLength() == 0 ) ++ return; ++ m_zips.push_back( ++ std::make_pair( ++ url, ++ css::uno::Reference< css::container::XNameAccess >())); ++ sal_Int32 nLibDirPos = url.indexOf( m_libdir ); ++ if ( nLibDirPos >= 0 ) { ++ m_zips.push_back( ++ std::make_pair( ++ url.replaceAt( nLibDirPos, m_libdir.getLength(), m_datadir ), ++ css::uno::Reference< css::container::XNameAccess >())); ++ } ++} ++ + void ImplImageTree::resetZips() { + m_zips.clear(); + { +@@ -284,19 +304,14 @@ void ImplImageTree::resetZips() { + b.appendAscii(RTL_CONSTASCII_STRINGPARAM("_brand.zip")); + bool ok = u.Append(b.makeStringAndClear(), INetURLObject::ENCODE_ALL); + OSL_ASSERT(ok); (void) ok; +- m_zips.push_back( +- std::make_pair( +- u.GetMainURL(INetURLObject::NO_DECODE), +- css::uno::Reference< css::container::XNameAccess >())); ++ addUrlToZips(u.GetMainURL(INetURLObject::NO_DECODE)); + } + { + rtl::OUString url( + RTL_CONSTASCII_USTRINGPARAM( + "$BRAND_BASE_DIR/share/config/images_brand.zip")); + rtl::Bootstrap::expandMacros(url); +- m_zips.push_back( +- std::make_pair( +- url, css::uno::Reference< css::container::XNameAccess >())); ++ addUrlToZips(url); + } + { + rtl::OUString url( +@@ -310,10 +310,7 @@ + b.appendAscii(RTL_CONSTASCII_STRINGPARAM(".zip")); + bool ok = u.Append(b.makeStringAndClear(), INetURLObject::ENCODE_ALL); + OSL_ASSERT(ok); (void) ok; +- m_zips.push_back( +- std::make_pair( +- u.GetMainURL(INetURLObject::NO_DECODE), +- css::uno::Reference< css::container::XNameAccess >())); ++ addUrlToZips(u.GetMainURL(INetURLObject::NO_DECODE)); + } + if ( m_style == "default" ) + { +@@ -321,9 +333,7 @@ void ImplImageTree::resetZips() { + RTL_CONSTASCII_USTRINGPARAM( + "$BRAND_BASE_DIR/share/config/images.zip")); + rtl::Bootstrap::expandMacros(url); +- m_zips.push_back( +- std::make_pair( +- url, css::uno::Reference< css::container::XNameAccess >())); ++ addUrlToZips(url); + } + } + +diff --git a/xmlhelp/source/cxxhelp/provider/provider.cxx b/xmlhelp/source/cxxhelp/provider/provider.cxx +index e55fe5d..848bed7 100644 +--- a/xmlhelp/source/cxxhelp/provider/provider.cxx ++++ b/xmlhelp/source/cxxhelp/provider/provider.cxx +@@ -335,7 +335,7 @@ void ContentProvider::init() + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( " " )) + + setupextension ); + +- uno::Sequence< rtl::OUString > aImagesZipPaths( 2 ); ++ uno::Sequence< rtl::OUString > aImagesZipPaths( 3 ); + xHierAccess = getHierAccess( sProvider, "org.openoffice.Office.Common" ); + + rtl::OUString aPath( getKey( xHierAccess, "Path/Current/UserConfig" ) ); +@@ -344,6 +344,15 @@ void ContentProvider::init() + + aPath = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/share/config")); + rtl::Bootstrap::expandMacros(aPath); ++ aImagesZipPaths[ 2 ] = aPath; ++ ++ // try also /usr/share and even before /usr/lib ++ ::rtl::OUString aDataDir = ::rtl::OUString::createFromAscii ( "/usr/share/" ); ++ ::rtl::OUString aLibDir = ::rtl::OUString::createFromAscii ( "/usr/lib/" ); ++ sal_Int32 nLibDirPos = aPath.indexOf( aLibDir ); ++ ++ if ( nLibDirPos >= 0 ) ++ aPath = aPath.replaceAt( nLibDirPos, aLibDir.getLength(), aDataDir ); + aImagesZipPaths[ 1 ] = aPath; + + uno::Reference< uno::XComponentContext > xContext; diff --git a/debian/patches/sensible-lomua.diff b/debian/patches/sensible-lomua.diff new file mode 100644 index 00000000000..6b98bbc4d6e --- /dev/null +++ b/debian/patches/sensible-lomua.diff @@ -0,0 +1,50 @@ +Index: libreoffice-3.6.2~rc1/officecfg/registry/data/org/openoffice/Office/Common.xcu +=================================================================== +--- libreoffice-3.6.2~rc1.orig/officecfg/registry/data/org/openoffice/Office/Common.xcu 2012-10-07 21:03:17.662850386 -0400 ++++ libreoffice-3.6.2~rc1/officecfg/registry/data/org/openoffice/Office/Common.xcu 2012-10-07 21:03:57.174850591 -0400 +@@ -655,7 +655,7 @@ + + + +- ++ sensible-lomua + + + +Index: libreoffice-3.6.2~rc1/shell/source/unix/misc/senddoc.sh +=================================================================== +--- libreoffice-3.6.2~rc1.orig/shell/source/unix/misc/senddoc.sh 2012-10-07 21:03:17.662850386 -0400 ++++ libreoffice-3.6.2~rc1/shell/source/unix/misc/senddoc.sh 2012-10-07 21:29:13.074858447 -0400 +@@ -59,6 +59,32 @@ + shift + fi + ++case `basename "$MAILER"` in ++ sensible-lomua) ++ if [ -x /usr/bin/xdg-email ] ; then ++ MAILER=/usr/bin/xdg-email ++ elif [ -n "$KDE_FULL_SESSION" -a -x /usr/bin/kde-open ] \ ++ || [ -x /usr/bin/gnome-open ] \ ++ || [ -x /usr/bin/xdg-open ]; then ++ # use an undefined mailer, to trigger the default handling ++ MAILER=undefined ++ elif [ -n "$GNOME_DESKTOP_SESSION_ID" -a -x /usr/bin/evolution ]; then ++ MAILER=/usr/bin/evolution ++ elif [ -n "$KDE_FULL_SESSION" -a -x /usr/bin/kmail ]; then ++ MAILER=/usr/bin/kmail ++ elif [ -x /usr/bin/evolution ]; then ++ # default ++ MAILER=/usr/bin/evolution ++ elif [ -x /usr/bin/icedove ]; then ++ # fallback ++ MAILER=/usr/bin/icedove ++ elif [ -x /usr/bin/thunderbird ]; then ++ # fallback ++ MAILER=/usr/bin/thunderbird ++ fi ++ ;; ++esac ++ + # autodetect mail client from executable name + case $(basename "$MAILER" | sed 's/-.*$//') in + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000000..feb3f308ed9 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,66 @@ +no-check-if-root.diff +debian-opt.diff +jurt-soffice-location.diff +split-evoab.diff +debian-debug.diff +#fix-system-lpsolve-build.diff +build-against-shared-lpsolve.diff +install-fixes.diff +mention-java-common-package.diff +help-msg-add-package-info.diff +sensible-lomua.diff +reportdesign-mention-package.diff +jdbc-driver-classpaths.diff +mysqlcppconn-libmysqlclient-SONAME.diff +#search-usr-share-for-images.diff +make-package-modules-not-suck.diff +mediwiki-oor-replace.diff +debian-hardened-buildflags-CPPFLAGS.diff +debian-hardened-buildflags-no-LO-fstack-protector-strong.diff +disable-flaky-tests.diff +#dont-touch-urd.diff +fix-internal-hsqldb-build.diff +javadoc-optional.diff +hppa-is-32bit.diff +no-packagekit-per-default.diff +system-officeotron-and-odfvalidator.diff +allow-opensymbol-rebuild.diff +no-openssl.diff +disable-some-sc-tests-with-internal-cppunit.diff +cppunit-optional.diff +disable-unused-test-programs.diff +apparmor-complain.diff +hide-math-desktop-file.patch +appstream-ignore-startcenter.diff +disable-java-in-odk-build-examples-on-zero-vm.diff +do-not-hide-test-output.diff +no-ant-check-if-unneeded.diff +test-apparmor-profiles.diff +apparmor-allow-java.security.diff +apparmor-kde.diff +apparmor-cleanups.diff +fix-tests-openjdk11.patch +apparmor-mesa.diff +disableClassPathURLCheck.diff +use-mariadb-java-instead-of-mysql-java.diff +mdds-1.4.1.diff +orcus-0.14.diff +m68k-fix-parameter-type.patch +apparmor-opencl.diff +tdf123077.diff +java.vendor-Debian.diff +jp-JP-Reiwa.diff +sanitize-LibreLogo-calls.diff +explictly-exclude-LibreLogo-from-XScript-usage.diff +More-uses-of-referer-URL-with-SvxBrushItem.diff +expand-LibreLogo-checks-to-global-events.diff +decode-url-escape-codes-and-check-each-path-segment.diff +keep-name-percent-encoded.diff +Properly-obtain-location.diff +expand-pyuno-path-separators.diff +construct-final-url-from-parsed-output.diff +an-absolute-uri-is-invalid-input.diff +Improve-check-for-absolute-URI.diff +Improve-check.diff +allow-link-updates-in-an-intermediate-linked-document.diff +Postgresql-12-no-adsrc.diff diff --git a/debian/patches/split-evoab.diff b/debian/patches/split-evoab.diff new file mode 100644 index 00000000000..f563560099f --- /dev/null +++ b/debian/patches/split-evoab.diff @@ -0,0 +1,61 @@ +diff --git a/scp2/source/gnome/file_gnome.scp b/scp2/source/gnome/file_gnome.scp +index c7a13c8..a3f59a6 100644 +--- a/scp2/source/gnome/file_gnome.scp ++++ b/scp2/source/gnome/file_gnome.scp +@@ -25,3 +25,13 @@ File gid_File_Share_Registry_Gnome_Xcd + Name = "gnome.xcd"; + End + #endif ++ ++#ifdef ENABLE_EVOAB2 ++File gid_File_Share_Registry_Evoab_Xcd ++ TXT_FILE_BODY; ++ Styles = (PACKED); ++ Dir = gid_Brand_Dir_Share_Registry; ++ Name = "evoab.xcd"; ++End ++#endif ++ +diff --git a/scp2/source/gnome/module_gnome.scp b/scp2/source/gnome/module_gnome.scp +index 08d9efe..492e274 100644 +--- a/scp2/source/gnome/module_gnome.scp ++++ b/scp2/source/gnome/module_gnome.scp +@@ -31,6 +31,9 @@ Module gid_Module_Optional_Gnome + #if ENABLE_GIO + ,gid_File_Share_Registry_Gnome_Xcd + #endif ++#ifdef ENABLE_EVOAB2 ++ ,gid_File_Share_Registry_Evoab_Xcd ++#endif + ); + End + +diff --git a/postprocess/CustomTarget_registry.mk b/postprocess/CustomTarget_registry.mk +index 510b444..3ff190f 100644 +--- a/postprocess/CustomTarget_registry.mk ++++ b/postprocess/CustomTarget_registry.mk +@@ -331,8 +331,9 @@ ifneq ($(WITH_WEBDAV),) + postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/ucb/Configuration-webdav.xcu + endif + ifeq ($(ENABLE_EVOAB2),TRUE) +-postprocess_FILES_main += $(call gb_XcuModuleTarget_get_target,connectivity/registry/evoab2)/org/openoffice/Office/DataAccess/Drivers-evoab2.xcu +-postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/Office/DataAccess-evoab2.xcu ++postprocess_XCDS += evoab.xcd ++postprocess_FILES_evoab += $(call gb_XcuModuleTarget_get_target,connectivity/registry/evoab2)/org/openoffice/Office/DataAccess/Drivers-evoab2.xcu ++postprocess_FILES_evoab += $(postprocess_MOD)/org/openoffice/Office/DataAccess-evoab2.xcu + postprocess_DRIVERS += evoab + endif + ifeq ($(ENABLE_JAVA),TRUE) +diff --git a/scp2/InstallModule_gnome.mk b/scp2/InstallModule_gnome.mk +index c33f4f52d67b..8f06c0273eff 100644 +--- a/scp2/InstallModule_gnome.mk ++++ b/scp2/InstallModule_gnome.mk +@@ -19,4 +19,8 @@ $(eval $(call gb_InstallModule_add_localized_scpfiles,scp2/gnome,\ + scp2/source/gnome/module_gnome \ + )) + ++$(eval $(call gb_InstallModule_define_if_set,scp2/gnome,\ ++ ENABLE_EVOAB2 \ ++)) ++ + # vim: set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/debian/patches/system-officeotron-and-odfvalidator.diff b/debian/patches/system-officeotron-and-odfvalidator.diff new file mode 100644 index 00000000000..6d4dd732c4a --- /dev/null +++ b/debian/patches/system-officeotron-and-odfvalidator.diff @@ -0,0 +1,16 @@ +diff --git a/bin/odfvalidator.sh.in b/bin/odfvalidator.sh.in +index 56e2f29..9415ef6 100644 +--- a/bin/odfvalidator.sh.in ++++ b/bin/odfvalidator.sh.in +@@ -1,2 +1,2 @@ + #!/usr/bin/env bash +-java -Djavax.xml.validation.SchemaFactory:http://relaxng.org/ns/structure/1.0=org.iso_relax.verifier.jaxp.validation.RELAXNGSchemaFactoryImpl -Dorg.iso_relax.verifier.VerifierFactoryLoader=com.sun.msv.verifier.jarv.FactoryLoaderImpl -jar @TARFILE_LOCATION@/@ODFVALIDATOR_JAR@ -e "$@" ++java -Djavax.xml.validation.SchemaFactory:http://relaxng.org/ns/structure/1.0=org.iso_relax.verifier.jaxp.validation.RELAXNGSchemaFactoryImpl -Dorg.iso_relax.verifier.VerifierFactoryLoader=com.sun.msv.verifier.jarv.FactoryLoaderImpl -jar /usr/share/java/odfvalidator.jar -e "$@" +diff --git a/bin/officeotron.sh.in b/bin/officeotron.sh.in +index 7281f1b..6eab5b5 100644 +--- a/bin/officeotron.sh.in ++++ b/bin/officeotron.sh.in +@@ -1,2 +1,2 @@ + #!/usr/bin/env bash +-java -jar @TARFILE_LOCATION@/@OFFICEOTRON_JAR@ "$@" ++java -jar /usr/share/java/officeotron.jar "$@" diff --git a/debian/patches/tdf123077.diff b/debian/patches/tdf123077.diff new file mode 100644 index 00000000000..c2b3ab09e7d --- /dev/null +++ b/debian/patches/tdf123077.diff @@ -0,0 +1,42 @@ +From f8bef86cc88e99b32e223b2bd675959c6d8e46ad Mon Sep 17 00:00:00 2001 +From: Michael Weghorn +Date: Thu, 31 Jan 2019 09:52:51 +0100 +Subject: tdf#123077 gtk3_kde5: Set KFileWidget's custom widget only once + +Since the event filter is only used to set the custom +widget in the KFileWidget, it can and needs to be removed +again once this has been done; which also avoids crashes. + +(s. https://gerrit.libreoffice.org/#/c/67185/ for more +infos, where the same thing is done for kde5) + +Change-Id: I5c719fb17510916b4730ed5c00bb638df2f183e3 +Reviewed-on: https://gerrit.libreoffice.org/67184 +Tested-by: Jenkins +Reviewed-by: Michael Weghorn +(cherry picked from commit 30cc54a4532a732a0cf6dfe9943521978ff7292f) +Reviewed-on: https://gerrit.libreoffice.org/67204 +Reviewed-by: Thorsten Behrens +--- + vcl/unx/gtk3_kde5/kde5_filepicker.cxx | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx +index 42e278a..804aaa6 100644 +--- a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx ++++ b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx +@@ -241,7 +241,11 @@ bool KDE5FilePicker::eventFilter(QObject* o, QEvent* e) + { + KWindowSystem::setMainWindow(w, _winId); + if (auto* fileWidget = w->findChild({}, Qt::FindDirectChildrenOnly)) ++ { + fileWidget->setCustomWidget(_extraControls); ++ // remove event filter again; the only purpose was to set the custom widget here ++ qApp->removeEventFilter(this); ++ } + } + } + return QObject::eventFilter(o, e); +-- +cgit v1.1 + diff --git a/debian/patches/test-apparmor-profiles.diff b/debian/patches/test-apparmor-profiles.diff new file mode 100644 index 00000000000..0e6d0230611 --- /dev/null +++ b/debian/patches/test-apparmor-profiles.diff @@ -0,0 +1,54 @@ +From 92e09eda030a7fb63339954078bbc64d83f834b1 Mon Sep 17 00:00:00 2001 +From: Rene Engelhard +Date: Wed, 13 Jun 2018 21:37:12 +0200 +Subject: [PATCH] test apparmor profile parsing (see tdf#114915) + +idea taken from +https://salsa.debian.org/apparmor-team/apparmor-profiles-extra/commit/7fbcc4788d0e94764eeeff2f080796601241f986#546c1096cd506dbb01a47ed87a636a8e94d83b8c + +Change-Id: I7e5bda9224d69530af4d30422c2fd3d60c9929d6 +--- + sysui/desktop/share/apparmor.sh | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/sysui/desktop/share/apparmor.sh b/sysui/desktop/share/apparmor.sh +index 253fe87cf78d..c801f0f3b217 100755 +--- a/sysui/desktop/share/apparmor.sh ++++ b/sysui/desktop/share/apparmor.sh +@@ -19,16 +19,17 @@ INST_ROOT=$1 #Where libreoffice program folder can be found + PROFILESFROM=$2 #Where the profile files are + INSTALLTO=$3 #Where should the apparmor profiles (For manual use should be /etc/apparmor.d) + RESTART=$4 #Should we restart apparmor using service? ++CHECK=$5 #Check parsing of the new profile? + + #Example uses: + #Ubuntu 16.04 with stock LibreOffice: +-# sudo ./sysui/desktop/share/apparmor.sh /usr/lib/libreoffice/ sysui/desktop/apparmor/ /etc/apparmor.d/ true ++# sudo ./sysui/desktop/share/apparmor.sh /usr/lib/libreoffice/ sysui/desktop/apparmor/ /etc/apparmor.d/ true true + + #Ubuntu 16.04, with built debs from LibreOffice git +-# sudo ./sysui/desktop/share/apparmor.sh /opt/libreofficedev5.2/ sysui/desktop/apparmor/ /etc/apparmor.d/ true ++# sudo ./sysui/desktop/share/apparmor.sh /opt/libreofficedev5.2/ sysui/desktop/apparmor/ /etc/apparmor.d/ true true + + #Ubuntu 16.04, running from git! +-# sudo ./sysui/desktop/share/apparmor.sh /mnt/store/git/libo/instdir/ sysui/desktop/apparmor/ /etc/apparmor.d/ true ++# sudo ./sysui/desktop/share/apparmor.sh /mnt/store/git/libo/instdir/ sysui/desktop/apparmor/ /etc/apparmor.d/ true true + + #Need to convert / to . for profile names + INST_ROOT_FORMAT=${INST_ROOT/\//} +@@ -43,7 +44,11 @@ do + tourl=$INSTALLTO$INST_ROOT_FORMAT${filename##*/} + sed "s/INSTDIR-/$INST_ROOT_SED/g" "$filename" > "$tourl" + echo "$tourl" +- ++ if [ "$CHECK" = "true" ]; then ++ # check profile parsing ++ echo "Checking $tourl profile." ++ /sbin/apparmor_parser --add --skip-cache --skip-kernel-load $tourl ++ fi + done + + if [ "$RESTART" = true ] ; then +-- +2.17.1 + diff --git a/debian/patches/use-mariadb-java-instead-of-mysql-java.diff b/debian/patches/use-mariadb-java-instead-of-mysql-java.diff new file mode 100644 index 00000000000..7ac47988883 --- /dev/null +++ b/debian/patches/use-mariadb-java-instead-of-mysql-java.diff @@ -0,0 +1,69 @@ +>From 1172166889764ae0e77488e5d173f33961b9859b Mon Sep 17 00:00:00 2001 +From: Markus Koschany +Date: Fri, 9 Nov 2018 23:06:15 +0100 +Subject: [PATCH] mariadb + +--- + connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java | 4 ++-- + .../mysql/org/openoffice/Office/DataAccess/Drivers.xcu | 2 +- + connectivity/source/drivers/mysql/YDriver.cxx | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java b/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java +index a44f1b9d1..03a8293ef 100644 +--- a/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java ++++ b/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java +@@ -59,7 +59,7 @@ public class JdbcLongVarCharTest extends ComplexTestCase + + String url = "jdbc:mysql://localhost:3306/mysql?user=root"; + com.sun.star.beans.PropertyValue prop[] = new PropertyValue[1]; +- prop[0] = new PropertyValue("JavaDriverClass", 0, "com.mysql.jdbc.Driver", PropertyState.DIRECT_VALUE); ++ prop[0] = new PropertyValue("JavaDriverClass", 0, "org.mariadb.jdbc.Driver", PropertyState.DIRECT_VALUE); + + // get the remote office component context + XMultiServiceFactory xServiceManager = param.getMSF(); +@@ -117,4 +117,4 @@ public class JdbcLongVarCharTest extends ComplexTestCase + System.exit(0); + } + } +-} +\ No newline at end of file ++} +diff --git a/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu b/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu +index 77988448f..acd8bfdaf 100644 +--- a/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu ++++ b/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu +@@ -33,7 +33,7 @@ + + + +- com.mysql.jdbc.Driver ++ org.mariadb.jdbc.Driver + + + +diff --git a/connectivity/source/drivers/mysql/YDriver.cxx b/connectivity/source/drivers/mysql/YDriver.cxx +index 95094265e..c0ad7802e 100644 +--- a/connectivity/source/drivers/mysql/YDriver.cxx ++++ b/connectivity/source/drivers/mysql/YDriver.cxx +@@ -54,7 +54,7 @@ namespace connectivity + css::uno::Sequence const & info) + { + return comphelper::NamedValueCollection(info).getOrDefault( +- "JavaDriverClass", OUString("com.mysql.jdbc.Driver")); ++ "JavaDriverClass", OUString("org.mariadb.jdbc.Driver")); + } + } + +@@ -185,7 +185,7 @@ namespace connectivity + aProps.push_back( PropertyValue( + "JavaDriverClass" + ,0 +- ,makeAny(OUString("com.mysql.jdbc.Driver")) ++ ,makeAny(OUString("org.mariadb.jdbc.Driver")) + ,PropertyState_DIRECT_VALUE) ); + } + } +-- +2.19.1 + diff --git a/debian/python3-uno.NEWS b/debian/python3-uno.NEWS new file mode 100644 index 00000000000..fb4312b42c4 --- /dev/null +++ b/debian/python3-uno.NEWS @@ -0,0 +1,11 @@ +libreoffice (1:3.5.2-2) unstable; urgency=low + + * The script provider for python (which was in python3-uno before) has been + split out into libreoffice-script-provider-python as it's the same in both + variants and python3-uno should contain just the module anyway. + + If you relied on python3-uno for the script provider, install the new + package in addition. + + -- Rene Engelhard Sat, 07 Apr 2012 14:30:41 +0200 + diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000000..5e206f8b5d2 --- /dev/null +++ b/debian/rules @@ -0,0 +1,3825 @@ +#!/usr/bin/make -f +################################################################################ +# LibreOffice source package rules file +# +# Please see debian/README for detailed documentation about the build system, and +# how to build LibreOffice. +################################################################################ +# Authors: +# Chris Halls +# Rene Engelhard +# Copyright 2002-2015 Software in the Public Interest, Inc. +# Portions Copyright 2010 Canonical Ltd. Author: Matthias Klose +# Portions Copyright 2011-2013 Canonical Ltd. Author: Bjoern Michaelsen +# Licensed under the GNU General Public License, version 2. See the file +# /usr/share/common-licenses/GPL or . +################################################################################ + +vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1))) + +include /usr/share/dpkg/pkg-info.mk +CURDIR ?= $(realpath $(dir $(firstword $(MAKEFILE_LIST)))/..) +BASE_VERSION:=$(shell echo $(DEB_VERSION) | cut -d: -f1):$(DEB_VERSION_UPSTREAM) +BINARY_VERSION=$(DEB_VERSION) +#HELP_L10N_VIRTUAL_VERSION:=$(shell echo $(DEB_VERSION_UPSTREAM) | cut -d: -f2 | tr [~] [\\-]) +HELP_L10N_VIRTUAL_VERSION:=6.1 +OOVER:=6.1 +NEXT_OOVER:=$(shell echo "$(OOVER) + 0.1" | bc) + +ARCH_INDEP_PACKAGES := $(shell dh_listpackages -i) +ARCH_DEP_PACKAGES := $(shell dh_listpackages -a) +PACKAGES := $(ARCH_INDEP_PACKAGES) $(ARCH_DEP_PACKAGES) + +include /usr/share/dpkg/architecture.mk +include /usr/share/dpkg/vendor.mk +SHELL:=/bin/bash + +#SYSTEM_GCC_VERSION = $(shell gcc --version | sed -n '/^gcc/s/.*\(.\..\)\..$$/\1/p') +#FIXME +SYSTEM_GCC_VERSION = $(shell gcc --version | sed -n '/^gcc/s/.*\(.\..\)\../\1/p' | cut -d" " -f1) +ifeq "$(shell dpkg --compare-versions $(SYSTEM_GCC_VERSION) ge 5 && echo true)" "true" + GCC_VERSION_5_OR_GREATER=y +endif + +PKGDIR:=debian/libreoffice +OODIRNAME=libreoffice +OODIR:=usr/lib/$(OODIRNAME) +OOSDKDIR:=$(OODIR)/sdk + +# Figure out who's building this package. +OOO_VENDOR:=The Document Foundation/Debian +ifeq "$(DEB_VENDOR)" "Ubuntu" +OOO_VENDOR=The Document Foundation, Debian and Ubuntu +endif +export OOO_VENDOR + +# debhelper +export DH_OPTIONS +export DH_ALWAYS_EXCLUDE=CVS:.svn:.bzr:.git +#export DH_VERBOSE=1 +# quilt +export QUILT_PATCHES=debian/patches +export QUILT_OPTIONS="-p1 -F0" + +SOURCE_TREE=. +STAMP_DIR=debian/stampdir +TARFILE_LOCATION=$(CURDIR)/tarballs +export TARFILE_LOCATION +USE_SOURCE_TARBALLS=n +USE_GIT_TARBALLS=n +ifeq "$(USE_GIT_TARBALLS)" "y" +GIT_BASEURL:=git://anongit.freedesktop.org/libreoffice +lo_sources_ver=$(shell grep AC_INIT $(SOURCE_TREE)/configure.ac | grep documentfoundation | cut -d, -f2 | sed -e 's,\[,,' -e 's,\],,') +# NOT in proper libreoffice-3-6 branch +# use ./g checkout -b tag-libreoffice-3.6.2.1 libreoffice-3.6.2.1 +GIT_TAG=libreoffice-$(lo_sources_ver) +GIT_BRANCH=libreoffice-6-1-5 +endif +ifeq "$(USE_SOURCE_TARBALLS)" "y" +lo_sources_ver=$(shell cat $(CURDIR)/sources.ver | cut -d= -f2) +endif + +######### +# Default package configuration +# +OOO_ARCHS = alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 +PATCHSET=$(DEB_VENDOR) +BUILD_DEPS=\ + autoconf,\ + automake,\ + bc,\ + bison,\ + bzip2,\ + flex (>= 2.3.35), \ + fontforge-nox | fontforge, \ + gperf,\ + libc0.1 (>= 2.10.2-7) [kfreebsd-any],\ + libcups2-dev,\ + libfontconfig1-dev,\ + libfreetype6-dev (>= 2.2.0),\ + libgl1-mesa-dev,\ + libice-dev,\ + libsm-dev,\ + libx11-dev,\ + libxaw7-dev,\ + libxext-dev,\ + libxinerama-dev,\ + libxkbfile-dev,\ + libxrender-dev,\ + libxt-dev,\ + libxtst-dev,\ + pkg-config,\ + unzip,\ + x11proto-render-dev,\ + xsltproc,\ + zip,\ + zlib1g-dev\ + +BUILD_DEPS_INDEP += rdfind, symlinks + +# These are components which can be built from internal copies, or used from the +# distribution. See configure --help for valid values (--with-system-). +SYSTEM_STUFF = dicts + +ENABLE_PYTHON=y +ifeq "$(ENABLE_PYTHON)" "y" + CONFIGURE_FLAGS += --with-python=system + ENABLE_SCRIPT_PROVIDER_PYTHON=y + PACKAGE_LIBRELOGO=y +endif +# THIS IS ONLY FOR TESTING. When building against a specified pythonX.Y +# this will work inside OOo but *not* from outside OOo unless the user +# uses pythonX.Y directly (and the dh_pycentral-created dependencies allow +# also the non-working default python then) - see e.g. #587402. Also +# note we are NOT working with python < 2.6 anymore! +PYTHON_VERSION=current +ifeq "$(PYTHON_VERSION)" "current" + PYTHON=python3 + export PYTHON +else + # somehow configure insists on using python3 "for pyuno". The only way to + # override this (afaics) is this... + PYTHON=python$(PYTHON_VERSION) + PYTHON_CFLAGS=$(shell pkg-config --cflags python-$(PYTHON_VERSION)) + PYTHON_LIBS=$(shell pkg-config --libs python-$(PYTHON_VERSION)) + export PYTHON PYTHON_VERSION PYTHON_CFLAGS PYTHON_LIBS +endif +BUILD_ONLY_EN_US=n +ENABLE_JAVA=y +ifeq "$(ENABLE_JAVA)" "y" + JDK=default + include /usr/share/java/java_defaults.mk + ifneq "$(JDK)" "default" + JAVA_MAINVER=7 + endif +endif +JAVAHELPER_MIN_VERSION= (>= 0.37~) +SYSTEM_STUFF += hunspell +HUNSPELL_MIN_VER= (>= 1.1.5-2) +SYSTEM_STUFF += altlinuxhyph +USE_LIBHYPHEN=y +LIBHYPHEN_MINVER= (>= 2.4) +SYSTEM_STUFF += boost +BOOST_VERSION=default +ifeq "$(BOOST_VERSION)" "default" + ifeq "$(GCC_VERSION_5_OR_GREATER)" "y" + BOOST_MINVER= (>= 1.58) + else + BOOST_MINVER= (>= 1.55) + endif +endif +SYSTEM_STUFF += mdds +USE_EXTERNAL_CXXLIBS=y +SYSTEM_STUFF += mythes +SYSTEM_STUFF += icu +ICU_MINVER= (>= 52) +SYSTEM_STUFF += librevenge +SYSTEM_STUFF += libwpd libwpg libwps +SYSTEM_STUFF += libvisio +SYSTEM_STUFF += libcdr +SYSTEM_STUFF += libmspub +SYSTEM_STUFF += libmwaw +SYSTEM_STUFF += libodfgen +SYSTEM_STUFF += libepubgen +SYSTEM_STUFF += libetonyek +SYSTEM_STUFF += libfreehand +# this is libe-book, NOT evolutions libebook (which is +# dlopen()'ed anyway and whose headers we need from the +# system anyways if enabled +SYSTEM_STUFF += libebook +SYSTEM_STUFF += libabw +SYSTEM_STUFF += libpagemaker +SYSTEM_STUFF += libzmf +SYSTEM_STUFF += libstaroffice +SYSTEM_STUFF += libqxp +BUILD_CAIROCANVAS=y +SYSTEM_STUFF += cairo +CAIRO_FONTS_PATCH=y +BUILD_KDE=y +BUILD_KDE4=n +# < 4.8 fails with gcc 4.7, see #667911 +QT4_MINVER= (>= 4:4.8) +KDELIBS_MINVER= (>= 4:4.3.4) +BUILD_KDE5=y +ifeq "$(DEB_HOST_ARCH_BITS)" "64" +ENABLE_QT5=n +endif +QT5_MINVER= (>= 5.6) +ifeq "$(BUILD_KDE)" "y" + ENABLE_GTK3_KDE5=y + ENABLE_KDE5=n + KDE_MAJOR=5 +endif +ifeq "$(BUILD_KDE)" "y" +ifeq "$(BUILD_KDE4)" "y" +ifeq "$(BUILD_KDE5)" "y" + $(error only either KDE4 or KDE5 supported) +endif +endif +endif +# https://www.debian.org/doc/debian-policy/ says this is not defined and must +# be ignored, but dh_strip mentions (and honours) it, so... +ifneq (noautodbgsym,$(findstring noautodbgsym,$(DEB_BUILD_OPTIONS))) +BUILD_DBGSYM_PACKAGES=y +ifeq "$(DEB_HOST_ARCH)" "amd64" +USE_DWZ=n +DWZ_ARGS:=-L 100000000 +endif +endif +SYSTEM_STUFF += xmlsec + +# this changes the packages built/contents of packages (-subsequentcheckbase) +# This is not exactly allowed in https://wiki.debian.org/BuildProfileSpec#Registered_profile_names +# but it doesn't have real practical difference, does it? +ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + BUILD_TEST_PACKAGES=y +endif + +ifneq ($(MAKECMDGOALS),build-indep) +ENABLE_SYMBOLS=y +SMALL_SYMBOLS=y +endif + +ifeq "$(ENABLE_JAVA)" "y" + SYSTEM_STUFF += beanshell + SYSTEM_STUFF += hsqldb + HSQLDB_MINVER= (>> 1.8.0.10) + HSQLDB_TOONEWVER=1.8.1 + HSQLDB_JAR=/usr/share/java/hsqldb1.8.0.jar +endif +SYSTEM_STUFF += lpsolve +USE_SHARED_LPSOLVE=y +LPSOLVE_MIN_VERSION= (>= 5.5.0.13-5+b1) +ENABLE_COINMP=y +SYSTEM_STUFF += coinmp +USE_DBUS=y +ifeq "$(USE_DBUS)" "y" + ifeq (,$(findstring linux,$(DEB_HOST_ARCH_OS))) + ENABLE_BLUETOOTH=n + else + ENABLE_BLUETOOTH=y + SYSTEM_STUFF += bluez + endif + ENABLE_PACKAGEKIT=n +endif +ENABLE_AVAHI=y +USE_GSTREAMER=y +USE_VLC=y +ENABLE_WEBDAV=y +ifeq "$(ENABLE_WEBDAV)" "y" +WEBDAV_LIB=neon + ifeq "$(WEBDAV_LIB)" "neon" + SYSTEM_STUFF += neon + NEON_SECTYPE=gnutls + NEONSONR=27 + else + SYSTEM_STUFF += apr + SYSTEM_STUFF += serf + endif +endif +SYSTEM_STUFF += redland +PACKAGE_SDK=y +ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),) +PACKAGE_SDK_DOCS=n +else +PACKAGE_SDK_DOCS=y +endif +PACKAGE_LOKIT=y +ENABLE_CHART_TESTS=n +ENABLE_EXPORT_VALIDATION_TESTS=n +JUNIT_MIN_VER= (>= 4.8.2-2) +USE_LIBCURL4=y +CURL_SECTYPE=gnutls +USE_LIBSUITESPARSE=y +SUITESPARSE_MIN_VERSION= (>= 1:3.4.0) +PARALLEL_BUILD=y +ENABLE_LDAP=y +USE_OPENLDAP=y +SYSTEM_STUFF += epoxy +ifeq "$(ENABLE_JAVA)" "y" + ENABLE_REPORTBUILDER=y + SYSTEM_STUFF += jfreereport + ENABLE_MEDIAWIKI=y + SYSTEM_STUFF += apache-commons + ENABLE_SCRIPT_PROVIDER_BSH=y + ENABLE_SCRIPT_PROVIDER_JS=y + ENABLE_NLPSOLVER=y +else + ENABLE_REPORTBUILDER=n + ENABLE_MEDIAWIKI=n + ENABLE_SCRIPT_PROVIDER_BSH=n + ENABLE_SCRIPT_PROVIDER_JS=n + ENABLE_NLPSOLVER=n +endif +ENABLE_SDBC_POSTGRESQL=y +BUILD_GTK=y +#ifeq "$(DEB_DISTRIBUTION)" "experimental" +BUILD_GTK3=y +#endif +ifeq "$(BUILD_GTK3)" "y" +ENABLE_INTROSPECTION=y +endif +ENABLE_EVO2=y +ENABLE_GIO=y +ENABLE_DCONF=y +ENABLE_RANDR=y +PACKAGE_BASE=y +SYSTEM_STUFF += graphite +SYSTEM_STUFF += harfbuzz +ALLOC=system +SYSTEM_STUFF += libexttextcat +SYSTEM_STUFF += cppunit +CPPUNIT_MINVER=1.14 +DEFAULT_IMAGE=tango +IMAGES:=$(DEFAULT_IMAGE) colibre sifr sifr_dark breeze breeze_dark elementary +CONFIGURE_FLAGS_INDEP += --with-theme="$(IMAGES)" +DICT_DIR=/usr/share/hunspell +HYPH_DIR=/usr/share/hyphen +THES_DIR=/usr/share/mythes +SYSTEM_STUFF += libcmis +ifeq "$(GCC_VERSION_5_OR_GREATER)" "y" +LIBCMIS_MINVER=0.5.0-3 +else +LIBCMIS_MINVER=0.5.0 +endif +ENABLE_MYSQLNATIVE=y +MYSQL_FLAVOUR=default +# set this also to y for system-mysql.. +SYSTEM_STUFF += mariadb +SYSTEM_STUFF += mysql-cppconn +ifeq "$(GCC_VERSION_5_OR_GREATER)" "y" + ifneq (,$(filter libcmis, $(SYSTEM_STUFF))) + ifeq "$(shell dpkg --compare-versions `dpkg -l libcmis-dev | grep ^ii | awk '{ print $$3 }'` ge 0.5.2~ && echo true)" "true" + MYSQLCPPCONN_MINVER= (>= 1.1.9-4) + else + MYSQLCPPCONN_MINVER= (>= 1.1.7-4) + endif + else + MYSQLCPPCONN_MINVER= (>= 1.1.7-4) + endif +else +MYSQLCPPCONN_MINVER= (>= 1.1.0~r791) +endif +SYSTEM_STUFF += postgresql +SYSTEM_STUFF += jpeg +SYSTEM_STUFF += libxml +SYSTEM_STUFF += expat +SYSTEM_STUFF += odbc +SYSTEM_STUFF += curl +SYSTEM_STUFF += sane +SYSTEM_STUFF += poppler +SYSTEM_STUFF += libpng +SYSTEM_STUFF += nss +ENABLE_HELP=y +ifeq "$(ENABLE_HELP)" "y" + ENABLE_HTML_HELP=y + ifeq "$(ENABLE_HTML_HELP)" "y" + HELP_DEPENDS := libreoffice-help-common (= $${binary:Version}), firefox-esr | epiphany-browser | konqueror | chromium | firefox + HELP_COMMON_DEPENDS := libjs-normalize.css + else + HELP_DEPENDS := libreoffice-writer + DEBHELPER_OPTIONS += -Nlibreoffice-help-common + endif + SYSTEM_STUFF += clucene + ifeq "$(GCC_VERSION_5_OR_GREATER)" "y" + CLUCENE_MINVER=2.3.3.4-4.1 + else + CLUCENE_MINVER=2.3.3.4-2 + endif +endif +SYSTEM_STUFF += lcms2 +SYSTEM_STUFF += openldap +PACKAGE_UNOWINREG_DLL=y +ifeq "$(DEB_VENDOR)" "Debian" +BUILD_UNOWINREG_DLL=y +endif +FAKEROOT_LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)/libfakeroot +SYSTEM_STUFF += liblangtag +SYSTEM_STUFF += orcus +LIBORCUS_MINVER=0.14.0+really0.14.0 +USE_UCPP=y +ifeq "$(USE_UCPP)" "y" + SYSTEM_STUFF += ucpp +endif +# kfreebsd runs into SIZE_MAX problems, and the rest might +# get OOM (mips(el)...) so enable mergelibs only for 64bit +# archs (exception: i386) +ifeq (,$(findstring kfreebsd,$(DEB_HOST_ARCH))) + ifeq "$(DEB_HOST_ARCH_BITS)" "64" + ENABLE_MERGELIBS=y + else + ifeq "$(DEB_HOST_ARCH)" "i386" + ENABLE_MERGELIBS=y + endif + endif +endif +#ifeq "$(ENABLE_MERGELIBS)" "y" +# ENABLE_LTO=y +#else + ENABLE_LTO=n +#endif +USE_OPENCL=y +#10:15 <@_rene_> ahunt: I remember you wanted to do some endian things? did it +# ever get done? +#10:15 -!- xrmx [~rm@2-228-255-178.ip194.fastwebnet.it] has joined +# #libreoffice-dev +#10:15 <@_rene_> ahunt: for firebird sdbc that is +#10:15 -!- xrmx [~rm@2-228-255-178.ip194.fastwebnet.it] has quit [Changing host] +#10:15 -!- xrmx [~rm@unaffiliated/xrmx] has joined #libreoffice-dev +#10:15 <@_rene_> because I just remember I still have +#https://buildd.debian.org/status/fetch.php?pkg=libreoffice&arch=powerpc&ver=1%3 +# +#10:16 < ahunt> _rene_: Not yet -- I still need to get round to actually +# debugging within firebird itself to make it work. +#10:16 < ahunt> _rene_: Yup, basically we're not endian portable yet. +#10:16 <@_rene_> An uncaught exception of type com.sun.star.sdbc.SQLException +#10:16 <@_rene_> - firebird_sdbc error: +#10:16 <@_rene_> *unsupported on-disk structure for file +# /tmp/lu4va82l.tmp/firebird.fdb; found 2 +#10:16 <@_rene_> 944.512, support 11.2 +#10:16 < xrmx> morning +#10:16 <@_rene_> aha, so disable firebird on be? +#10:16 <@_rene_> (for now) +#10:16 < Safa_[A_boy]> Hello. About converting dialogs to .ui files, What about +# wizards? +#10:17 < ahunt> _rene_: yes, unfortunately. +ENABLE_FIREBIRD=y +ifeq "$(ENABLE_FIREBIRD)" "y" + SYSTEM_STUFF += firebird + ifeq (,$(filter firebird, $(SYSTEM_STUFF))) + SYSTEM_STUFF += libatomic-ops + SYSTEM_STUFF += libtommath + endif +endif +ENABLE_EOT=y +ifeq "$(ENABLE_EOT)" "y" +SYSTEM_STUFF += libeot +endif +SYSTEM_STUFF += glm +BUILD_PPC64EL=y +BUILD_ARM64=y +SYSTEM_STUFF += gpgmepp +INSTALL_APPARMOR_PROFILES=y +ENABLE_APPARMOR_PROFILES=y +CHECK_APPARMOR_PROFILES=true +ENABLE_LIBNUMBERTEXT=y +SYSTEM_STUFF += libnumbertext + +# Default flags to pass to configure +CONFIGURE_FLAGS= \ + --with-vendor='$(OOO_VENDOR)' \ + --with-build-version='$(DEB_VERSION)' \ + --prefix=/usr --mandir=/usr/share/man \ + --docdir=/usr/share/doc/libreoffice \ + --libdir=/usr/lib \ + --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ + --disable-online-update \ + --disable-fetch-external \ + --without-fonts --enable-build-opensymbol \ + --without-myspell-dicts \ + --with-branding=$(CURDIR)/debian/branding + +ifeq "$(ENABLE_HELP)" "y" +CONFIGURE_FLAGS_INDEP+= --with-help + ifeq "$(ENABLE_HTML_HELP)" "y" + CONFIGURE_FLAGS_INDEP+= --with-help=html + endif +endif + +ifeq "$(shell echo $(DEB_VERSION_UPSTREAM) | grep -E '(alpha|beta)'; echo $$?)" "1" +CONFIGURE_FLAGS += --enable-release-build +RELEASE_BUILD := y +endif + +ifeq "$(DEB_DISTRIBUTION)" "UNRELEASED" +ENABLE_DEPENDENCY_TRACKING=y +endif +ifeq "$(DEB_DISTRIBUTION)" "UNRELEASED" +BUGS=mailto:debian-openoffice@lists.debian.org +endif + +ifneq (terse,$(findstring terse,$(DEB_BUILD_OPTIONS))) +export verbose=t +endif + +CONFIGURE_FLAGS += --with-alloc=$(ALLOC) + +############# +# Architecture-specific changes + +# helper to generate no_archs macros (pass name of source macro) +define gen_no_archs + _no_arch_macro = $(subst OOO_,OOO_NO_,$1) + _no_arch_tmp_$1 = $$(foreach _a,$$(filter-out $$(call $1),$(OOO_ARCHS)),!$$(_a)) + $$(_no_arch_macro) = $$(if $$(_no_arch_tmp_$1),$$(_empty) [$$(_no_arch_tmp_$1)]) +endef + +PLATFORMID := $(shell grep PLATFORMID debian/vars.$(DEB_HOST_ARCH) | cut -d"=" -f2) + + +# let's do this only on archs where we have chromium, which is supposedly even only the archs +# where alsp pdfium is supported. +OOO_PDFIUM_ARCHS := i386 amd64 armhf arm64 +ifneq (,$(findstring $(DEB_HOST_ARCH),$(OOO_PDFIUM_ARCHS))) +ENABLE_PDFIUM=y +else +ENABLE_PDFIUM=n +endif + +OOO_64BIT_ARCHS = $(filter alpha amd64 arm64 ia64 kfreebsd-amd64 mips64 mips64el ppc64 ppc64el s390x sparc64, $(OOO_ARCHS)) +$(eval $(call gen_no_archs,OOO_64BIT_ARCHS)) +OOO_BE_ARCHS = $(filter hppa m68k mips mips64 powerpc powerpcspe ppc64 s390 s390x sparc sparc64,$(OOO_ARCHS)) +OOO_LE_ARCHS = $(filter-out $(OOO_BE_ARCHS),$(OOO_ARCHS)) +$(eval $(call gen_no_archs,OOO_LE_ARCHS)) + +OOO_CHECK_ARCHS := $(filter-out kfreebsd-i386 kfreebsd-amd64 $(OOO_BE_ARCHS),$(OOO_ARCHS)) +$(eval $(call gen_no_archs,OOO_CHECK_ARCHS)) +#OOO_JUNIT_ARCHS := i386 amd64 armhf arm64 +OOO_JUNIT_ARCHS := amd64 arm64 +$(eval $(call gen_no_archs,OOO_JUNIT_ARCHS)) +#OOO_CHECK_FATAL_ARCHS := i386 amd64 armhf arm64 +OOO_CHECK_FATAL_ARCHS := amd64 arm64 + +ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),$(OOO_CHECK_ARCHS))) + ifneq "$(DEB_HOST_ARCH_ENDIAN)" "big" + RUN_MAKE_CHECK=y + endif + endif + ifeq "$(ENABLE_JAVA)" "y" + ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),$(OOO_JUNIT_ARCHS))) + ENABLE_JUNIT4=y + endif + endif + IGNORE_MAKE_CHECK_FAILURES=- + ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),$(OOO_CHECK_FATAL_ARCHS))) + IGNORE_MAKE_CHECK_FAILURES:= + endif +endif + +# Java... +ifeq "$(JDK)" "default" +OOO_JAVA_ARCHS = $(filter $(OOO_ARCHS),$(java6_architectures)) +else +OOO_JAVA_ARCHS = $(OOO_ARCHS) +endif +$(eval $(call gen_no_archs,OOO_JAVA_ARCHS)) + +OOO_ARCH_DEP_EXTENSIONS_ARCHS := $(OOO_ARCHS) +OOO_EXTENSIONS_ARCHS := $(OOO_ARCH_DEP_EXTENSIONS_ARCHS) + +OOO_BASE_ARCHS := $(OOO_JAVA_ARCHS) +$(eval $(call gen_no_archs,OOO_BASE_ARCHS)) +OOO_REPORTBUILDER_ARCHS := $(OOO_BASE_ARCHS) +$(eval $(call gen_no_archs,OOO_REPORTBUILDER_ARCHS)) +OOO_FIREBIRD_ARCHS := $(OOO_BASE_ARCHS) +$(eval $(call gen_no_archs,OOO_FIREBIRD_ARCHS)) + +ifneq (,$(findstring $(DEB_HOST_ARCH),$(OOO_NO_BASE_ARCHS))) + ifneq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),$(OOO_BASE_ARCHS))) + PACKAGE_BASE=n + ENABLE_SDBC_POSTGRESQL=n + ENABLE_MYSQLNATIVE=n + ENABLE_EVO2=n + ENABLE_REPORTBUILDER=n + DEBHELPER_OPTIONS += -Nlibreoffice-base libreoffice-base-core -Nlibreoffice-base-drivers + DEBHELPER_OPTIONS += -Nlibreoffice-evolution + DEBHELPER_OPTIONS += -Nlibreoffice-sdbc-postgresql -Nlibreoffice-mysql-connector + DEBHELPER_OPTIONS += -Nlibreoffice-sdbc-hsqldb -Nlibreoffice-sdbc-firebird + DEBHELPER_OPTIONS += -Nlibreoffice-report-builder-bin -Nlibreoffice-report-builder +# CONFIGURE_FLAGS += --disable-database-connectivity + endif +endif + +ifeq (,$(findstring $(DEB_HOST_ARCH),$(OOO_ARCH_DEP_EXTENSIONS_ARCHS))) + ENABLE_MYSQLNATIVE=n + DEBHELPER_OPTIONS += -Nlibreoffice-mysql-connector + DEBHELPER_OPTIONS += -Nlibreoffice-presentation-minimizer +endif +ifeq (,$(findstring $(DEB_HOST_ARCH),$(OOO_EXTENSIONS_ARCHS))) + ENABLE_MEDIAWIKI=n + ENABLE_REPORTBUILDER=n + ENABLE_NLPSOLVER=n + DEBHELPER_OPTIONS += -Nlibreoffice-wiki-publisher -Nlibreoffice-script-provider-python -Nlibreoffice-nlpsolver + CONFIGURE_FLAGS += --disable-extension-integration --disable-extensions +else + CONFIGURE_FLAGS += --enable-extension-integration +endif + +ifeq (,$(filter $(DEB_HOST_ARCH),$(OOO_JAVA_ARCHS))) + ENABLE_JAVA=n + ENABLE_REPORTBUILDER=n + ENABLE_MEDIAWIKI=n + ENABLE_NLPSOLVER=n + DEBHELPER_OPTIONS += -Nlibreoffice-wiki-publisher + DEBHELPER_OPTIONS += -Nlibreoffice-report-builder-bin -Nlibreoffice-report-builder + DEBHELPER_OPTIONS += -Nlibreoffice-nlpsolver +endif + +# disable SRB on ia64 when building with internal jfreereport. +# fails to build. ("The system is out of resources."). FIXME. +ifeq (ia64,$(findstring ia64,$(OOO_OPENJDK_ARCHS))) + ifeq (,$(findstring jfreereport,$(SYSTEM_STUFF))) + OOO_REPORTBUILDER_ARCHS := $(filter-out ia64,$(OOO_REPORTBUILDER_ARCHS)) + ifeq "$(DEB_HOST_ARCH)" "ia64" + ENABLE_REPORTBUILDER=n + endif + endif +endif + +ifeq "$(BUILD_TEST_PACKAGES)" "n" + DEBHELPER_OPTIONS += -Nlibreoffice-subsequentcheckbase +endif + +ifneq (,$(findstring mips, $(OOO_ARCHS))) + BUILD_DEPS += , binutils (>= 2.23) [mips mipsel], libc6 (>= 2.17-6) [mips mipsel] +endif + +############# +# Distro-specific overrides + +# Debian Stretch +ifeq "$(DEB_DISTRIBUTION)" "stretch-backports" + BUGS=mailto:debian-backports@lists.debian.org + SYSTEM_STUFF := $(filter-out libzmf libstaroffice orcus cppunit xmlsec libqxp libepubgen mdds libnumbertext,$(SYSTEM_STUFF)) + # needs newer stuff for tests, we can't make it conditional on RUN_MAKE_CHECK since + # BE archs don't run them anyway and this wouldn't be in effect... + SYSTEM_STUFF := $(filter-out libwps libmwaw libetonyek,$(SYSTEM_STUFF)) + HELP_COMMON_DEPENDS := + USE_DWZ := n + STRETCH_BACKPORT=y +endif + +ifeq "$(BUILD_DBGSYM_PACKAGES)" "y" +UNO_LIBS_DBG=uno-libs3-dbgsym +URE_DBG=ure-dbgsym +CORE_DBG=libreoffice-core-dbgsym +WRITER_DBG=libreoffice-writer-dbgsym +URE_DBG_ROOT=.debhelper/ure/dbgsym-root +UNO_LIBS_DBG_ROOT=.debhelper/uno-libs3/dbgsym-root +CORE_DBG_ROOT=.debhelper/libreoffice-core/dbgsym-root +WRITER_DBG_ROOT=.debhelper/libreoffice-writer/dbgsym-root +else +DH_STRIP_DBG_OPTION_LO += --no-automatic-dbgsym +DH_STRIP_DBG_OPTION_URE += --no-automatic-dbgsym +DH_STRIP_DBG_OPTION_UNO_LIBS3 += --no-automatic-dbgsym +endif + +CONFIGURE_FLAGS += $(foreach i, $(SYSTEM_STUFF),--with-system-$(i)) + +CC_PREFIX:=$(shell gcc -dumpmachine)- + +USE_CLANG=n +ifeq "$(USE_CLANG)" "y" + CLANG_VERSION=default + ENABLE_COMPILER_PLUGINS=n +endif + +ifneq "$(USE_CLANG)" "y" + ifneq "$(GCC_VERSION)" "" + ifneq "$(SYSTEM_GCC_VERSION)" "$(GCC_VERSION)" + BUILD_DEPS += , gcc-$(GCC_VERSION), g++-$(GCC_VERSION) + CONFIGURE_FLAGS+= \ + CC=$(CC_PREFIX)gcc-$(GCC_VERSION) \ + CXX=$(CC_PREFIX)g++-$(GCC_VERSION) + endif + endif + BUILD_DEPS += , gcc (>= 4:7) [m68k], g++ (>= 4:7) [m68k] +else + ifeq "$(CLANG_VERSION)" "default" + CLANG=clang + BUILD_DEPS += , clang + CONFIGURE_FLAGS+= CC=clang CXX=clang++ + else + CLANG=clang-$(CLANG_VERSION) + BUILD_DEPS += , clang-$(CLANG_VERSION) + CONFIGURE_FLAGS+= CC=clang-$(CLANG_VERSION) CXX=clang++-$(CLANG_VERSION) + endif + ifeq "$(ENABLE_COMPILER_PLUGINS)" "y" + CONFIGURE_FLAGS += --enable-compiler-plugins + CLANGDIR := /usr/lib/llvm-$(shell $(CLANG) --version | head -n 1 | awk '{ print $$3 }' | cut -d. -f1,2) + ifeq "$(CLANG_VERSION)" "default" + BUILD_DEPS += , libclang-dev + else + BUILD_DEPS += , libclang-$(CLANG_VERSION)-dev + endif + endif +endif +USE_GOLD=n +ENABLE_CXX17=y +ifeq "$(ENABLE_CXX17)" "n" + CONFIGURE_FLAGS += --disable-c++17 +endif + +ifeq "$(USE_DWZ)" "y" + BUILD_DEPS += , debhelper (>= 10.10.4) + BUILD_DEPS += , dwz +endif + +ifneq "$(PACKAGE_SDK)" "y" + CONFIGURE_FLAGS += --disable-odk + ifneq "$(PACKAGE_SDK_DOCS)" "y" + CONFIGURE_FLAGS += --without-doxygen --without-javadoc + endif +else + ifeq "$(PACKAGE_SDK_DOCS)" "y" + BUILD_DEPS_INDEP += , doxygen (>= 1.8.4) , graphviz + else + CONFIGURE_FLAGS += --without-doxygen --without-javadoc + endif +endif + + BUILD_DEPS += , libpoppler-dev (>= 0.12.0), libpoppler-private-dev, libpoppler-cpp-dev + +ifeq "$(ENABLE_PDFIUM)" "n" + CONFIGURE_FLAGS += --disable-pdfium +endif + +ifneq (,$(filter graphite, $(SYSTEM_STUFF))) + BUILD_DEPS += , libgraphite2-dev (>= 0.9.3) +endif + +ifneq (,$(filter harfbuzz, $(SYSTEM_STUFF))) + BUILD_DEPS += , libharfbuzz-dev (>= 0.9.42) +endif + +ifneq (,$(filter libexttextcat, $(SYSTEM_STUFF))) + BUILD_DEPS += , libexttextcat-dev (>= 3.4.1) + TEXTCAT_DATA_RECOMMENDS := libexttextcat-data +endif + +ifeq "$(ENABLE_LIBNUMBERTEXT)" "y" + ifneq (,$(filter libnumbertext, $(SYSTEM_STUFF))) + BUILD_DEPS += , libnumbertext-dev + NUMBERTEXT_DATA_RECOMMENDS := libnumbertext-data + endif +else + CONFIGURE_FLAGS += --disable-libnumbertext +endif + +ifneq (,$(filter jpeg, $(SYSTEM_STUFF))) + BUILD_DEPS += , libjpeg-dev +endif +ifneq (,$(filter libxml, $(SYSTEM_STUFF))) + BUILD_DEPS += , libxml2-dev (>= 2.8), libxml2-utils + BUILD_DEPS += , libxslt1-dev +else + CONFIGURE_FLAGS += --without-system-libxml +endif +ifneq (,$(filter xmlsec, $(SYSTEM_STUFF))) + BUILD_DEPS += , libxmlsec1-dev (>= 1.2.24) +endif +ifneq (,$(filter expat, $(SYSTEM_STUFF))) + BUILD_DEPS += , libexpat1-dev +endif +ifneq (,$(filter odbc, $(SYSTEM_STUFF))) + BUILD_DEPS += , unixodbc-dev (>= 2.2.11) +endif +ifneq (,$(filter sane, $(SYSTEM_STUFF))) + BUILD_DEPS += , libsane-dev +endif +ifneq (,$(filter libpng, $(SYSTEM_STUFF))) + BUILD_DEPS += , libpng-dev +endif + +ifneq (,$(filter curl, $(SYSTEM_STUFF))) + BUILD_DEPS += , libcurl4-$(CURL_SECTYPE)-dev +endif + +ifeq "$(GCC_VERSION_5_OR_GREATER)" "y" +COINMP_MINVER=(>= 1.7.6+dfsg1-2) + ifeq "$(STRETCH_BACKPORT)" "y" + COINUTILS_MINVER=(>= 2.9.15-3.1) + else + COINUTILS_MINVER=(>= 2.10.14+repack1-1) + # go sure given #873362 + COINMP_MINVER=(>= 1.8.3-2) + endif +else +COINMP_MINVER= +COINUTILS_MINVER= +endif +ifneq ($(ENABLE_COINMP),y) + CONFIGURE_FLAGS += --disable-coinmp +else + ifneq (,$(filter coinmp, $(SYSTEM_STUFF))) + BUILD_DEPS += , coinor-libcoinmp-dev $(COINMP_MINVER), coinor-libcoinutils-dev $(COINUTILS_MINVER) + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=838620 + ifeq "$(STRETCH_BACKPORT)" "y" + BUILD_DEPS += , libbz2-dev + endif + endif +endif + +ifneq (,$(findstring i386,$(DEB_HOST_ARCH))) + SMALL_SYMBOLS = n +else + ifneq (,$(findstring amd64,$(DEB_HOST_ARCH))) + SMALL_SYMBOLS = n + endif +endif + +ifeq "$(ENABLE_SYMBOLS)" "y" + # Small symbols? + ifeq "$(SMALL_SYMBOLS)" "y" + CONFIGURE_FLAGS += --enable-symbols=SMALL + DEB_CFLAGS_MAINT_STRIP := -g + DEB_CXXFLAGS_MAINT_STRIP := -g + DEB_CFLAGS_MAINT_PREPEND += -g1 + DEB_CXXFLAGS_MAINT_PREPEND += -g1 +export DEB_CFLAGS_MAINT_STRIP DEB_CXXFLAGS_MAINT_STRIP +export DEB_CFLAGS_MAINT_PREPEND DEB_CXXFLAGS_MAINT_PREPEND + else + CONFIGURE_FLAGS += --enable-symbols + endif +else + DEB_CFLAGS_MAINT_STRIP := -g + DEB_CXXFLAGS_MAINT_STRIP := -g +export DEB_CFLAGS_MAINT_STRIP DEB_CXXFLAGS_MAINT_STRIP +endif +export DPKG_EXPORT_BUILDFLAGS=y +include /usr/share/dpkg/buildflags.mk +ifeq (debug,$(findstring debug,$(DEB_BUILD_OPTIONS))) + CONFIGURE_FLAGS += --enable-debug +endif +ifeq (noopt,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CONFIGURE_FLAGS += --disable-optimized +endif + +ifeq "$(ENABLE_PYTHON)" "y" +PYMAJOR:=$(shell $(PYTHON) -c "import sys; print (sys.version_info[0])") +PYMINOR:=$(shell $(PYTHON) -c "import sys; print (sys.version_info[1])") +PYMINORPLUS1:=$(shell $(PYTHON) -c "import sys; print (sys.version_info[1]+1)") +PYTHON_SITE:=debian/python3-uno/$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())') +endif + + BUILD_DEPS += , $(PYTHON) +ifeq "$(ENABLE_PYTHON)" "y" + BUILD_DEPS += , $(PYTHON)-dev (>= 3.3) + ifneq "$(STRETCH_BACKPORT)" "y" + BUILD_DEPS += , $(PYTHON)-distutils + endif + BUILD_DEPS += , dh-python + ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + BUILD_DEPS += , $(PYTHON)-lxml + else + CONFIGURE_FLAGS += --without-lxml + endif +endif + + BUILD_DEPS += , debhelper (>= 10) +ifeq "$(BUILD_DBGSYM_PACKAGES)" "y" + # from debhelper changelog + BUILD_DEPS += , dpkg-dev (>= 1.18.2~) +else + BUILD_DEPS += , dpkg-dev (>= 1.17.14) +endif + +ifeq "$(RUN_TESTTOOL)" "y" + CONFIGURE_FLAGS += --enable-hids +endif + BUILD_DEPS += , locales$(OOO_NO_CHECK_ARCHS) + BUILD_DEPS += , gdb$(OOO_NO_CHECK_ARCHS) + BUILD_DEPS += , fontconfig$(OOO_NO_CHECK_ARCHS) + BUILD_DEPS += , fonts-liberation2$(OOO_NO_CHECK_ARCHS) + BUILD_DEPS += , fonts-crosextra-carlito$(OOO_NO_CHECK_ARCHS) + # https://lists.freedesktop.org/archives/libreoffice/2017-May/077764.html + BUILD_DEPS += , fonts-dejavu$(OOO_NO_CHECK_ARCHS) + ifeq "$(RUN_MAKE_CHECK)" "y" + ifneq (,$(filter cppunit, $(SYSTEM_STUFF))) + BUILD_DEPS += , libcppunit-dev (>= $(CPPUNIT_MINVER))$(OOO_NO_CHECK_ARCHS) + endif + # 17:35 <@sberg_> vmiklos, oh, what kind of poor test is that? "warn:sal.osl:3785:2:sal/osl/unx/process.cxx:344: ChildStatusProc : starting 'pstoedit' failed" etc. is what I see in workdir/CppunitTest/filter_eps_test.test.log... + BUILD_DEPS += , pstoedit$(OOO_NO_CHECK_ARCHS) + BUILD_DEPS += , imagemagick$(OOO_NO_CHECK_ARCHS) + BUILD_DEPS += , ghostscript$(OOO_NO_CHECK_ARCHS) + BUILD_DEPS += , hunspell-en-us$(OOO_NO_CHECK_ARCHS) + else + CONFIGURE_FLAGS += --without-cppunit + endif + ifeq "$(ENABLE_JUNIT4)" "y" + BUILD_DEPS += , junit4 $(JUNIT_MIN_VER) [$(OOO_JUNIT_ARCHS)] + else + CONFIGURE_FLAGS += --without-junit + endif + ifeq "$(ENABLE_CHART_TESTS)" "y" + CONFIGURE_FLAGS += --enable-chart-tests + endif + ifeq "$(ENABLE_EXPORT_VALIDATION_TESTS)" "y" + BUILD_DEPS += , libofficeotron-java$(OOO_NO_CHECK_ARCHS) , libodfvalidator-java$(OOO_NO_CHECK_ARCHS) + else + CONFIGURE_FLAGS += --without-export-validation + endif +ifneq "$(BUILD_ONLY_EN_US)" "y" + ifeq (lang=,$(findstring lang=,$(DEB_BUILD_OPTIONS))) + ISOS=$(shell echo "$(DEB_BUILD_OPTIONS) " | sed -n 's/^.*lang=\([^\s].*\)\s.*/\1/p' | awk '{ print $$1 }' | sed -e 's/,/ /g') + ifeq "$(ENABLE_HELP)" "n" + HELPISOS= + else + HELPISOS=$(shell echo "$(DEB_BUILD_OPTIONS) " | sed -n 's/^.*lang=\([^\s].*\)\s.*/\1/p' | awk '{ print $$1 }' | sed -e 's/,/ /g') + endif + LANGPACKISOS=$(shell echo "$(DEB_BUILD_OPTIONS) " | sed -n 's/^.*lang=\([^\s].*\)\s.*/\1/p' | awk '{ print $$1 }' | sed -e 's/,/ /g') + else + # Note that the first one here *has to be* en-US. the first one gets + # gid_Module_Root as filelist later and the rest gid_Module_Root.$iso + # but we can't/shouldn't do dynamic switching, so let en-US be the first + # one to that gid_Module_Root always is english and the other langpacks + # have gid_Module_Root.$iso + #ISOS=$(shell $(SOURCE_TREE)/bin/lo-xlate-lang -i all') + ISOS:=en-US af am ar as ast be bg bn br bs ca ca-valencia cs cy da de dz el \ + en-GB en-ZA eo es et eu fa fi fr ga gd gl gu gug he hi hr hu id is it ja \ + ka kk km kmr-Latn kn ko lt lv mk mn ml mr nb ne nl nn nr nso oc om or \ + pa-IN pl pt pt-BR ro ru rw si sk sl sr sr-Latn ss st sv \ + ta te tg th tn tr ts ug uk uz ve vi xh zh-CN zh-TW zu + ifeq "$(ENABLE_HELP)" "n" + HELPISOS:= + else + #HELPISOS:=$(shell $(SOURCE_TREE)/bin/lo-xlate-lang -i all') + HELPISOS:=en-US ca ca-valencia cs da de dz el en-GB es et eu fi fr gl hi hu it \ + ja km ko nl om pl pt pt-BR ru sk sl sv tr vi zh-CN zh-TW + endif + #LANGPACKISOS:=$(shell $(SOURCE_TREE)/bin/lo-xlate-lang -i all') + LANGPACKISOS:=en-US af am ar as ast be bg bn br bs ca ca-valencia cs cy da de dz el \ + en-GB en-ZA eo es et eu fa fi fr ga gd gl gu gug he hi hr hu id is it ja \ + ka kk km kmr-Latn kn ko lt lv mk mn ml mr nb ne nl nn nr nso oc om or \ + pa-IN pl pt pt-BR ro ru rw si sk sl sr sr-Latn ss st sv \ + ta te tg th tn tr ts ug uk uz ve vi xh zh-CN zh-TW zu + endif +else + ISOS=en-US + ifeq "$(ENABLE_HELP)" "n" + HELPISOS= + else + HELPISOS=en-US + endif + LANGPACKISOS=en-US +endif +BUILD_ISOS = $(ISOS) + +ifneq "$(BUILD_ONLY_EN_US)" "y" + ifneq "$(BUILD_ISOS)" "en-US" + CONFIGURE_FLAGS_LANG += --with-lang="$(BUILD_ISOS)" + CONFIGURE_FLAGS_INDEP += $(CONFIGURE_FLAGS_LANG) + BUILD_DEPS_INDEP += , gettext + endif +endif + +ifeq "$(ENABLE_JAVA)" "y" + BUILD_DEPS += , maven-repo-helper + ifeq "$(JDK)" "default" + JAVA_HOME=/usr/lib/jvm/default-java + ifneq "$(STRETCH_BACKPORT)" "y" + BUILD_DEPS += , java-common (>= 0.61) + DEFAULT_JDK := $(call java_dependency, default-jdk) + BUILD_DEPS += , $(shell echo $(DEFAULT_JDK) | sed -e 's/default-jdk/default-jdk (>= 1:1.6)/' | sed -e "s/\]/ !i386]/") + else + BUILD_DEPS += , java-common (>= 0.49) + BUILD_DEPS += , default-jdk (>= 1:1.6) $(shell echo "$(filter-out !ia64,$(OOO_NO_JAVA_ARCHS))") + endif + ifneq "$(STRETCH_BACKPORT)" "y" + ifeq (i386,$(findstring i386,$(OOO_JAVA_ARCHS))) + BUILD_DEPS += , default-jdk (>= 2:1.9) [i386] + endif + endif + ifneq (,$(findstring ia64,$(OOO_JAVA_ARCHS))) + BUILD_DEPS += , default-jdk (>= 1:1.7-48) [ia64] + endif + ifneq (,$(findstring kfreebsd,$(OOO_JAVA_ARCHS))) + BUILD_DEPS += , default-jdk (>= 2:1.7-52.1) [kfreebsd-any] + endif + ifneq (,$(findstring sparc64,$(OOO_JAVA_ARCHS))) + BUILD_DEPS += , default-jdk (>= 2:1.8-55) [sparc64] + endif + endif + ifeq "$(JDK)" "openjdk" + ifeq "$(JAVA_MAINVER)" "6" + BUILD_DEPS += , openjdk-$(JAVA_MAINVER)-jdk (>= 6b23~pre8-2) [$(filter-out ia64,$(OOO_JAVA_ARCHS)]) + else + BUILD_DEPS += , openjdk-$(JAVA_MAINVER)-jdk [$(filter-out mips mipsel,$(OOO_JAVA_ARCHS))] + # no 7 on mips(el) + ifneq (,$(findstring mips,$(OOO_JAVA_ARCHS))) + BUILD_DEPS += , openjdk-6-jdk (>= 6b23~pre8-2) [mips mipsel] + ifneq (,$(findstring mips,$(DEB_HOST_ARCH))) + JAVA_MAINVER=6 + endif + endif + endif + JAVA_HOME=/usr/lib/jvm/java-$(JAVA_MAINVER)-openjdk-$(DEB_HOST_ARCH) + endif + TEST_JAVA_HOME=$(JAVA_HOME) + ifeq "$(ENABLE_MEDIAWIKI)" "y" + BUILD_DEPS_INDEP += , ant (>= 1.7.0)$(OOO_NO_JAVA_ARCHS), ant-optional (>= 1.7.0)$(OOO_NO_JAVA_ARCHS) + else + # report-builder is done in build-arch already + ifneq (,$(filter jfreereport, $(SYSTEM_STUFF))) + BUILD_DEPS += , ant (>= 1.6.5)$(OOO_NO_JAVA_ARCHS) + else + BUILD_DEPS_INDEP += , ant (>= 1.6.5)$(OOO_NO_JAVA_ARCHS) + endif + endif + JAVA_RUNTIME_DEPENDS = default-jre + ifneq (,$(filter $(DEB_HOST_ARCH), $(OOO_OPENJDK_ARCHS))) + ifneq "$(DEB_HOST_ARCH)" "ia64" + JAVA_RUNTIME_DEPENDS += | openjdk-9-jre | openjdk-8-jre | openjdk-7-jre | openjdk-6-jre + else + JAVA_RUNTIME_DEPENDS += | openjdk-7-jre + endif + endif + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386)) + JAVA_RUNTIME_DEPENDS += | sun-java6-jre + endif + JAVA_RUNTIME_DEPENDS += | java6-runtime + # Suns Java "packages" + JAVA_RUNTIME_DEPENDS += | jre +export JAVA_HOME + CONFIGURE_FLAGS += --with-jdk-home=$(JAVA_HOME) + JAVA_COMMON_DEPENDS= , libreoffice-java-common + JAVA_COMMON_DEPENDS_VERSION:= (>= $(BASE_VERSION)~) + ifeq "$(PACKAGE_SDK)" "y" + ifeq "$(PACKAGE_UNOWINREG_DLL)" "y" + ifeq "$(BUILD_UNOWINREG_DLL)" "y" + CONFIGURE_FLAGS_INDEP += --enable-build-unowinreg + BUILD_DEPS_INDEP += , g++-mingw-w64-i686 + CONFIGURE_FLAGS_INDEP += --with-mingw-cross-compiler=i686-w64-mingw32-g++ + endif + endif + endif + ifeq "$(ENABLE_MEDIAWIKI)" "y" + CONFIGURE_FLAGS_INDEP += --enable-ext-wiki-publisher + endif + ifeq "$(ENABLE_REPORTBUILDER)" "y" + # report-builder + ifneq (,$(filter jfreereport, $(SYSTEM_STUFF))) + REPORT_BUILDER_BUILD_DEPS += , libbase-java$(OOO_NO_REPORTBUILDER_ARCHS), libsac-java$(OOO_NO_REPORTBUILDER_ARCHS), libxml-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS), libflute-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS), libpentaho-reporting-flow-engine-java (>= 0.9.4)$(OOO_NO_REPORTBUILDER_ARCHS), liblayout-java (>= 0.2.10)$(OOO_NO_REPORTBUILDER_ARCHS), libloader-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS), libformula-java (>= 1.1.7)$(OOO_NO_REPORTBUILDER_ARCHS), librepository-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS), libfonts-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS), libserializer-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS) + REPORT_BUILDER_JAR_DEPENDS := , libbase-java, libsac-java, libxml-java (>= 1.1.6), libflute-java (>= 1.1.6), libpentaho-reporting-flow-engine-java (>= 0.9.4), liblayout-java (>= 0.2.10), libloader-java (>= 1.1.6), libformula-java (>= 1.1.7), librepository-java (>= 1.1.6), libfonts-java (>= 1.1.6), libserializer-java (>= 1.1.6) + CONFIGURE_FLAGS += --with-libbase-jar=/usr/share/java/libbase.jar --with-libxml-jar=/usr/share/java/libxml.jar --with-flute-jar=/usr/share/java/flute.jar --with-jfreereport-jar=/usr/share/java/flow-engine.jar --with-liblayout-jar=/usr/share/java/liblayout.jar --with-libloader-jar=/usr/share/java/libloader.jar --with-libformula-jar=/usr/share/java/libformula.jar --with-librepository-jar=/usr/share/java/librepository.jar --with-libfonts-jar=/usr/share/java/libfonts.jar --with-libserializer-jar=/usr/share/java/libserializer.jar + endif + ifneq (,$(filter apache-commons, $(SYSTEM_STUFF))) + REPORT_BUILDER_BUILD_DEPS += , libcommons-logging-java$(OOO_NO_JAVA_ARCHS) + REPORT_BUILDER_JAR_DEPENDS += , libcommons-logging-java + CONFIGURE_FLAGS += --with-commons-logging-jar=/usr/share/java/commons-logging.jar + endif + BUILD_DEPS += $(REPORT_BUILDER_BUILD_DEPS) + else + CONFIGURE_FLAGS += --disable-report-builder + endif + ifeq "$(ENABLE_NLPSOLVER)" "y" + CONFIGURE_FLAGS_INDEP += --enable-ext-nlpsolver + endif + OOO_OFFICEBEAN_DEP = libreoffice-officebean + BUILD_DEPS += , javahelper $(JAVAHELPER_MIN_VERSION) +else + CONFIGURE_FLAGS += --without-java + DEBHELPER_OPTIONS += -Nlibreoffice-officebean -Nlibreoffice-java-common -Nlibreoffice-script-provider-bsh -Nlibreoffice-script-provider-js +endif + +ifeq "$(ENABLE_JAVA)" "y" + ifeq "$(shell $(JAVA_HOME)/bin/java -version 2>&1 | grep -q Zero && echo true)" "true" + #RUN_MAKE_CHECK:=n + ENABLE_JUNIT4=n + endif +endif + +ifneq (,$(filter nss, $(SYSTEM_STUFF))) + BUILD_DEPS+= , libnss3-dev (>= 3.12.3) + BUILD_DEPS+= , libnspr4-dev +endif + +ifeq "$(USE_UCPP)" "y" + ifneq (,$(filter ucpp, $(SYSTEM_STUFF))) + IDLC_CPP_DEPENDS := ucpp + endif +else +# hardcode 4.7 as 4.8 fails: +# 14:17 <@caolan> ah, "build fails with cpp 4.8.0, this is fixable by passing +# -P, but then idlc produces empty urd files" + IDLC_CPP_DEPENDS := cpp-4.7 + CONFIGURE_FLAGS += --with-idlc-cpp=cpp-4.7 +endif + BUILD_DEPS += , $(IDLC_CPP_DEPENDS) + +ifneq (,$(filter hunspell, $(SYSTEM_STUFF))) + BUILD_DEPS += , libhunspell-dev $(HUNSPELL_MIN_VER) +endif + CONFIGURE_FLAGS += --with-external-dict-dir=$(DICT_DIR) + +ifneq (,$(filter altlinuxhyph, $(SYSTEM_STUFF))) + BUILD_DEPS += , libhyphen-dev $(LIBHYPHEN_MINVER) +endif + CONFIGURE_FLAGS += --with-external-hyph-dir=$(HYPH_DIR) + +ifneq (,$(filter boost, $(SYSTEM_STUFF))) + ifneq "$(BOOST_VERSION)" "default" + BUILD_DEPS += , libboost$(BOOST_VERSION)-dev $(BOOST_MINVER), libboost-date-time$(BOOST_VERSION)-dev $(BOOST_MINVER), libboost-iostreams$(BOOST_VERSION)-dev, libboost-filesystem$(BOOST_VERSION)-dev, libboost-locale$(BOOST_VERSION)-dev + #BUILD_DEPS += , libboost-thread$(BOOST_VERSION)-dev, libboost-program-options$(BOOST_VERSION)-dev + ifeq (,$(filter orcus, $(SYSTEM_STUFF))) + BUILD_DEPS += , libboost-system$(BOOST_VERSION)-dev $(BOOST_MINVER), libboost-iostreams$(BOOST_VERSION)-dev $(BOOST_MINVER), libboost-program-options$(BOOST_VERSION)-dev $(BOOST_MINVER), libboost-filesystem$(BOOST_VERSION)-dev $(BOOST_MINVER) + endif + ifeq ($(USE_VLC),y) + BUILD_DEPS += , libboost-system$(BOOST_VERSION)-dev $(BOOST_MINVER) + endif + else + BUILD_DEPS += , libboost-dev $(BOOST_MINVER), libboost-date-time-dev $(BOOST_MINVER), libboost-iostreams-dev $(BOOST_MINVER), libboost-filesystem-dev $(BOOST_MINVER), libboost-locale-dev $(BOOST_MINVER) + #BUILD_DEPS += , libboost-thread-dev, libboost-program-options-dev + ifeq (,$(filter orcus, $(SYSTEM_STUFF))) + BUILD_DEPS += , libboost-system-dev $(BOOST_MINVER), libboost-iostreams-dev $(BOOST_MINVER), libboost-program-options-dev $(BOOST_MINVER), libboost-filesystem-dev $(BOOST_MINVER) + endif + ifeq ($(USE_VLC),y) + BUILD_DEPS += , libboost-system-dev $(BOOST_MINVER) + endif + endif + ifeq "$(shell if [ -e /usr/lib/$(DEB_HOST_MULTIARCH)/libboost_date_time.so ]; then echo true; fi)" "true" + CONFIGURE_FLAGS += --with-boost-libdir=/usr/lib/$(DEB_HOST_MULTIARCH) + endif +endif + +ifneq (,$(filter mdds, $(SYSTEM_STUFF))) + BUILD_DEPS += , libmdds-dev (>= 1.4.1) +endif + +ifneq (,$(filter orcus, $(SYSTEM_STUFF))) + BUILD_DEPS += , liborcus-dev (>= $(LIBORCUS_MINVER)) +endif + +ifneq (,$(filter clucene, $(SYSTEM_STUFF))) + BUILD_DEPS += , libclucene-dev (>= $(CLUCENE_MINVER)) +endif + +ifeq "$(USE_EXTERNAL_CXXLIBS)" "y" + ifneq (,$(filter librevenge, $(SYSTEM_STUFF))) + BUILD_DEPS += , librevenge-dev + endif + ifneq (,$(filter libwpd, $(SYSTEM_STUFF))) + BUILD_DEPS += , libwpd-dev (>= 0.10) + endif + ifneq (,$(filter mythes, $(SYSTEM_STUFF))) + BUILD_DEPS += , libmythes-dev (>= 2:1.2) + endif + ifneq (,$(filter libwps, $(SYSTEM_STUFF))) + BUILD_DEPS += , libwps-dev (>= 0.4) + BUILD_DEPS += , libwps-dev (>= 0.4.9) + endif + ifneq (,$(filter libwpg, $(SYSTEM_STUFF))) + BUILD_DEPS += , libwpg-dev (>= 0.3) + endif + ifneq (,$(filter libvisio, $(SYSTEM_STUFF))) + BUILD_DEPS += , libvisio-dev (>= 0.1) + endif + ifneq (,$(filter libcdr, $(SYSTEM_STUFF))) + BUILD_DEPS += , libcdr-dev (>= 0.1) + endif + ifneq (,$(filter libmspub, $(SYSTEM_STUFF))) + BUILD_DEPS += , libmspub-dev (>= 0.1) + endif + ifneq (,$(filter libmwaw, $(SYSTEM_STUFF))) + BUILD_DEPS += , libmwaw-dev (>= 0.3.1) + BUILD_DEPS += , libmwaw-dev (>= 0.3.13) + endif + ifneq (,$(filter libodfgen, $(SYSTEM_STUFF))) + BUILD_DEPS += , libodfgen-dev (>= 0.1) + endif + ifneq (,$(filter libepubgen, $(SYSTEM_STUFF))) + BUILD_DEPS += , libepubgen-dev (>= 0.1.0) + endif + ifneq (,$(filter libetonyek, $(SYSTEM_STUFF))) + BUILD_DEPS += , libetonyek-dev + BUILD_DEPS += , libetonyek-dev (>= 0.1.8) + endif + ifneq (,$(filter libfreehand, $(SYSTEM_STUFF))) + BUILD_DEPS += , libfreehand-dev (>= 0.1) + endif + ifneq (,$(filter libabw, $(SYSTEM_STUFF))) + BUILD_DEPS += , libabw-dev (>= 0.1) + endif + ifneq (,$(filter libpagemaker, $(SYSTEM_STUFF))) + BUILD_DEPS += , libpagemaker-dev + endif + ifneq (,$(filter libzmf, $(SYSTEM_STUFF))) + BUILD_DEPS += , libzmf-dev + endif + ifneq (,$(filter libstaroffice, $(SYSTEM_STUFF))) + BUILD_DEPS += , libstaroffice-dev + BUILD_DEPS += , libstaroffice-dev (>= 0.0.3) + endif + ifneq (,$(filter libqxp, $(SYSTEM_STUFF))) + BUILD_DEPS += , libqxp-dev + endif + ifneq (,$(filter libebook, $(SYSTEM_STUFF))) + BUILD_DEPS += , libe-book-dev + BUILD_DEPS += , libe-book-dev (>= 0.1.2) + endif + ifneq (,$(filter libcmis, $(SYSTEM_STUFF))) + BUILD_DEPS += , libcmis-dev (>= $(LIBCMIS_MINVER)) + endif +endif + CONFIGURE_FLAGS += --with-external-thes-dir=$(THES_DIR) + +ifeq "$(INSTALL_APPARMOR_PROFILES)" "y" + BUILD_DEPS += , dh-apparmor + ifeq "$(CHECK_APPARMOR_PROFILES)" "true" + BUILD_DEPS += , apparmor + endif +endif + +ifeq "$(ENABLE_EOT)" "y" + CONFIGURE_FLAGS += --enable-eot + ifneq (,$(filter libeot, $(SYSTEM_STUFF))) + BUILD_DEPS += , libeot-dev + endif +endif + +ifneq (,$(filter lcms2, $(SYSTEM_STUFF))) + BUILD_DEPS += , liblcms2-dev +endif + +ifneq (,$(filter openldap, $(SYSTEM_STUFF))) + BUILD_DEPS += , libldap2-dev +endif + +ifneq (,$(filter liblangtag, $(SYSTEM_STUFF))) + BUILD_DEPS += , liblangtag-dev (>= 0.4) +endif + +ifneq (,$(filter icu, $(SYSTEM_STUFF))) + BUILD_DEPS += , libicu-dev $(ICU_MINVER) +endif + + +ifeq "$(BUILD_CAIROCANVAS)" "y" + ifneq (,$(filter cairo, $(SYSTEM_STUFF))) + BUILD_DEPS+= , libcairo2-dev + endif +else + CONFIGURE_FLAGS+= --disable-cairo +endif + +ifeq "$(BUILD_KDE4)" "n" + CONFIGURE_FLAGS += --disable-kde4 +else + CONFIGURE_FLAGS += --enable-kde4 + KDE_ICONSET_DEP=libreoffice-style-breeze + BUILD_DEPS += , kdelibs5-dev $(KDELIBS_MINVER) + BUILD_DEPS += , libqt4-dev $(QT4_MINVER) +endif + +ifeq "$(BUILD_KDE5)" "y" + KDE_ICONSET_DEP=libreoffice-style-breeze + ifeq "$(ENABLE_GTK3_KDE5)" "y" + CONFIGURE_FLAGS += --enable-gtk3-kde5 + # set them here as we don't build the Qt5 plugin. If it is built + # it is set below + BUILD_DEPS += , qtbase5-dev $(QT5_MINVER), qt5-qmake $(QT5_MINVER), qtbase5-dev-tools $(QT5_MINVER) + BUILD_DEPS += , libglib2.0-dev (>= 2.4) + # for correct qmake/moc + BUILD_DEPS += , qtchooser + export QT_SELECT=5 + endif + ifeq "$(ENABLE_KDE5)" "y" + CONFIGURE_FLAGS += --enable-kde5 + endif + BUILD_DEPS += , libqt5x11extras5-dev $(QT5_MINVER) + BUILD_DEPS += , libkf5coreaddons-dev, libkf5i18n-dev, libkf5config-dev, libkf5windowsystem-dev, libkf5kio-dev + BUILD_DEPS += , libxcb1-dev +endif + +ifeq "$(ENABLE_QT5)" "y" + CONFIGURE_FLAGS += --enable-qt5 + BUILD_DEPS += , qtbase5-dev $(QT5_MINVER), qt5-qmake $(QT5_MINVER), qtbase5-dev-tools $(QT5_MINVER) + BUILD_DEPS += , libglib2.0-dev (>= 2.4) + # for correct qmake/moc + BUILD_DEPS += , qtchooser + export QT_SELECT=5 +endif + +ifeq "$(ENABLE_MYSQLNATIVE)" "y" + CONFIGURE_FLAGS += --enable-ext-mariadb-connector + ifeq "$(MYSQL_FLAVOUR)" "default" + ifneq (,$(filter mariadb, $(SYSTEM_STUFF))) + BUILD_DEPS += , default-libmysqlclient-dev + endif + else + ifeq "$(MYSQL_FLAVOUR)" "mysql" + ifneq (,$(filter mysql-cppconn, $(SYSTEM_STUFF))) + ifneq (,$(filter mariadb, $(SYSTEM_STUFF))) + BUILD_DEPS += , libmysqlclient-dev + endif + endif + MARIADBCONFIG=/usr/bin/mysql_config + endif + ifeq "$(MYSQL_FLAVOUR)" "mariadb" + ifneq (,$(filter mariadb, $(SYSTEM_STUFF))) + # deducted from default-libmysqlclient-dev Depends + BUILD_DEPS += , libmariadbclient-dev-compat + endif + MARIADBCONFIG=/usr/bin/mariadb_config + endif + endif + ifneq (,$(filter mysql-cppconn, $(SYSTEM_STUFF))) + BUILD_DEPS += , libmysqlcppconn-dev $(MYSQLCPPCONN_MINVER) + endif +endif + +ifeq "$(ENABLE_FIREBIRD)" "y" + BASE_FIREBIRD_RECOMMENDS = libreoffice-sdbc-firebird [$(OOO_FIREBIRD_ARCHS)] + ifneq (,$(filter libatomic-ops, $(SYSTEM_STUFF))) + BUILD_DEPS += , libatomic-ops-dev (>= 7.3~alpha1+git20110913-1)$(OOO_NO_FIREBIRD_ARCHS) + endif + ifneq (,$(filter libtommath, $(SYSTEM_STUFF))) + BUILD_DEPS += , libtommath-dev$(OOO_NO_FIREBIRD_ARCHS) + endif + ifneq (,$(filter firebird, $(SYSTEM_STUFF))) + BUILD_DEPS += , firebird-dev (>= 3.0.0.32483.ds4-4)$(OOO_NO_FIREBIRD_ARCHS) + # we need libEngine12.so + BUILD_DEPS += , firebird3.0-server-core $(OOO_NO_FIREBIRD_ARCHS) + FIREBIRD_ENGINE_DEPENDS += firebird3.0-server-core + endif +else + CONFIGURE_FLAGS += --disable-firebird-sdbc + DEBHELPER_OPTIONS += -Nlibreoffice-sdbc-firebird +endif + +ifeq "$(BUILD_GTK)" "n" + CONFIGURE_FLAGS+= --disable-gtk + DEBHELPER_OPTIONS+= -Nlibreoffice-gtk2 -Nlibreoffice-gnome +else + BUILD_DEPS += , libgtk2.0-dev (>= 2.18.0) +endif +ifeq "$(BUILD_GTK3)" "y" + BUILD_DEPS += , libgtk-3-dev (>= 3.18.0), libglib2.0-dev (>= 2.38.0) + ifneq (cairo,$(findstring cairo,$(SYSTEM_STUFF))) + $(error GTK3 build fails without system-cairo!!) + endif + ifeq (,$(filter epoxy, $(SYSTEM_STUFF))) + BUILD_DEPS += , libegl1-mesa-dev + endif + GNOME_GTK_RECOMMENDS += libreoffice-gtk3 + ifeq "$(ENABLE_INTROSPECTION)" "y" + BUILD_DEPS += , gobject-introspection (>= 1.32.0), libgirepository1.0-dev (>= 1.32) + else + CONFIGURE_FLAGS += --enable-introspection=no + DEBHELPER_OPTIONS+= -Ngir1.2-lokdocview-0.1 + endif +else + CONFIGURE_FLAGS+= --disable-gtk3 + GNOME_GTK_DEPENDS += libreoffice-gtk2 +endif + +ifeq "$(ENABLE_EVO2)" "n" + CONFIGURE_FLAGS += --disable-evolution2 + DEBHELPER_OPTIONS += -Nlibreoffice-evolution +else + CONFIGURE_FLAGS += --enable-evolution2 + BUILD_DEPS += , libebook1.2-dev + LIBEBOOK_DEP = $(shell debian/scripts/get_libebook_dep.sh) +endif + +ifeq "$(ENABLE_SDBC_POSTGRESQL)" "y" + ifneq (,$(filter postgresql, $(SYSTEM_STUFF))) + BUILD_DEPS += , libpq-dev (>= 9.0~) + else + BUILD_DEPS += , libkrb5-dev + endif +else + CONFIGURE_FLAGS += --disable-postgresql-sdbc + DEBHELPER_OPTIONS += -Nlibreoffice-sdbc-postgresql +endif + +ifeq "$(ENABLE_RANDR)" "y" + BUILD_DEPS += , libxrandr-dev +else + CONFIGURE_FLAGS += --disable-randr +endif + +ifneq "$(ENABLE_PYTHON)" "y" + DEBHELPER_OPTIONS+= -Npython3-uno -Nlibreoffice-script-provider-python + CONFIGURE_FLAGS += --disable-python +else + PYUNO_DEPENDS = python3-uno (>= 4.4.0~beta2) + CONFIGURE_FLAGS += --enable-python=system +endif + +ifneq "$(PACKAGE_LIBRELOGO)" "y" + DEBHELPER_OPTIONS+= -Nlibreoffice-librelogo +endif + +ifeq "$(ENABLE_JAVA)" "y" + ifneq (,$(filter hsqldb, $(SYSTEM_STUFF))) + BUILD_DEPS += , libhsqldb1.8.0-java $(HSQLDB_MINVER)$(OOO_NO_JAVA_ARCHS), libarchive-zip-perl$(OOO_NO_JAVA_ARCHS) + BASE_HSQLDB_DEPENDS = libhsqldb1.8.0-java $(HSQLDB_MINVER) + CONFIGURE_FLAGS += --with-hsqldb-jar=$(HSQLDB_JAR) + else + BUILD_DEPS += , libservlet3.1-java + endif + ifeq "$(ENABLE_SCRIPT_PROVIDER_BSH)" "y" + ifneq (,$(filter beanshell, $(SYSTEM_STUFF))) + BUILD_DEPS_INDEP += , libbsh-java + endif + CONFIGURE_FLAGS += --enable-scripting-beanshell + else + CONFIGURE_FLAGS += --disble-scripting-beanshell + DEBHELPER_OPTIONS += -Nlibreoffice-script-provider-bsh + endif + ifeq "$(ENABLE_SCRIPT_PROVIDER_JS)" "y" + CONFIGURE_FLAGS += --enable-scripting-javascript + else + CONFIGURE_FLAGS += --disable-scripting-javascript + DEBHELPER_OPTIONS += -Nlibreoffice-script-provider-js + endif +endif + +ifneq (,$(filter lpsolve, $(SYSTEM_STUFF))) + ifeq "$(USE_SHARED_LPSOLVE)" "y" + BUILD_DEPS += , liblpsolve55-dev $(LPSOLVE_MIN_VERSION), lp-solve $(LPSOLVE_MIN_VERSION) + LPSOLVE_DEP = lp-solve $(LPSOLVE_MIN_VERSION) + else + BUILD_DEPS += , liblpsolve55-dev $(LPSOLVE_MIN_VERSION) + endif + ifeq "$(USE_LIBSUITESPARSE)" "y" + BUILD_DEPS += , libsuitesparse-dev $(SUITESPARSE_MIN_VERSION) + else + BUILD_DEPS += , libufsparse-dev + endif +endif + +ifeq "$(USE_DBUS)" "y" + BUILD_DEPS += , libdbus-glib-1-dev (>= 0.70) + CONFIGURE_FLAGS += --enable-dbus + ifeq "$(ENABLE_BLUETOOTH)" "y" + ifneq (,$(filter bluez, $(SYSTEM_STUFF))) + BUILD_DEPS += , libbluetooth-dev [linux-any] + endif + else + CONFIGURE_FLAGS += --disable-sdremote-bluetooth + endif + ifeq "$(ENABLE_PACKAGEKIT)" "y" + CONFIGURE_FLAGS += --enable-packagekit + endif +endif + +ifeq "$(ENABLE_AVAHI)" "y" + BUILD_DEPS += , libavahi-client-dev + CONFIGURE_FLAGS += --enable-avahi +endif + +ifeq "$(USE_GSTREAMER)" "y" + BUILD_DEPS += , libgstreamer1.0-dev + CONFIGURE_FLAGS += --enable-gstreamer-1-0 + BUILD_DEPS += , libgstreamer-plugins-base1.0-dev + GSTREAMER_PLUGINS_SUGGESTS += , gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, gstreamer1.0-plugins-ugly, gstreamer1.0-plugins-bad, gstreamer1.0-libav + AVMEDIA_BE_DEPENDS += , libreoffice-avmedia-backend-gstreamer +else + CONFIGURE_FLAGS += --disable-gstreamer-1-0 + DEBHELPER_OPTIONS += -Nlibreoffice-avmedia-backend-gstreamer +endif + +ifeq "$(USE_VLC)" "y" + CONFIGURE_FLAGS += --enable-vlc + LIBVLC_DEP = $(shell debian/scripts/get_libvlc_dep.sh) (>= 2.0.8) + BUILD_DEPS += , $(LIBVLC_DEP) + ifeq "$(AVMEDIA_BE_DEPENDS)" "" + AVMEDIA_BE_DEPENDS += , libreoffice-avmedia-backend-vlc + else + AVMEDIA_BE_DEPENDS += | libreoffice-avmedia-backend-vlc + endif +else + DEBHELPER_OPTIONS += -Nlibreoffice-avmedia-backend-vlc +endif + +ifeq "$(ENABLE_WEBDAV)" "y" + ifeq "$(WEBDAV_LIB)" "neon" + ifneq (,$(filter neon, $(SYSTEM_STUFF))) + ifneq "$(NEON_SECTYPE)" "openssl" + BUILD_DEPS += , libneon$(NEONSONR)-$(NEON_SECTYPE)-dev + else + BUILD_DEPS += , libneon$(NEONSONR)-dev + endif + endif + else + ifneq (,$(filter apr, $(SYSTEM_STUFF))) + BUILD_DEPS += , libaprutil1-dev + endif + ifneq (,$(filter serf, $(SYSTEM_STUFF))) + BUILD_DEPS += , libserf-dev + endif + endif + CONFIGURE_FLAGS += --with-webdav=$(WEBDAV_LIB) +else + CONFIGURE_FLAGS += --with-webdav=no +endif + +ifeq "$(ENABLE_HELP)" "n" + CONFIGURE_FLAGS += --without-helppack-integration --without-help +endif + +ifneq (,$(filter redland, $(SYSTEM_STUFF))) + BUILD_DEPS += , librdf0-dev (>= 1.0.16-2) + SHLIBS_OVERRIDE += -Xunordf +endif + +ifneq (,$(filter epoxy, $(SYSTEM_STUFF))) + BUILD_DEPS += , libepoxy-dev (>= 1.2) +else + BUILD_DEPS += , libegl1-mesa-dev +endif +ifneq (,$(filter glm, $(SYSTEM_STUFF))) + ifeq "$(shell dpkg --compare-versions $(SYSTEM_GCC_VERSION) ge 7.3 && echo true)" "true" + BUILD_DEPS += , libglm-dev (>= 0.9.9~a2) + else + BUILD_DEPS += , libglm-dev (>= 0.9.6.3) + endif +endif + +ifneq (,$(filter gpgmepp, $(SYSTEM_STUFF))) + BUILD_DEPS+= , libgpgmepp-dev, libgpgme-dev, libgpg-error-dev +endif +ifeq "$(STRETCH_BACKPORT)" "y" + BUILD_DEPS+= , gnupg + BUILD_DEPS+= , gnupg-agent +else + BUILD_DEPS+= , gpg + BUILD_DEPS+= , gpgconf + BUILD_DEPS+= , gpg-agent +endif + +ifeq "$(ENABLE_GIO)" "y" + ifneq "$(BUILD_GTK3)" "y" + BUILD_DEPS += , libglib2.0-dev (>= 2.26.0) + endif +else + CONFIGURE_FLAGS += --disable-gio +endif + +ifeq "$(ENABLE_DCONF)" "y" + BUILD_DEPS += , libdconf-dev (>= 0.15.2) +else + CONFIGURE_FLAGS += --disable-dconf +endif + +ifeq ($(ENABLE_MERGELIBS),y) + CONFIGURE_FLAGS += --enable-mergelibs +endif + +ifeq ($(ENABLE_LTO),y) + CONFIGURE_FLAGS += --enable-lto +endif + +ifeq ($(USE_GOLD),y) + DEB_LDFLAGS_MAINT_APPEND += -fuse-ld=gold +export DEB_LDFLAGS_MAINT_APPEND +endif + +# Use compiler cache? Include ccache in DEB_BUILD_OPTIONS for much faster rebuild times +# A complete build uses about 9G of compiler cache. +ifneq (ccache,$(findstring ccache,$(DEB_BUILD_OPTIONS))) + CONFIGURE_FLAGS += --disable-ccache +endif + +## Build n projects in parallel? +## DEB_BUILD_OPTIONS=parallel= +## if not specified LibreOffices configure tries to find it out itself +NUM_CPUS=$(shell echo "$(DEB_BUILD_OPTIONS) " | sed -n 's/^\(.* \)\?parallel=\([0-9]\+\).*$$/\2/p') +AVAIL_CPUS := $(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1) +ifeq "$(PARALLEL_BUILD)" "y" + # we need to specify it only if it differs, otherwise configure autodetects + # it. + ifneq "$(NUM_CPUS)" "$(AVAIL_CPUS)" + CONFIGURE_FLAGS += --with-parallelism=$(NUM_CPUS) + endif +else + CONFIGURE_FLAGS += --without-parallelism +endif + +ifeq ($(GCC_VERSION),snapshot) + BUILD_PATH = /usr/lib/gcc-snapshot/bin:$$PATH + BUILD_LD_LIBRARY_PATH = /usr/lib/gcc-snapshot/lib:$$LD_LIBRARY_PATH + BUILD_DEPS += , gcc-snapshot +else + BUILD_PATH = $(CURDIR)/debian/usr/bin:$$PATH +endif +BUILD_PATH := $(CURDIR)/debian/usr/bin:$(BUILD_PATH) + +ifneq "$(ENABLE_DEPENDENCY_TRACKING)" "y" +CONFIGURE_FLAGS += --disable-dependency-tracking +endif + +# Because of the stampdir magic, when you actually want to run a rule +# over, you would have to remove the stamp manually. Now, just do +# 'debian/rules ... FORCE=1', and the stamp files +# that match the given targets will be removed automagically. +stampdir_targets+=prepare +stampdir_targets+=build build-arch build-indep maintscripts +stampdir_targets+=install-common install-arch install-indep langpacks +stampdir_targets+=binary-arch binary-indep +ifdef FORCE + DUMMY:=$(shell rm -f $(patsubst %,$(STAMP_DIR)/%,$(filter $(stampdir_targets),$(MAKECMDGOALS)))) +endif + +# If this is defined, then none of the 'long' commands will be run. Useful +# for testing. +# test_rules=1 + +# Since the final stages use up a large amount of diskspace, provide targets to +# remove them without needing a full rebuild + +# Clean up the package directories (about 830M) +clean-debdir: + dh_testdir + # remove generated symlinks / java wrappers + rm -rf debian/usr + + find debian -name "*.links" ! -name "libreoffice-dev-doc.links" \ + ! -name "libreoffice-java-common.links" \ + ! -name "liblibreofficekitgtk.links" \ + ! -name "libreoffice-help-common.links" -exec rm {} \; + if [ -d "$(STAMP_DIR)" ]; then rm -rf "$(STAMP_DIR)"; fi + rm -f debian/*.bug-script + + rm -f debian/shlibs.local + + rm -f debian/libreoffice-dev-doc.doc-base.* \ + debian/libreoffice-help-*.doc-base + rm -f debian/libreoffice-help-*.lintian-overrides + rm -f debian/*.install debian/*.dirs debian/*.changelog + rm -f debian/*.postinst debian/*.postrm debian/*.preinst debian/*.prerm debian/*.triggers + rm -f debian/pom*.xml + + rm -rf $(CURDIR)/debian/locales + +ifeq "$(ENABLE_JAVA)" "y" + mh_clean +endif + dh_clean + +clean: + dh_testroot + dh_testdir + + if [ -f config.status ]; then \ + $(MAKE) distclean; \ + rm -f config.status; \ + fi + find $(SOURCE_TREE) -name "*.pyc" -exec rm {} \; + rm -rf */*.pro.obsolete + + rm -rf $(SOURCE_TREE)/file-lists + rm -rf $(SOURCE_TREE)/pyuno-for* + rm -f autogen.lastrun + rm -f build_error.log + rm -f config/config_version.h + +ifeq "$(HELPISOS)" "" + rm -rf images* +endif + + rm -f download.list + + rm -f extras/source/truetype/symbol/opens___.ttf + + # obsolete lock file not cleaned up.... + rm -f dbaccess/qa/extras/testdocuments/fdo84315.odb.lck + + # Files created in debian directory + $(MAKE) -f debian/rules clean-debdir + + $(MAKE) -f debian/rules control + + +# Generate control file, because we have so many different languages +# Based on script by Martin Quinson +control: debian/control +debian/control: $(wildcard debian/control*in) $(SOURCE_TREE)/bin/lo-xlate-lang debian/rules + chmod 755 $(SOURCE_TREE)/bin/lo-xlate-lang + sed -e "s#%$(DEB_VENDOR)=\([^%]*\)%#, \1#g#" \ + -e "s#%[A-Za-z]*=[^%]*%##g#" \ + -e "s#%BUILD_DEPS_INDEP%#$(strip $(BUILD_DEPS_INDEP))#g" \ + -e "s#@BUGS@#$(BUGS)#g" \ + < debian/control.in > debian/control + + for LNUM in $(filter-out en-US,$(LANGPACKISOS)) ; do \ + LNAME=`$(SOURCE_TREE)/bin/lo-xlate-lang -l $$LNUM | perl -e 'print ucfirst();'`; \ + LCODE=`$(SOURCE_TREE)/bin/lo-xlate-lang -i $$LNUM | tr A-Z a-z`; \ + [ "$$LNUM" = ca-valencia ] && continue; \ + [ "$$LNUM" = sr-Latn ] && continue; \ + [ "$$LCODE" = kmr-latn ] && LCODE=kmr; \ + CCODE=`echo $$LCODE | sed 's/-.*//'`; \ + case "$$LCODE" in \ + bn) \ + FONT_RECOMMENDS=", fonts-beng"; \ + ;; \ + gu) \ + FONT_RECOMMENDS=", fonts-gujr"; \ + ;; \ + pa-in) \ + FONT_RECOMMENDS=", fonts-guru"; \ + ;; \ + ml) \ + FONT_RECOMMENDS=", fonts-mlym"; \ + ;; \ + or) \ + FONT_RECOMMENDS=", fonts-orya"; \ + ;; \ + te) \ + FONT_RECOMMENDS=", fonts-telu"; \ + ;; \ + ta) \ + FONT_RECOMMENDS=", fonts-taml"; \ + ;; \ + hi-in|ne|mr) \ + FONT_RECOMMENDS=", fonts-deva"; \ + ;; \ + he) \ + FONT_RECOMMENDS=", culmus"; \ + ;; \ + km) \ + FONT_RECOMMENDS=", fonts-khmeros"; \ + ;; \ + ar) \ + FONT_RECOMMENDS=", fonts-kacst, fonts-hosny-amiri, fonts-sil-scheherazade, fonts-hosny-thabit"; \ + ;; \ + fa) \ + FONT_RECOMMENDS=", fonts-farsiweb"; \ + ;; \ + dz) \ + FONT_RECOMMENDS=", fonts-dzongkha"; \ + ;; \ + th) \ + FONT_RECOMMENDS=", fonts-thai-tlwg"; \ + ;; \ + *) \ + FONT_RECOMMENDS= ;; \ + esac; \ + case "$$LCODE" in \ + rw) \ + LOCALES_DEPENDS="locales (>= 2.3.6) | locales-all (>= 2.3.6)" \ + ;; \ + ss|ts|km|ns|tn) \ + LOCALES_DEPENDS="locales (>= 2.3.5-12) | locales-all" \ + ;; \ + sr) \ + LOCALES_DEPENDS="locales (>= 2.3.6.ds1-5) | locales-all" \ + ;; \ + as|or|nr) \ + LOCALES_DEPENDS="locales (>= 2.3.6.ds1-1) | locales-all (>= 2.3.6.ds1-1)" \ + ;; \ + sw) \ + LOCALES_DEPENDS="locales (>= 2.13-5) | locales-all (>= 2.13-5)" \ + ;; \ + *) \ + LOCALES_DEPENDS="locales | locales-all" \ + ;; \ + esac; \ + sed -e "s|@LNAME@|$$LNAME|g" -e "s|@LCODE@|$$LCODE|g" \ + -e "s|@CCODE@|$$CCODE|g" \ + -e "s|@FONT_RECOMMENDS@|$$FONT_RECOMMENDS|g" \ + -e "s:@LOCALES_DEPENDS@:$$LOCALES_DEPENDS:g" \ + -e "s|@LDAP_LIB@|$(LDAP_LIB)|g" \ + >> debian/control < debian/control.lang.in; \ + done + +ifneq "$(ENABLE_HELP)" "n" + for LNUM in $(HELPISOS) ; do \ + LNAME=`$(SOURCE_TREE)/bin/lo-xlate-lang -l $$LNUM | perl -e 'print ucfirst();'`; \ + LCODE=`$(SOURCE_TREE)/bin/lo-xlate-lang -i $$LNUM | tr A-Z a-z`; \ + [ "$$LNUM" = ca-valencia ] && continue; \ + CCODE=`echo $$LCODE | sed 's/-.*//'`; \ + sed -e "s|@LNAME@|$$LNAME|g" -e "s|@LCODE@|$$LCODE|g" \ + -e "s|@CCODE@|$$CCODE|g" \ + >> debian/control < debian/control.help.in; \ + done + # en_US is in -common + perl -pi -e 's|(Depends: libreoffice-writer \| language-support-translations-en), libreoffice-l10n-en-us|\1|' \ + debian/control + perl -pi -e 's|(Depends: libreoffice-writer, libreoffice-l10n-en-us)|\1, fonts-deva|' \ + debian/control +endif + cat debian/control.ure.in >> debian/control +ifeq "$(ENABLE_JAVA)" "y" + ifeq "$(ENABLE_MEDIAWIKI)" "y" + cat debian/control.mediawiki.in >> debian/control + endif + ifeq "$(ENABLE_REPORTBUILDER)" "y" + cat debian/control.reportbuilder.in >> debian/control + endif + ifeq "$(ENABLE_NLPSOLVER)" "y" + cat debian/control.nlpsolver.in >> debian/control + endif +endif + cat debian/control.fonts.in >> debian/control +ifeq "$(PACKAGE_SDK)" "y" + cat debian/control.sdk.in >> debian/control +endif +ifeq "$(PACKAGE_LOKIT)" "y" + cat debian/control.lokit.in >> debian/control +endif +ifeq "$(BUILD_GTK)" "y" + cat debian/control.gtk2.in >> debian/control +endif +ifeq "$(BUILD_GTK3)" "y" + cat debian/control.gtk3.in >> debian/control +endif +ifeq "$(BUILD_KDE)" "y" + cat debian/control.kde$(KDE_MAJOR).in >> debian/control +endif +ifeq "$(ENABLE_QT5)" "y" + cat debian/control.qt5.in >> debian/control +endif + cat debian/control.postgresql.in >> debian/control +ifeq "$(ENABLE_MYSQLNATIVE)" "y" + cat debian/control.mysql.in >> debian/control +endif +ifeq "$(ENABLE_EVO2)" "y" + cat debian/control.evolution.in >> debian/control +endif + cat debian/control.test-packages.in >> debian/control +ifeq "$(PACKAGE_LIBRELOGO)" "y" + cat debian/control.librelogo.in >> debian/control +endif + cat debian/control.firebird.in >> debian/control + + cat debian/control.transitionals.in >> debian/control + + perl -pi -e "s,%OOO_ARCHS%,$(OOO_ARCHS),g" debian/control + perl -pi -e "s,%OOO_64BIT_ARCHS%,$(OOO_64BIT_ARCHS),g" debian/control + perl -pi -e "s,%OOO_BE_ARCHS%,$(OOO_BE_ARCHS),g" debian/control + perl -pi -e "s,%OOO_LE_ARCHS%,$(OOO_LE_ARCHS),g" debian/control + perl -pi -e "s,%OOO_BASE_ARCHS%,$(OOO_BASE_ARCHS),g" debian/control + perl -pi -e "s,%OOO_NO_BASE_ARCHS%,$(OOO_NO_BASE_ARCHS),"g debian/control + perl -pi -e "s,%OOO_JAVA_ARCHS%,$(OOO_JAVA_ARCHS),g" debian/control + perl -pi -e "s,%OOO_ARCH_DEP_EXTENSIONS_ARCHS%,$(OOO_ARCH_DEP_EXTENSIONS_ARCHS),g" debian/control + perl -pi -e "s,%OOO_REPORTBUILDER_ARCHS%,$(OOO_REPORTBUILDER_ARCHS),g" debian/control + perl -pi -e "s,%OOO_NO_REPORTBUILDER_ARCHS%,$(OOO_NO_REPORTBUILDER_ARCHS),g" debian/control + perl -pi -e "s,%OOO_FIREBIRD_ARCHS%,$(OOO_FIREBIRD_ARCHS),g" debian/control + perl -pi -e "s,%OOO_NO_FIREBIRD_ARCHS%,$(OOO_NO_FIREBIRD_ARCHS),g" debian/control + perl -pi -e "s#%BUILD_DEPS%#$(strip $(BUILD_DEPS))#g" debian/control + perl -pi -e "s#%JUNIT_MIN_VER%#$(JUNIT_MIN_VER)#g" debian/control +ifeq "$(BUILD_KDE)" "y" + perl -pi -e 's/%LO-DESKTOP-INTEGRATION%/libreoffice-gnome | libreoffice-kde$(KDE_MAJOR)/' debian/control +else + perl -pi -e 's/%LO-DESKTOP-INTEGRATION%/libreoffice-gnome/' debian/control +endif + +ifeq (sk,$(findstring sk,$(HELPISOS))) + perl -pi -e 's/(Depends:.*)libreoffice-l10n-sk(.*)$$/\1libreoffice-l10n-sk, libreoffice-help-cs\2/' debian/control +endif +ifeq (pt-BR,$(findstring pt-BR,$(LANGPACKISOS))) + perl -pi -e 's/libreoffice2-l10n-pt-br$$/libreoffice2-l10n-pt-br, broffice/' debian/control + perl -pi -e 's/libreoffice2-l10n-pt-br$$/libreoffice2-l10n-pt-br, broffice/' debian/control + perl -pi -e 's/libreoffice2-l10n-pt-br$$/libreoffice2-l10n-pt-br, broffice/' debian/control +endif + +ifeq "$(MYSQL_FLAVOUR)" "mysql" + perl -pi -e "s/(Build-Conflicts: .*)/\1,libmariadbclient-dev,/" debian/control +endif +ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + perl -pi -e "s/(Build-Conflicts: .*)/\1,fonts-liberation2 (= 2.00.1-4) ,/" debian/control + perl -pi -e "s/(Build-Conflicts: .*)/\1,fonts-liberation2 (= 2.00.1-5) ,/" debian/control + # be safe. + perl -pi -e "s/(Build-Conflicts: .*)/\1,fonts-liberation (= 1:1.07.4-3) ,/" debian/control + perl -pi -e "s/(Build-Conflicts: .*)/\1,fonts-liberation (= 1:1.07.4-4) ,/" debian/control + perl -pi -e "s/(Build-Conflicts: .*)/\1,fonts-liberation (= 1:1.07.4-5) ,/" debian/control + # be sure to use our rebuilt font + perl -pi -e "s/(Build-Conflicts: .*)/\1,fonts-opensymbol ,/" debian/control +endif + +ifeq "$(STRETCH_BACKPORTS)" "y" + perl -pi -e 's/fonts-noto-mono/fonts-noto-hinted, fonts-noto-mono/' debian/control +else + perl -pi -e 's/fonts-noto-mono/fonts-noto-core, fonts-noto-ui-core, fonts-noto-mono/' debian/control +endif + + $(PYTHON) debian/scripts/joinctrl.py < debian/control > debian/control.tmp + mv debian/control.tmp debian/control + + # make -l10n-fi suggest libreoffice-spellcheck-fi to + # match myspell-fi and libreoffice-soikko/-voikko + perl -pi -e 's/myspell-dictionary-fi/myspell-dictionary-fi | libreoffice-spellcheck-fi/' debian/control + perl -pi -e 's/hyphen-fi/hyphen-fi | libreoffice-hyphenation-fi/' debian/control + +ifeq "$(USE_DBUS)" "y" + ifeq "$(ENABLE_BLUETOOTH)" "y" + perl -pi -e 's/paperconf$$/paperconf\n * bluez: Bluetooth support for Impress (slideshow remote control)/' debian/control + endif + perl -pi -e 's/Description: office productivity suite -- presentation/Suggests: bluez\nDescription: office productivity suite -- presentation/' debian/control +endif + +ifneq "$(DICT_DIR)" "/usr/share/hunspell" + perl -pi -e 's/^Breaks:.*myspell.*\n//' debian/control +endif + +ifeq "$(ENABLE_APPARMOR_PROFILES)" "y" + perl -pi -e 's/ttf-mscorefonts-installer/ttf-mscorefonts-installer, apparmor (>= 2.13.1~)/' debian/control + perl -pi -e 's/openoffice-unbundled/openoffice-unbundled, apparmor (<< 2.13.1~)/' debian/control + +endif + +.DELETE_ON_ERROR: debian/control + +# All 'important' targets have 2 lines. The one that is run by +# dpkg-buildpackage or the user, and the one that does the actual work. This +# indirection is needed so that the 'stamp' files that signify when a rule is +# done can be located in a separate 'stampdir'. Recall that make has no way to +# know when a goal has been met for a phony target (like "build" or "install"). +# +# At the end of each stampdir target, be sure to run the command 'touch $@' +# so that the target will not be run again. Removing the file will make +# make run the target over. + +prepare: $(STAMP_DIR)/prepare +$(STAMP_DIR)/prepare: + dh_testdir + + # Make sure needed scripts are executable + set -e;\ + for FILE in debian/scripts/move-if-change \ + debian/scripts/get_libebook_dep.sh \ + debian/scripts/get_libvlc_dep.sh \ + debian/scripts/locale-gen \ + autogen.sh; \ + do \ + chmod 755 $$FILE ;\ + done + + mkdir -p $(STAMP_DIR) + + # Make sure we have /proc mounted - otherwise idlc will fail later. + test -r /proc/version + + # create fake file if file not there; we don't use it anyways. + if [ ! -f $(TARFILE_LOCATION)/185d60944ea767075d27247c3162b3bc-unowinreg.dll ]; then \ + touch $(TARFILE_LOCATION)/185d60944ea767075d27247c3162b3bc-unowinreg.dll; \ + fi + +ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) +ifeq (terse,$(findstring terse,$(DEB_BUILD_OPTIONS))) + if [ -d .pc/do-not-hide-test-output.diff ]; then \ + patch -p1 -R < debian/patches/do-not-hide-test-output.diff; \ + TMP=`mktemp -q`; grep -v do-not-hide-test-output .pc/applied-patches \ + > $$TMP && mv $$TMP .pc/applied-patches; \ + rm -rf .pc/do-not-hide-test-output.diff; \ + fi +endif +endif + + touch $@ + +.PHONY: config_host.mk +config_host.mk: + rm -f config.status autogen.lastrun + PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \ + CLANGDIR=$(CLANGDIR) \ + MARIADBCONFIG=$(MARIADBCONFIG) \ + FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \ + ./autogen.sh $(CONFIGURE_FLAGS) + +build: + $(CURDIR)/debian/rules build-arch + $(CURDIR)/debian/rules build-indep + touch $(STAMP_DIR)/$@ + +build-arch: $(STAMP_DIR)/prepare $(STAMP_DIR)/build-arch +$(STAMP_DIR)/build-arch: +#build-arch: ENABLE_HELP = n PACKAGE_SDK_DOCS = n ENABLE_MEDIAWIKI = n ENABLE_SCRIPT_PROVIDER_BSH = n ENABLE_SCRIPT_PROVIDER_JS = n + dh_testdir + + # Theoretically this should call ./configure instead of + # it exists but that causes the configure flags NOT to be hnoured + # somehow... + PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \ + CLANGDIR=$(CLANGDIR) \ + MARIADBCONFIG=$(MARIADBCONFIG) \ + FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \ + ./autogen.sh $(CONFIGURE_FLAGS) \ + --without-junit --without-cppunit \ + --disable-ext-wiki-publisher \ + --disable-scripting-javascript --disable-scripting-beanshell \ + --without-doxygen --without-javadoc \ + --with-galleries=no --with-theme="$(DEFAULT_IMAGE)" + + PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) ARCH_FLAGS=$(ARCH_FLAGS) TMP=`mktemp -q -d` $(MAKE) build-non-l10n-only + +ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + $(CURDIR)/debian/rules check +endif + +ifneq "$(BUILD_ISOS)" "en-US" + # build sysui and some extensions again with all languages; as it contains language-specific help + # and/or descriptions... + $(MAKE) sysui.clean + $(MAKE) mysqlc.clean + make cmd cmd="cd sysui; export WITH_LANG='$(LANGPACKISOS)'; export WITH_LANG_LIST='$(LANGPACKISOS)'; $(MAKE)" + make cmd cmd="cd mysqlc; export WITH_LANG='$(LANGPACKISOS)'; export WITH_LANG_LIST='$(LANGPACKISOS)'; $(MAKE)" +endif + + touch $@ + +build-indep: $(STAMP_DIR)/prepare $(STAMP_DIR)/build-indep +$(STAMP_DIR)/build-indep: + dh_testdir + +ifeq "$(PACKAGE_SDK)" "y" + if [ -f Makefile ]; then $(MAKE) odk.clean; fi +endif + if [ -f Makefile ]; then $(MAKE) scp2.clean; fi + + rm -f config.status autogen.lastrun + + PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \ + MARIADBCONFIG=$(MARIADBCONFIG) \ + FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \ + ./autogen.sh $(CONFIGURE_FLAGS) $(CONFIGURE_FLAGS_INDEP) + + PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) ARCH_FLAGS=$(ARCH_FLAGS) TMP=`mktemp -q -d` $(MAKE) build-nocheck +ifeq "$(BUILD_TEST_PACKAGES)" "y" + ifeq "$(ENABLE_JUNIT4)" "y" + PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) ARCH_FLAGS=$(ARCH_FLAGS) TMP=`mktemp -q -d` $(MAKE) Jar_{OOoRunner,test,ConnectivityTools} + endif +endif + +ifeq "$(BUILD_TEST_PACKAGES)" "y" + find workdir/Zip -name "smoketestdoc*" | xargs rm + patch -p0 < $(CURDIR)/debian/tests/patches/smoketest-disable-extension-tests.diff + cd smoketest && $(MAKE) Zip_smoketestdoc + patch -p0 -R < $(CURDIR)/debian/tests/patches/smoketest-disable-extension-tests.diff + cp workdir/Zip/smoketestdoc.zip workdir/Zip/smoketestdoc.sxw +endif + +ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + $(CURDIR)/debian/rules check-indep +endif + + touch $@ + + +check: +ifeq "$(RUN_MAKE_CHECK)" "y" +ifneq (,$(findstring $(DEB_HOST_ARCH),$(OOO_NO_BASE_ARCHS))) + patch -p1 < $(CURDIR)/debian/tests/patches/disable-db-tests.diff +endif +ifeq (,$(findstring $(DEB_HOST_ARCH),$(OOO_EXTENSIONS_ARCHS))) + cd $(SOURCE_TREE)/smoketest && \ + patch -p1 < $(CURDIR)/debian/tests/patches/smoketest-disable-extension-tests.diff +endif + + PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \ + CLANGDIR=$(CLANGDIR) \ + MARIADBCONFIG=$(MARIADBCONFIG) \ + FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \ + ./autogen.sh $(CONFIGURE_FLAGS) \ + --disable-ext-wiki-publisher \ + --disable-scripting-javascript --disable-scripting-beanshell \ + --without-doxygen --without-javadoc \ + --with-galleries=no --with-theme="$(DEFAULT_IMAGE)" + + # generate the needed en_US.UTF-8 locale + mkdir -p $(CURDIR)/debian/locales + USE_CPUS=$(NUM_CPUS) debian/scripts/locale-gen + + # build the tests first + export gb_SUPPRESS_TESTS=true; \ + $(MAKE) check + + # and now run them + $(IGNORE_MAKE_CHECK_FAILURES)t=`mktemp -q -d`; \ + cd $(SOURCE_TREE) && \ + export PATH=$(BUILD_PATH); \ + export TMPDIR=$$t; \ + export HOME=$$t; \ + export LOCPATH=$(CURDIR)/debian/locales; \ + export LANG=en_US.UTF-8; \ + export LC_ALL=en_US.UTF-8; \ + unset DISPLAY; \ + if [ -x /usr/bin/gdb ]; then ulimit -c unlimited; fi && \ + $(MAKE) -k check || PARALLELISM=1 $(MAKE) check && \ + rm -rf $$t +ifneq (,$(findstring $(DEB_HOST_ARCH),$(OOO_NO_BASE_ARCHS))) + patch -p1 -R < $(CURDIR)/debian/tests/patches/disable-db-tests.diff +endif +ifeq (,$(findstring $(DEB_HOST_ARCH),$(OOO_EXTENSIONS_ARCHS))) + cd $(SOURCE_TREE)/smoketest && \ + patch -p1 -R < $(CURDIR)/debian/tests/patches/smoketest-disable-extension-tests.diff +endif +endif + +check-indep: +ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + ifeq "$(ENABLE_JAVA)" "y" + # since the gb_SUPPRESS_CHECK stuff in build this isn't checked. + # probably should, so do it here manually. + $(IGNORE_MAKE_CHECK_FAILURES)cd odk && \ + $(MAKE) CustomTarget_odk/check + ifneq (,$(findstring -indep,$(MAKECMDGOALS))) + # was already checked in check + $(IGNORE_MAKE_CHECK_FAILURES)if [ ! -e $(STAMP_DIR)/build-arch ]; then \ + cd odk && $(MAKE) CustomTarget_odk/build-examples && \ + $(MAKE) CustomTarget_odk/build-examples_java; \ + fi + endif + endif +endif + +install: $(STAMP_DIR)/install-common $(STAMP_DIR)/install-arch $(STAMP_DIR)/install-indep + +install-common: $(STAMP_DIR)/install-common +$(STAMP_DIR)/install-common: + dh_testdir + dh_testroot + + dh_prep + rm -f debian/*.install debian/*.dirs + + # remove those for safety in case the languages might change on + # testbuilds. then the /*/ in dh_installdocs in binary-* won't work + # anymore (different dirs) + rm -rf $(SOURCE_TREE)/instsetoo_native/util/LibreOffice + + rm -rf $(SOURCE_TREE)/file-lists + + # install LibreOffice. + cd $(SOURCE_TREE)/; \ + PATH=$(BUILD_PATH) \ + DESTDIR=$(CURDIR)/debian/tmp \ + $(MAKE) distro-pack-install + export DESTDIR=$(CURDIR)/debian/tmp ;\ + export VERSION=$(OOVER); \ + export OOINSTBASE=$(OODIR); \ + export OOO_LANGS_LIST="$(ISOS)"; \ + $(CURDIR)/debian/scripts/gid2pkgdirs.sh +ifeq "$(BUILD_DBGSYM_PACKAGES)" "y" + make cmd cmd="export DESTDIR=$(CURDIR)/debian/tmp; $(CURDIR)/solenv/bin/install-gdb-printers -a /usr/share/gdb/auto-load/$(OODIR) -c -i /$(OODIR) -p /usr/share/libreoffice/gdb" +endif + + # FIXME + cd $(CURDIR)/debian/tmp/pkg && rm -rf \* + +ifeq "$(ENABLE_QT5)" "y" + # we need to do it here. If -kde isn't built + # there's no -kde.install generated, so dh_missing complains later + mkdir -p debian/tmp/pkg/libreoffice-qt5/$(OODIR)/program + mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_qt5lo.so\ + debian/tmp/pkg/libreoffice-qt5/$(OODIR)/program +endif +ifeq "$(BUILD_KDE)" "y" + mv debian/tmp/pkg/libreoffice-kde \ + debian/tmp/pkg/libreoffice-kde$(KDE_MAJOR) +endif + +ifeq "$(ENABLE_HELP)" "y" +ifeq "$(ENABLE_HTML_HELP)" "y" + mkdir -p debian/tmp/pkg/libreoffice-help-common/$(OODIR); \ + mv debian/tmp/pkg/libreoffice-common/$(OODIR)/help \ + debian/tmp/pkg/libreoffice-help-common/$(OODIR) +endif +endif + + # prepare install/dir files for dh + for i in `cd $(CURDIR)/debian/tmp/pkg; ls -1 | xargs`; do \ + echo "$${i}/usr/* usr" > debian/$$i.install; \ + (cd debian/tmp/pkg/$$i; find . -type d | sed -e "s,\./,,") \ + > debian/$$i.dirs; \ + done + + # the english resources should be in -common + cat debian/libreoffice-l10n-en-US.dirs >> debian/libreoffice-common.dirs + cat debian/libreoffice-l10n-en-US.install >> debian/libreoffice-common.install + rm -f debian/libreoffice-l10n-en-US.dirs debian/libreoffice-l10n-en-US.install + + # and ca-valencia in -ca... +ifeq (ca-valencia,$(findstring ca-valencia,$(LANGPACKISOS))) + if [ -f debian/libreoffice-l10n-ca-valencia.dirs -a -f debian/libreoffice-l10n-ca-valencia.install ]; then \ + cat debian/libreoffice-l10n-ca-valencia.dirs >> debian/libreoffice-l10n-ca.dirs; \ + cat debian/libreoffice-l10n-ca-valencia.install >> debian/libreoffice-l10n-ca.install; \ + rm -f debian/libreoffice-l10n-ca-valencia.dirs debian/libreoffice-l10n-ca-valencia.install; \ + fi +endif +ifeq "$(ENABLE_HELP)" "y" +ifeq (ca-valencia,$(findstring ca-valencia,$(HELPISOS))) + if [ -f debian/libreoffice-help-ca-valencia.dirs -a -f debian/libreoffice-help-ca-valencia.install ]; then \ + cat debian/libreoffice-help-ca-valencia.dirs >> debian/libreoffice-help-ca.dirs; \ + cat debian/libreoffice-help-ca-valencia.install >> debian/libreoffice-help-ca.install; \ + rm -f debian/libreoffice-help-ca-valencia.dirs debian/libreoffice-help-ca-valencia.install; \ + fi +endif +endif + # and sr-Latn should be in -sr +ifeq (sr-Latn,$(findstring sr-Latn,$(LANGPACKISOS))) + if [ -f debian/libreoffice-l10n-sr-Latn.dirs -a -f debian/libreoffice-l10n-sr-Latn.install ]; then \ + cat debian/libreoffice-l10n-sr-Latn.dirs >> debian/libreoffice-l10n-sr.dirs; \ + cat debian/libreoffice-l10n-sr-Latn.install >> debian/libreoffice-l10n-sr.install; \ + rm -f debian/libreoffice-l10n-sr-Latn.dirs debian/libreoffice-l10n-sr-Latn.install; \ + fi +endif + + # This should be in -kmr... This is different like the above where + # we move different "variants" into the "base" but there's only kmr-Latn + # for Kurmanji, but I don't really want to have that -latn suffix in + # the packages +ifeq (kmr-Latn,$(findstring kmr-Latn,$(LANGPACKISOS))) + if [ -f debian/libreoffice-l10n-kmr-Latn.dirs -a -f debian/libreoffice-l10n-kmr-Latn.install ]; then \ + cat debian/libreoffice-l10n-kmr-Latn.dirs >> debian/libreoffice-l10n-kmr.dirs; \ + cat debian/libreoffice-l10n-kmr-Latn.install >> debian/libreoffice-l10n-kmr.install; \ + rm -f debian/libreoffice-l10n-kmr-Latn.dirs debian/libreoffice-l10n-kmr-Latn.install; \ + fi +endif + + # fixup case (-l10n-pt-BR -> l10n-pt-br etc.) + for iso in $(ISOS); do \ + pkgiso=`echo $$iso | tr A-Z a-z`; \ + if [ "$$iso" != "$$pkgiso" ]; then \ + if [ "$$iso" != "en-US" -a \ + -e debian/libreoffice-l10n-$$iso.dirs -a \ + -e debian/libreoffice-l10n-$$iso.install ]; then \ + mv debian/libreoffice-l10n-$$iso.dirs \ + debian/libreoffice-l10n-$$pkgiso.dirs; \ + mv debian/libreoffice-l10n-$$iso.install \ + debian/libreoffice-l10n-$$pkgiso.install; \ + fi; \ + if [ -e debian/libreoffice-help-$$iso.dirs -a \ + -e debian/libreoffice-help-$$iso.install ]; then \ + mv debian/libreoffice-help-$$iso.dirs \ + debian/libreoffice-help-$$pkgiso.dirs; \ + mv debian/libreoffice-help-$$iso.install \ + debian/libreoffice-help-$$pkgiso.install; \ + fi; \ + fi; \ + done + + # fix up still sneaking in ./. They break dh_install (it installs + # but wrongly complains about it as not-installed files) + perl -pi -e 's,\./,,' debian/libreoffice-common.install + perl -pi -e 's,\./,,' debian/ure.install + +ifneq "$(ENABLE_HELP)" "n" + # remove non-packaged localized help. This a) saves space + # and b) we need this for the following dh_install as there will be + # no .install files created and dh_install will warn/fail due + # to non-installed files. + for iso in $(filter-out en-US,$(LANGPACKISOS)); do \ + if ! `echo $(HELPISOS) | grep -q $$iso` || [ "$$iso" = "sk" ] ; then \ + pkgiso=`echo $$iso | tr A-Z a-z`; \ + rm -rf debian/tmp/pkg/libreoffice-help-$$iso; \ + rm -f debian/libreoffice-help-$$pkgiso.dirs; \ + rm -f debian/libreoffice-help-$$pkgiso.install; \ + fi; \ + done +endif + +ifneq "$(PACKAGE_LIBRELOGO)" "y" + rm -rf debian/tmp/pkg/libreoffice-librelogo +endif + + for i in calc impress draw base writer; do \ + echo "../usr/share/appdata/libreoffice-$$i.appdata.xml /usr/share/metainfo/" >> $(PKGDIR)-$$i.install; \ + done + +ifeq "$(BUILD_KDE)" "y" + echo "../usr/share/appdata/org.libreoffice.kde.metainfo.xml /usr/share/metainfo/" >> $(PKGDIR)-kde$(KDE_MAJOR).install +endif + +ifeq "$(PACKAGE_LOKIT)" "y" + echo "../../../include/LibreOfficeKit usr/include" > debian/libreofficekit-dev.install +endif +ifeq "$(ENABLE_INTROSPECTION)" "y" + echo "../usr/share/gir-1.0/LOKDocView-0.1.gir /usr/share/gir-1.0/" >> debian/libreofficekit-dev.install + echo "../usr/lib/girepository-1.0/LOKDocView-0.1.typelib /usr/lib/$(DEB_HOST_MULTIARCH)/girepository-1.0" >> debian/gir1.2-lokdocview-0.1.install +endif + + dh_installdirs -A + if [ -x /usr/bin/dh_missing ]; then \ + dh_install -A --sourcedir=debian/tmp/pkg && \ + dh_missing -A --sourcedir=debian/tmp/pkg --fail-missing; \ + else \ + dh_install -A --sourcedir=debian/tmp/pkg --fail-missing; \ + fi + + # somehow this isn't installed anymore on -B builds... + if [ ! -f debian/libreoffice-report-builder/$(OODIR)/program/librptlo.so ]; then \ + mkdir -p debian/libreoffice-report-builder/$(OODIR)/program/; \ + for i in librptlo.so librptuilo.so librptxmllo.so; do \ + cp $(CURDIR)/instdir/program/$$i \ + debian/libreoffice-report-builder/$(OODIR)/program/; \ + done; \ + fi + + rm -rf debian/tmp/pkg + + # fix the desktop files.... + cd $(PKGDIR)-common/$(OODIR)/share/xdg/ && \ + for i in *.desktop; do \ + sed -i -e "s/$(OOVER)//" $$i; \ + done +ifneq "$(RELEASE_BUILD)" "y" + cd $(PKGDIR)-common/$(OODIR)/share/xdg/ && \ + for i in *.desktop; do \ + sed -i -e "s/libreofficedev/libreoffice/" $$i; \ + sed -i -e "s/LibreOfficeDev/LibreOffice/" $$i; \ + done +endif + + # move desktop files to their correct packages (and correct dir) + # looks like it's pretty nonstandard to have symlinks; this breaks + # e.g. the generation from the appdata files. So get rid of those + # and move them to the libreoffice-* names after all. + for i in base calc draw impress math writer; do \ + mkdir -p $(PKGDIR)-$$i/usr/share/applications; \ + rm -f $(PKGDIR)-$$i/usr/share/applications/libreoffice-$$i.desktop; \ + mv $(PKGDIR)-common/$(OODIR)/share/xdg/$$i.desktop \ + $(PKGDIR)-$$i/usr/share/applications/libreoffice-$$i.desktop; \ + done + + # move pagein files + for i in calc draw impress writer; do \ + mv $(PKGDIR)-core/$(OODIR)/program/pagein-$$i \ + $(PKGDIR)-$$i/$(OODIR)/program; \ + done + +ifeq "$(ENABLE_HELP)" "y" + # move help to /usr/share + ifeq "$(ENABLE_HTML_HELP)" "y" + mv $(PKGDIR)-help-common/usr/lib \ + $(PKGDIR)-help-common/usr/share + endif + for iso in $(HELPISOS); do \ + pkgiso=`echo $$iso | tr A-Z a-z`; \ + if [ -e $(PKGDIR)-help-$$pkgiso/usr ]; then \ + mv $(PKGDIR)-help-$$pkgiso/usr/lib \ + $(PKGDIR)-help-$$pkgiso/usr/share; \ + fi; \ + done + +ifeq (sk,$(findstring sk,$(HELPISOS))) + # add fake sk help + mkdir -p $(PKGDIR)-help-sk/$(shell echo $(OODIR) | sed -e s/lib/share/)/help + ln -s cs \ + $(PKGDIR)-help-sk/$(shell echo $(OODIR) | sed -e s/lib/share/)/help/sk +endif +endif + +ifeq "$(ENABLE_JAVA)" "y" + # move officebean.jar into -officebean (They will be moved out of -core + # in the install-arch target). Do the /usr/share move here already + mkdir -p $(PKGDIR)-core/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes; \ + mv $(PKGDIR)-common/$(OODIR)/program/classes/officebean.jar \ + $(PKGDIR)-core/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes + # fix the classpath + jh_classpath --classpath="ridl.jar unoil.jar jurt.jar juh.jar" \ + $(PKGDIR)-core/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes/officebean.jar + + ifeq "$(PACKAGE_BASE)" "y" + # move sdbc_hsqldb.jar into -base (do the move + # to /usr/share/java here directly, we do it for the "rest" + # later + mkdir -p $(PKGDIR)-base/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes; \ + mkdir -p $(PKGDIR)-base/$(OODIR)/program/classes; \ + mv $(PKGDIR)-common/$(OODIR)/program/classes/sdbc_hsqldb.jar \ + $(PKGDIR)-base/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes; \ + ln -s $(shell echo /$(OODIR) | sed -e s/lib/share/)/program/classes/sdbc_hsqldb.jar \ + $(PKGDIR)-base/$(OODIR)/program/classes/sdbc_hsqldb.jar + ifneq (,$(filter hsqldb, $(SYSTEM_STUFF))) + # fix the classpath (file:// breaks javahelper) + jh_classpath --classpath="$(HSQLDB_JAR) .." \ + $(PKGDIR)-base/$(shell echo /$(OODIR) | sed -e s/lib/share/)/program/classes/sdbc_hsqldb.jar + endif + ifeq (,$(filter hsqldb, $(SYSTEM_STUFF))) + # we need this in -base. Otherwise we get unwanted package differences + # in the unstable version and backports which might use internal hsqldb + mkdir -p $(PKGDIR)-base/$(OODIR)/program/classes + mv $(PKGDIR)-common/$(OODIR)/program/classes/hsqldb.jar \ + $(PKGDIR)-base/$(OODIR)/program/classes + endif + else + # remove sdbc_hsqldb.jar. otherwise ends up in -java-common + rm -f $(PKGDIR)-common/$(OODIR)/program/classes/sdbc_hsqldb.jar + endif +endif + +ifeq "$(PACKAGE_SDK)" "y" + # move arch-indep stuff into a libreoffice-dev-common + mkdir -p $(PKGDIR)-dev-common/usr/include + mv $(PKGDIR)-dev/usr/include/libreoffice \ + $(PKGDIR)-dev-common/usr/include + # except include/sal/typesizes.h + mkdir -p $(PKGDIR)-dev/usr/include/$(DEB_HOST_MULTIARCH)/libreoffice/sal + mkdir -p $(PKGDIR)-dev/usr/include/libreoffice/sal + mv $(PKGDIR)-dev-common/usr/include/libreoffice/sal/typesizes.h \ + $(PKGDIR)-dev/usr/include/$(DEB_HOST_MULTIARCH)/libreoffice/sal + cd $(PKGDIR)-dev/usr/include/libreoffice/sal/ && \ + ln -s /usr/include/$(DEB_HOST_MULTIARCH)/libreoffice/sal/typesizes.h + mkdir -p $(PKGDIR)-dev-common/usr/share/idl + mv $(PKGDIR)-dev/usr/share/idl/libreoffice \ + $(PKGDIR)-dev-common/usr/share/idl + mkdir -p $(PKGDIR)-dev-common/$(OOSDKDIR) + mv $(PKGDIR)-dev/$(OOSDKDIR)/classes \ + $(PKGDIR)-dev-common/$(OOSDKDIR) + mv $(PKGDIR)-dev/$(OOSDKDIR)/set* \ + $(PKGDIR)-dev-common/$(OOSDKDIR) + # settings/dk.mk is not arch-indep + mkdir -p $(PKGDIR)-dev/$(OOSDKDIR)/settings + mv $(PKGDIR)-dev-common/$(OOSDKDIR)/settings/dk.mk \ + $(PKGDIR)-dev/$(OOSDKDIR)/settings + mv $(PKGDIR)-dev/$(OOSDKDIR)/config* \ + $(PKGDIR)-dev-common/$(OOSDKDIR) + mv $(PKGDIR)-dev/$(OOSDKDIR)/index.html* \ + $(PKGDIR)-dev-common/$(OOSDKDIR) + ifeq "$(ENABLE_JAVA)" "y" + mkdir -p $(PKGDIR)-dev-common/usr/share/libreoffice/sdk + mv $(PKGDIR)-dev/usr/share/libreoffice/sdk/classes \ + $(PKGDIR)-dev-common/usr/share/libreoffice/sdk + endif + mkdir -p $(PKGDIR)-dev-common/$(OODIR)/share/glade + mv $(PKGDIR)-common/$(OODIR)/share/glade/libreoffice-catalog.xml \ + $(PKGDIR)-dev-common/$(OODIR)/share/glade +else + rm -rf $(PKGDIR)-common/$(OODIR)/share/glade +endif + + ifeq "$(PACKAGE_SDK_DOCS)" "y" + # move SDK documentation into own package + rm -rf $(PKGDIR)-dev-doc + mkdir -p $(PKGDIR)-dev-doc/usr/share/doc/libreoffice + mv $(PKGDIR)-dev/usr/share/doc/libreoffice/sdk \ + $(PKGDIR)-dev-doc/usr/share/doc/libreoffice + mkdir -p $(PKGDIR)-dev-doc/$(OOSDKDIR) + ln -sf /usr/share/doc/libreoffice/sdk/docs \ + $(PKGDIR)-dev-doc/$(OOSDKDIR)/docs + mv $(PKGDIR)-dev/$(OOSDKDIR)/examples \ + $(PKGDIR)-dev-doc/$(OOSDKDIR) + rm -f $(PKGDIR)-dev-doc/usr/share/doc/libreoffice/sdk/readme/LICENSE* + # and fix the symlink now dangling due to the move above + cd $(PKGDIR)-dev-common/$(OOSDKDIR) && \ + ln -sf /usr/share/doc/libreoffice/sdk/index.html + endif + +ifeq "$(PACKAGE_SDK)" "y" + ifeq "$(ENABLE_JAVA)" "y" + # compat/safety symlink for SDK Java stuff moved to /usr/share + rm -f $(PKGDIR)-dev-common/$(OOSDKDIR)/classes + mkdir -p $(PKGDIR)-dev-common/$(OOSDKDIR)/classes/com/sun/star/lib/loader + cd $(PKGDIR)-dev-common/$(OOSDKDIR)/classes/com/sun/star/lib/loader && \ + for i in $(CURDIR)/$(PKGDIR)-dev-common/$(shell echo $(OOSDKDIR) | sed -e s/lib/share/)/classes/com/sun/star/lib/loader/*.class; do \ + ln -s `echo $$i | sed -e 's,$(CURDIR)/$(PKGDIR)-dev-common,,'` `basename $$i`; \ + done + ifeq "$(PACKAGE_UNOWINREG_DLL)" "y" + mkdir -p $(PKGDIR)-dev-common/$(OOSDKDIR)/classes/win + chmod 644 $(PKGDIR)-dev-common/$(shell echo $(OOSDKDIR) | sed -e s/lib/share/)/classes/win/unowinreg.dll + ln -s /$(shell echo $(OOSDKDIR) | sed -e s/lib/share/)/classes/win/unowinreg.dll \ + $(PKGDIR)-dev-common/$(OOSDKDIR)/classes/win/unowinreg.dll + else + rm -rf $(PKGDIR)-dev-common/$(shell echo $(OOSDKDIR) | sed -e s/lib/share/)/classes/win + endif + endif + chmod 644 $(PKGDIR)-dev-common/$(OOSDKDIR)/configure.pl + chmod 755 $(PKGDIR)-dev-common/$(OOSDKDIR)/setsdkenv_unix + + # fix permissions + find $(PKGDIR)-dev-common/usr/share/idl/$(OODIRNAME) -type f -exec chmod 644 {} \; +endif + +ifeq "$(ENABLE_EVO2)" "y" + mkdir -p $(PKGDIR)-evolution/$(OODIR)/presets/database + mkdir -p $(PKGDIR)-evolution/$(OODIR)/share/registry + mv $(PKGDIR)-common/$(OODIR)/presets/database/evolocal.odb \ + $(PKGDIR)-evolution/$(OODIR)/presets/database +endif + + # Access2Base IMHO clearly is -base specific :-) +ifeq "$(PACKAGE_BASE)" "y" + mkdir -p $(PKGDIR)-base/$(OODIR)/share/basic + mv $(PKGDIR)-common/$(OODIR)/share/basic/Access2Base \ + $(PKGDIR)-base/$(OODIR)/share/basic + cp $(PKGDIR)-common/$(OODIR)/share/basic/dialog.xlc \ + $(PKGDIR)-base/$(OODIR)/share/basic + cp $(PKGDIR)-common/$(OODIR)/share/basic/script.xlc \ + $(PKGDIR)-base/$(OODIR)/share/basic + # FIXME. Does not scale. This has to be a diversion... + t=`mktemp -q`; grep -v Access2Base $(PKGDIR)-common/$(OODIR)/share/basic/dialog.xlc > \ + $$t && mv $$t $(PKGDIR)-common/$(OODIR)/share/basic/dialog.xlc && rm -f $$t + t=`mktemp -q`; grep -v Access2Base $(PKGDIR)-common/$(OODIR)/share/basic/script.xlc > \ + $$t && mv $$t $(PKGDIR)-common/$(OODIR)/share/basic/script.xlc && rm -f $$t +else + rm -rf $(PKGDIR)-common/$(OODIR)/share/basic/Access2Base + t=`mktemp -q`; grep -v Access2Base $(PKGDIR)-common/$(OODIR)/share/basic/dialog.xlc > \ + $$t && mv $$t $(PKGDIR)-common/$(OODIR)/share/basic/dialog.xlc && rm -f $$t + t=`mktemp -q`; grep -v Access2Base $(PKGDIR)-common/$(OODIR)/share/basic/script.xlc > \ + $$t && mv $$t $(PKGDIR)-common/$(OODIR)/share/basic/script.xlc && rm -f $$t +endif + +ifeq "$(PACKAGE_SDK)" "y" + # move gengal stuff into -dev + mkdir -p $(PKGDIR)-dev/$(OODIR)/program + mv $(PKGDIR)-core/$(OODIR)/program/gengal.bin \ + $(PKGDIR)-dev/$(OODIR)/program + mv $(PKGDIR)-common/$(OODIR)/program/gengal \ + $(PKGDIR)-dev/$(OODIR)/program +else + rm -f $(PKGDIR)-core/$(OODIR)/program/gengal.bin + rm -f $(PKGDIR)-common/$(OODIR)/program/gengal +endif + +ifneq "$(ENABLE_REPORTBUILDER)" "y" + # unneeded. a no-Java arch, so the report-builder can't work anyway. + # (and we need to remove it here anyway as it otherwise would end up + # in -base/-core) + rm -rf $(PKGDIR)-report-builder + rm -f $(PKGDIR)-core/$(OODIR)/program/librpt* +else + ifeq "$(PACKAGE_BASE)" "y" + # move rpt stuff into -report-builder-bin + rm -rf $(PKGDIR)-report-builder-bin + mkdir -p $(PKGDIR)-report-builder-bin/$(OODIR)/program + # it seems that --enable/--disable-reportbuiler affects the install + # location. sigh. + if [ -e $(PKGDIR)-core/$(OODIR)/program/librptlo.so ]; then \ + i=core; else i=report-builder; fi; \ + mv $(PKGDIR)-$$i/$(OODIR)/program/librpt* \ + $(PKGDIR)-report-builder-bin/$(OODIR)/program + endif +endif + + # move uno_packages/cache to /var and create symlink for for + # documentation referencing it... + rm -rf $(PKGDIR)-common/$(OODIR)/share/uno_packages + mkdir -p $(PKGDIR)-core/var/spool/$(OODIRNAME)/uno_packages/cache + mkdir -p $(PKGDIR)-core/$(OODIR)/share/uno_packages + ln -s /var/spool/$(OODIRNAME)/uno_packages/cache \ + $(PKGDIR)-core/$(OODIR)/share/uno_packages/cache + perl -pi -e \ + 's,\$$UNO_SHARED_PACKAGES/cache,file:///var/spool/$(OODIRNAME)/uno_packages/cache,g' \ + $(PKGDIR)-common/$(OODIR)/program/unorc + # What is this? unorc per default only mentiones + # share/uno_packages/cache... + rm -rf $(PKGDIR)-common/$(OODIR)/presets/uno_packages + +ifeq "$(ENABLE_FIREBIRD)" "y" + ifeq (,$(filter firebird, $(SYSTEM_STUFF))) + mkdir -p $(PKGDIR)-sdbc-firebird/$(OODIR)/share + mv $(PKGDIR)-common/$(OODIR)/share/firebird \ + $(PKGDIR)-sdbc-firebird/$(OODIR)/share + endif +endif + + find debian/tmp ! -perm -200 | xargs -r chmod u+w + + touch $@ + +# +# Generate maintainer scripts +maintscripts: $(STAMP_DIR)/maintscripts +$(STAMP_DIR)/maintscripts: $(wildcard debian/shell-lib*.sh) $(wildcard debian/*.preinst.in) $(wildcard debian/*.postinst.in) $(wildcard debian/*.prerm.in) $(wildcard debian/*.postrm.in) debian/control + dh_testdir + + rm -f debian/*.{pre,post}{inst,rm} + + # generate maintainer scripts from *.in + for PKG in $(PACKAGES); do \ + for FILE in postinst postrm preinst prerm triggers; do \ + MAINTSCRIPT=debian/$$PKG.$$FILE ; \ + if [ -e $$MAINTSCRIPT.in ]; then \ + sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' < $$MAINTSCRIPT.in | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' > $$MAINTSCRIPT; \ + if grep -q "lool" $$MAINTSCRIPT.in; then \ + cat debian/shell-lib-lool.sh >> $$MAINTSCRIPT; \ + fi; \ + if egrep -q "(validate_extension|sync_extension)" $$MAINTSCRIPT.in; then \ + cat debian/shell-lib-extensions.sh >> $$MAINTSCRIPT; \ + fi; \ + sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' < $$MAINTSCRIPT.in | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >> $$MAINTSCRIPT; \ + perl -pi -e "s/\@LANGPACKISOS\@/$(LANGPACKISOS)/" $$MAINTSCRIPT; \ + perl -pi -e "s,\@OODIR\@,$(OODIR),g" $$MAINTSCRIPT; \ + fi; \ + done; \ + done + + touch $@ + +# Install files generated by setup into package directories +langpacks: $(STAMP_DIR)/langpacks +$(STAMP_DIR)/langpacks: $(STAMP_DIR)/build-indep $(STAMP_DIR)/install-indep $(SOURCE_TREE)/bin/lo-xlate-lang + + # remove empty uno_packages dirs somehow in the langpacks(?) + for iso in `echo $(LANGPACKISOS) | tr A-Z a-z`; do \ + rm -rf $(PKGDIR)-l10n-$$iso/$(OODIR)/share/uno_packages; \ + done + + # remove ooo dirs somehow in the langpacks(?) + for iso in `echo $(LANGPACKISOS) | tr A-Z a-z`; do \ + rm -rf $(PKGDIR)-l10n-$$iso/$(OODIR)/share/dict/ooo; \ + done + + # remove extra license files + for iso in `echo $(LANGPACKISOS) | tr A-Z a-z`; do \ + rm -rf $(PKGDIR)-l10n-$$iso/$(OODIR)/licenses; \ + rm -f $(PKGDIR)-l10n-$$iso/$(OODIR)/share/readme/LICENSE*; \ + done + + # remove extra readme files + for iso in `echo $(LANGPACKISOS) | tr A-Z a-z`; do \ + rm -rf $(PKGDIR)-l10n-$$iso/$(OODIR)/readmes; \ + rm -f $(PKGDIR)-l10n-$$iso/$(OODIR)/share/readme/README*; \ + done + + # remove empty help directories + for iso in `echo $(LANGPACKISOS) | tr A-Z a-z`; do \ + rm -rf $(PKGDIR)-l10n-$$iso/$(shell echo $(OODIR) | sed -e s/lib/share/)/help; \ + rm -rf $(PKGDIR)-l10n-$$iso/$(OODIR)/help; \ + done + + # install technical.dic + for iso in $(LANGPACKISOS); do \ + if [ "$$iso" = "en-US" ]; then pkg=common; \ + elif [ "$$iso" = "ca-valencia" ]; then pkg=l10n-ca; \ + elif [ "$$iso" = "sr-Latn" ]; then pkg=l10n-sr; \ + elif [ "$$iso" = "kmr-Latn" ]; then pkg=l10n-kmr; \ + else pkg=l10n-`echo $$iso | tr A-Z a-z`; \ + fi; \ + mkdir -p $(PKGDIR)-$$pkg/$(OODIR)/share/wordbook/$$iso; \ + install -m644 $(SOURCE_TREE)/extras/source/wordbook/technical.dic \ + $(PKGDIR)-$$pkg/$(OODIR)/share/wordbook/$$iso/technical.dic; \ + done + +ifeq "$(DEB_VENDOR)" "Debian" + # install Debian presentation template + otps=`cd debian/templates; echo *.otp`; \ + for iso in $(LANGPACKISOS); do \ + [ "$$iso" = "en-US" ] && continue; \ + pkgiso=`echo $$iso | tr \[:upper:\] \[:lower:\]`; \ + [ "$$pkgiso" = "ca-valencia" ] && pkgiso=ca; \ + [ "$$pkgiso" = "sr-latn" ] && pkgiso=sr; \ + [ "$$pkgiso" = "kmr-latn" ] && pkgiso=kmr; \ + mkdir -p $(PKGDIR)-l10n-$$pkgiso/$(OODIR)/share/template/$$iso/presnt; \ + for otp in $$otps; do \ + ln -sf ../../en-US/presnt/$$otp \ + $(PKGDIR)-l10n-$$pkgiso/$(OODIR)/share/template/$$iso/presnt/$$odt; \ + done; \ + done +endif + +ifeq (he,$(findstring he,$(LANGPACKISOS))) + perl -pi -e 's#true#false#' $(PKGDIR)-l10n-he/$(OODIR)/share/registry/ctl_he.xcd +endif + + touch $@ + +# Install files generated by setup into arch-dependent package directories +install-arch: $(STAMP_DIR)/install-arch +$(STAMP_DIR)/install-arch: $(STAMP_DIR)/build-arch $(STAMP_DIR)/install-common + dh_testdir + dh_testroot + umask 022 + + # move URE Java stuff to /usr/share/java + mkdir -p debian/ure/usr/share/java +ifeq "$(ENABLE_JAVA)" "y" + mv debian/ure/$(OODIR)/program/classes/* \ + debian/ure/usr/share/java + cd debian/ure/$(OODIR)/program/classes && \ + for i in $(CURDIR)/debian/ure/usr/share/java/*.jar; do \ + ln -sf `echo $$i | sed -e 's,$(CURDIR)/debian/ure,,'` `basename $$i`; \ + done + # fix up Class-Path of jurt.jar to be able to find libjpipe.so. + # See http://markmail.org/message/yacqa7oowugxwmn2 + jh_classpath --classpath="ridl.jar unoloader.jar ../../lib /$(OODIR)/program ../bin/" \ + $(CURDIR)/debian/ure/usr/share/java/jurt.jar +endif + # and the public libs to uno-libs3 + mkdir -p debian/uno-libs3/$(OODIR)/program + mkdir -p debian/uno-libs3/usr/lib/$(DEB_HOST_MULTIARCH) + for i in debian/ure/$(OODIR)/program/libuno_*so.3; do \ + mv $$i debian/uno-libs3/$(OODIR)/program; \ + ln -sf /$(OODIR)/program/`basename $$i` debian/uno-libs3/usr/lib/$(DEB_HOST_MULTIARCH)/`basename $$i`; \ + done + # we also need libxmlreaderlo.so, libreglo.so and libunoidllo.so (libuno_cppuhelpergcc3.so.3 + # needs it) and libstorelo.so (libreglo.so needs it) + for i in libxmlreaderlo.so libreglo.so libstorelo.so libunoidllo.so; do \ + mv debian/ure/$(OODIR)/program/$$i \ + debian/uno-libs3/$(OODIR)/program; \ + done + + +ifeq "$(BUILD_KDE)" "y" + # install files for KDEs "create new" ... + mkdir -p $(PKGDIR)-kde$(KDE_MAJOR)/usr/share/templates/.source + for i in $(SOURCE_TREE)/extras/source/shellnew/*; do \ + cp $$i $(PKGDIR)-kde$(KDE_MAJOR)/usr/share/templates/.source/`basename $$i`; \ + done + cat debian/templates/soffice-template.desktop.in \ + | sed -e "s/@APP@/Writer/" \ + | sed -e "s/@EXT@/odt/" \ + | sed -e "s/@TYPE@/text/" \ + > $(PKGDIR)-kde$(KDE_MAJOR)/usr/share/templates/soffice.odt.desktop + cat debian/templates/soffice-template.desktop.in \ + | sed -e "s/@APP@/Calc/" \ + | sed -e "s/@EXT@/ods/" \ + | sed -e "s/@TYPE@/spreadsheet/" \ + > $(PKGDIR)-kde$(KDE_MAJOR)/usr/share/templates/soffice.ods.desktop + cat debian/templates/soffice-template.desktop.in \ + | sed -e "s/@APP@/Impress/" \ + | sed -e "s/@EXT@/odp/" \ + | sed -e "s/@TYPE@/presentation/" \ + > $(PKGDIR)-kde$(KDE_MAJOR)/usr/share/templates/soffice.odp.desktop + cat debian/templates/soffice-template.desktop.in \ + | sed -e "s/@APP@/Draw/" \ + | sed -e "s/@EXT@/odg/" \ + | sed -e "s/@TYPE@/drawing/" \ + > $(PKGDIR)-kde$(KDE_MAJOR)/usr/share/templates/soffice.odg.desktop +endif + + # split out gtk stuff + rm -rf $(PKGDIR)-gtk2 + mkdir -p -m755 $(PKGDIR)-gtk2/$(OODIR)/program +ifeq "$(BUILD_GTK3)" "y" + rm -rf $(PKGDIR)-gtk3 + mkdir -p -m755 $(PKGDIR)-gtk3/$(OODIR)/program + mkdir -p -m755 debian/liblibreofficekitgtk/$(OODIR)/program + mv $(PKGDIR)-gnome/$(OODIR)/program/libvclplug_gtk3lo.so $(PKGDIR)-gtk3/$(OODIR)/program/ + mv $(PKGDIR)-core/$(OODIR)/program/liblibreofficekitgtk.so debian/liblibreofficekitgtk/$(OODIR)/program/ +endif + mv $(PKGDIR)-gnome/$(OODIR)/program/* $(PKGDIR)-gtk2/$(OODIR)/program/ +ifeq "$(BUILD_GTK)" "y" + mkdir -p -m755 $(PKGDIR)-gtk2/$(OODIR)/share + ifeq "$(ENABLE_GIO)" "y" + mv $(PKGDIR)-gtk2/$(OODIR)/program/libucpgio1lo.so \ + $(PKGDIR)-gnome/$(OODIR)/program/ + endif + ifeq "$(ENABLE_PACKAGEKIT)" "y" + mv $(PKGDIR)-gtk2/$(OODIR)/program/liblosessioninstalllo.so \ + $(PKGDIR)-gnome/$(OODIR)/program/ + endif +endif + +ifeq "$(ENABLE_EVO2)" "y" + mkdir -p -m755 $(PKGDIR)-evolution/$(OODIR)/program + mv $(PKGDIR)-gtk2/$(OODIR)/program/libevoab*.so $(PKGDIR)-evolution/$(OODIR)/program + mv $(PKGDIR)-gnome/$(OODIR)/share/registry/evoab.xcd \ + $(PKGDIR)-evolution/$(OODIR)/share/registry +endif + +ifeq "$(PACKAGE_BASE)" "y" + mkdir -p $(PKGDIR)-base-core/$(OODIR)/program + mv $(PKGDIR)-base/$(OODIR)/program/libdbalo.so \ + $(PKGDIR)-base-core/$(OODIR)/program + mv $(PKGDIR)-base/$(OODIR)/program/libdbahsqllo.so \ + $(PKGDIR)-base-core/$(OODIR)/program +endif + +ifeq "$(ENABLE_JAVA)" "y" + ifneq (,$(filter hsqldb, $(SYSTEM_STUFF))) + # link to system hsqldb + mkdir -p $(PKGDIR)-base/$(OODIR)/program/classes + ln -sf $(HSQLDB_JAR) \ + $(PKGDIR)-base/$(OODIR)/program/classes/hsqldb.jar + endif +endif + +ifeq "$(ENABLE_JAVA)" "y" + rm -rf $(PKGDIR)-officebean + mkdir -p -m755 $(PKGDIR)-officebean/$(OODIR)/program/classes + mkdir -p -m755 $(PKGDIR)-officebean/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes + mv $(PKGDIR)-core/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes/officebean.jar \ + $(PKGDIR)-officebean/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes + ln -s $(shell echo /$(OODIR) | sed -e s/lib/share/)/program/classes/officebean.jar \ + $(PKGDIR)-officebean/$(OODIR)/program/classes/officebean.jar + mv $(PKGDIR)-core/$(OODIR)/program/libofficebean.so \ + $(PKGDIR)-officebean/$(OODIR)/program +endif + + mkdir -p -m755 $(PKGDIR)-base/usr/share/applications \ + $(PKGDIR)-core/usr/share/applications + + sed -i -e 's/Office;/Office;Graphics;/' $(PKGDIR)-draw/usr/share/applications/libreoffice-draw.desktop + # invalid, according to lintian. make it shut up. + for i in writer calc impress draw math base; do \ + perl -pi -e 's/Application;//; s/X-Red-Hat-Base;//; s/X-SuSE-Core-Office;//; s/X-MandrivaLinux-.*;//;' $(PKGDIR)-$$i/usr/share/applications/libreoffice-$$i.desktop; \ + done + +ifeq "$(ENABLE_PYTHON)" "y" + # PyUNO packaging + install -d $(PYTHON_SITE) + # prepend stuff so that it works when the module is not in LOs + # directories but in $(PYTHON_SITE). Can't be a patch (anymore) + # as otherwise the python-based unittests fail miserably. + echo "import sys, os" > $(PYTHON_SITE)/uno.py + echo "sys.path.append('/$(OODIR)/program')" >> $(PYTHON_SITE)/uno.py + echo "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:/$(OODIR)/program/fundamentalrc')" >> $(PYTHON_SITE)/uno.py + cat debian/python3-uno/$(OODIR)/program/uno.py >> $(PYTHON_SITE)/uno.py + rm -f debian/python3-uno/$(OODIR)/program/uno.py + mv debian/python3-uno/$(OODIR)/program/unohelper.py $(PYTHON_SITE) + touch debian/python3-uno/$(OODIR)/program/pythonloader.unorc + chmod u+w debian/python3-uno/$(OODIR)/program/pythonloader.unorc + ( echo 'PYTHONHOME=file:///usr/lib/python$(PYMAJOR).$(PYMINOR)' ;\ + echo 'PYTHONPATH=$$PYTHONHOME $$PYTHONHOME/site-packages $$PYTHONHOME/lib-dynload $$PYTHONHOME/lib-tk $$ORIGIN' \ + ) >> debian/python3-uno/$(OODIR)/program/pythonloader.unorc + chmod u-w debian/python3-uno/$(OODIR)/program/pythonloader.unorc + ifeq "$(ENABLE_SCRIPT_PROVIDER_PYTHON)" "y" + rm -f debian/libreoffice-script-provider-python/$(OODIR)/share/extensions/script-provider-for-python/registration/LICENSE + endif + + mkdir -p debian/python3-uno/usr/share/doc/python3-uno + cp -r $(SOURCE_TREE)/pyuno/demo \ + debian/python3-uno/usr/share/doc/python3-uno; \ + for i in $(SOURCE_TREE)/pyuno/doc/*; do \ + cp $$i debian/python3-uno/usr/share/doc/python3-uno; \ + done + cd debian/python3-uno/usr/share/doc/python3-uno && \ + find . -type d -name "CVS" | xargs -r rm -rf +endif + + # should be empty now, remove if there + rm -rf $(PKGDIR)-core/$(OODIR)/ure + +ifeq "$(PACKAGE_SDK)" "y" + # create wrapper scripts + cd $(PKGDIR)-dev/$(OOSDKDIR)/bin && \ + for i in *; do \ + mv $$i $$i.bin && \ + ( \ + echo "#!/bin/sh"; \ + echo "# wrapper script for OOos SDK programs"; \ + echo ""; \ + echo 'LD_LIBRARY_PATH=/$(OODIR)/program /$(OOSDKDIR)/bin/`basename $$0`.bin "$$@"'; \ + ) > $$i; \ + chmod 755 $$i; \ + done + # remove symlink, it should be in -dev-doc + cd $(PKGDIR)-dev/$(OOSDKDIR) && \ + rm docs + + rm -f $(PKGDIR)-dev/usr/share/doc/libreoffice/sdk/readme/LICENSE.gz +endif + + # remove empty resource directories + for i in draw base writer impress calc math; do \ + rm -rf $(PKGDIR)-$$i/$(OODIR)/program/resource; \ + done + +ifeq "$(ENABLE_MINIMIZER)" "y" + rm -f $(PKGDIR)-presentation-minimizer/$(OODIR)/share/extensions/presentation-minimizer/registration/LICENSE +endif + +ifeq "$(ENABLE_PRESENTER_CONSOLE)" "y" + rm -f usr/lib/libreoffice/share/extensions/presenter-screen/registration/LICENSE +endif + +ifeq "$(ENABLE_MYSQLNATIVE)" "y" + rm -f $(PKGDIR)-mysql-connector/$(OODIR)/share/extensions/mysql-connector-ooo/registration/LICENSE +endif + +ifeq "$(PACKAGE_SDK)" "y" + # move ui-previewer into -dev + mkdir -p $(PKGDIR)-dev/$(OODIR)/program + mv $(PKGDIR)-core/$(OODIR)/program/ui-previewer \ + $(PKGDIR)-dev/$(OODIR)/program +else + rm -f $(PKGDIR)-core/$(OODIR)/program/ui-previewer +endif + +ifeq "$(USE_GSTREAMER)" "y" + mkdir -p $(PKGDIR)-avmedia-backend-gstreamer/$(OODIR)/program + mv $(PKGDIR)-core/$(OODIR)/program/libavmediagst.so \ + $(PKGDIR)-avmedia-backend-gstreamer/$(OODIR)/program +endif +ifeq "$(USE_VLC)" "y" + mkdir -p $(PKGDIR)-avmedia-backend-vlc/$(OODIR)/program + mv $(PKGDIR)-core/$(OODIR)/program/libavmediavlc.so \ + $(PKGDIR)-avmedia-backend-vlc/$(OODIR)/program +endif + +ifeq "$(ENABLE_JAVA)" "y" + mkdir -p $(PKGDIR)-sdbc-hsqldb/$(OODIR)/program + mkdir -p $(PKGDIR)-sdbc-hsqldb/usr/lib/libreoffice/program/classes + mkdir -p $(PKGDIR)-sdbc-hsqldb/usr/share/libreoffice/program/classes + mv $(PKGDIR)-base/$(OODIR)/program/libhsqldb.so \ + $(PKGDIR)-sdbc-hsqldb/$(OODIR)/program + ifneq (,$(filter hsqldb, $(SYSTEM_STUFF))) + mv $(PKGDIR)-base/usr/lib/libreoffice/program/classes/hsqldb.jar \ + $(PKGDIR)-sdbc-hsqldb/usr/lib/libreoffice/program/classes + endif + for i in lib share; do \ + mv $(PKGDIR)-base/usr/$$i/libreoffice/program/classes/sdbc_hsqldb.jar \ + $(PKGDIR)-sdbc-hsqldb/usr/$$i/libreoffice/program/classes; \ + done +endif +ifeq "$(ENABLE_FIREBIRD)" "y" + mkdir -p $(PKGDIR)-sdbc-firebird/$(OODIR)/program + mv $(PKGDIR)-core/$(OODIR)/program/libfirebird_sdbclo.so \ + $(PKGDIR)-sdbc-firebird/$(OODIR)/program + ifeq (,$(filter firebird, $(SYSTEM_STUFF))) + for i in libEngine12.so libfbclient.so.2; do \ + mv $(PKGDIR)-core/$(OODIR)/program/$$i \ + $(PKGDIR)-sdbc-firebird/$(OODIR)/program; \ + done + endif +endif + mkdir -p $(PKGDIR)-base-drivers/$(OODIR)/program + for i in `find $(PKGDIR)-base/$(OODIR)/program/ -name "*.so" \ + -a \! -name "libdbulo*" -a \! -name "libdbaxml*" -a \! -name "libdbp*" -a \! -name "libabplo.so"`; do \ + mv $$i \ + $(PKGDIR)-base-drivers/$(OODIR)/program; \ + done + +ifeq "$(ENABLE_JAVA)" "y" + # somehow --has-package-version doesn't overwrite version and without ... + # we get a NullPointerException when calling mh_installjar + for i in ridl unoloader; do \ + sed -e s/@version@/$(shell echo $(DEB_VERSION_UPSTREAM) | cut -d~ -f1)/ \ + < $(SOURCE_TREE)/ridljar/pom.$$i.xml > debian/pom.$$i.xml; \ + done + sed -e s/@version@/$(shell echo $(DEB_VERSION_UPSTREAM) | cut -d~ -f1)/ \ + < $(SOURCE_TREE)/jurt/pom.jurt.xml > debian/pom.jurt.xml + sed -e s/@version@/$(shell echo $(DEB_VERSION_UPSTREAM) | cut -d~ -f1)/ \ + < $(SOURCE_TREE)/javaunohelper/pom.juh.xml > debian/pom.juh.xml + + mh_installpoms -pure + for i in juh jurt ridl unoloader; do \ + mh_installjar -pure -l debian/pom.$$i.xml instdir/program/classes/$$i.jar; \ + done + sed -e s/@version@/$(shell echo $(DEB_VERSION_UPSTREAM) | cut -d~ -f1)/ \ + < $(SOURCE_TREE)/bean/pom.officebean.xml > debian/pom.officebean.xml + mh_installpoms -plibreoffice-officebean + mh_installjar -plibreoffice-officebean -l debian/pom.officebean.xml instdir/program/classes/officebean.jar +endif + + # fix permission + chmod 644 $(PKGDIR)-impress/$(OODIR)/program/opengl/vortexVertexShader.glsl + + for i in $(ARCH_DEP_PACKAGES); do \ + if [ -e debian/$$i.bug-script.in ]; then \ + cat debian/$$i.bug-script.in \ + | sed -e "s/@PLATFORMID@/$(PLATFORMID)/" \ + | sed -e "s/@OOVER@/$(OOVER)/" \ + > debian/$$i.bug-script; \ + fi ;\ + done + # generate .links files from *.in + for PKG in $(ARCH_DEP_PACKAGES); do \ + LINKS=debian/$$PKG.links ; \ + if [ -e $$LINKS.in ]; then \ + sed -e "s#\@OODIR\@#$(OODIR)#g" \ + < $$LINKS.in > $$LINKS ; \ + fi; \ + done + for PKG in $(ARCH_DEP_PACKAGES); do \ + case $$PKG in \ + uno-libs*|ure*) \ + ;; \ + *) \ + cat debian/changelog \ + | sed -e '/^openoffice/,$$d' \ + > debian/$$PKG.changelog; \ + ;; \ + esac; \ + done + + touch $@ + +# Install files generated by setup into arch-independent package directories +install-indep: $(STAMP_DIR)/install-indep +#$(STAMP_DIR)/install-indep: debian/libreoffice.install +#$(STAMP_DIR)/install-indep: debian/libreoffice.dirs +$(STAMP_DIR)/install-indep: $(STAMP_DIR)/build-indep $(STAMP_DIR)/install-common + dh_testdir + dh_testroot + +ifneq "$(shell echo $(USE_GSTREAMER)$(USE_VLC) | grep -q y && echo 0)" "0" + # sound doesn't work anyway, remove the .wav files to save space + rm -rf $(PKGDIR)-common/$(OODIR)/share/gallery/sounds + rm -f $(PKGDIR)-common/$(OODIR)/share/gallery/sg9.* +endif + + rm -f $(PKGDIR)-common/$(OODIR)/program/oo_product.bmp + + # install openoffice-xlate-lang + install -d -m755 $(PKGDIR)-common/usr/share/$(OODIRNAME)/bin + install -m755 $(SOURCE_TREE)/bin/lo-xlate-lang \ + $(PKGDIR)-common/usr/share/$(OODIRNAME)/bin + +ifeq "$(ENABLE_HELP)" "n" + # when we don't build helpcontent2 here we are missing helpxsl.zip so + # this file doesn't get installed either. Do it manually.. + mkdir -p -m755 $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/help && \ + cp $(SOURCE_TREE)/xmlhelp/util/main_transform.xsl \ + $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/help + cp $(SOURCE_TREE)/xmlhelp/util/idxcaption.xsl \ + $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/help + cp $(SOURCE_TREE)/xmlhelp/util/idxcontent.xsl \ + $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/help +endif + +ifeq "$(PACKAGE_SDK)" "y" + ifeq "$(PACKAGE_SDK_DOCS)" "y" + rm -f $(PKGDIR)-dev-doc/usr/share/doc/libreoffice-dev-doc/LICENSE + perl -pi -e 's,license.html,http://www.gnu.org/licenses/lgpl.html,' \ + $(PKGDIR)-dev-doc/$(OOSDKDIR)/index.html + find $(PKGDIR)-dev-doc/$(OODIR)/sdk/examples -type f -exec chmod 644 {} \; + endif +endif + +ifeq "$(ENABLE_JAVA)" "y" + # move common Java stuff to -java-common + rm -rf $(PKGDIR)-java-common + mkdir -p $(PKGDIR)-java-common/$(OODIR)/program/classes + mkdir -p $(PKGDIR)-java-common/$(OODIR)/share/Scripts + mkdir -p $(PKGDIR)-java-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes + mv $(PKGDIR)-common/$(OODIR)/share/Scripts/java \ + $(PKGDIR)-java-common/$(OODIR)/share/Scripts + mv $(PKGDIR)-common/$(OODIR)/program/classes/* \ + $(PKGDIR)-java-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes + cd $(PKGDIR)-java-common/$(OODIR)/program/classes && \ + for i in $(CURDIR)/$(PKGDIR)-java-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes/*; do \ + case "`basename $$i`" in aportisdoc.jar|pexcel.jar|pocketword.jar) continue ;; \ + *) ln -s `echo $$i | sed -e 's,$(CURDIR)/$(PKGDIR)-java-common,,'` `basename $$i` ;; esac; \ + done + +ifeq "$(BUILD_TEST_PACKAGES)" "y" + ifeq "$(ENABLE_JUNIT4)" "y" + rm -rf $(PKGDIR)-subsequentcheckbase + mkdir -p $(PKGDIR)-subsequentcheckbase/$(OODIR)/program/classes/ + for jar in OOoRunner test test-tools ConnectivityTools; do \ + cp workdir/Jar/$$jar.jar $(PKGDIR)-subsequentcheckbase/$(OODIR)/program/classes/; \ + done + endif + + rm -rf $(PKGDIR)-smoketest-data + mkdir -p $(PKGDIR)-smoketest-data/usr/share/libreoffice + cp workdir/Extension/TestExtension.oxt \ + $(PKGDIR)-smoketest-data/usr/share/libreoffice + cp workdir/Zip/smoketestdoc.sxw \ + $(PKGDIR)-smoketest-data/usr/share/libreoffice +endif +endif + + # fix permissions + for i in editpic poll savepic show webcast; do \ + chmod 755 $(PKGDIR)-common/$(OODIR)/share/config/webcast/$$i.pl; \ + done + chmod 644 $(PKGDIR)-common/$(OODIR)/LICENSE.fodt + chmod 644 $(PKGDIR)-common/$(OODIR)/CREDITS.fodt + # Do we really need this (ALV2 mandating it) or can this go? + chmod 644 $(PKGDIR)-common/$(OODIR)/NOTICE + rm -rf $(PKGDIR)-common/$(OODIR)/LICENSE + + # set PYTHONPATH in unopkg + perl -pi -e 's,unset XENVIRONMENT,unset XENVIRONMENT\n\nexport PYTHONPATH=\"/$(OODIR)/program\"\n\n,' \ + $(PKGDIR)-common/$(OODIR)/program/unopkg + + mkdir -p debian/fonts-opensymbol/usr/share/fonts/truetype/openoffice + mv $(PKGDIR)-common/$(OODIR)/share/fonts/truetype/opens___.ttf \ + debian/fonts-opensymbol/usr/share/fonts/truetype/openoffice + mkdir -p debian/fonts-opensymbol/etc/fonts/conf.d + mkdir -p debian/fonts-opensymbol/usr/share/fontconfig/conf.avail + # this only works with --without-fonts. Otherwise we get all stuff here, + # not only the Symbol->OpenSymbol part... But we don't support --with-fonts + # build here right now anyway. + mv $(PKGDIR)-common/$(OODIR)/share/fonts/truetype/fc_local.conf \ + debian/fonts-opensymbol/usr/share/fontconfig/conf.avail/30-opensymbol.conf + cd debian/fonts-opensymbol/etc/fonts/conf.d/ && \ + ln -s /usr/share/fontconfig/conf.avail/30-opensymbol.conf + + # remove extra license files + rm -rf $(PKGDIR)-common/$(OODIR)/licenses + rm -f $(PKGDIR)-common/$(OODIR)/share/readme/LICENSE* + rm -f $(PKGDIR)-common/$(OODIR)/THIRDPARTYLICENSEREADME.html + rm -f $(PKGDIR)-common/$(OODIR)/LICENSE.html + + # remove extra readme files + rm -rf $(PKGDIR)-common/$(OODIR)/readmes + rm -f $(PKGDIR)-common/$(OODIR)/share/readme/README* + rm -f $(PKGDIR)-common/$(OODIR)/README.html + rm -f $(PKGDIR)-common/$(OODIR)/README + + # URE got moved to /usr/lib, so this is obsolete + for i in ure/lib ure; do \ + if [ -e $(PKGDIR)-common/$(OODIR)/$$i ]; then \ + rmdir $(PKGDIR)-common/$(OODIR)/$$i; \ + fi; \ + done + + # move psprint.conf into /etc + mkdir -p $(PKGDIR)-common/etc/$(OODIRNAME) + mv $(PKGDIR)-common/$(OODIR)/share/psprint/psprint.conf \ + $(PKGDIR)-common/etc/$(OODIRNAME) + ln -s /etc/$(OODIRNAME)/psprint.conf \ + $(PKGDIR)-common/$(OODIR)/share/psprint/psprint.conf + + # prepare a fake sofficerc in the place where OOo expects it + # which does nothing except reference the "normal" one + # which we put into /etc + mv $(PKGDIR)-common/$(OODIR)/program/sofficerc \ + $(PKGDIR)-common/etc/$(OODIRNAME)/sofficerc + ( \ + echo "# *DO NOT* CHANGE THIS FILE. IT ONLY TAKES THE SETTINGS FROM"; \ + echo "# /etc/$(OODIRNAME)/sofficerc. CHANGE THAT FILE IF YOU"; \ + echo "# REALLY WANT TO CHANGE SOMETHING."; \ + echo "FHS_CONFIG_FILE=file:///etc/$(OODIRNAME)/sofficerc"; \ + echo "" >> $(PKGDIR)-common/$(OODIR)/program/sofficerc; \ + ) > $(PKGDIR)-common/$(OODIR)/program/sofficerc + cat $(PKGDIR)-common/etc/$(OODIRNAME)/sofficerc \ + | perl -p -e 's/(.*)=(.*)/$$1=\$${\$$FHS_CONFIG_FILE:Bootstrap:$$1}/' \ + >> $(PKGDIR)-common/$(OODIR)/program/sofficerc + # except for URE_BOOTSTRAP... + TMP=`mktemp -q`; \ + grep -v URE_BOOTSTRAP $(PKGDIR)-common/$(OODIR)/program/sofficerc > $$TMP && mv $$TMP $(PKGDIR)-common/$(OODIR)/program/sofficerc && \ + grep URE_BOOTSTRAP $(PKGDIR)-common/etc/$(OODIRNAME)/sofficerc >> $(PKGDIR)-common/$(OODIR)/program/sofficerc && \ + grep -v URE_BOOTSTRAP $(PKGDIR)-common/etc/$(OODIRNAME)/sofficerc > $$TMP && mv $$TMP $(PKGDIR)-common/etc/$(OODIRNAME)/sofficerc + + install -m 644 debian/soffice.sh \ + $(PKGDIR)-common/etc/$(OODIRNAME)/soffice.sh + + set -e; \ + for i in $(IMAGES); do \ + z=images_$$i.zip; p=$$i; \ + if [ "$$i" = "breeze_dark" ]; then p=breeze; fi; \ + if [ "$$i" = "sifr_dark" ]; then p=sifr; fi; \ + mkdir -p $(PKGDIR)-style-$$p/$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config; \ + mv $(PKGDIR)-common/$(OODIR)/share/config/$$z \ + $(PKGDIR)-style-$$p/$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config/; \ + mkdir -p $(PKGDIR)-style-$$p/$(OODIR)/share/config; \ + ln -s /$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config/$$z \ + $(PKGDIR)-style-$$p/$(OODIR)/share/config/$$z; \ + done + mkdir -p $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config; \ + mv $(PKGDIR)-common/$(OODIR)/share/config/images_helpimg.zip \ + $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config/; \ + mkdir -p $(PKGDIR)-common/$(OODIR)/share/config; \ + ln -s /$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config/images_helpimg.zip \ + $(PKGDIR)-common/$(OODIR)/share/config/images_helpimg.zip; \ + +ifeq "$(DEB_VENDOR)" "Debian" + # install Debian presentation template + mkdir -p $(PKGDIR)-common/$(OODIR)/share/template/en-US/presnt + install -m644 debian/templates/*.otp $(PKGDIR)-common/$(OODIR)/share/template/en-US/presnt/ +endif + +ifeq "$(PACKAGE_SDK)" "y" + # add symlinks for docs and examples + cd $(PKGDIR)-dev-doc/$(OOSDKDIR) && \ + rm -rf docs && \ + ln -sf /usr/share/doc/libreoffice/sdk/docs docs +endif + +ifeq "$(ENABLE_JAVA)" "y" + ifeq "$(ENABLE_SCRIPT_PROVIDER_BSH)" "y" + mkdir -p $(PKGDIR)-script-provider-bsh/$(OODIR)/share/Scripts + mv $(PKGDIR)-common/$(OODIR)/share/Scripts/beanshell \ + $(PKGDIR)-script-provider-bsh/$(OODIR)/share/Scripts + endif + + ifeq "$(ENABLE_SCRIPT_PROVIDER_JS)" "y" + mkdir -p $(PKGDIR)-script-provider-js/$(OODIR)/share/Scripts + mv $(PKGDIR)-common/$(OODIR)/share/Scripts/javascript \ + $(PKGDIR)-script-provider-js/$(OODIR)/share/Scripts + endif + + ifeq "$(ENABLE_MEDIAWIKI)" "y" + rm -f $(PKGDIR)-wiki-publisher/$(OODIR)/share/extensions/wiki-publisher/registration/LICENSE + rm -f $(PKGDIR)-wiki-publisher/$(OODIR)/share/extensions/wiki-publisher/license/THIRDPARTYLICENSEREADME.html + endif + + ifeq "$(ENABLE_NLPSOLVER)" "y" + rm -f $(PKGDIR)-nlpsolver/$(OODIR)/share/extensions/nlpsolver/registration/LICENSE + endif +endif + + # unopkg creates stuff in there. + mkdir -p $(PKGDIR)-common/$(OODIR)/share/prereg + mkdir -p $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/usr/var/)/share/prereg/bundled + ln -s /$(shell echo $(OODIR) | sed -e s/usr/var/)/share/prereg/bundled \ + $(PKGDIR)-common/$(OODIR)/share/prereg/bundled + + # dedup + cd $(PKGDIR)-common/usr/share/icons && \ + rdfind -outputname /dev/null -makesymlinks true hicolor gnome + # should happen on dh_link, apparently didn't fix the /home/... symlinks + # so do this... + symlinks -r -s -c $(PKGDIR)-common + + # looks like it's pretty nonstandard to have symlinks; this breaks + # e.g. thegeneration from the appdata files. So get rid of those + # and move them to the libreoffice-* names after all. + mkdir -p $(PKGDIR)-common/usr/share/applications + for i in startcenter xsltfilter; do \ + rm -f $(PKGDIR)-common/usr/share/applications/libreoffice-$$i.desktop; \ + mv $(PKGDIR)-common/$(OODIR)/share/xdg/$$i.desktop \ + $(PKGDIR)-common/usr/share/applications/libreoffice-$$i.desktop; \ + done + + # fix the shebangs to make lintian happy + sed -i "s,/usr/bin/env perl,/usr/bin/perl,g" \ + $(PKGDIR)-common/usr/share/$(OODIRNAME)/bin/lo-xlate-lang + for i in $(PKGDIR)-common/$(OODIR)/share/config/webcast/*.pl; do \ + sed -i "s,/usr/bin/env perl,/usr/bin/perl,g" $$i; \ + done + + for i in $(ARCH_INDEP_PACKAGES); do \ + if [ -e debian/$$i.bug-script.in ]; then \ + cat debian/$$i.bug-script.in \ + | sed -e "s/@PLATFORMID@/$(PLATFORMID)/" \ + > debian/$$i.bug-script; \ + fi ;\ + done + # generate .links files from *.in + for PKG in $(ARCH_INDEP_PACKAGES); do \ + LINKS=debian/$$PKG.links ; \ + if [ -e $$LINKS.in ]; then \ + sed -e "s#\@OODIR\@#$(OODIR)#g" \ + < $$LINKS.in > $$LINKS ; \ + fi; \ + done + for PKG in $(ARCH_INDEP_PACKAGES); do \ + case $$PKG in \ + *-opensymbol) \ + ;; \ + *) \ + cat debian/changelog \ + | sed -e '/^openoffice/,$$d' \ + > debian/$$PKG.changelog; \ + ;; \ + esac; \ + done + + # install extension shell lib for use by extensions not from here + install -D -m644 debian/shell-lib-extensions.sh \ + $(PKGDIR)-common/usr/share/$(OODIRNAME)/shell-lib-extensions.sh + +ifneq "$(ENABLE_HELP)" "n" + ifneq "$(ENABLE_HTML_HELP)" "y" + # those are needed in /usr/share, too + mkdir -p $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/) + mv $(PKGDIR)-common/$(OODIR)/help \ + $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/) + endif +endif + # help is in /usr/share + sed -i 's,$$(instpath)/help,/$(shell echo $(OODIR) | sed -e s/lib/share/)/help,' \ + $(PKGDIR)-common/$(OODIR)/share/registry/main.xcd + + # compat dirs, the split icons thing need it + mkdir -p $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/program + mkdir -p $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/program + + # enable session handling and recovery + perl -pi -e 's,false,true,' $(PKGDIR)-common/$(OODIR)/share/registry/main.xcd + + # examples. move where they belong + mkdir -p $(PKGDIR)-common/usr/share/doc/libreoffice-common/examples + for i in oo-ldap.xcd.sample oo-ad-ldap.xcd.sample; do \ + mv $(PKGDIR)-common/$(OODIR)/share/registry/$$i \ + $(PKGDIR)-common/usr/share/doc/libreoffice-common/examples; \ + ln -s /usr/share/doc/libreoffice-common/examples/$$i $(PKGDIR)-common/$(OODIR)/share/registry/$$i; \ + done + + # register technical.dic + perl -pi -e 's/standard.dic;/standard.dic;technical.dic;/' $(PKGDIR)-common/$(OODIR)/share/registry/main.xcd + +#ifeq "$(PACKAGE_SDK)" "y" +# # install gengal stuff into -dev +# mkdir -p $(PKGDIR)-dev/$(OODIR)/program +# install -m644 $(SOURCE_TREE)/svx/$(shell . $(SOURCE_TREE)/bin/get_config_variables OUTPATH PROEXT; echo $$OUTPATH$$PROEXT)/bin/gengalrc \ +# $(PKGDIR)-common/$(OODIR)/program/gengalrc +#endif + +ifeq "$(ENABLE_JAVA)" "y" + # somehow --has-package-version doesn't overwrite version and without ... + # we get a NullPointerException when calling mh_installjar + sed -e s/@version@/$(shell echo $(DEB_VERSION_UPSTREAM) | cut -d~ -f1)/ \ + < $(SOURCE_TREE)/unoil/pom.unoil.xml > debian/pom.unoil.xml + mh_installpoms -plibreoffice-java-common + mh_installjar -plibreoffice-java-common -l debian/pom.unoil.xml instdir/program/classes/unoil.jar + # dedup. But why is this NOT a symlink from the start whereas the ure + # stuff is? + ln -sf /usr/share/java/unoil.jar $(PKGDIR)-java-common/usr/share/libreoffice/program/classes/unoil.jar +endif + +ifeq "$(INSTALL_APPARMOR_PROFILES)" "y" + mkdir -p $(PKGDIR)-common/etc/apparmor.d + ./sysui/desktop/share/apparmor.sh /$(OODIR)/ sysui/desktop/apparmor/ \ + $(PKGDIR)-common/etc/apparmor.d/ false $(CHECK_APPARMOR_PROFILES) + ifneq "$(ENABLE_APPARMOR_PROFILES)" "y" + # disable the apparmor files per default + mkdir -p $(PKGDIR)-common/etc/apparmor.d/disable + cd $(PKGDIR)-common/etc/apparmor.d/disable && \ + for i in oosplash senddoc soffice.bin xpdfimport; do \ + ln -sf /etc/apparmor.d/usr.lib.libreoffice.program.$$i \ + usr.lib.libreoffice.program.$$i; \ + done + endif +endif + + # fix fundamentalrc to not cause + # /usr/lib/libreoffice/program/../program/xpdfimport calls + # we know the path and the apparmor profiles disallow this... + sed -i "s,^BRAND_BASE_DIR=.*,BRAND_BASE_DIR=file:///$(OODIR)," \ + $(PKGDIR)-common/$(OODIR)/program/fundamentalrc + + touch $@ + +binary-arch: $(STAMP_DIR)/binary-arch +$(STAMP_DIR)/binary-arch: $(STAMP_DIR)/install-arch debian/control $(STAMP_DIR)/maintscripts + dh_testdir + dh_testroot + + for pkg in $(ARCH_DEP_PACKAGES) ; do \ + rm -f debian/$$pkg.*.debhelper;\ + rm -rf debian/$$pkg/DEBIAN;\ + done + + # not for uno-libs3/ure, as it otherwise picks up a (wrong) dependency on -core. + # maybe we should --link-doc=uno-libs3 as everything arch-dep needs it anyway? + # But how does it play with .symbols then? + # Also not for extensions, as they have an own version + # python3-uno has additional examples... + dh_installdocs -a -A -Nure -Nuno-libs3 \ + -Npython3-uno -Nlibreoffice-mysql-connector -Nlibreoffice -Nlibreofficekit-dev \ + --link-doc=libreoffice-core + dh_installdocs -pure -puno-libs3 -ppython3-uno -plibreoffice-mysql-connector -plibreoffice -plibreofficekit-dev + cp workdir/CustomTarget/readlicense_oo/readme/README_en-US \ + $(PKGDIR)-core/usr/share/doc/libreoffice-core/README + dh_installdebconf -a + dh_installman -a + for i in writer calc draw base math impress; do \ + for i in `find $(PKGDIR)-$$i -type l -name "lo*.1"`; do \ + mv $$i $$i.gz; \ + if [ "`readlink $$i`" != "libreoffice.1.gz" ]; then \ + ln -sf libreoffice.1.gz $$i.gz; \ + fi; \ + done; \ + done + dh_installchangelogs -a -XChangeLog -k + dh_installmime -a +ifeq "$(ENABLE_PYTHON)" "y" + dh_python3 -ppython3-uno --no-ext-rename --no-guessing-deps + dh_python3 -ppython3-uno --no-ext-rename --no-guessing-deps $(OODIR)/program +endif + dh_lintian -a + dh_bugfiles -a -A + dh_link -a +ifeq "$(BUILD_DBGSYM_PACKAGES)" "y" + rm -rf debian/$(UNO_LIBS_DBG_ROOT) debian/$(URE_DBG_ROOT) debian/$(CORE_DBG_ROOT) \ + debian/$(WRITER_DBG_ROOT) + ifeq "$(USE_DWZ)" "y" + dh_dwz -a -- $(DWZ_ARGS) + endif + dh_strip -a -Nure -Nuno-libs3 $(DH_STRIP_DBG_OPTION_LO) + dh_strip -pure $(DH_STRIP_DBG_OPTION_URE) + dh_strip -puno-libs3 $(DH_STRIP_DBG_OPTION_UNO_LIBS) + # dh_strip --dbg-package= is not idempotent, force copying of the binaries + # again... + rm -f $(STAMP_DIR)/install-common + mkdir -p debian/$(CORE_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR) + mv $(CURDIR)/debian/tmp/usr/share/gdb/auto-load/$(OODIR)/program \ + debian/$(CORE_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR) + # I think a -dbg-common is overkill. Although this means that this all only + # will work if libreoffice-dbg is installed.. + mkdir -p debian/$(CORE_DBG_ROOT)/usr/share/libreoffice/gdb + mv $(CURDIR)/debian/tmp/usr/share/libreoffice/gdb/libreoffice \ + debian/$(CORE_DBG_ROOT)/usr/share/libreoffice/gdb + mkdir -p debian/$(WRITER_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program + mkdir -p debian/$(WRITER_DBG_ROOT)/usr/share/libreoffice/gdb/libreoffice/ + for i in sw writerfilter; do \ + if [ -f debian/$(CORE_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program/lib$${i}lo.so-gdb.py ]; then \ + mv debian/$(CORE_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program/lib$${i}lo.so-gdb.py \ + debian/$(WRITER_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program/; \ + fi; \ + mv debian/$(CORE_DBG_ROOT)/usr/share/libreoffice/gdb/libreoffice/$$i.py \ + debian/$(WRITER_DBG_ROOT)/usr/share/libreoffice/gdb/libreoffice; \ + done + + # FIXME: or better ure-dbg (ure/lib?). Then again ure is a link which is in -common + # anyways... + mkdir -p debian/$(UNO_LIBS_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program + mv debian/$(CORE_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program/libuno_cppu.so.3-gdb.py \ + debian/$(UNO_LIBS_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program + mv debian/$(CORE_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program/libuno_sal.so.3-gdb.py \ + debian/$(UNO_LIBS_DBG_ROOT)/usr/share/gdb/auto-load/$(OODIR)/program + mkdir -p debian/$(UNO_LIBS_DBG_ROOT)/usr/share/libreoffice/gdb/libreoffice + mv debian/$(CORE_DBG_ROOT)/usr/share/libreoffice/gdb/libreoffice/cppu.py \ + debian/$(UNO_LIBS_DBG_ROOT)/usr/share/libreoffice/gdb/libreoffice + mv debian/$(CORE_DBG_ROOT)/usr/share/libreoffice/gdb/libreoffice/sal.py \ + debian/$(UNO_LIBS_DBG_ROOT)/usr/share/libreoffice/gdb/libreoffice +else + dh_strip -a +endif + dh_fixperms -a +ifeq "$(BUILD_DBGSYM_PACKAGES)" "y" + # dh_fixperms is not run on -dbgsym. And we get 0775 directories. Fix it + # manually + #16:29 < nthykier> _rene_: I would recommend a "find debian/$(CORE_DBG_ROOT) + # debian/$(UNO_LIBS_DBG_ROOT) debian/$(WRITER_DBG_ROOT) -exec + # chmod go=rX,u+rw,a-s {} +" + #16:29 < nthykier> Should be faster and is the same expression as used by + # dh_fixperms + find debian/$(CORE_DBG_ROOT) debian/$(UNO_LIBS_DBG_ROOT) debian/$(WRITER_DBG_ROOT) ! -type l -exec chmod go=rX,u+rw,a-s {} + +endif + dh_icons -a + dh_compress -a -X.py -X.mk -X.sxd +ifeq "$(ENABLE_INTROSPECTION)" "y" + dh_girepository -a debian/liblibreofficekitgtk/$(OODIR)/program +endif + dh_strip_nondeterminism -a + dh_makeshlibs -puno-libs3 -V"uno-libs3 (>= $(shell grep UREPACKAGEVERSION $(SOURCE_TREE)/instsetoo_native/util/openoffice.lst | awk '{ print $$2 }' | cut -d. -f1-3)~), ure" -- -c0 -d -V -v`echo $(BINARY_VERSION) | cut -d: -f2` + dh_makeshlibs -n -pure -V"ure (>= $(shell grep UREPACKAGEVERSION $(SOURCE_TREE)/instsetoo_native/util/openoffice.lst | awk '{ print $$2 }' | cut -d. -f1-3)~)" -- -d -V -v`echo $(BINARY_VERSION) | cut -d: -f2` + dh_installdeb -a + rm -f debian/shlibs.local +ifeq "$(BUILD_KFREEBSD)" "y" + cat debian/shlibs.override.libc >> debian/shlibs.local +endif + # no shlibs dependencies on internal libs (which are dynamic) +ifeq (,$(filter icu, $(SYSTEM_STUFF))) + cat debian/shlibs.override.icu >> debian/shlibs.local +endif +ifeq (,$(filter libvisio, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libvisio >> debian/shlibs.local +endif +ifeq (,$(filter libwpd, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libwpd >> debian/shlibs.local +endif +ifeq (,$(filter libwpg, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libwpg >> debian/shlibs.local +endif +ifeq (,$(filter libwps, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libwps >> debian/shlibs.local +endif +ifeq (,$(filter libodfgen, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libodfgen >> debian/shlibs.local +endif +ifeq (,$(filter libmwaw, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libmwaw >> debian/shlibs.local +endif +ifeq (,$(filter librevenge, $(SYSTEM_STUFF))) + cat debian/shlibs.override.librevenge >> debian/shlibs.local +endif +ifeq (,$(filter libetonyek, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libetonyek >> debian/shlibs.local +endif +ifeq (,$(filter libstaroffice, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libstaroffice >> debian/shlibs.local +endif +ifeq (,$(filter orcus, $(SYSTEM_STUFF))) + cat debian/shlibs.override.orcus >> debian/shlibs.local +endif +ifeq (,$(filter liblangtag, $(SYSTEM_STUFF))) + cat debian/shlibs.override.liblangtag >> debian/shlibs.local +endif + # the other way as the above, depend on a newer libcmis to that the + # advertised google 2-factor-auth fixes are present +ifneq (,$(filter libcmis, $(SYSTEM_STUFF))) + cat debian/shlibs.override.libcmis >> debian/shlibs.local +endif +ifeq "$(ENABLE_FIREBIRD)" "y" +ifneq (,$(filter firebird, $(SYSTEM_STUFF))) + # force the values of .shlibs which gives us a (wanted) (>= 3.0.0~) + # instead of .symbols which gives os only a (>= 2.5.0.25784~ReleaseCandidate1.ds2)... + cat /var/lib/dpkg/info/libfbclient2*.shlibs >> debian/shlibs.local +endif +endif + + LD_LIBRARY_PATH="$(FAKEROOT_LIBDIR):debian/uno-libs3/$(OODIR)/program:debian/ure/$(OODIR)/program:$(PKGDIR)-core/$(OODIR)/program:$(PKGDIR)-base-core/$(OODIR)/program:$(PKGDIR)-base/$(OODIR)/program:$(PKGDIR)-writer/$(OODIR)/program" \ + dh_shlibdeps -a \ + -Lure -Luno-libs3 \ + -ldebian/uno-libs3/$(OODIR)/program:debian/ure/$(OODIR)/program:$(PKGDIR)-core/$(OODIR)/program:$(PKGDIR)-base/$(OODIR)/program \ + $(SHLIBS_OVERRIDE) +ifneq (,$(filter redland, $(SYSTEM_STUFF))) + # dpkg-shlibdeps "in practice" always will look for this in + # /usr/lib/openoffice/basisX.Y/program due to the RPATH and the + # dh_shlibdeps would fail. It's excluded, and we now need to do it + # manually. Saves us a versioned build-conflict with ourselves + # which quickly can get outdated + perl -pi -e 's/(shlibs.*$$)/$$1, $(shell cat /var/lib/dpkg/info/$(shell dpkg -S /usr/lib/$(DEB_HOST_MULTIARCH)/`objdump -p $(PKGDIR)-core/$(OODIR)/program/libunordf*.so | grep NEEDED | grep librdf | awk '{ print $$2 }'` | cut -d: -f1)\:$(DEB_HOST_ARCH).shlibs | awk '{ print $$3,$$4,$$5 }')/' $(PKGDIR)-core.substvars +endif + # Clean up .substvars values added by uno-libs3.symbols (adds uno-libs3, ure): + # 1) don't make uno-libs3 depend on ure... + perl -pi -e 's/, ure$$//' debian/uno-libs3.substvars + # 2) and prevent ure to depend on itself.. + perl -pi -e 's/, ure \(.*\)$$//' debian/ure.substvars + ifneq (,$(filter coinmp, $(SYSTEM_STUFF))) + perl -pi -e "s/coinor-libcoinutils3v5/coinor-libcoinutils3v5 $(COINUTILS_MINVER)/" \ + debian/libreoffice-calc.substvars + perl -pi -e "s/coinor-libcoinmp1v5/coinor-libcoinmp1v5 $(COINMP_MINVER)/" \ + debian/libreoffice-calc.substvars + endif +ifeq "$(ENABLE_JAVA)" "y" + for p in $(ARCH_DEP_PACKAGES); do \ + if [ "$$p" = "libreoffice-presentation-console" ]; then continue; fi; \ + jh_depends -p$$p -Xure; \ + done + ifeq "$(PACKAGE_BASE)" "y" + perl -pi -e "s/base-files,//" \ + debian/libreoffice-sdbc-hsqldb.substvars + endif + # jh_depends adds ure (${source:Version}) entries. They are overly strict + # and do not fit anyway given ure has a different versioning scheme. Excluded + # above, readd here unversioned + perl -pi -e 's/^(java:Depends.*$$)/\1, ure/' \ + debian/libreoffice-officebean.substvars +endif +# This switch to dh_shlibdeps reduces the 'libXXX not found' warnings but +# causes ldd crashes sometimes when used with fakeroot: +# -l $(PKGDIR)-core/$(OPENOFFICEDIR)/program + dh_gencontrol -a $(DEBHELPER_OPTIONS) -Nure -Nuno-libs3 \ + -Nlibreoffice-mysql-connector -- \ + -V"ure:Version=$(shell grep UREPACKAGEVERSION $(SOURCE_TREE)/instsetoo_native/util/openoffice.lst | awk '{ print $$2 }')" \ + -V'base-version=$(BASE_VERSION)' \ + -V'oover=$(OOVER)' \ + -V'next-oover=$(NEXT_OOVER)' \ + -V'help-l10n-virtual-version=$(HELP_L10N_VIRTUAL_VERSION)' \ + -V'base-hsqldb-depends=$(BASE_HSQLDB_DEPENDS)' \ + -V'base-firebird-recommends=$(BASE_FIREBIRD_RECOMMENDS)' \ + -V'java-common-depends=$(JAVA_COMMON_DEPENDS) $(JAVA_COMMON_DEPENDS_VERSION)' \ + -V'java-runtime-depends=$(JAVA_RUNTIME_DEPENDS)' \ + -V'Binary-Version=$(BINARY_VERSION)' \ + -V'ooo-officebean-dep=$(OOO_OFFICEBEAN_DEP)' \ + -V'kde-iconset-dep=$(KDE_ICONSET_DEP)' \ + -V'lpsolve-dep=$(LPSOLVE_DEP)' \ + -V'gstreamer-plugins-suggests=$(GSTREAMER_PLUGINS_SUGGESTS)' \ + -V'libebook-dep=$(LIBEBOOK_DEP)' \ + -V'libvlc-dep=$(LIBVLC_DEP)' \ + -V'idlc-cpp-depends=$(IDLC_CPP_DEPENDS)' \ + -V'pyuno-depends=$(PYUNO_DEPENDS)' \ + -V'avmedia-be-depends=$(AVMEDIA_BE_DEPENDS)' \ + -V'gnome-gtk-recommends=$(GNOME_GTK_RECOMMENDS)' \ + -V'firebird-engine-depends=$(FIREBIRD_ENGINE_DEPENDS)' \ + -V'libsane-suggests=$(shell dpkg -S /usr/lib/$(DEB_HOST_MULTIARCH)/libsane.so.1 | cut -d: -f1)' \ + -v$(BINARY_VERSION) +ifneq (,$(findstring $(DEB_HOST_ARCH),$(OOO_ARCH_DEP_EXTENSIONS_ARCHS))) +ifeq "$(PACKAGE_BASE)" "y" + ifeq "$(ENABLE_MYSQLNATIVE)" "y" + dh_gencontrol -plibreoffice-mysql-connector -- \ + -v$(shell grep ",\1,; s/^\s+//; s/\s+$$//')+LibO`echo $(BINARY_VERSION) | cut -d: -f2` + endif +endif +endif + dh_gencontrol -pure -puno-libs3 -- \ + -V"ure:Version=`echo $(BINARY_VERSION) | cut -d: -f2`" \ + -v"`echo $(BINARY_VERSION) | cut -d: -f2`" +ifeq "$(BUILD_DBGSYM_PACKAGES)" "y" + for i in libreoffice-core libreoffice-writer uno-libs3; do \ + perl -pi -e 's/^(Depends:.*)/\1\nRecommends: gdb, python3-six/' \ + debian/.debhelper/$$i/dbgsym-root/DEBIAN/control; \ + done + for i in $(filter-out uno-libs3,$(ARCH_DEP_PACKAGES)); do \ + perl -pi -e 's/^(Depends:.*)/\1, uno-libs3-dbgsym/' \ + debian/.debhelper/$$i/dbgsym-root/DEBIAN/control; \ + done + perl -pi -e 's/Recommends: /Recommends: libreoffice-core-dbgsym, /' \ + debian/$(WRITER_DBG_ROOT)/DEBIAN/control +endif + + dh_md5sums -a + dh_builddeb -a $(DEBHELPER_OPTIONS) + + touch $@ + +binary-indep: $(GSI_EXPORT_STAMP) $(STAMP_DIR)/binary-indep +$(STAMP_DIR)/binary-indep: $(STAMP_DIR)/install-indep debian/control $(STAMP_DIR)/maintscripts $(STAMP_DIR)/langpacks +ifneq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),$(OOO_JAVA_ARCHS))) + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "For uploads with binary-all packages, please use arches where Java is enabled" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +endif + dh_testdir +ifneq ($(PACKAGE_SDK_DOCS),y) + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "For uploads with binary-all packages, please use arches where the SDK docs are enabled!!!!" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +endif + dh_testdir + dh_testroot + + for pkg in $(ARCH_INDEP_PACKAGES) ; do \ + rm -f debian/$$pkg.*.debhelper;\ + rm -rf debian/$$pkg/DEBIAN;\ + done + +ifeq "$(ENABLE_HELP)" "y" +ifeq "$(ENABLE_HTML_HELP)" "y" + HELP_FILES_COMMON=`find $(CURDIR)/debian/libreoffice-help-common/usr/share -type f | sed -e 's,$(CURDIR)/debian/libreoffice-help-common,,g' | xargs`; \ + for iso in $(HELPISOS); do \ + pkgiso=`echo $$iso | tr A-Z a-z`; \ + HELP_FILES_LANG=`find $(CURDIR)/debian/libreoffice-help-$$pkgiso/usr/share | sed -e "s,$(CURDIR)/debian/libreoffice-help-$$pkgiso,,g" | xargs`; \ + TMP=`mktemp -q`; \ + cp debian/libreoffice-help.doc-base.in $$TMP; \ + echo "Files: $$HELP_FILES_COMMON $$HELP_FILES_LANG" >> $$TMP; \ + cat $$TMP | perl -e 'while(<>) { if (/^Files/) {$$f=1;} if ($$f eq "1") { chomp(); } print $$_; }' > debian/libreoffice-help-$$pkgiso.doc-base; \ + rm -f $$TMP; \ + perl -pi -e 's,([a-z])\/usr/,$$1 \/usr/,g' debian/libreoffice-help-$$pkgiso.doc-base; \ + perl -pi -e 's,([0-9])\/usr/,$$1 \/usr/,g' debian/libreoffice-help-$$pkgiso.doc-base; \ + sed -i s/@LCODE@/$$pkgiso/ debian/libreoffice-help-$$pkgiso.doc-base; \ + sed -i s/@HELPISO@/$$iso/ debian/libreoffice-help-$$pkgiso.doc-base; \ + done +endif +endif + +ifeq "$(PACKAGE_SDK)" "y" + for i in idl cpp java; do \ + cat debian/lo-$$i-ref.in \ + | sed -e "s/@lo_sources_ver@/$(lo_sources_ver)/" \ + > debian/libreoffice-dev-doc.doc-base.lo-$$i-ref; \ + done + for i in idl cpp; do \ + UDK_FILES=`find $(CURDIR)/debian/libreoffice-dev-doc/usr/share/doc/libreoffice/sdk/docs/$$i/ref -type f ! -name "*.map" -a ! -name "*.md5" | sed -e 's,$(CURDIR)/debian/libreoffice-dev-doc,,g' | xargs`; \ + TMP=`mktemp -q`; \ + cp debian/libreoffice-dev-doc.doc-base.lo-$$i-ref $$TMP; \ + echo "Files: $$UDK_FILES" >> $$TMP; \ + cat $$TMP | perl -e 'while(<>) { if (/^Files/) {$$f=1;} if ($$f eq "1") { chomp(); } print $$_; }' > debian/libreoffice-dev-doc.doc-base.lo-$$i-ref; \ + rm -f $$TMP; \ + perl -pi -e 's,([a-z])\/usr/,$$1 \/usr/,g' debian/libreoffice-dev-doc.doc-base.lo-$$i-ref; \ + done + ifeq "$(ENABLE_JAVA)" "y" + UDK_JAVA_FILES=`find $(CURDIR)/debian/libreoffice-dev-doc/usr/share/doc/libreoffice/sdk/docs/java/ref -type f ! -name "javadoc_log.txt" | sed -e 's,$(CURDIR)/debian/libreoffice-dev-doc,,g' | xargs`; \ + echo "Files: $$UDK_JAVA_FILES" >> debian/libreoffice-dev-doc.doc-base.lo-java-ref + rm -f $(CURDIR)/debian/libreoffice-dev-doc/usr/share/doc/libreoffice-dev/sdk/docs/java/ref/javadoc_log.txt + endif +endif + # not for fonts-opensymbol and extensions, as they have an own version. + # And librelogo gets an own changelog + # And libreofficekit gets an own README + # libreoffice-dev-doc installs directly into /usr/share/doc/libreoffice-dev... + dh_installdocs -i -A -Nlibreoffice-librelogo -Nfonts-opensymbol \ + -Nlibreoffice-wiki-publisher -Nlibreoffice-nlpsolver \ + -Nlibreoffice-dev-doc -Nlibreoffice-smoketest-data \ + --link-doc=libreoffice-common + dh_installdocs -plibreoffice-librelogo -pfonts-opensymbol -plibreoffice-wiki-publisher -plibreoffice-nlpsolver -plibreoffice-smoketest-data \ + -plibreoffice-dev-doc + cp workdir/CustomTarget/readlicense_oo/readme/README_en-US \ + $(PKGDIR)-common/usr/share/doc/libreoffice-common/README + dh_installman -i + for i in `find $(PKGDIR)-common -type l -name "lo*.1"`; do \ + mv $$i $$i.gz; \ + if [ "`readlink $$i`" != "libreoffice.1.gz" ]; then \ + ln -sf libreoffice.1.gz $$i.gz; \ + fi; \ + done + dh_installchangelogs -i -XChangeLog -Nlibreoffice-librelogo -k +ifeq "$(PACKAGE_LIBRELOGO)" "y" + dh_installchangelogs -plibreoffice-librelogo -k librelogo/source/ChangeLog +endif +ifeq "$(PACKAGE_SDK_DOCS)" "y" + dh_doxygen -plibreoffice-dev-doc +endif + dh_installmime -i +ifeq "$(ENABLE_HELP)" "y" + ifeq "$(ENABLE_HTML_HELP)" "y" + for iso in $(shell echo $(HELPISOS) | tr A-Z a-z); do \ + sed -e s/@LCODE@/$$iso/ < debian/libreoffice-help.lintian-overrides.in \ + > debian/libreoffice-help-$$iso.lintian-overrides; \ + done + endif +endif + dh_lintian -i + dh_bugfiles -i -A +ifeq "$(STRETCH_BACKPORT)" "y" + dh_link -i -Nlibreoffice-help-common +else + dh_link -i +endif + dh_fixperms -i + dh_icons -i +ifeq "$(INSTALL_APPARMOR_PROFILES)" "y" + for i in oosplash senddoc soffice.bin xpdfimport; do \ + dh_apparmor -plibreoffice-common --profile-name=usr.lib.libreoffice.program.$$i; \ + done +endif + dh_compress -i -X.py -X.mk -X.sxd -X.xcd.sample + dh_strip_nondeterminism -i + dh_installdeb -i +ifeq "$(ENABLE_JAVA)" "y" + for p in $(ARCH_INDEP_PACKAGES); do \ + if echo "$$p" | grep -q help; then continue; fi; \ + jh_depends -p$$p \ + -Xlibreoffice-report-builder; \ + done +endif + # and it adds a librhino-java Depends where we still use internal rhino + perl -pi -e "s/librhino-java//" \ + debian/libreoffice-script-provider-js.substvars +ifeq "$(BUILD_TEST_PACKAGES)" "y" + perl -pi -e 's/junit4/junit4 $(JUNIT_MIN_VER)/' \ + debian/libreoffice-subsequentcheckbase.substvars +endif + dh_gencontrol -i $(DEBHELPER_OPTIONS) \ + -Nlibreoffice-wiki-publisher \ + -Nlibreoffice-nlpsolver \ + -Nfonts-opensymbol -- \ + -V'base-version=$(BASE_VERSION)' \ + -V'oover=$(OOVER)' \ + -V'next-oover=$(NEXT_OOVER)' \ + -V'help-l10n-virtual-version=$(HELP_L10N_VIRTUAL_VERSION)' \ + -V'java-common-depends=$(JAVA_COMMON_DEPENDS)' \ + -V'java-runtime-depends=$(JAVA_RUNTIME_DEPENDS)' \ + -V'textcat-data-recommends=$(TEXTCAT_DATA_RECOMMENDS)' \ + -V'numbertext-data-recommends=$(NUMBERTEXT_DATA_RECOMMENDS)' \ + -V'pyuno-depends=$(PYUNO_DEPENDS)' \ + -V'help-depends=$(HELP_DEPENDS)' \ + -V'help-common-depends=$(HELP_COMMON_DEPENDS)' \ + -V'Binary-Version=$(BINARY_VERSION)' \ + -v$(BINARY_VERSION) + dh_gencontrol -pfonts-opensymbol -- \ + -v$(shell echo `echo $(BINARY_VERSION) | cut -d: -f1` + 1 | bc):$(shell fontforge -lang=ff -c 'Open($$1); Print ($$fontversion); Quit(0);' debian/fonts-opensymbol/usr/share/fonts/truetype/openoffice/opens___.ttf)+LibO`echo $(BINARY_VERSION) | cut -d: -f2` +ifeq "$(ENABLE_MEDIAWIKI)" "y" + dh_gencontrol -plibreoffice-wiki-publisher -- \ + -V'java-common-depends=$(JAVA_COMMON_DEPENDS)' \ + -V'java-runtime-depends=$(JAVA_RUNTIME_DEPENDS)' \ + -v$(shell grep ",\1,; s/^\s+//')+LibO`echo $(BINARY_VERSION) | cut -d: -f2` +endif +ifeq "$(ENABLE_NLPSOLVER)" "y" + dh_gencontrol -plibreoffice-nlpsolver -- \ + -V'java-common-depends=$(JAVA_COMMON_DEPENDS)' \ + -V'java-runtime-depends=$(JAVA_RUNTIME_DEPENDS)' \ + -v$(shell grep ",\1,; s/^\s+//')+LibO`echo $(BINARY_VERSION) | cut -d: -f2` +endif +ifeq "$(ENABLE_REPORTBUILDER)" "y" + dh_gencontrol -plibreoffice-report-builder -- \ + -V'base-version=$(BASE_VERSION)' \ + -V'report-builder-jar-depends=$(REPORT_BUILDER_JAR_DEPENDS)' \ + -V'java-runtime-depends=$(JAVA_RUNTIME_DEPENDS)' +endif + dh_md5sums -i + dh_builddeb -i $(DEBHELPER_OPTIONS) + + touch $@ + +binary: binary-arch binary-indep + +ifeq "$(USE_GIT_TARBALLS)" "y" + +# $(1) is the upstream name of the repo +# $(2) is the name of the tarball +# $(3) is the path to archive (empty for everything) +# +# according to policy get-orig-source has to download to the current dir, thus +# should not require a dh_testdir. However, like this we can have clean deps +# from build and download the source, configure, build, pack in on piece. As +# get-orig-source is an optional target anyway, we stick to support only this +# case and not random dirs. see also: debian bug 494141 +# also, we need to run configure to create the external tarball anyway + +GIT_INSTALLED:=$(shell which git >/dev/null 2>/dev/null && echo "y") + +get_orig_tarball=$(CURDIR)/../libreoffice_$(DEB_VERSION_UPSTREAM).orig$(1).tar.xz + +define pack_gittarball +$(if $(GIT_INSTALLED),,$(error You need git.)) +dh_testdir +TMPD=`mktemp -d $(if $(TMP),-p $(TMP))` && \ +mkdir $${TMPD}/archive && \ +git clone --bare $(GIT_BASEURL)/$(1) $${TMPD}/repo -b $(GIT_BRANCH) && \ +git archive --remote $${TMPD}/repo --format=tar --prefix libreoffice-$(DEB_VERSION_UPSTREAM)/ $(GIT_TAG) |tar x -C $${TMPD}/archive && \ +tar cvJf $(2) -C $${TMPD}/archive/$(3) --transform 's,./,,' . && \ +rm -rf $${TMPD} +endef + +define unpack_gittarball +dh_testdir +mkdir -p $(CURDIR)/$(1) +test -f $(CURDIR)/$(1)/.gitignore || tar xvJf $(2) -C $(CURDIR)/$(1) $(3) +endef + +ifneq ($(filter get-orig-source unpack,$(MAKECMDGOALS)),) +$(call get_orig_tarball): + $(call pack_gittarball,core,$@,) + +$(call get_orig_tarball,-helpcontent2): + $(call pack_gittarball,help,$@,libreoffice-$(DEB_VERSION_UPSTREAM)/) + +$(call get_orig_tarball,-%): + $(call pack_gittarball,$*,$@,libreoffice-$(DEB_VERSION_UPSTREAM)/) + +# Get upstream external sources +$(call get_orig_tarball,-tarballs): helpcontent2/makefile.pmk translations/makefile.mk .gitignore + dh_testdir + rm -rf tarballs + mkdir -p tarballs + quilt push -a + ./autogen.sh $(filter-out --disable-fetch-external,$(CONFIGURE_FLAGS)) --with-all-tarballs + $(MAKE) download gb_LO_VER=$(DEB_VERSION_UPSTREAM) + tar cvJf $@ -C tarballs --transform 's,./,,' . + +# using flag files for unpacking +.gitignore: $(call get_orig_tarball) + $(call unpack_gittarball,,$<,--strip-components=1) + +translations/makefile.mk: $(call get_orig_tarball,-translations) + $(call unpack_gittarball,translations,$<,) + +helpcontent2/makefile.pmk: $(call get_orig_tarball,-helpcontent2) + $(call unpack_gittarball,helpcontent2,$<,) + +tarballs/fetch.log: $(call get_orig_tarball,-tarballs) patched + $(call unpack_gittarball,tarballs,$<,) + +get-orig-source: $(call get_orig_tarball,-tarballs) tarballs/fetch.log + dh_testdir + +unpack: tarballs/fetch.log + dh_testdir +endif +else +get-orig-source: + PATH=$(CURDIR)/debian/scripts:$$PATH uscan --watchfile=$(CURDIR)/debian/watch --verbose --force +endif + +.PHONY: control +.PHONY: clean-debdir clean-instsetoo clean-objectdirs clean default +.PHONY: prepare build build-indep build-arch install-arch install-indep +.PHONY: get-orig-source unpack patched +.PHONY: $(stampdir_targets) + +# vim:set noet ai sts=8 sw=8 tw=0: diff --git a/debian/scripts/get_libebook_dep.sh b/debian/scripts/get_libebook_dep.sh new file mode 100755 index 00000000000..8eb2ef20eee --- /dev/null +++ b/debian/scripts/get_libebook_dep.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +libs=`grep libebook.*\.so connectivity/source/drivers/evoab2/EApi.cxx | perl -pe 's/\s+\"(.*)\".*/$1/'` + +for l in $libs; do + if [ -e "/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/$l" ]; then + p=/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH` + else + if [ -e /usr/lib/$l ]; then + p=/usr/lib + else + continue + fi + fi + # sanity check: do the libs match with what we would get + # for our libebook version if we followed the .so symlink? + l1=`readlink $p/$l` + l2_tmp=`echo $l | perl -pe 's/(.*)\.\d+$/$1/'` + l2=`readlink $p/$l2_tmp` + l3=`readlink $p/$l2` + if [ "$l1" = "$l2" -o "$l1" = "$l3" ]; then + dep=`dpkg -S $p/$l | cut -d: -f1` + fi +done + +if [ -n "$dep" ]; then + echo $dep +else + echo "Cannot find libebook dependency. None of the following libs found:" + echo $libs + exit 1 +fi + diff --git a/debian/scripts/get_libvlc_dep.sh b/debian/scripts/get_libvlc_dep.sh new file mode 100755 index 00000000000..590c6d7eb9b --- /dev/null +++ b/debian/scripts/get_libvlc_dep.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +libs=`grep libvlc.*\.so avmedia/source/vlc/wrapper/SymbolLoader.hxx | grep -v vlccore | cut -d= -f2 | perl -pe 's/\s+\"(.*)\".*/$1/'` + +for l in $libs; do + if [ -e "/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/$l" ]; then + p=/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH` + else + if [ -e /usr/lib/$l ]; then + p=/usr/lib + else + continue + fi + fi +# # sanity check: do the libs match with what we would get +# # for our libebook version if we followed the .so symlink? +# l1=`readlink $p/$l` +# l2_tmp=`echo $l | perl -pe 's/(.*)\.\d+$/$1/'` +# l2=`readlink $p/$l2_tmp` +# if [ "$l1" = "$l2" ]; then + dep=`dpkg -S $p/$l | cut -d: -f1` +# fi +done + +if [ -n "$dep" ]; then + echo $dep +else + echo "Cannot find libvlc dependency. None of the following libs found:" + echo $libs + exit 1 +fi + diff --git a/debian/scripts/gid2pkgdirs.sh b/debian/scripts/gid2pkgdirs.sh new file mode 100755 index 00000000000..80e7ecbf32f --- /dev/null +++ b/debian/scripts/gid2pkgdirs.sh @@ -0,0 +1,184 @@ +#!/bin/sh + +## create split package dirs out of LibreOffices gid_* files +## copied from former ooo-build/libreoffice-build package-ooo +## (c) 2005 Chris Halls +## (c) 2005-2011 Rene Engelhard + +export OODESTDIR=$DESTDIR + +cd $DESTDIR + +echo "Copying gid files...." +rm gid_* +cp $DESTDIR/../../file-lists/orig/gid_* . + +echo "Creating package directories..." + +test -d pkg && rm -r pkg || : + +# Create package tree (needed by Debian's dpkg) +# create_package_directory +create_package_directory() +{ +listfile=$1 +directory="$2" +perl -nl \ + -e " if(/^%dir (.*)/) + {system('mkdir', '-p', '-m', '755', \"$directory\".\$1);} + else + {rename('./'.\$_, \"$directory\".\$_);} + " \ + $listfile +} + +# move_wrappers [...] +move_wrappers() +{ +directory=$1 +shift +mkdir -m755 -p "$directory"/usr/bin +while test -n "$1"; do + mv usr/*bin/"$1$BINSUFFIX" "$directory"/usr/bin + shift +done +} + +create_package_directory gid_Module_Root_Ure_Hidden pkg/ure +create_package_directory gid_Module_Root pkg/libreoffice-common +create_package_directory gid_Module_Root_Brand pkg/libreoffice-common +# FIXME: This is added to gid_Module_Root_Brand but doesn't get installed.... +mkdir -p pkg/libreoffice-common/usr/share/mimelnk/application +mv ./usr/share/mimelnk/application/* \ + pkg/libreoffice-common/usr/share/mimelnk/application +# done by dh_installman +#mkdir -p pkg/libreoffice-common/usr/share/man/man1 +#mv usr/share/man/man1/libreoffice$BINSUFFIX.1.gz \ +# pkg/libreoffice-common/usr/share/man/man1 +#for i in ./usr/share/man/man1/*; do \ +# if [ "$i" = "unopkg.1.gz" -o "$i" = "lofromtemplate.1.gz" \ +# -o "$i" = "loffice.1.gz" ]; then p=common; \ +# else p=`basename $i .1.gz | sed -e s/^lo//`; \ +# fi +# mkdir -p pkg/libreoffice-$p/usr/share/man/man1 +# mv $i \ +# pkg/libreoffice-$p/usr/share/man/man1 +#done +for i in ./usr/share/applications/*.desktop; do \ + if [ "`basename $i`" = "libreoffice-startcenter.desktop" ]; then p=libreoffice-common; \ + elif [ "`basename $i`" = "libreoffice-xsltfilter.desktop" ]; then p=libreoffice-common; \ + else p=`basename $i .desktop`; fi + mkdir -p pkg/$p/usr/share/applications + mv $i \ + pkg/$p/usr/share/applications +done +mkdir -p pkg/libreoffice-common/usr/share +mv ./usr/share/icons \ + pkg/libreoffice-common/usr/share +mv ./usr/share/application-registry \ + pkg/libreoffice-common/usr/share +mv ./usr/share/mime* \ + pkg/libreoffice-common/usr/share + +create_package_directory gid_Module_Root_Files_Images pkg/libreoffice-common +create_package_directory gid_Module_Oo_Linguistic pkg/libreoffice-common +create_package_directory gid_Module_Optional_Xsltfiltersamples pkg/libreoffice-common +create_package_directory gid_Module_Filter pkg/libreoffice-common +create_package_directory gid_Module_Optional_Grfflt pkg/libreoffice-draw +create_package_directory gid_Module_Prg_Calc_Bin pkg/libreoffice-calc +create_package_directory gid_Module_Prg_Math_Bin pkg/libreoffice-math +create_package_directory gid_Module_Prg_Draw_Bin pkg/libreoffice-draw +create_package_directory gid_Module_Prg_Wrt_Bin pkg/libreoffice-writer +create_package_directory gid_Module_Prg_Impress_Bin pkg/libreoffice-impress +create_package_directory gid_Module_Prg_Base_Bin pkg/libreoffice-base +create_package_directory gid_Module_Brand_Prg_Calc pkg/libreoffice-calc +create_package_directory gid_Module_Brand_Prg_Math pkg/libreoffice-math +create_package_directory gid_Module_Brand_Prg_Draw pkg/libreoffice-draw +create_package_directory gid_Module_Brand_Prg_Wrt pkg/libreoffice-writer +create_package_directory gid_Module_Brand_Prg_Impress pkg/libreoffice-impress +create_package_directory gid_Module_Brand_Prg_Base pkg/libreoffice-base +create_package_directory gid_Module_Pyuno pkg/python3-uno +create_package_directory gid_Module_Optional_Pyuno_LibreLogo pkg/libreoffice-librelogo +create_package_directory gid_Module_Script_Provider_For_Python pkg/libreoffice-script-provider-python +create_package_directory gid_Module_Optional_Gnome pkg/libreoffice-gnome +create_package_directory gid_Module_Optional_Kde pkg/libreoffice-kde +create_package_directory gid_Module_Optional_OGLTrans pkg/libreoffice-impress +create_package_directory gid_Module_Root_SDK pkg/libreoffice-dev +# WTF? Why is this suddently not installed itself? +mv usr/lib/libreoffice/sdk/lib \ + pkg/libreoffice-dev/usr/lib/libreoffice/sdk +create_package_directory gid_Module_Optional_Extensions_Script_Provider_For_BS pkg/libreoffice-script-provider-bsh +create_package_directory gid_Module_Optional_Extensions_Script_Provider_For_JS pkg/libreoffice-script-provider-js +create_package_directory gid_Module_Optional_Extensions_MEDIAWIKI pkg/libreoffice-wiki-publisher +create_package_directory gid_Module_Optional_Extensions_MINIMIZER pkg/libreoffice-presentation-minimizer +create_package_directory gid_Module_Optional_Extensions_MySQLConnector pkg/libreoffice-mysql-connector +create_package_directory gid_Module_Optional_Extensions_NLPSolver pkg/libreoffice-nlpsolver +create_package_directory gid_Module_Pdfimport pkg/libreoffice-common +create_package_directory gid_Module_Optional_Extensions_PRESENTER_SCREEN pkg/libreoffice-presenter-console +create_package_directory gid_Module_Reportbuilder pkg/libreoffice-report-builder +create_package_directory gid_Module_Optional_PostgresqlSdbc pkg/libreoffice-sdbc-postgresql +create_package_directory gid_Module_Libreofficekit pkg/libreofficekit-data +move_wrappers pkg/libreoffice-common soffice unopkg +move_wrappers pkg/libreoffice-common libreoffice loffice lofromtemplate +move_wrappers pkg/libreoffice-base lobase +move_wrappers pkg/libreoffice-writer lowriter loweb +move_wrappers pkg/libreoffice-calc localc +move_wrappers pkg/libreoffice-impress loimpress +move_wrappers pkg/libreoffice-math lomath +move_wrappers pkg/libreoffice-draw lodraw + +for l in `echo $OOO_LANGS_LIST`; do + for p in Impress Draw Math Calc Base Writer; do + create_package_directory gid_Module_Langpack_${p}_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l + done + create_package_directory gid_Module_Langpack_Basis_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l + create_package_directory gid_Module_Langpack_Brand_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l + create_package_directory gid_Module_Langpack_Resource_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l + if [ -f gid_Module_Helppack_Help_`echo $l | sed -e s/-/_/g` ]; then + create_package_directory gid_Module_Helppack_Help_`echo $l | sed -e s/-/_/g` pkg/libreoffice-help-$l + fi + # some help files are in _Langpack_{Writer,Impress,...}_ + # move them from -l10n to -help + if [ "$l" = "en-US" ]; then d=en; else d=$l; fi + mv pkg/libreoffice-l10n-$l/$OOINSTBASE/help/$d/* \ + pkg/libreoffice-help-$l/$OOINSTBASE/help/$d && \ + rmdir pkg/libreoffice-l10n-$l/$OOINSTBASE/help/$d +done + +# Move all libraries and binaries from -common to -core +if [ ! -d $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program ]; then \ +mkdir -p $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program; \ +fi && +( cd pkg/libreoffice-common/$OOINSTBASE/program + find -maxdepth 1 \ + -regex '\./\(.*\.so.*\|.*\.bin\|pagein.*\|kdefilepicker\|msfontextract\|.*\.rdb\|javaldx\|oosplash\|uri-encode\|xpdfimport\|ui-previewer\)' \ + -exec mv {} $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program \; +); +for i in types services; do \ + if [ ! -d $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program/$i ]; then \ + mkdir -p $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program/$i; \ + fi && + ( cd pkg/libreoffice-common/$OOINSTBASE/program/$i + find -maxdepth 1 \ + -regex '\./\(.*\.rdb\)' \ + -exec mv {} $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program/$i \; + ); \ +done + +mkdir -p pkg/libreoffice-common/usr/share/bash-completion/completions +mv usr/share/bash-completion/completions/libreoffice$BINSUFFIX.sh \ + pkg/libreoffice-common/usr/share/bash-completion/completions/libreoffice$BINSUFFIX + +mv .$OOINSTBASE/program/java-set-classpath \ + pkg/libreoffice-common/$OOINSTBASE/program +if echo $OOO_LANGS_LIST | grep -q en-US; then + for i in forms/resume.ott officorr/project-proposal.ott; do \ + mkdir -p pkg/libreoffice-common/$OOINSTBASE/share/template/en-US/`dirname $i`; \ + mv .$OOINSTBASE/share/template/en-US/$i \ + pkg/libreoffice-common/$OOINSTBASE/share/template/en-US/$i; \ + done; \ +fi + +# Warn for any remaining files +find . -path './pkg' -prune -o -not -name 'gid_Module_*' -not -type d -exec echo "File not packaged: {}" \; + diff --git a/debian/scripts/joinctrl.py b/debian/scripts/joinctrl.py new file mode 100755 index 00000000000..929fc5f28f7 --- /dev/null +++ b/debian/scripts/joinctrl.py @@ -0,0 +1,66 @@ +#! /usr/bin/python3 + +import re, sys, fileinput + +def splitlines(): + fields = ('Build-Depends', 'Build-Conflicts', 'Build-Depends-Indep', 'Depends', 'Replaces', + 'Provides', 'Conflicts', 'Recommends', 'Suggests') + for line in fileinput.input(): + line = line[:-1] + field = None + for f in fields: + if line.startswith(f+':'): + field = f + break + if not field: + print(line) + continue + values = [f.strip() for f in line.split(':',1)[1].strip().split(',')] + if len(values) > 2: + print('%s: %s' % (field, ',\n '.join(values))) + else: + print('%s: %s' % (field, ', '.join(values))) + +def sort_list(unsorted_list): + packages = [x for x in unsorted_list if re.match("[a-z0-9]", x)] + special = [x for x in unsorted_list if not re.match("[a-z0-9]", x)] + return sorted(packages) + sorted(special) + +def joinlines(): + fields = ('Build-Depends', 'Build-Conflicts', 'Build-Depends-Indep', 'Depends', 'Replaces', + 'Provides', 'Conflicts', 'Recommends', 'Suggests', 'Breaks') + buffer = None + for line in fileinput.input(): + line = line[:-1] + if buffer: + if line.startswith(' '): + buffer = buffer + ' ' + line.strip() + continue + else: + packages = sort_list(set([x.strip() for x in buffer[len(field)+1:].split(",")])) + if "" in packages: + packages.remove("") + length = len(field) + sum([2 + len(package) for package in packages]) + if length > 80: + indentation = " " * (len(field) + 2) + packages_with_indention = [indentation + x for x in packages] + packages_with_indention = ",\n".join(packages_with_indention) + print(field + ": " + packages_with_indention.strip()) + else: + print(field + ": " + ", ".join(packages).strip()) + buffer = None + field = None + for f in fields: + if line.startswith(f+':'): + field = f + break + if field: + buffer = line.strip() + continue + print(line) + +def main(): + #splitlines() + joinlines() + +main() diff --git a/debian/scripts/locale-gen b/debian/scripts/locale-gen new file mode 100755 index 00000000000..c7334fdb7dc --- /dev/null +++ b/debian/scripts/locale-gen @@ -0,0 +1,32 @@ +#!/bin/sh + +# generate locales that uicheck depend on +# "stolen" from gcc + +LOCPATH=`pwd`/debian/locales +export LOCPATH + +[ -d $LOCPATH ] || mkdir -p $LOCPATH + +[ -n "$USE_CPUS" ] || USE_CPUS=1 + +umask 022 + +echo "Generating locales..." +xargs -L 1 -P $USE_CPUS -I{} \ + sh -c ' + set {}; locale=$1; charset=$2 + case $locale in \#*) exit;; esac + [ -n "$locale" -a -n "$charset" ] || exit + echo " `echo $locale | sed \"s/\([^.\@]*\).*/\1/\"`.$charset`echo $locale | sed \"s/\([^\@]*\)\(\@.*\)*/\2/\"`..." + if [ -f $LOCPATH/$locale ]; then + input=$locale + else + input=`echo $locale | sed "s/\([^.]*\)[^@]*\(.*\)/\1\2/"` + fi + localedef -i $input -c -f $charset $LOCPATH/$locale #-A /etc/locale.alias + ' < /dev/null +then +echo $2 is unchanged +rm -f $1 +else +mv -f $1 $2 +fi +else +mv -f $1 $2 +fi diff --git a/debian/scripts/stat_pos.sh b/debian/scripts/stat_pos.sh new file mode 100755 index 00000000000..0a3c5aed175 --- /dev/null +++ b/debian/scripts/stat_pos.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +set -e + +# Quick and dirty script to stat the LO translations/ pos wrt % translated +# FIXME: maybe use pocount from translate-toolkit + +# Author: Rene Engelhard +# (C) 2017 Software in the Public Interest, Inc. + +cd translations/source + +for l in `ls -1`; do + # 23:36 <@cloph> no - but you can do a brute-force method of just counting msgid and comparing that with »msgstr ""« matches. + # 23:37 <@cloph> While that ignores multiline strings, there aren't too many and should work as a rough estimate + msgid_count=$(grep msgid `find $l -name "*.po"` | wc -l) + msgstr_count=$(grep msgstr `find $l -name "*.po"` | wc -l) + empty_msgstr_count=$(grep msgstr\ \"\" `find $l -name "*.po"` | wc -l) + p=$((100*$empty_msgstr_count/$msgid_count)) + echo "$l: $msgid_count strings, $(($msgid_count-$empty_msgstr_count))/$msgid_count translated; $empty_msgstr_count/$msgid_count untranslated" + if test $msgid_count -lt 50000; then + echo "$l: no help translations" + fi + echo "$l: $((100-$p))% translated, $p% untranslated" + + if test $p -lt 20; then + langs="$langs $l" + fi +done + +echo "languages over 80% translated:" +echo $langs diff --git a/debian/shell-lib-extensions.sh b/debian/shell-lib-extensions.sh new file mode 100644 index 00000000000..3fc248e4514 --- /dev/null +++ b/debian/shell-lib-extensions.sh @@ -0,0 +1,10 @@ +validate_extensions() { + INSTDIR=`mktemp -d` + if HOME=$INSTDIR /usr/lib/libreoffice/program/unopkg list --bundled >/dev/null 2>/dev/null; then + HOME=$INSTDIR /usr/lib/libreoffice/program/unopkg validate -v --bundled + fi +} + +make_lo_sync_extensions() { + touch /usr/lib/libreoffice/share/extensions +} diff --git a/debian/shell-lib-lool.sh b/debian/shell-lib-lool.sh new file mode 100644 index 00000000000..b0afb776321 --- /dev/null +++ b/debian/shell-lib-lool.sh @@ -0,0 +1,5 @@ +update_lool_systemplate() { + echo -n "Updating LibreOffice Online systemplate... " + su lool --shell=/bin/sh -c 'loolwsd-systemplate-setup /var/lib/lool/systemplate /usr/lib/libreoffice >/dev/null 2>&1' + echo "done." +} diff --git a/debian/shlibs.override.icu b/debian/shlibs.override.icu new file mode 100644 index 00000000000..6161f4c4d6e --- /dev/null +++ b/debian/shlibs.override.icu @@ -0,0 +1,5 @@ +libicudata 54 +libicui18n 54 +libicule 54 +libicuuc 54 +libicutu 54 diff --git a/debian/shlibs.override.libc b/debian/shlibs.override.libc new file mode 100644 index 00000000000..0f0411631f8 --- /dev/null +++ b/debian/shlibs.override.libc @@ -0,0 +1 @@ +libc 0.1 libc0.1 (>= 2.10.2-7) diff --git a/debian/shlibs.override.libcmis b/debian/shlibs.override.libcmis new file mode 100644 index 00000000000..fd769fe1964 --- /dev/null +++ b/debian/shlibs.override.libcmis @@ -0,0 +1,2 @@ +libcmis-0.5 5 libcmis-0.5-5v5 (>= 0.5.1+git20160603) +libcmis-c-0.5 5 libcmis-0.5-5v5 (>= 0.5.1+git20160603) diff --git a/debian/shlibs.override.libetonyek b/debian/shlibs.override.libetonyek new file mode 100644 index 00000000000..eb8ef1c4472 --- /dev/null +++ b/debian/shlibs.override.libetonyek @@ -0,0 +1 @@ +libetonyek-0.1-lo 1 diff --git a/debian/shlibs.override.liblangtag b/debian/shlibs.override.liblangtag new file mode 100644 index 00000000000..e4260703999 --- /dev/null +++ b/debian/shlibs.override.liblangtag @@ -0,0 +1 @@ +liblangtag-lo 1 diff --git a/debian/shlibs.override.libmwaw b/debian/shlibs.override.libmwaw new file mode 100644 index 00000000000..b646a88c104 --- /dev/null +++ b/debian/shlibs.override.libmwaw @@ -0,0 +1 @@ +libmwaw-0.3-lo 3 diff --git a/debian/shlibs.override.libodfgen b/debian/shlibs.override.libodfgen new file mode 100644 index 00000000000..73489e3ff66 --- /dev/null +++ b/debian/shlibs.override.libodfgen @@ -0,0 +1 @@ +libodfgen-0.1-lo 1 diff --git a/debian/shlibs.override.librevenge b/debian/shlibs.override.librevenge new file mode 100644 index 00000000000..f6c3fd1adbe --- /dev/null +++ b/debian/shlibs.override.librevenge @@ -0,0 +1 @@ +librevenge-0.0-lo 0 diff --git a/debian/shlibs.override.libstaroffice b/debian/shlibs.override.libstaroffice new file mode 100644 index 00000000000..5ad3eaf3ba1 --- /dev/null +++ b/debian/shlibs.override.libstaroffice @@ -0,0 +1 @@ +libstaroffice-0.0-lo 0 diff --git a/debian/shlibs.override.libvisio b/debian/shlibs.override.libvisio new file mode 100644 index 00000000000..cba8b676636 --- /dev/null +++ b/debian/shlibs.override.libvisio @@ -0,0 +1 @@ +libvisio-0.1 1 diff --git a/debian/shlibs.override.libwpd b/debian/shlibs.override.libwpd new file mode 100644 index 00000000000..8b6680e23f2 --- /dev/null +++ b/debian/shlibs.override.libwpd @@ -0,0 +1 @@ +libwpd-0.10-lo 10 diff --git a/debian/shlibs.override.libwpg b/debian/shlibs.override.libwpg new file mode 100644 index 00000000000..207ef90f1f8 --- /dev/null +++ b/debian/shlibs.override.libwpg @@ -0,0 +1 @@ +libwpg-0.3-lo 3 diff --git a/debian/shlibs.override.libwps b/debian/shlibs.override.libwps new file mode 100644 index 00000000000..e6b1d7c4a6d --- /dev/null +++ b/debian/shlibs.override.libwps @@ -0,0 +1 @@ +libwps-0.4-lo 4 diff --git a/debian/shlibs.override.orcus b/debian/shlibs.override.orcus new file mode 100644 index 00000000000..f1a96c13ed2 --- /dev/null +++ b/debian/shlibs.override.orcus @@ -0,0 +1,2 @@ +liborcus-0.14 0 +liborcus-parser-0.14 0 diff --git a/debian/soffice.sh b/debian/soffice.sh new file mode 100644 index 00000000000..bd14b9a6096 --- /dev/null +++ b/debian/soffice.sh @@ -0,0 +1,21 @@ +# configuration file to set up some environment variables for LibreOffice + +# File locking; possible values are: +# - yes: enable file locking unconditionally +# - no: disable file locking +# - auto: enable file locking, when the document is found on a nfs share +# If the environment variable SAL_ENABLE_FILE_LOCKING is set, +# the setting if ENABLE_FILE_LOCKING has no effect. + +FILE_LOCKING=auto + +# OpenGL support; may cause trouble with the restricted nvidia and fglrx +# drivers; possible values are: +# - yes: enable OpenGL support unconditionally +# - no: disable OpenGL support. +# - auto: only enable OpenGL support, if not running with the restricted +# nvidia and fglrx drivers. +# If the environment variable SAL_NOOPENGL is set, +# the setting if OPENGL_SUPPORT has no effect. + +OPENGL_SUPPORT=no diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 00000000000..163aaf8d82b --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/include-binaries b/debian/source/include-binaries new file mode 100644 index 00000000000..3ca1476ffa9 --- /dev/null +++ b/debian/source/include-binaries @@ -0,0 +1,7 @@ +debian/templates/debian-presentation.otp +debian/templates/debian-presentation-background.xcf +desktop/test/deployment/update/platform/linux_sparc64.oxt +tarballs/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip +tarballs/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip +tarballs/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip +tarballs/pdfium-3426.tar.bz2 diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 00000000000..49a2083753f --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1,3 @@ +# This one *has* a (detached) license paragraph.... +libreoffice source: missing-license-paragraph-in-dep5-copyright mpl-2.0 (paragraph at line 37) +libreoffice source: source-is-missing helpcontent2/help3xsl/fuse.js line length is 564 characters (>512) diff --git a/debian/templates/debian-presentation-background.xcf b/debian/templates/debian-presentation-background.xcf new file mode 100644 index 00000000000..5f052322567 Binary files /dev/null and b/debian/templates/debian-presentation-background.xcf differ diff --git a/debian/templates/debian-presentation.otp b/debian/templates/debian-presentation.otp new file mode 100644 index 00000000000..17fe503c4d7 Binary files /dev/null and b/debian/templates/debian-presentation.otp differ diff --git a/debian/templates/soffice-template.desktop.in b/debian/templates/soffice-template.desktop.in new file mode 100644 index 00000000000..0f031f9e653 --- /dev/null +++ b/debian/templates/soffice-template.desktop.in @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=LibreOffice @APP@ ... +Comment=Enter LibreOffice @APP@ filename: +Comment[de]=Name der LibreOffice @APP@-Datei eingeben: +Type=Link +URL=.source/soffice.@EXT@ +Icon=libreoffice-oasis-@TYPE@ + diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 00000000000..fcaff4cfdc3 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,43 @@ +Tests: uno +Depends: @builddeps@, ure +Restrictions: allow-stderr, rw-build-tree + +Tests: smoketest +Depends: @builddeps@, libreoffice-dev, libreoffice, libreoffice-sdbc-hsqldb, libreoffice-sdbc-firebird, libreoffice-smoketest-data +Restrictions: allow-stderr, rw-build-tree, skippable + +Tests: pyuno-import, uno-import +Depends: python3, python3-uno +Restrictions: superficial + +# this is already done by smoketest upstream, but fails when doing it against +# the installed LO. works standalone, though, so it's patched out of the +# smoketest. Do it here separately. +Tests: test-extension +Depends: libreoffice-core, libreoffice-common, libreoffice-java-common, libreoffice-smoketest-data, default-jdk +Restrictions: superficial + +Tests: test-extension-shared +Depends: libreoffice-core, libreoffice-common, libreoffice-java-common, libreoffice-smoketest-data, default-jdk +Restrictions: needs-root, superficial + +Tests: uicheck +Depends: @builddeps@, libreoffice, python3-uno, libreoffice-l10n-he, libreoffice-l10n-ja +Restrictions: allow-stderr + +Tests: junit +Depends: @builddeps@, libreoffice, libreoffice-subsequentcheckbase, libreoffice-sdbc-hsqldb, libreoffice-sdbc-firebird +Restrictions: allow-stderr + +Test-Command: export SYSTEM_UCPP=TRUE; export DOXYGEN=`which doxygen`; export ENABLE_JAVA=TRUE; export JDK=sun; export JAVADOC=/usr/lib/jvm/default-java/bin/javadoc; perl odk/util/check.pl /usr/lib/libreoffice/sdk +Depends: libreoffice-dev, libreoffice-dev-doc +Restrictions: superficial + +Tests: odk-build-examples +Depends: @builddeps@, libreoffice-dev, libreoffice-dev-doc, libreoffice-java-common, python3-uno, libreoffice-officebean +Restrictions: allow-stderr + +# inspired by https://salsa.debian.org/apparmor-team/apparmor-profiles-extra/commit/7fbcc4788d0e94764eeeff2f080796601241f986 +Test-Command: for i in /etc/apparmor.d/usr.lib.libreoffice.program.*; do /sbin/apparmor_parser --add --skip-cache --skip-kernel-load $i; done +Depends: libreoffice-common, apparmor +Restrictions: allow-stderr, superficial diff --git a/debian/tests/junit b/debian/tests/junit new file mode 100755 index 00000000000..824b3badf33 --- /dev/null +++ b/debian/tests/junit @@ -0,0 +1,56 @@ +#!/bin/bash +# autopkgtest check: Run junit base tests against an installed version of LibreOffice +# (C) 2013 Canonical Ltd. +# (c) 2015-2017 Software in the Public Interest, Inc. +# Authors: Bjoern Michaelsen +# Rene Engelhard + +set -e +set -E + +SRCDIR=`pwd` +CHECK_PARALLELISM=1 +if [ -n "$AUTOPKGTEST_TMP" ]; then + WORKDIR=`mktemp -q -d -p $AUTOPKGTEST_TMP` +else + WORKDIR=`mktemp -q -d` +fi + +function unapply() { + echo + echo "====== Unapplying the patch ======" + patch -p1 -R < ./debian/tests/patches/java-subsequentcheck-standalone.diff +} + +trap "unapply" ERR + +echo +echo "====== Patching the tree to only build Java-based unittests against an existing installation ======" +patch -p1 < ./debian/tests/patches/java-subsequentcheck-standalone.diff + +echo +echo "====== Generating configuration =======" +rm -f config_host.mk +./debian/rules config_host.mk enable_report_builder=no +sed -i 's/export OOO_JUNIT_JAR=.*/export OOO_JUNIT_JAR=\/usr\/share\/java\/junit4.jar/' config_host.mk + +echo +echo "====== Enabling core dumps ======" +# yes, we want core dumps and stack traces +ulimit -c unlimited + +OOO_TEST_SOFFICE="${1:-path:/usr/lib/libreoffice/program/soffice}" + +echo +echo "====== Starting subsequentcheck with ${CHECK_PARALLELISM} job against ${OOO_TEST_SOFFICE} ======" + +eval `grep PLATFORMID config_host.mk` + +export PARALLELISM=$CHECK_PARALLELISM +make -rk \ + OOO_TEST_SOFFICE=${OOO_TEST_SOFFICE} \ + bridges_SELECTED_BRIDGE=gcc3_$PLATFORMID \ + subsequentcheck verbose=t + +unapply + diff --git a/debian/tests/odk-build-examples b/debian/tests/odk-build-examples new file mode 100755 index 00000000000..a2e8033ee4a --- /dev/null +++ b/debian/tests/odk-build-examples @@ -0,0 +1,42 @@ +#!/bin/bash +# autopkgtest check: Run the odk/build-examples check against an installed +# version of the LibreOffice SDK +# (c) 2017 Software in the Public Interest, Inc. +# Authors: Rene Engelhard + +set -e +set -E + +SRCDIR=`pwd` +CHECK_PARALLELISM=1 + +function unapply() { + cd $SRCDIR + echo + echo "====== Unapplying the patch ======" + patch -p1 -R < ./debian/tests/patches/odk-build-examples-standalone.diff +} + +trap "unapply" ERR + +echo +echo "====== Patching the tree to build the odk build-examples test against an existing installation ======" +patch -p1 < ./debian/tests/patches/odk-build-examples-standalone.diff + +echo +echo "====== Generating configuration =======" +rm -f config_host.mk +./debian/rules config_host.mk + +echo +echo "====== Starting build with ${CHECK_PARALLELISM} job against /usr/lib/libreoffice/sdk ======" + +cd $SRCDIR/odk + +export PARALLELISM=$CHECK_PARALLELISM +make -rk \ + CustomTarget_odk/build-examples \ + CustomTarget_odk/build-examples_java verbose=t + +unapply + diff --git a/debian/tests/patches/disable-db-tests.diff b/debian/tests/patches/disable-db-tests.diff new file mode 100644 index 00000000000..1576ccd9c67 --- /dev/null +++ b/debian/tests/patches/disable-db-tests.diff @@ -0,0 +1,114 @@ +diff -urN smoketest-old/data/Test_DB.xml smoketest/data/Test_DB.xml +--- a/smoketest-old/data/Basic/Standard/Test_DB.xml 2011-12-20 16:05:52.000000000 +0000 ++++ b/smoketest/data/Basic/Standard/Test_DB.xml 2011-12-29 23:09:08.000000000 +0000 +@@ -30,9 +30,6 @@ + + const cMessageDatabaseService = "Database Service" + const cMessageDatabaseOpen = "Open Database" +-const cMessageDatabaseInsert = "Insert record into Database" +-const cMessageDatabaseDelete = "Delete record from Database" +-const cMessageDatabaseSeek = "Read other record from Database" + const cMessageDatabaseClose = "Close Database" + + Sub TestDB +@@ -81,48 +78,6 @@ + LogTestResult( "Database "+ cMessageDatabaseService, TRUE ) + End If + +- gCurrentTestCase = cDBInsert +- sCurrentMessage = cMessageDatabaseInsert +- +- oRowSet.ActiveConnection = oDBConnection +- +- oRowSet.CommandType = com.sun.star.sdb.CommandType.COMMAND +- oRowSet.Command = "SELECT * FROM " + sTable +- oRowSet.execute() +- +- oRowSet.moveToInsertRow +- oRowSet.updateString(5, sTestString) +- +- oRowSet.insertRow() +- nRowCount=oRowSet.RowCount +- +- oRowSet.moveToCurrentRow() +- +- bResult = (oRowSet.getString(5) = sTestString) +- LogTestResult( "Database "+ cMessageDatabaseInsert, bResult ) +- +- 'delete only if insert passed +- +- if (bResult) Then +- gCurrentTestCase = cDBDelete +- sCurrentMessage = cMessageDatabaseDelete +- oRowSet.deleteRow() +- bResult = (nRowCount - oRowSet.RowCount = 0) +- if ( bResult ) Then +- oRowSet.next() +- bResult = (nRowCount - oRowSet.RowCount = 1) +- End If +- LogTestResult( "Database "+ cMessageDatabaseDelete, bResult ) +- End If +- +- ' read other record +- +- gCurrentTestCase = cDBSeek +- sCurrentMessage = cMessageDatabaseSeek +- oRowSet.first() +- bResult = not (oRowSet.getString(5) = sTestString) +- LogTestResult( "Database "+ cMessageDatabaseSeek, bResult ) +- + gCurrentTestCase = cDBClose + sCurrentMessage = cMessageDatabaseClose + oDBConnection.Dispose() +--- a/dbaccess/Module_dbaccess.mk-old 2012-04-27 23:27:39.194936746 +0200 ++++ b/dbaccess/Module_dbaccess.mk 2012-04-27 23:27:47.102975960 +0200 +@@ -33,49 +33,6 @@ + )) + + ifneq ($(OS),IOS) +-ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE) +-$(eval $(call gb_Module_add_check_targets,dbaccess,\ +- CppunitTest_dbaccess_firebird_test \ +-)) +-endif +- +-$(eval $(call gb_Module_add_check_targets,dbaccess,\ +- CppunitTest_dbaccess_dialog_save \ +- CppunitTest_dbaccess_empty_stdlib_save \ +- CppunitTest_dbaccess_nolib_save \ +- CppunitTest_dbaccess_macros_test \ +-)) +- +-ifeq ($(ENABLE_JAVA),TRUE) +-$(eval $(call gb_Module_add_check_targets,dbaccess,\ +- CppunitTest_dbaccess_hsqldb_test \ +- CppunitTest_dbaccess_RowSetClones \ +-)) +-endif +- +-# This runs a suite of performance tests on embedded firebird and HSQLDB. +-# Instructions on running the test can be found in qa/unit/embeddedb_performancetest +-ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE) +-ifeq ($(ENABLE_JAVA),TRUE) +-$(eval $(call gb_Module_add_check_targets,dbaccess,\ +- CppunitTest_dbaccess_embeddeddb_performancetest \ +-)) +-endif +-endif +- +-$(eval $(call gb_Module_add_subsequentcheck_targets,dbaccess,\ +- JunitTest_dbaccess_complex \ +- JunitTest_dbaccess_unoapi \ +-)) +- +-ifneq ($(DISABLE_PYTHON),TRUE) +-ifneq ($(ENABLE_JAVA),) +-$(eval $(call gb_Module_add_subsequentcheck_targets,dbaccess,\ +- PythonTest_dbaccess_python \ +-)) +-endif +-endif +- + # screenshots + $(eval $(call gb_Module_add_screenshot_targets,dbaccess,\ + CppunitTest_dbaccess_dialogs_test \ diff --git a/debian/tests/patches/java-subsequentcheck-standalone.diff b/debian/tests/patches/java-subsequentcheck-standalone.diff new file mode 100644 index 00000000000..148bfb3772d --- /dev/null +++ b/debian/tests/patches/java-subsequentcheck-standalone.diff @@ -0,0 +1,123 @@ +From fef2f669c1e861c685d22c18319514cec9f9f8c3 Mon Sep 17 00:00:00 2001 +From: Bjoern Michaelsen +Date: Wed, 28 Jan 2015 12:11:16 +0100 +Subject: [PATCH] run subsequentcheck standalone against installed version as + integration test +Last-Update: 2017-05-17 + +Forwarded: partially, where there is generic use for it +--- + jurt/Module_jurt.mk | 2 +- + postprocess/Module_postprocess.mk | 4 ++-- + solenv/gbuild/JavaClassSet.mk | 2 +- + solenv/gbuild/JunitTest.mk | 2 +- + solenv/gbuild/Module.mk | 3 +++ + solenv/gbuild/extensions/post_SkipBuild.mk | 18 ++++++++++++++++++ + solenv/gbuild/platform/unxgcc.mk | 1 + + 7 files changed, 27 insertions(+), 5 deletions(-) + create mode 100644 solenv/gbuild/extensions/post_SkipBuild.mk + +--- a/jurt/Module_jurt.mk ++++ b/jurt/Module_jurt.mk +@@ -22,7 +22,7 @@ $(eval $(call gb_Module_add_targets,jurt + )) + endif + +-$(eval $(call gb_Module_add_subsequentcheck_targets,jurt,\ ++#$(eval $(call gb_Module_add_subsequentcheck_targets,jurt,\ + CustomTarget_test_urp \ + InternalUnoApi_test_urp \ + JunitTest_bridgefactory \ +--- a/postprocess/Module_postprocess.mk ++++ b/postprocess/Module_postprocess.mk +@@ -12,13 +12,13 @@ $(eval $(call gb_Module_Module,postproce + # UGLY: postprocess_XCDS variable from CustomTarget_registry + # is reused in Package_registry! + +-$(eval $(call gb_Module_add_targets,postprocess,\ ++#$(eval $(call gb_Module_add_targets,postprocess,\ + CustomTarget_images \ + CustomTarget_registry \ + Package_images \ + Rdb_services \ + )) +-$(eval $(call gb_Module_add_l10n_targets,postprocess,\ ++#$(eval $(call gb_Module_add_l10n_targets,postprocess,\ + Package_registry \ + )) + +--- a/solenv/gbuild/JavaClassSet.mk ++++ b/solenv/gbuild/JavaClassSet.mk +@@ -39,7 +39,7 @@ $(call gb_Helper_abbreviate_dirs,\ + $(filter-out $(JARDEPS),$(4))) && \ + $(if $(3),$(gb_JavaClassSet_JAVACCOMMAND) \ + $(gb_JavaClassSet_JAVACDEBUG) \ +- -classpath "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \ ++ -classpath "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2)):$(subst $(gb_SPACE),:,$(wildcard /usr/lib/ure/share/java/*.jar)):$(subst $(gb_SPACE),:,$(wildcard /usr/lib/libreoffice/program/classes/*.jar))" \ + -d $(call gb_JavaClassSet_get_classdir,$(2)) \ + @$$RESPONSEFILE &&) \ + rm -f $$RESPONSEFILE &&) \ +--- a/solenv/gbuild/JunitTest.mk ++++ b/solenv/gbuild/JunitTest.mk +@@ -55,7 +55,7 @@ $(call gb_JunitTest_get_target,%) : + $(CLEAN_CMD) + + define gb_JunitTest_JunitTest +-$(call gb_JunitTest_get_target,$(1)) : T_CP := $(call gb_JavaClassSet_get_classdir,$(call gb_JunitTest_get_classsetname,$(1)))$$(gb_CLASSPATHSEP)$(OOO_JUNIT_JAR)$(if $(HAMCREST_JAR),$$(gb_CLASSPATHSEP)$(HAMCREST_JAR))$$(gb_CLASSPATHSEP)$(INSTROOT)/$(LIBO_URE_LIB_FOLDER) ++$(call gb_JunitTest_get_target,$(1)) : T_CP := $(call gb_JavaClassSet_get_classdir,$(call gb_JunitTest_get_classsetname,$(1)))$$(gb_CLASSPATHSEP)$(OOO_JUNIT_JAR)$(if $(HAMCREST_JAR),$$(gb_CLASSPATHSEP)$(HAMCREST_JAR))$$(gb_CLASSPATHSEP)$(OUTDIR)/lib:$(subst $(gb_SPACE),:,$(wildcard /usr/lib/ure/share/java/*.jar)):$(subst $(gb_SPACE),:,$(wildcard /usr/lib/libreoffice/program/classes/*.jar)) + $(call gb_JunitTest_get_target,$(1)) : CLASSES := + $(eval $(call gb_JunitTest_JunitTest_platform,$(1))) + +--- a/solenv/gbuild/Module.mk ++++ b/solenv/gbuild/Module.mk +@@ -336,15 +336,16 @@ endef + # has order dependency on AllModulesButInstsetNative to be able to run + # subsequentcheck in the same make process on "make check" + define gb_Module_add_subsequentcheck_target ++ifeq (,$(filter-out JavaClassSet% JunitTest%,$(2))) + $(call gb_Module__read_targetfile,$(1),$(2),subsequentcheck target) + + $(call gb_Module_get_subsequentcheck_target,$(1)) : $$(gb_Module_CURRENTTARGET) + $$(gb_Module_CURRENTTARGET) :| \ +- $(call gb_Postprocess_get_target,AllModulesButInstsetNative) \ +- $(call gb_Package_get_target,instsetoo_native_setup) \ +- $(call gb_Package_get_target,instsetoo_native_setup_ure) ++ $(call gb_Postprocess_get_target,AllModulesButInstsetNative) + $(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET) + ++endif ++ + endef + + define gb_Module_add_stagingcheck_target +--- /dev/null ++++ b/solenv/gbuild/extensions/post_SkipBuild.mk +@@ -0,0 +1,18 @@ ++# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- ++# ++# 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/. ++# ++ ++# we dont want to bother with these for integration tests ++gb_Module_add_target = ++gb_Module_add_l10n_target = ++gb_Module_add_check_target = ++gb_Module_add_slowcheck_target = ++gb_JavaClassSet_use_jar = ++gb_JunitTest_use_jar = ++ ++# vim: set noet sw=4 ts=4: +--- a/solenv/gbuild/platform/unxgcc.mk ++++ b/solenv/gbuild/platform/unxgcc.mk +@@ -289,6 +289,7 @@ $(call gb_JunitTest_get_target,$(1)) : D + -Dorg.openoffice.test.arg.workdir=$(call gb_JunitTest_get_userdir,$(1)) \ + -Dorg.openoffice.test.arg.postprocesscommand=$(SRCDIR)/solenv/bin/gdb-core-bt.sh \ + -Dorg.openoffice.test.arg.soffice="$(gb_JunitTest_SOFFICEARG)" \ ++ -Djava.library.path=/usr/lib/ure/lib \ + + endef + diff --git a/debian/tests/patches/odk-build-examples-standalone.diff b/debian/tests/patches/odk-build-examples-standalone.diff new file mode 100644 index 00000000000..f7c11ec660c --- /dev/null +++ b/debian/tests/patches/odk-build-examples-standalone.diff @@ -0,0 +1,50 @@ +diff --git a/odk/build-examples_common.mk b/odk/build-examples_common.mk +index 931d6eea856e..2749b6930079 100644 +--- a/odk/build-examples_common.mk ++++ b/odk/build-examples_common.mk +@@ -29,7 +29,7 @@ endif + && export \ + UserInstallation=$(call gb_Helper_make_url,$(call gb_CustomTarget_get_workdir,$(1))/user) \ + $(foreach my_dir,$(2), \ +- && (cd $(INSTDIR)/$(SDKDIRNAME)/examples/$(my_dir) \ ++ && (cd /usr/lib/libreoffice/sdk/examples/$(my_dir) \ + && printf 'yes\n' | LC_ALL=C make \ + $(if $(filter MACOSX,$(OS)), SHELL=$(ODK_BUILD_SHELL), )))) \ + >$(call gb_CustomTarget_get_workdir,$(1))/log 2>&1 \ +@@ -43,17 +43,17 @@ endif + endif + + $(call gb_CustomTarget_get_workdir,$(1))/setsdkenv: \ +- $(SRCDIR)/odk/config/setsdkenv_unix.sh.in \ ++ /usr/lib/libreoffice/sdk//setsdkenv_unix.sh.in \ + $(BUILDDIR)/config_$(gb_Side).mk | \ + $(call gb_CustomTarget_get_workdir,$(1))/.dir + $$(call gb_Output_announce,$(subst $(WORKDIR)/,,$(1)),$(true),SED,1) + sed -e 's!@OO_SDK_NAME@!sdk!' \ +- -e 's!@OO_SDK_HOME@!$(INSTDIR)/$(SDKDIRNAME)!' \ +- -e 's!@OFFICE_HOME@!$(INSTROOTBASE)!' -e 's!@OO_SDK_MAKE_HOME@!!' \ ++ -e 's!@OO_SDK_HOME@!/usr/lib/libreoffice/sdk!' \ ++ -e 's!@OFFICE_HOME@!/usr/lib/libreoffice!' -e 's!@OO_SDK_MAKE_HOME@!!' \ + -e 's!@OO_SDK_ZIP_HOME@!!' -e 's!@OO_SDK_CAT_HOME@!!' \ + -e 's!@OO_SDK_SED_HOME@!!' -e 's!@OO_SDK_CPP_HOME@!!' \ + -e 's!@OO_SDK_JAVA_HOME@!$(JAVA_HOME)!' \ +- -e 's!@OO_SDK_OUTPUT_DIR@!$(call gb_CustomTarget_get_workdir,$(1))/out!' \ ++ -e 's!@OO_SDK_OUTPUT_DIR@!$(shell mktemp -q -d)/out!' \ + -e 's!@SDK_AUTO_DEPLOYMENT@!YES!' $$< > $$@ + + .PHONY: $(call gb_CustomTarget_get_target,$(1)) +diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk +index 4073dcfd9bf5..68c17ce0d1ed 100644 +--- a/solenv/gbuild/Module.mk ++++ b/solenv/gbuild/Module.mk +@@ -339,10 +339,6 @@ define gb_Module_add_subsequentcheck_target + $(call gb_Module__read_targetfile,$(1),$(2),subsequentcheck target) + + $(call gb_Module_get_subsequentcheck_target,$(1)) : $$(gb_Module_CURRENTTARGET) +-$$(gb_Module_CURRENTTARGET) :| \ +- $(call gb_Postprocess_get_target,AllModulesButInstsetNative) \ +- $(call gb_Package_get_target,instsetoo_native_setup) \ +- $(call gb_Package_get_target,instsetoo_native_setup_ure) + $(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET) + + endef diff --git a/debian/tests/patches/smoketest-disable-extension-tests.diff b/debian/tests/patches/smoketest-disable-extension-tests.diff new file mode 100644 index 00000000000..0b5ee3b3a19 --- /dev/null +++ b/debian/tests/patches/smoketest-disable-extension-tests.diff @@ -0,0 +1,98 @@ +--- smoketest/data/Basic/Standard/Test_Ext.xml 2012-02-01 13:56:49.000000000 +0100 ++++ smoketest/data/Basic/Standard/Test_Ext.xml 2012-02-20 20:15:23.000000000 +0100 +@@ -28,10 +28,6 @@ + + REM ***** BASIC ***** + +-const cMessageExtensionService = "Extension Service" +-const cMessageExtensionInstall = "Install Extension" +-const cMessageExtensionUninstall = "Uninstall Extension" +- + Sub TestExtensions + Dim oTestExtension as Object, obj_null as Object + Dim sCurrentMessage as String +@@ -37,9 +37,6 @@ + Dim sCurrentMessage as String + Dim bResult as Boolean + Dim sImplementationNameString as String +- sImplementationNameString = cUnoSmoketestTestExtension + "$_TestExtension" +- +- On Local Error GoTo EXTERROR + + gCurrentTestCase = cLogfileFailed + LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest)) +@@ -35,74 +35,5 @@ + gCurrentTestCase = cLogfileFailed + LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest)) + +- sCurrentMessage = "SmokeTestCommandEnvironment (implemented in Java)" +- gCurrentTestCase = cEXTService +- +- 'Create an implementation of com.sun.star.ucb.XCommandEnvironment which is needed for +- 'adding the extension. The implementation is in +- 'smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java and the code is in smoketest.jar +- cmdEnv = createUnoService(cUnoSmoketestCommandEnvironment) +- +- 'Create the component context and then get the singleton ExtensionManager +- 'A singleton cannot be created with createUnoService +- sCurrentMessage = cMessageExtensionService +- ctx = getDefaultContext +- ext_mgr = ctx.getValueByName("/singletons/" + cExtensionManager) +- +- LogTestResult( "Extension "+ cMessageExtensionService, not IsNull (ext_mgr) ) +- if (IsNull(ext_mgr)) then +- Close #LocalTestLog% +- LocalTestLog = 0 +- Exit Sub +- End If +- +- sCurrentMessage = cMessageExtensionInstall +- gCurrentTestCase = cEXTInstall +- +- 'Add the extension. We must provide a file URL here. +- 'By passing "user" we determine that the actions we perform on +- 'XExtensionManager only affect the user installation. To modify the share installation one would pass "share". +- +- Dim props() as Object +- ext_mgr.addExtension(sExtensionURL, props, "user", obj_null, cmdEnv) +- +- 'Check if the extension has been added by creating a service which is contained in the extension. +- oTestExtension = createUnoService(cUnoSmoketestTestExtension) +- bResult = (oTestExtension.getImplementationName = sImplementationNameString) +- LogTestResult( "Extension "+ cMessageExtensionInstall, bResult ) +- if (not bResult) then +- Close #LocalTestLog% +- LocalTestLog = 0 +- Exit Sub +- End If +- +- sCurrentMessage = cMessageExtensionUninstall +- gCurrentTestCase = cEXTUninstall +- +- 'Remove the package +- ext_mgr.removeExtension("org.libreoffice.smoketest.TestExtension", cExtensionFileName, "user",obj_null, cmdEnv) +- +- 'Try to create the service which is contained in the now removed extension. +- oTestExtension = createUnoService(cUnoSmoketestTestExtension) +- +- 'The service must not be available anymore. Therefore isNull must return true. +- LogTestResult( "Extension "+ cMessageExtensionUninstall, IsNull (oTestExtension) ) +- +- Print #LocalTestLog, "---" +- Close #LocalTestLog% +- LocalTestLog = 0 +- Exit Sub ' Without error +- +- EXTERROR: +- If ( gCurrentTestCase = cLogfileFailed ) then +- LogTestResult( " ", False ) +- Exit Sub +- else +- LogTestResult( "Extension "+ sCurrentMessage, False ) +- Close #LocalTestLog% +- LocalTestLog = 0 +- End If +- Exit Sub ' With error +- + End Sub + diff --git a/debian/tests/patches/smoketest-standalone.diff b/debian/tests/patches/smoketest-standalone.diff new file mode 100644 index 00000000000..8d82fd00dad --- /dev/null +++ b/debian/tests/patches/smoketest-standalone.diff @@ -0,0 +1,32 @@ +diff --git a/smoketest/CppunitTest_smoketest.mk b/smoketest/CppunitTest_smoketest.mk +index f7d64cae562f..9d47776ffb4b 100644 +--- a/smoketest/CppunitTest_smoketest.mk ++++ b/smoketest/CppunitTest_smoketest.mk +@@ -34,10 +34,10 @@ userinstallation=$(WORKDIR)/CustomTarget/smoketest + endif + + $(eval $(call gb_CppunitTest_add_arguments,smoketest,\ +- -env:arg-soffice=$(gb_JunitTest_SOFFICEARG) \ ++ -env:arg-soffice=$(OOO_TEST_SOFFICE) \ + -env:arg-user=$(userinstallation) \ + -env:arg-env=$(gb_Helper_LIBRARY_PATH_VAR)"$$$${$(gb_Helper_LIBRARY_PATH_VAR)+=$$$$$(gb_Helper_LIBRARY_PATH_VAR)}" \ +- -env:arg-testarg.smoketest.doc=$(WORKDIR)/Zip/smoketestdoc.sxw \ ++ -env:arg-testarg.smoketest.doc=/usr/share/libreoffice/smoketestdoc.sxw \ + )) + + $(call gb_CppunitTest_get_target,smoketest): \ +diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk +index 0d87ccc55379..41c6564d3d7e 100644 +--- a/solenv/gbuild/Module.mk ++++ b/solenv/gbuild/Module.mk +@@ -338,10 +338,6 @@ define gb_Module_add_subsequentcheck_target + $(call gb_Module__read_targetfile,$(1),$(2),subsequentcheck target) + + $(call gb_Module_get_subsequentcheck_target,$(1)) : $$(gb_Module_CURRENTTARGET) +-$$(gb_Module_CURRENTTARGET) :| \ +- $(call gb_Postprocess_get_target,AllModulesButInstsetNative) \ +- $(call gb_Package_get_target,instsetoo_native_setup) \ +- $(call gb_Package_get_target,instsetoo_native_setup_ure) + $(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET) + + endef diff --git a/debian/tests/patches/testtools-standalone.diff b/debian/tests/patches/testtools-standalone.diff new file mode 100644 index 00000000000..d09f88d67d7 --- /dev/null +++ b/debian/tests/patches/testtools-standalone.diff @@ -0,0 +1,227 @@ +diff --git a/testtools/CustomTarget_bridgetest.mk b/testtools/CustomTarget_bridgetest.mk +index d090146ec411..1cb4d30dcc2a 100644 +--- a/testtools/CustomTarget_bridgetest.mk ++++ b/testtools/CustomTarget_bridgetest.mk +@@ -28,7 +28,7 @@ $(testtools_BRIDGEDIR)/bridgetest_server$(testtools_BATCHSUFFIX) :| $(testtools_ + $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1) + $(call gb_Helper_abbreviate_dirs,\ + echo \ +- "$(call gb_Executable_get_target_for_build,uno)" \ ++ "/usr/lib/libreoffice/program/uno" \ + "-s com.sun.star.test.bridge.CppTestObject" \ + "-u 'uno:socket$(COMMA)host=127.0.0.1$(COMMA)port=2002;urp;test'" \ + "--singleaccept" \ +@@ -59,7 +59,7 @@ $(testtools_BRIDGEDIR)/bridgetest_inprocess_java$(testtools_BATCHSUFFIX) :| $(te + $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1) + $(call gb_Helper_abbreviate_dirs,\ + echo "JAVA_HOME=$(JAVA_HOME)" \ +- "$(call gb_Executable_get_target_for_build,uno)" \ ++ "/usr/lib/libreoffice/program/uno" \ + "-s com.sun.star.test.bridge.BridgeTest" \ + "-env:LO_BUILD_LIB_DIR=$(call gb_Helper_make_url,$(gb_Library_WORKDIR_FOR_BUILD))" \ + "-env:URE_MORE_SERVICES=$(call gb_Helper_make_url,$(call gb_Rdb_get_target,uno_services))" \ +@@ -72,7 +72,7 @@ $(testtools_BRIDGEDIR)/bridgetest_client$(testtools_BATCHSUFFIX) :| $(testtools_ + $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1) + $(call gb_Helper_abbreviate_dirs,\ + echo \ +- "$(call gb_Executable_get_target_for_build,uno)" \ ++ "/usr/lib/libreoffice/program/uno" \ + "-s com.sun.star.test.bridge.BridgeTest --" \ + "-u 'uno:socket$(COMMA)host=127.0.0.1$(COMMA)port=2002;urp;test'" \ + "-env:LO_BUILD_LIB_DIR=$(call gb_Helper_make_url,$(gb_Library_WORKDIR_FOR_BUILD))" \ +diff --git a/testtools/CustomTarget_uno_test.mk b/testtools/CustomTarget_uno_test.mk +index 4850e5ca66b2..610a0b170e90 100644 +--- a/testtools/CustomTarget_uno_test.mk ++++ b/testtools/CustomTarget_uno_test.mk +@@ -12,18 +12,12 @@ $(eval $(call gb_CustomTarget_CustomTarget,testtools/uno_test)) + # this target is phony to run it every time + .PHONY : $(call gb_CustomTarget_get_target,testtools/uno_test) + +-$(call gb_CustomTarget_get_target,testtools/uno_test) : \ +- $(call gb_Executable_get_runtime_dependencies,uno) \ +- $(call gb_InternalUnoApi_get_target,bridgetest) \ +- $(call gb_Package_get_target,instsetoo_native_setup_ure) \ +- $(call gb_Rdb_get_target,uno_services) \ +- $(call gb_Rdb_get_target,ure/services) \ +- $(call gb_UnoApi_get_target,udkapi) ++$(call gb_CustomTarget_get_target,testtools/uno_test) : + ifneq ($(gb_SUPPRESS_TESTS),) + @true + else + $(call gb_Helper_abbreviate_dirs,\ +- $(call gb_Executable_get_command,uno) \ ++ /usr/lib/libreoffice/program/uno \ + -s com.sun.star.test.bridge.BridgeTest \ + -- com.sun.star.test.bridge.CppTestObject \ + -env:LO_BUILD_LIB_DIR=$(call gb_Helper_make_url,$(gb_Library_WORKDIR_FOR_BUILD)) \ +#diff --git a/testtools/Library_bridgetest-common.mk b/testtools/Library_bridgetest-common.mk +#index 1ca38bca6b49..cbc793c36d39 100644 +#--- a/testtools/Library_bridgetest-common.mk +#+++ b/testtools/Library_bridgetest-common.mk +#@@ -20,16 +20,6 @@ $(eval $(call gb_Library_use_internal_api,testtools_bridgetest-common,\ +# bridgetest \ +# )) +# +#-$(eval $(call gb_Library_use_libraries,testtools_bridgetest-common, \ +#- cppu \ +#- cppuhelper \ +#- sal \ +#-)) +#- +#-$(eval $(call gb_Library_use_api,testtools_bridgetest-common,\ +#- udkapi \ +#-)) +#- +# $(eval $(call gb_Library_add_exception_objects,testtools_bridgetest-common,\ +# testtools/source/bridgetest/currentcontextchecker \ +# testtools/source/bridgetest/multi \ +#diff --git a/testtools/Library_bridgetest.mk b/testtools/Library_bridgetest.mk +#index 52f335761fdf..f0bafca0998f 100644 +#--- a/testtools/Library_bridgetest.mk +#+++ b/testtools/Library_bridgetest.mk +#@@ -15,16 +15,9 @@ $(eval $(call gb_Library_use_internal_api,testtools_bridgetest,\ +# bridgetest \ +# )) +# +#-$(eval $(call gb_Library_use_api,testtools_bridgetest,\ +#- udkapi \ +#-)) +#- +# $(eval $(call gb_Library_use_external,testtools_bridgetest,boost_headers)) +# +# $(eval $(call gb_Library_use_libraries,testtools_bridgetest,\ +#- cppu \ +#- cppuhelper \ +#- sal \ +# testtools_bridgetest-common \ +# )) +# +#diff --git a/testtools/Library_constructors.mk b/testtools/Library_constructors.mk +#index 516c05d62db8..3a2a4b8bca24 100644 +#--- a/testtools/Library_constructors.mk +#+++ b/testtools/Library_constructors.mk +#@@ -22,16 +22,6 @@ $(eval $(call gb_Library_use_internal_api,testtools_constructors,\ +# bridgetest \ +# )) +# +#-$(eval $(call gb_Library_use_api,testtools_constructors,\ +#- udkapi \ +#-)) +#- +#-$(eval $(call gb_Library_use_libraries,testtools_constructors,\ +#- cppu \ +#- cppuhelper \ +#- sal \ +#-)) +#- +# $(eval $(call gb_Library_add_exception_objects,testtools_constructors,\ +# testtools/source/bridgetest/constructors \ +# )) +#diff --git a/testtools/Library_cppobj.mk b/testtools/Library_cppobj.mk +#index 086b1fa0b6f5..9348254b6da8 100644 +#--- a/testtools/Library_cppobj.mk +#+++ b/testtools/Library_cppobj.mk +#@@ -20,16 +20,9 @@ $(eval $(call gb_Library_use_internal_api,testtools_cppobj,\ +# bridgetest \ +# )) +# +#-$(eval $(call gb_Library_use_api,testtools_cppobj,\ +#- udkapi \ +#-)) +#- +# $(eval $(call gb_Library_use_external,testtools_cppobj,boost_headers)) +# +# $(eval $(call gb_Library_use_libraries,testtools_cppobj,\ +#- cppu \ +#- cppuhelper \ +#- sal \ +# testtools_bridgetest-common \ +# )) +# +#diff --git a/unoidl/Executable_unoidl-check.mk b/unoidl/Executable_unoidl-check.mk +#index 36dfc44de635..a1bb6ed14d80 100644 +#--- a/unoidl/Executable_unoidl-check.mk +#+++ b/unoidl/Executable_unoidl-check.mk +#@@ -15,10 +15,13 @@ $(eval $(call gb_Executable_add_exception_objects,unoidl-check, \ +# +# $(eval $(call gb_Executable_use_libraries,unoidl-check, \ +# unoidl \ +#- $(if $(filter TRUE,$(DISABLE_DYNLOADING)),reg) \ +#- $(if $(filter TRUE,$(DISABLE_DYNLOADING)),store) \ +#- salhelper \ +#- sal \ +#+)) +#+ +#+$(eval $(call gb_Executable_add_ldflags,unoidl-check, \ +#+ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L/usr/lib/libreoffice/program/ -lreglo) \ +#+ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L/usr/lib/libreoffice/program/ -lstorelo) \ +#+ -L/usr/lib/libreoffice/sdk/lib/ -luno_sal \ +#+ -L/usr/lib/libreoffice/sdk/lib/ -luno_salhelpergcc3 \ +# )) +# +# # vim: set noet sw=4 ts=4: +#diff --git a/unoidl/Executable_unoidl-read.mk b/unoidl/Executable_unoidl-read.mk +#index b134c30b1a72..2bfd0ea3057f 100644 +#--- a/unoidl/Executable_unoidl-read.mk +#+++ b/unoidl/Executable_unoidl-read.mk +#@@ -15,10 +15,13 @@ $(eval $(call gb_Executable_add_exception_objects,unoidl-read, \ +# +# $(eval $(call gb_Executable_use_libraries,unoidl-read, \ +# unoidl \ +#- $(if $(filter TRUE,$(DISABLE_DYNLOADING)),reg) \ +#- $(if $(filter TRUE,$(DISABLE_DYNLOADING)),store) \ +#- salhelper \ +#- sal \ +#+)) +#+ +#+$(eval $(call gb_Executable_add_ldflags,unoidl-read, \ +#+ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L/usr/lib/libreoffice/program/ -lreglo) \ +#+ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L/usr/lib/libreoffice/program/ -lstorelo) \ +#+ -L/usr/lib/libreoffice/sdk/lib/ -luno_sal \ +#+ -L/usr/lib/libreoffice/sdk/lib/ -luno_salhelpergcc3 \ +# )) +# +# # vim: set noet sw=4 ts=4: +#diff --git a/unoidl/Executable_unoidl-write.mk b/unoidl/Executable_unoidl-write.mk +#index 9accb31ac14d..f69d78a09c32 100644 +#--- a/unoidl/Executable_unoidl-write.mk +#+++ b/unoidl/Executable_unoidl-write.mk +#@@ -15,10 +15,15 @@ $(eval $(call gb_Executable_add_exception_objects,unoidl-write, \ +# +# $(eval $(call gb_Executable_use_libraries,unoidl-write, \ +# unoidl \ +#- $(if $(filter TRUE,$(DISABLE_DYNLOADING)),reg) \ +#- $(if $(filter TRUE,$(DISABLE_DYNLOADING)),store) \ +#- salhelper \ +#- sal \ +# )) +# +#+$(eval $(call gb_Executable_add_ldflags,unoidl-write, \ +#+ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L/usr/lib/libreoffice/program/ -lreglo) \ +#+ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L/usr/lib/libreoffice/program/ -lstorelo) \ +#+ -L/usr/lib/libreoffice/sdk/lib/ -luno_sal \ +#+ -L/usr/lib/libreoffice/sdk/lib/ -luno_salhelpergcc3 \ +#+)) +#+ +#+ +#+ +# # vim: set noet sw=4 ts=4: +#diff --git a/unoidl/Library_unoidl.mk b/unoidl/Library_unoidl.mk +#index c98fc69f4945..bdc8285fe234 100644 +#--- a/unoidl/Library_unoidl.mk +#+++ b/unoidl/Library_unoidl.mk +#@@ -32,10 +32,10 @@ $(eval $(call gb_Library_set_include,unoidl, \ +# -I$(SRCDIR)/unoidl/source \ +# )) +# +#-$(eval $(call gb_Library_use_libraries,unoidl, \ +#- reg \ +#- sal \ +#- salhelper \ +#+$(eval $(call gb_Library_add_libs,unoidl, \ +#+ -L/usr/lib/libreoffice/program/ -lreglo \ +#+ -L/usr/lib/libreoffice/sdk/lib/ -luno_sal \ +#+ -L/usr/lib/libreoffice/sdk/lib/ -luno_salhelpergcc3 \ +# )) +# +# # vim: set noet sw=4 ts=4: diff --git a/debian/tests/patches/uicheck-standalone.diff b/debian/tests/patches/uicheck-standalone.diff new file mode 100644 index 00000000000..9c04f57408b --- /dev/null +++ b/debian/tests/patches/uicheck-standalone.diff @@ -0,0 +1,70 @@ +diff --git a/solenv/gbuild/UITest.mk b/solenv/gbuild/UITest.mk +index cebb030a12cd..88ec5499dcbd 100644 +--- a/solenv/gbuild/UITest.mk ++++ b/solenv/gbuild/UITest.mk +@@ -34,7 +34,7 @@ ifneq ($(gb_UITest_DEBUGRUN),) + gb_UITest_SOFFICEARG:=connect:pipe,name=$(USER) + gb_UITest__interactive := $(true) + else +-gb_UITest_SOFFICEARG:=path:$(INSTROOT)/$(LIBO_BIN_FOLDER)/soffice ++gb_UITest_SOFFICEARG:=$(OOO_TEST_SOFFICE) + endif + + gb_UITest_COMMAND := LIBO_LANG=en_US.UTF-8 $(gb_UITest_EXECUTABLE) $(SRCDIR)/uitest/test_main.py +@@ -65,8 +65,8 @@ else + $(DEFS) \ + SAL_LOG_FILE="$(dir $(call gb_UITest_get_target,$*))/soffice.out.log" \ + TEST_LIB=$(call gb_Library_get_target,test) \ +- URE_BOOTSTRAP=vnd.sun.star.pathname:$(call gb_Helper_get_rcfile,$(INSTROOT)/$(LIBO_ETC_FOLDER)/fundamental) \ +- PYTHONPATH="$(PYPATH)" \ ++ URE_BOOTSTRAP=vnd.sun.star.pathname:/usr/lib/libreoffice/program/fundamentalrc \ ++ PYTHONPATH="$(filter-out $I/program,$(PYPATH):/usr/lib/libreoffice/program)" \ + TestUserDir="$(call gb_Helper_make_url,$(dir $(call gb_UITest_get_target,$*)))" \ + PYTHONDONTWRITEBYTECODE=0 \ + $(if $(filter-out MACOSX WNT,$(OS_FOR_BUILD)),$(if $(ENABLE_HEADLESS),, \ +diff --git a/Makefile.in b/Makefile.in +index 037cb5dce95b..f1b7c28e3c59 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -13,7 +13,6 @@ gb_Top_MODULE_CHECK_TARGETS := slowcheck unitcheck subsequentcheck perfcheck uic + + MAKECMDGOALS?=all + build_goal:=$(if $(filter build check,$(MAKECMDGOALS)),all)\ +- $(if $(filter build-nocheck uicheck,$(MAKECMDGOALS)),build)\ + $(if $(filter check,$(MAKECMDGOALS)),subsequentcheck $(if $(filter Linux, $(shell uname)), uicheck))\ + $(filter all build-l10n-only build-non-l10n-only debugrun help showmodules translations $(gb_Top_MODULE_CHECK_TARGETS) check packageinfo gbuildtojson,$(MAKECMDGOALS)) + +diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk +index 4073dcfd9bf5..856f5efee988 100644 +--- a/solenv/gbuild/Module.mk ++++ b/solenv/gbuild/Module.mk +@@ -201,7 +201,7 @@ perfcheck : + $(call gb_Output_announce_title,all perftests checked.) + $(call gb_Output_announce_bell) + +-uicheck : build ++uicheck : + $(if $(gb_VERBOSE),$(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),UIT,6)) + $(call gb_Output_announce_title,all uicheck checked.) + $(call gb_Output_announce_bell) +@@ -372,11 +372,6 @@ define gb_Module_add_uicheck_target + $(call gb_Module__read_targetfile,$(1),$(2),uicheck target) + + $(call gb_Module_get_uicheck_target,$(1)) : $$(gb_Module_CURRENTTARGET) +-$$(gb_Module_CURRENTTARGET) :| \ +- $(call gb_Postprocess_get_target,AllModulesButInstsetNative) \ +- $(call gb_Package_get_target,instsetoo_native_setup) \ +- $(call gb_Package_get_target,instsetoo_native_setup_ure) +-$(call gb_Module_get_uicheck_target,$(1)) : $$(gb_Module_CURRENTTARGET) + $(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET) + + endef +@@ -479,7 +474,7 @@ endif + subsequentcheck : $$(firstword $$(gb_Module_SUBSEQUENTCHECKTARGETSTACK)) + stagingcheck : $$(firstword $$(gb_Module_STAGINGCHECKTARGETSTACK)) + perfcheck : $$(firstword $$(gb_Module_PERFCHECKTARGETSTACK)) +-uicheck : build $$(firstword $$(gb_Module_UICHECKTARGETSTACK)) ++uicheck : $$(firstword $$(gb_Module_UICHECKTARGETSTACK)) + clean : $$(firstword $$(gb_Module_CLEANTARGETSTACK)) + + ifneq ($$(words $$(gb_Module_TARGETSTACK)),1) diff --git a/debian/tests/pyuno-import b/debian/tests/pyuno-import new file mode 100755 index 00000000000..9820a90e62e --- /dev/null +++ b/debian/tests/pyuno-import @@ -0,0 +1,8 @@ +#!/usr/bin/python3 + +import sys, os +sys.path.append('/usr/lib/libreoffice/program') +os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:/usr/lib/libreoffice/program/fundamentalrc') + +import pyuno +print(pyuno) diff --git a/debian/tests/smoketest b/debian/tests/smoketest new file mode 100755 index 00000000000..4f74416fd6d --- /dev/null +++ b/debian/tests/smoketest @@ -0,0 +1,92 @@ +#!/bin/bash +# autopkgtest check: Run smoketest against an installed version of LibreOffice +# (c) 2018 Software in the Public Interest, Inc. +# Authors: Rene Engelhard + +set -e +set -E + +if [ "`dpkg-architecture -qDEB_HOST_ARCH_ENDIAN`" = "big" ]; then + echo "Tests are not built on big endian architectures - skipping." + exit 77 +fi + +SRCDIR=`pwd` +CHECK_PARALLELISM=1 +if [ -n "$AUTOPKGTEST_TMP" ]; then + TMP=`mktemp -q -p $AUTOPKGTEST_TMP` + WORKDIR=`mktemp -q -d -p $AUTOPKGTEST_TMP` +else + TMP=`mktemp -q` + WORKDIR=`mktemp -q -d` +fi + +function unapply() { + cd $SRCDIR + echo + echo "====== Unapplying the patches ======" + patch -p1 -R < ./debian/tests/patches/smoketest-standalone.diff + patch -p0 -R < ./debian/tests/patches/smoketest-disable-extension-tests.diff +} + +trap "unapply" ERR + +echo +echo "====== Patching the tree to only build the smoketest unittest against an existing installation ======" +patch -p1 < ./debian/tests/patches/smoketest-standalone.diff +patch -p0 < ./debian/tests/patches/smoketest-disable-extension-tests.diff + +echo +echo "====== Enabling core dumps ======" +# yes, we want core dumps and stack traces +ulimit -c unlimited + +# FIXME: GROSS HACK. +echo +echo "====== Building needed parts of LibreOffice ======" +./debian/rules config_host.mk ENABLE_PDFIUM=n ENABLE_MERGELIBS=n BUILD_GTK=n BUILD_GTK3=n BUILD_KDE=n +cat << EOF >> $TMP +export gb_SUPPRESS_TESTS=true +make test.all verbose=t +make bridges.all verbose=t +make javaunohelper.all verbose=t +make unoil.all verbose=t +make unotest.all verbose=t +make ure.all verbose=t +make i18npool.all verbose=t +EOF +chmod 755 $TMP +#TIMEOUT OPTIONS +# --timeout-which=seconds +# Use a different timeout for operations on or with the testbed. +# There are five timeouts affected by five values of which: short: +# supposedly short operations like setting up the testbed's apt +# and checking the state (default: 100s); install: installation of +# packages including dependencies (default: 3,000s); test: test +# runs (default: 10,000s); copy: copy files/directories between +# host and testbed (default: 300s); and build: builds (default: +# 100,000s). The value must be specified as an integer number of +# seconds. +# 10000s = 160 min. so we have enough time to actually run the test :) +timeout 150m $TMP || \ + if test "$?" = "124"; then rm -f $TMP; exit 77; \ + else exit $?; fi + +rm -f $TMP + +OOO_TEST_SOFFICE="${1:-path:/usr/lib/libreoffice/program/soffice}" + +echo +echo "====== Starting smoketest with ${CHECK_PARALLELISM} job against ${OOO_TEST_SOFFICE} ======" + +export PARALLELISM=$CHECK_PARALLELISM + +export LD_LIBRARY_PATH=/usr/lib/libreoffice/program:$LD_LIBRARY_PATH +cd smoketest && make -rk \ + OOO_TEST_SOFFICE=${OOO_TEST_SOFFICE} \ + CppunitTest_smoketest INSTDIR=/usr/lib/libreoffice verbose=t + +cd $SRCDIR + +unapply + diff --git a/debian/tests/test-extension b/debian/tests/test-extension new file mode 100755 index 00000000000..1654262fe59 --- /dev/null +++ b/debian/tests/test-extension @@ -0,0 +1,33 @@ +#!/bin/bash +# autopkgtest check: Install a test extension (as smoketest would do) +# (c) 2017 Software in the Public Interest, Inc. +# Authors: Rene Engelhard + +set -e +set -E + +if [ -n "$AUTOPKGTEST_TMP" ]; then + TMP=`mktemp -q -p $AUTOPKGTEST_TMP` +else + TMP=`mktemp -q` +fi + +echo +echo "====== Add the extension ======" +# does it install fine? +unopkg add -v /usr/share/libreoffice/TestExtension.oxt + +echo +echo "====== Show extension status ======" +# does it list? For whatever reason unopkg leaves a stale .lock behind when +# doing this grep directly on the output so do it on a tmpfile +unopkg list | tee $TMP +grep -q org.libreoffice.smoketest.TestExtension $TMP || exit 1 +rm $TMP + +echo +echo "====== Remove the extension ======" +# does it remove? +unopkg remove -v org.libreoffice.smoketest.TestExtension + + diff --git a/debian/tests/test-extension-shared b/debian/tests/test-extension-shared new file mode 100755 index 00000000000..f9d79416329 --- /dev/null +++ b/debian/tests/test-extension-shared @@ -0,0 +1,34 @@ +#!/bin/bash +# autopkgtest check: Install a test extension shared +# (c) 2017 Software in the Public Interest, Inc. +# Authors: Rene Engelhard + +set -e +set -E + +if [ -n "$AUTOPKGTEST_TMP" ]; then + TMP=`mktemp -q -p $AUTOPKGTEST_TMP` +else + TMP=`mktemp -q` +fi + + +echo +echo "====== Add the extension ======" +# does it install fine? +unopkg add --shared -v /usr/share/libreoffice/TestExtension.oxt + +echo +echo "====== Show extension status ======" +# does it list? For whatever reason unopkg leaves a stale .lock behind when +# doing this grep directly on the output so do it on a tmpfile +unopkg list --shared | tee $TMP +grep -q org.libreoffice.smoketest.TestExtension $TMP || exit 1 +rm $TMP + +echo +echo "====== Remove the extension ======" +# does it remove? +unopkg remove --shared -v org.libreoffice.smoketest.TestExtension + + diff --git a/debian/tests/uicheck b/debian/tests/uicheck new file mode 100755 index 00000000000..65ed52588e2 --- /dev/null +++ b/debian/tests/uicheck @@ -0,0 +1,61 @@ +#!/bin/bash +# autopkgtest check: Run uicheck against an installed version of LibreOffice +# (c) 2017 Software in the Public Interest, Inc. +# Authors: Rene Engelhard + +set -e +set -E + +SRCDIR=`pwd` +CHECK_PARALLELISM=1 +if [ -n "$AUTOPKGTEST_TMP" ]; then + WORKDIR=`mktemp -q -d -p $AUTOPKGTEST_TMP` +else + WORKDIR=`mktemp -q -d` +fi + +function unapply() { + echo + echo "====== Unapplying the patch ======" + patch -p1 -R < ./debian/tests/patches/uicheck-standalone.diff +} + +trap "unapply" ERR + +echo +echo "====== Patching the tree to build uicheck against an existing installation ======" +patch -p1 < ./debian/tests/patches/uicheck-standalone.diff + +# this normally shouldn't be needed but otherwise it wants a automatic +# re-autogen. +echo +echo "====== Generating configuration =======" +rm -f config_host.mk +./debian/rules config_host.mk + +echo +echo "====== Enabling core dumps ======" +# yes, we want core dumps and stack traces +ulimit -c unlimited + +echo +echo "====== Generating en_US.UTF-8 locale ======" +cd $WORKDIR +$SRCDIR/debian/scripts/locale-gen + +OOO_TEST_SOFFICE="${1:-path:/usr/lib/libreoffice/program/soffice}" + +echo +echo "====== Starting uicheck with ${CHECK_PARALLELISM} job against ${OOO_TEST_SOFFICE} ======" + +cd $SRCDIR +export PARALLELISM=$CHECK_PARALLELISM +export LOCPATH=$WORKDIR/debian/locales +export LANG=en_US.UTF-8 +export LC_ALL=en_US.UTF-8 +make -rk \ + OOO_TEST_SOFFICE=${OOO_TEST_SOFFICE} \ + uicheck verbose=t + +unapply + diff --git a/debian/tests/uno b/debian/tests/uno new file mode 100755 index 00000000000..5f097b83a79 --- /dev/null +++ b/debian/tests/uno @@ -0,0 +1,55 @@ +#!/bin/bash +# autopkgtest check: Run UNO tests against an installed version of the URE +# (c) 2018 Software in the Public Interest, Inc. +# Authors: Rene Engelhard + +set -e +set -E + +SRCDIR=`pwd` +CHECK_PARALLELISM=1 +if [ -n "$AUTOPKGTEST_TMP" ]; then + TMP=`mktemp -q -p $AUTOPKGTEST_TMP` + WORKDIR=`mktemp -q -d -p $AUTOPKGTEST_TMP` +else + TMP=`mktemp -q` + WORKDIR=`mktemp -q -d` +fi + +function unapply() { + cd $SRCDIR + echo + echo "====== Unapplying the patches ======" + patch -p1 -R < ./debian/tests/patches/testtools-standalone.diff +} + +trap "unapply" ERR + +echo +echo "====== Patching the tree to only build the testtools unittest against an existing installation ======" +patch -p1 < ./debian/tests/patches/testtools-standalone.diff + +echo +echo "====== Enabling core dumps ======" +# yes, we want core dumps and stack traces +ulimit -c unlimited + +# this normally shouldn't be needed but otherwise it wants a automatic +# re-autogen. +echo +echo "====== Generating configuration =======" +rm -f config_host.mk +./debian/rules config_host.mk ENABLE_PDFIUM=n ENABLE_MERGELIBS=n BUILD_GTK=n BUILD_GTK3=n BUILD_KDE=n + +echo +echo "====== Starting uno test with ${CHECK_PARALLELISM} job against /usr/lib/libreoffice/program/uno ======" + +export PARALLELISM=$CHECK_PARALLELISM + +export LD_LIBRARY_PATH=/usr/lib/libreoffice/program:$LD_LIBRARY_PATH +make testtools.all verbose=t + +cd $SRCDIR + +unapply + diff --git a/debian/tests/uno-import b/debian/tests/uno-import new file mode 100755 index 00000000000..e36ab16f99c --- /dev/null +++ b/debian/tests/uno-import @@ -0,0 +1,4 @@ +#!/usr/bin/python3 + +import uno +print(uno) diff --git a/debian/uno-libs3.lintian-overrides b/debian/uno-libs3.lintian-overrides new file mode 100644 index 00000000000..821c281831a --- /dev/null +++ b/debian/uno-libs3.lintian-overrides @@ -0,0 +1,2 @@ +uno-libs3: shlibs-declares-dependency-on-other-package uno-libs3 (*), ure +uno-libs3: symbols-declares-dependency-on-other-package ure diff --git a/debian/uno-libs3.symbols b/debian/uno-libs3.symbols new file mode 100644 index 00000000000..43c2110550b --- /dev/null +++ b/debian/uno-libs3.symbols @@ -0,0 +1,57 @@ +libuno_cppu.so.3 uno-libs3 #MINVER#, ure + (symver)UDK_3_0_0 1.4.0 + (symver)UDK_3.1 1.4.0 + (symver)UDK_3.2 1.4.0 + (symver)UDK_3.3 1.4.0 + (symver)LIBO_UDK_4.4 4.4.0~alpha +libuno_cppuhelpergcc3.so.3 uno-libs3 #MINVER#, ure + (symver)UDK_3_0_0 1.4.0 + (symver)UDK_3.1 1.4.0 + (symver)UDK_3.2 1.4.0 + (symver)UDK_3.3 1.4.0 + (symver)UDK_3.4 1.4.0 + (symver)UDK_3.5 1.4.0 + (symver)UDK_3.6 1.7.0 + (symver)UDK_3.7 3.4.0 + (symver)UDK_3.8 3.5.0~beta + (symver)LIBO_UDK_3.9 4.0.0~alpha + (symver)LIBO_UDK_5.3 5.3.0~alpha +libuno_sal.so.3 uno-libs3 #MINVER#, ure + (symver)UDK_3_0_0 1.4.0 + (symver)UDK_3.1 1.4.0 + (symver)UDK_3.2 1.4.0 + (symver)UDK_3.3 1.4.0 + (symver)UDK_3.4 1.4.0 + (symver)UDK_3.5 1.4.0 + (symver)UDK_3.6 1.4.0 + (symver)UDK_3.7 1.4.0 + (symver)UDK_3.8 1.4.0 + (symver)UDK_3.9 1.5.0 + (symver)UDK_3.10 1.6.0 + UDK_3.11@UDK_3.11 1.7.0+LibO3.3.0~beta3 + osl_clearEnvironment@UDK_3.11 1.7.0+LibO3.3.0~beta3 + osl_setEnvironment@UDK_3.11 1.7.0+LibO3.3.0~beta3 + (symver)UDK_3.11 1.8.0 + (symver)PRIVATE_1.0 3.3.0~ + (symver)PRIVATE_1.1 3.3.0~ + (symver)LIBO_UDK_3.5 3.5.0~beta + (symver)PRIVATE_1.2 3.5.0~beta + (symver)PRIVATE_textenc.1 3.6.0~beta + (symver)LIBO_UDK_3.6 4.0.0~alpha + (symver)LIBO_UDK_4.0 4.0.0~beta + (symver)LIBO_UDK_4.1 4.1.0~alpha + (symver)LIBO_UDK_4.2 4.2.0~rc1 + (symver)LIBO_UDK_4.3 4.3.0~alpha + (symver)LIBO_UDK_5.0 5.0.0~alpha + (symver)LIBO_UDK_5.1 5.1.0~alpha + (symver)LIBO_UDK_5.2 5.2.0~alpha + (symver)LIBO_UDK_5.3 5.3.0~alpha + (symver)PRIVATE_1.3 5.4.0~alpha + (symver)PRIVATE_1.4 6.0.0~alpha + (symver)PRIVATE_1.5 6.1.0~alpha +libuno_salhelpergcc3.so.3 uno-libs3 #MINVER#, ure + (symver)UDK_3_0_0 1.4.0 + (symver)UDK_3.1 1.4.0 + (symver)LIBO_UDK_3.6 3.6.0~beta +libuno_purpenvhelpergcc3.so.3 uno-libs3 #MINVER#, ure + (symver)UDK_3_0_0 1.4.0 diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc new file mode 100644 index 00000000000..e9169c3b6dd --- /dev/null +++ b/debian/upstream/signing-key.asc @@ -0,0 +1,66 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +mQINBEyzEr0BEADT441wUITsTwDA2nM3kmUhGrzTdxZB5xv/E1ZJCw63qWdmdTdW +NZDfNDuLs4r2VjlEoA3xGK6jgnQvyAoNj0yiEbW/JedHHgOiVdXDlkgkY58myafT +FXqDLzTXVrsNnay0GS8XrNjptZJPhEPBvNUdkqpA9B7RTkfaXj779Pf/AeFMZVLl +UAci5RA0NNF910GHwoXT6SEv2PGoawsphnfmMVdKh9wz7asbtKXEmotCwX3k045x +LsIVK5ANOi+BI9C3LkrrFJWw2XHqDW2ulwCJ0L5QNSjOuY/v8REODwIXamvvdZOz +XBKSIzDOalJqFCHls3YlGyFw1knr6BAOmVOm32YtNTCLbVA/iK55fZWnUCjD3a4G +xz4qpQYWfpxhOmlHpk5JkraSNHzCc7SB43DwcHF5ecXHttMhO8MoN/bAZBgCuLGF +EwNvwFbDwIWo07mlv7wD8i1rtUCvLywJc5YL2PbjCLfB1Q4YzDX1EWnjKdnAsxxK +ftrx1DFlxzUF+TaHbLTPttUcsWQaL8wITznoWIwdIWlo2woPgWIpUXMOYwYV31Oo +fgmroHa3V4NOvkke09uhaZawg5yZCoRFohhfKPqT1ZrJ9SnRbW/WR3VTVY76ht5k +RuV3eb2VWBmPU9zn56Tbe6dvFkBuzHH1JdECAqy1BzFcmQQFBebFzf1XAQARAQAB +tEhMaWJyZU9mZmljZSBCdWlsZCBUZWFtIChDT0RFIFNJR05JTkcgS0VZKSA8YnVp +bGRAZG9jdW1lbnRmb3VuZGF0aW9uLm9yZz6IRgQQEQIABgUCTUFIwgAKCRCL2C5v +MLlLXHQPAJ9Ssl2o0KRKBZ0JdO3vTyDjWgawogCeOE2WUF7Iu6fdSGWNmJSM/do/ +eu6IRgQQEQIABgUCUMOrVAAKCRB7zW0CA5FQlhpDAJ9sqx4+NcrdGbeBTT1UvAb+ +11qqZgCfetdJ0jqSS2yNSNUDy5ZjItVSv/KIRgQQEQoABgUCTLMWIgAKCRD3Yrgl +77aU6iOrAJ9qpSADLFuQXVf8hNJTB6QDTVux0gCdEhZq2X77lPA//M80glRMXeiU +hg+IRgQSEQIABgUCTLMdZwAKCRDRq2cH1AjaHztJAJwO1YQx8Rn4WABrG1UaLmsd +ggsRbQCgz6AhXw/V+BbmgkwoqpbaBKjA8BqIRgQTEQIABgUCTL7JDQAKCRDZI2G9 +jJphVXoIAJ4urW1aBH7aALefUCM4Kpur+OFdpwCfSMFBph6oo2C+tapy7u3Bdh6u +mU+JARwEEAECAAYFAlI7JikACgkQWqSgLjzaew6Z8ggAx4pZJf5Rjn/OSHp5JRnz +TuVAKxCBVdKZzxJ3+dq2I4kcZnxBq/fazO1n4kY4dDIAN0eaDw3c1T8eAzM9ZvHK +jARwWFM3ges2wRWTFJCSN7kK1w0dNfOUbXamQshwRdip2ESmjHrzY3S0Ipo9ZPRn +qL678aQzxtghI/xow2vzeDcxBPJyggqE46f/5mDsWEwjpS9Cl8YI6k7YQXwlGfRF +ohJfvEsegol/eITKUVmTcOOsqEnM6S66eWFVN/Z/s+nWqmkxsWOZGADcocGR4uEK +uX6mdsX4pdX9nCs58/CqdOtfEssmbwfCSqF6D4ip/TxJMHV6msbO/XtzvKxussw7 +2okCNwQTAQoAIQUCTLMSvQIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRD0 +NKHvr+6uo5zjD/9f7vhCXJFqVy4s3DegkoHX7XPrHGGGnCDWTDlwwysa7TDRig+8 +sMpqJLTYN2QhpcMQJxBM6gSHv9thtmro60TVbLGodhg48rnK6XkVHBnmTkdnukMV +woJDvZSBaHP5DOdGGBnSPARaXkufevAmlLKci9NceZCiAh3TGZys1A/JyTPO6AbH +ipkWKdI6YMbBOAbXg1Te9q3aJ6Tfs+EEuHlXyiGUShxzDA96O0oRZC52DRDwru4G +6otSGcmhmh0TK2qk6+3Ky4+0bEZeeYPuhe0FUQXdfp4VFcMinzVzHaKwcrgqt/jP +hP0pSKY0seNZFr5lC2nalksdCVuV+ycJR/pNhnRiL3T0SFwz+HECAFld6WU4JD/x +TZwmxNTI3kOnXBt/pfS4ri5p53X/TfsQYsA7o8/pZDPqNZ3X+GGxDmgCZ2OTOUwU +R8o14ggO4ow6NdxO8zz8pFeG5/AgK9IUGVIi94d8MVYK85WCrRWMBjs0UwUpFSdE +cHnyoFqa3KE7KxxEi9PlAfwdh9QD9g2X0WC5zNhQhCLe34fWGgcjLB22ZG6FjHla +UhR7wU71APlEw9sGNVuQJiB0d3GCckMoKhEaygqUsHtRlzgCT2PqmVlti0VGiebY +yNTjPFuUIU24SpVDRX/Lr84gakFgX1hoQC1OAQl306aYMIzd3w7TNkdiZrkCDQRM +sxK9ARAAwOnQfFINZ37Y539om60IwV7y1/Dv6c/2B8c4JSp6xvzxC9EwmBVjrPVo +10yWXFMqWzFSK4Dq41ytQCTMOn+pFZHnytYg7rjY8uJ+eDe6snVwNtIoL4rhEelA +L6FeWUwouqrx3A3LUs7h8+j1J21QXgF6/p6cqajjIKI4a/a2/O0+H2AwZigOdxo6 +xLS3ZQ+vYwxAhVSaYjN8kGR07FtmJY52h41taxgkdBo74CFqXpKM8crOF2N5eFnM +eXW+p4ORXgxcemus7Bc1fA+ISmRl7Y51zvJoyRBzSTxZGt8ocClufAPHoyLwdhp/ +4u9Grs/R4w72iwPWrjjBBC9XOTX33OkwwdLn+QC/tEE2YM5IlAhnjNPiXNEM4OMx +/TUuOfTbOifXYZ8mjRZtumYu6W1ru6MeAytRTnhvLxY8UZbR+WNeINfQSmQeHFSx +Sx9o18GwWcT6xHFCM0X+WO+h+TICkjbU6O0Rr2SvC+AOppewv5rbTvo6ygWk5GVN +nfRERvR5FLqsS3wz7uzjFNoDsYXGVj835udozyb4i3KB8UcdbgfTAttuBqMN6ihJ +OBqF5U0XlX0dLQSQ3gw1W+0kfsnp2t2JHVBWFfzufv4m1DNO0I7J94qNoH6RxsCb +/ZU4U54d2KDn4HKCle3ciLFWrvbGYbOHSOFjnrkyNeuqDk7em8sAEQEAAYkCHwQY +AQoACQUCTLMSvQIbDAAKCRD0NKHvr+6uo9p6D/9q8jb9r3heVJi1JlvaFV1bepr0 +ATKlC6uq1Wsol8QoVX5lAE9ds9HLwzPkswQfWx8PoHhJUYgYnyilLKJ4mRwoiR74 +Yx6RNa9KoOkU6BjavDt4c2f/fdkmzc7NA7JbPyyYT8Agz/mXKJUa5KVTtGNidx/V +X1sgFz3Wr0R2qTghhSj/tb7Jp8LRVb/ygdQViMc1q6OI6wSguJeyH1jRH/onGzp+ +8ThdsIA1X95w3lRf70EGs1k03/0Zs2voJgZnnszZ/U+DLDL9e86cQ+cnxpZdTIYu +qrfgq8w8U9I54CYVuQUSwHiZ0MwVoPCvPOKJkT/NLz+cqIfhfYmCYuAWxp0SKF19 +jF4NwZuFEQr+oDV/dsaevWPTlXTvKSjYUVl2I6vg6CJPnKaDBVRdDYCLP4n8LxRG +N+lw/F62a4NBP0Bh+CYwo81Vc8Va41B3M3kZlsj4TX9xvn64s2Se+OeDDYbg9H/i +48dfUcJJ+2U1rAGpbPK6fWT4Hv+7c54V5tZdx2pKZm4tDuXQ+S7P82Wnozpwqlx4 +v73MKBqJHn6/2H3hW+1cp3+bD1ksAJxVw4A2LAK2wk/eW3uNFIe2S5R7q9Sbm0tL +nzZF9fGgjUGU+M20b3EBDckoEchdtqVPXykAU7e3vhzGDeHSIjUbnUXegvQPAgs/ +YwEGZqt1USnkIycH8w== +=CCIg +-----END PGP PUBLIC KEY BLOCK----- diff --git a/debian/ure.bug-script.in b/debian/ure.bug-script.in new file mode 100644 index 00000000000..7b62e1a210d --- /dev/null +++ b/debian/ure.bug-script.in @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "" >&3 +echo "Java:" >&3 +/usr/lib/libreoffice/program/javaldx >&3 diff --git a/debian/ure.lintian-overrides b/debian/ure.lintian-overrides new file mode 100644 index 00000000000..d509918e1ee --- /dev/null +++ b/debian/ure.lintian-overrides @@ -0,0 +1,3 @@ +ure: classpath-contains-relative-path usr/share/java/jurt.jar: ridl.jar unoloader.jar ../../lib/ /usr/lib/ure/lib/ ../bin/ +ure: classpath-contains-relative-path usr/share/java/juh.jar: ridl.jar jurt.jar ../../lib/ ../bin/ +ure: classpath-contains-relative-path usr/share/java/java_uno.jar: jurt.jar ridl.jar ../../lib/ ../bin/ diff --git a/debian/ure.poms b/debian/ure.poms new file mode 100644 index 00000000000..af53d32e6a9 --- /dev/null +++ b/debian/ure.poms @@ -0,0 +1,31 @@ +# List of POM files for the package +# Format of this file is: +# [option]* +# where option can be: +# --ignore: ignore this POM and its artifact if any +# --ignore-pom: don't install the POM. To use on POM files that are created +# temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms] +# --no-parent: remove the tag from the POM +# --package=: an alternative package to use when installing this POM +# and its artifact +# --has-package-version: to indicate that the original version of the POM is the same as the upstream part +# of the version for the package. +# --keep-elements=: a list of XML elements to keep in the POM +# during a clean operation with mh_cleanpom or mh_installpom +# --artifact=: path to the build artifact associated with this POM, +# it will be installed when using the command mh_install. [mh_install] +# --java-lib: install the jar into /usr/share/java to comply with Debian +# packaging guidelines +# --usj-name=: name to use when installing the library in /usr/share/java +# --usj-version=: version to use when installing the library in /usr/share/java +# --no-usj-versionless: don't install the versionless link in /usr/share/java +# --dest-jar=: the destination for the real jar. +# It will be installed with mh_install. [mh_install] +# --classifier=: Optional, the classifier for the jar. Empty by default. +# --site-xml=: Optional, the location for site.xml if it needs to be installed. +# Empty by default. [mh_install] +# +debian/pom.juh.xml --no-parent --has-package-version +debian/pom.jurt.xml --no-parent --has-package-version +debian/pom.ridl.xml --no-parent --has-package-version +debian/pom.unoloader.xml --no-parent --has-package-version diff --git a/debian/vars.alpha b/debian/vars.alpha new file mode 100644 index 00000000000..610cd8176da --- /dev/null +++ b/debian/vars.alpha @@ -0,0 +1 @@ +PLATFORMID=linux_alpha diff --git a/debian/vars.amd64 b/debian/vars.amd64 new file mode 100644 index 00000000000..eca69cd17c2 --- /dev/null +++ b/debian/vars.amd64 @@ -0,0 +1 @@ +PLATFORMID=linux_x86_64 diff --git a/debian/vars.arm b/debian/vars.arm new file mode 100644 index 00000000000..ad87d022a31 --- /dev/null +++ b/debian/vars.arm @@ -0,0 +1 @@ +PLATFORMID=linux_arm_oabi diff --git a/debian/vars.arm64 b/debian/vars.arm64 new file mode 100644 index 00000000000..a97a775f035 --- /dev/null +++ b/debian/vars.arm64 @@ -0,0 +1 @@ +PLATFORMID=linux_aarch64 diff --git a/debian/vars.armel b/debian/vars.armel new file mode 100644 index 00000000000..9d54104c0d4 --- /dev/null +++ b/debian/vars.armel @@ -0,0 +1 @@ +PLATFORMID=linux_arm_eabi diff --git a/debian/vars.armhf b/debian/vars.armhf new file mode 100644 index 00000000000..9d54104c0d4 --- /dev/null +++ b/debian/vars.armhf @@ -0,0 +1 @@ +PLATFORMID=linux_arm_eabi diff --git a/debian/vars.hppa b/debian/vars.hppa new file mode 100644 index 00000000000..2efe6944998 --- /dev/null +++ b/debian/vars.hppa @@ -0,0 +1 @@ +PLATFORMID=linux_hppa diff --git a/debian/vars.i386 b/debian/vars.i386 new file mode 100644 index 00000000000..5462661ebb2 --- /dev/null +++ b/debian/vars.i386 @@ -0,0 +1 @@ +PLATFORMID=linux_x86 diff --git a/debian/vars.ia64 b/debian/vars.ia64 new file mode 100644 index 00000000000..c6debb36040 --- /dev/null +++ b/debian/vars.ia64 @@ -0,0 +1 @@ +PLATFORMID=linux_ia64 diff --git a/debian/vars.kfreebsd-amd64 b/debian/vars.kfreebsd-amd64 new file mode 100644 index 00000000000..c13d6b56dde --- /dev/null +++ b/debian/vars.kfreebsd-amd64 @@ -0,0 +1 @@ +PLATFORMID=kfreebsd_x86_64 diff --git a/debian/vars.kfreebsd-i386 b/debian/vars.kfreebsd-i386 new file mode 100644 index 00000000000..f8c2bbb4328 --- /dev/null +++ b/debian/vars.kfreebsd-i386 @@ -0,0 +1 @@ +PLATFORMID=kfreebsd_x86 diff --git a/debian/vars.m68k b/debian/vars.m68k new file mode 100644 index 00000000000..a40c8a31eed --- /dev/null +++ b/debian/vars.m68k @@ -0,0 +1 @@ +PLATFORMID=linux_m68k diff --git a/debian/vars.mips b/debian/vars.mips new file mode 100644 index 00000000000..e484a85243b --- /dev/null +++ b/debian/vars.mips @@ -0,0 +1 @@ +PLATFORMID=linux_mips_eb diff --git a/debian/vars.mips64 b/debian/vars.mips64 new file mode 100644 index 00000000000..8c8859bb591 --- /dev/null +++ b/debian/vars.mips64 @@ -0,0 +1 @@ +PLATFORMID=linux_mips64_eb diff --git a/debian/vars.mips64el b/debian/vars.mips64el new file mode 100644 index 00000000000..e207db4a94f --- /dev/null +++ b/debian/vars.mips64el @@ -0,0 +1 @@ +PLATFORMID=linux_mips64_el diff --git a/debian/vars.mipsel b/debian/vars.mipsel new file mode 100644 index 00000000000..0f4f5a86eb3 --- /dev/null +++ b/debian/vars.mipsel @@ -0,0 +1 @@ +PLATFORMID=linux_mips_el diff --git a/debian/vars.powerpc b/debian/vars.powerpc new file mode 100644 index 00000000000..e43581b1721 --- /dev/null +++ b/debian/vars.powerpc @@ -0,0 +1 @@ +PLATFORMID=linux_powerpc diff --git a/debian/vars.powerpcspe b/debian/vars.powerpcspe new file mode 100644 index 00000000000..e43581b1721 --- /dev/null +++ b/debian/vars.powerpcspe @@ -0,0 +1 @@ +PLATFORMID=linux_powerpc diff --git a/debian/vars.ppc64 b/debian/vars.ppc64 new file mode 100644 index 00000000000..c647bc677fb --- /dev/null +++ b/debian/vars.ppc64 @@ -0,0 +1 @@ +PLATFORMID=linux_powerpc64 diff --git a/debian/vars.ppc64el b/debian/vars.ppc64el new file mode 100644 index 00000000000..561db34544c --- /dev/null +++ b/debian/vars.ppc64el @@ -0,0 +1 @@ +PLATFORMID=linux_powerpc64_le diff --git a/debian/vars.s390 b/debian/vars.s390 new file mode 100644 index 00000000000..7e52543f2e4 --- /dev/null +++ b/debian/vars.s390 @@ -0,0 +1 @@ +PLATFORMID=linux_s390 diff --git a/debian/vars.s390x b/debian/vars.s390x new file mode 100644 index 00000000000..7c0d549bc43 --- /dev/null +++ b/debian/vars.s390x @@ -0,0 +1 @@ +PLATFORMID=linux_s390x diff --git a/debian/vars.solaris-i386 b/debian/vars.solaris-i386 new file mode 100644 index 00000000000..de92b2ae3e4 --- /dev/null +++ b/debian/vars.solaris-i386 @@ -0,0 +1 @@ +PLATFORMID=solaris_x86 diff --git a/debian/vars.sparc b/debian/vars.sparc new file mode 100644 index 00000000000..a905e563685 --- /dev/null +++ b/debian/vars.sparc @@ -0,0 +1 @@ +PLATFORMID=linux_sparc diff --git a/debian/vars.sparc64 b/debian/vars.sparc64 new file mode 100644 index 00000000000..fa7c4ad62e0 --- /dev/null +++ b/debian/vars.sparc64 @@ -0,0 +1 @@ +PLATFORMID=linux_sparc64 diff --git a/debian/watch b/debian/watch new file mode 100644 index 00000000000..385753dccd0 --- /dev/null +++ b/debian/watch @@ -0,0 +1,12 @@ +version=4 + +opts="compression=xz,pgpsigurlmangle=s/$/.asc/," \ + http://download.documentfoundation.org/@PACKAGE@/src/(\d.\d.\d)/@PACKAGE@-(\d.\d.\d).\d.tar.xz debian + +opts="compression=xz,pgpsigurlmangle=s/$/.asc/,component=helpcontent2," \ + http://download.documentfoundation.org/@PACKAGE@/src/(\d.\d.\d)/@PACKAGE@-help-(\d.\d.\d).\d.tar.xz same + +opts="compression=xz,pgpsigurlmangle=s/$/.asc/,component=translations," \ + http://download.documentfoundation.org/@PACKAGE@/src/(\d.\d.\d)/@PACKAGE@-translations-(\d.\d.\d).\d.tar.xz same + + diff --git a/debian/xmerge-javadoc.in b/debian/xmerge-javadoc.in new file mode 100644 index 00000000000..50a29b8e060 --- /dev/null +++ b/debian/xmerge-javadoc.in @@ -0,0 +1,7 @@ +Document: xmerge-javadoc +Title: LibreOffice XMerge API Javadoc +Author: Oracle +Section: Apps/Programming + +Format: HTML +Index: /usr/share/doc/libreoffice-dev/docs/xmerge/index.html diff --git a/tarballs/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip b/tarballs/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip new file mode 100644 index 00000000000..270964418b1 Binary files /dev/null and b/tarballs/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip differ diff --git a/tarballs/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip b/tarballs/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip new file mode 100644 index 00000000000..f1fb1db0bd2 Binary files /dev/null and b/tarballs/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip differ diff --git a/tarballs/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip b/tarballs/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip new file mode 100644 index 00000000000..e622cf1b520 Binary files /dev/null and b/tarballs/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip differ diff --git a/tarballs/pdfium-3426.tar.bz2 b/tarballs/pdfium-3426.tar.bz2 new file mode 100644 index 00000000000..7d49661be53 Binary files /dev/null and b/tarballs/pdfium-3426.tar.bz2 differ