Import libreoffice_7.4.7-1+deb12u8.debian.tar.xz
authorRene Engelhard <rene@debian.org>
Tue, 18 Mar 2025 17:53:50 +0000 (18:53 +0100)
committerRene Engelhard <rene@debian.org>
Tue, 18 Mar 2025 17:53:50 +0000 (18:53 +0100)
[dgit import tarball libreoffice 4:7.4.7-1+deb12u8 libreoffice_7.4.7-1+deb12u8.debian.tar.xz]

481 files changed:
debian/README [new file with mode: 0644]
debian/README.Debian [new file with mode: 0644]
debian/README.Debian-source [new file with mode: 0644]
debian/README.qa [new file with mode: 0644]
debian/branding/progress.conf [new file with mode: 0644]
debian/bug-presubj [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/control.evolution.in [new file with mode: 0644]
debian/control.firebird.in [new file with mode: 0644]
debian/control.fonts.in [new file with mode: 0644]
debian/control.gtk3.in [new file with mode: 0644]
debian/control.gtk4.in [new file with mode: 0644]
debian/control.help.in [new file with mode: 0644]
debian/control.in [new file with mode: 0644]
debian/control.kf5.in [new file with mode: 0644]
debian/control.lang.in [new file with mode: 0644]
debian/control.librelogo.in [new file with mode: 0644]
debian/control.lokit.in [new file with mode: 0644]
debian/control.mediawiki.in [new file with mode: 0644]
debian/control.nlpsolver.in [new file with mode: 0644]
debian/control.plasma.in [new file with mode: 0644]
debian/control.postgresql.in [new file with mode: 0644]
debian/control.qt5.in [new file with mode: 0644]
debian/control.qt6.in [new file with mode: 0644]
debian/control.reportbuilder.in [new file with mode: 0644]
debian/control.sdk.in [new file with mode: 0644]
debian/control.test-packages.in [new file with mode: 0644]
debian/control.ure.in [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/gir1.2-lokdocview-0.1.maintscript [new file with mode: 0644]
debian/liblibreoffice-java.lintian-overrides [new file with mode: 0644]
debian/liblibreoffice-java.poms [new file with mode: 0644]
debian/liblibreofficekitgtk.links [new file with mode: 0644]
debian/liblibreofficekitgtk.maintscript [new file with mode: 0644]
debian/libofficebean-java.poms [new file with mode: 0644]
debian/libreoffice-avmedia-backend-gstreamer.maintscript [new file with mode: 0644]
debian/libreoffice-base-core.maintscript [new file with mode: 0644]
debian/libreoffice-base-drivers.NEWS [new file with mode: 0644]
debian/libreoffice-base-drivers.lintian-overrides [new file with mode: 0644]
debian/libreoffice-base-drivers.maintscript [new file with mode: 0644]
debian/libreoffice-base-nogui.bug-control [new file with mode: 0644]
debian/libreoffice-base-nogui.mime [new file with mode: 0644]
debian/libreoffice-base-nogui.ucf [new file with mode: 0644]
debian/libreoffice-base.NEWS [new file with mode: 0644]
debian/libreoffice-base.bug-control [new file with mode: 0644]
debian/libreoffice-base.lintian-overrides [new file with mode: 0644]
debian/libreoffice-base.maintscript [new file with mode: 0644]
debian/libreoffice-base.manpages [new file with mode: 0644]
debian/libreoffice-base.mime [new file with mode: 0644]
debian/libreoffice-base.preinst.in [new file with mode: 0644]
debian/libreoffice-base.ucf [new file with mode: 0644]
debian/libreoffice-calc-nogui.lintian-overrides [new file with mode: 0644]
debian/libreoffice-calc-nogui.mime [new file with mode: 0644]
debian/libreoffice-calc-nogui.ucf [new file with mode: 0644]
debian/libreoffice-calc.bug-control [new file with mode: 0644]
debian/libreoffice-calc.lintian-overrides [new file with mode: 0644]
debian/libreoffice-calc.maintscript [new file with mode: 0644]
debian/libreoffice-calc.manpages [new file with mode: 0644]
debian/libreoffice-calc.mime [new file with mode: 0644]
debian/libreoffice-calc.ucf [new file with mode: 0644]
debian/libreoffice-common.docs [new file with mode: 0644]
debian/libreoffice-common.links.in [new file with mode: 0644]
debian/libreoffice-common.lintian-overrides [new file with mode: 0644]
debian/libreoffice-common.maintscript [new file with mode: 0644]
debian/libreoffice-common.manpages [new file with mode: 0644]
debian/libreoffice-common.postinst.in [new file with mode: 0644]
debian/libreoffice-common.postrm.in [new file with mode: 0644]
debian/libreoffice-common.preinst.in [new file with mode: 0644]
debian/libreoffice-common.triggers.in [new file with mode: 0644]
debian/libreoffice-common.ucf [new file with mode: 0644]
debian/libreoffice-core-nogui.bug-control [new file with mode: 0644]
debian/libreoffice-core-nogui.bug-script.in [new file with mode: 0755]
debian/libreoffice-core.NEWS [new file with mode: 0644]
debian/libreoffice-core.bug-control [new file with mode: 0644]
debian/libreoffice-core.bug-script.in [new file with mode: 0755]
debian/libreoffice-core.maintscript [new file with mode: 0644]
debian/libreoffice-core.postrm.in [new file with mode: 0755]
debian/libreoffice-dev-common.maintscript [new file with mode: 0644]
debian/libreoffice-dev-doc.links [new file with mode: 0644]
debian/libreoffice-dev.maintscript [new file with mode: 0644]
debian/libreoffice-draw-nogui.bug-control [new file with mode: 0644]
debian/libreoffice-draw-nogui.mime [new file with mode: 0644]
debian/libreoffice-draw-nogui.ucf [new file with mode: 0644]
debian/libreoffice-draw.bug-control [new file with mode: 0644]
debian/libreoffice-draw.lintian-overrides [new file with mode: 0644]
debian/libreoffice-draw.maintscript [new file with mode: 0644]
debian/libreoffice-draw.manpages [new file with mode: 0644]
debian/libreoffice-draw.mime [new file with mode: 0644]
debian/libreoffice-draw.ucf [new file with mode: 0644]
debian/libreoffice-evolution.bug-control [new file with mode: 0644]
debian/libreoffice-evolution.maintscript [new file with mode: 0644]
debian/libreoffice-evolution.ucf [new file with mode: 0644]
debian/libreoffice-gnome.maintscript [new file with mode: 0644]
debian/libreoffice-gnome.ucf [new file with mode: 0644]
debian/libreoffice-gtk3.maintscript [new file with mode: 0644]
debian/libreoffice-help-ca-valencia.maintscript [new file with mode: 0644]
debian/libreoffice-help-ca.maintscript [new file with mode: 0644]
debian/libreoffice-help-common.links [new file with mode: 0644]
debian/libreoffice-help-common.maintscript [new file with mode: 0644]
debian/libreoffice-help-cs.maintscript [new file with mode: 0644]
debian/libreoffice-help-da.maintscript [new file with mode: 0644]
debian/libreoffice-help-de.maintscript [new file with mode: 0644]
debian/libreoffice-help-dz.maintscript [new file with mode: 0644]
debian/libreoffice-help-el.maintscript [new file with mode: 0644]
debian/libreoffice-help-en-gb.maintscript [new file with mode: 0644]
debian/libreoffice-help-en-us.maintscript [new file with mode: 0644]
debian/libreoffice-help-es.maintscript [new file with mode: 0644]
debian/libreoffice-help-et.maintscript [new file with mode: 0644]
debian/libreoffice-help-eu.maintscript [new file with mode: 0644]
debian/libreoffice-help-fi.maintscript [new file with mode: 0644]
debian/libreoffice-help-fr.maintscript [new file with mode: 0644]
debian/libreoffice-help-gl.maintscript [new file with mode: 0644]
debian/libreoffice-help-hi.maintscript [new file with mode: 0644]
debian/libreoffice-help-hu.maintscript [new file with mode: 0644]
debian/libreoffice-help-id.maintscript [new file with mode: 0644]
debian/libreoffice-help-it.maintscript [new file with mode: 0644]
debian/libreoffice-help-ja.maintscript [new file with mode: 0644]
debian/libreoffice-help-km.maintscript [new file with mode: 0644]
debian/libreoffice-help-ko.maintscript [new file with mode: 0644]
debian/libreoffice-help-nl.maintscript [new file with mode: 0644]
debian/libreoffice-help-om.maintscript [new file with mode: 0644]
debian/libreoffice-help-pl.maintscript [new file with mode: 0644]
debian/libreoffice-help-pt-br.maintscript [new file with mode: 0644]
debian/libreoffice-help-pt.maintscript [new file with mode: 0644]
debian/libreoffice-help-ru.maintscript [new file with mode: 0644]
debian/libreoffice-help-sk.maintscript [new file with mode: 0644]
debian/libreoffice-help-sl.maintscript [new file with mode: 0644]
debian/libreoffice-help-sv.maintscript [new file with mode: 0644]
debian/libreoffice-help-tr.maintscript [new file with mode: 0644]
debian/libreoffice-help-vi.maintscript [new file with mode: 0644]
debian/libreoffice-help-zh-cn.maintscript [new file with mode: 0644]
debian/libreoffice-help-zh-tw.maintscript [new file with mode: 0644]
debian/libreoffice-help.lintian-overrides.in [new file with mode: 0644]
debian/libreoffice-impress-nogui.bug-control [new file with mode: 0644]
debian/libreoffice-impress-nogui.mime [new file with mode: 0644]
debian/libreoffice-impress-nogui.ucf [new file with mode: 0644]
debian/libreoffice-impress.bug-control [new file with mode: 0644]
debian/libreoffice-impress.bug-script.in [new file with mode: 0644]
debian/libreoffice-impress.lintian-overrides [new file with mode: 0644]
debian/libreoffice-impress.maintscript [new file with mode: 0644]
debian/libreoffice-impress.manpages [new file with mode: 0644]
debian/libreoffice-impress.mime [new file with mode: 0644]
debian/libreoffice-impress.ucf [new file with mode: 0644]
debian/libreoffice-java-common.maintscript [new file with mode: 0644]
debian/libreoffice-kde5.maintscript [new file with mode: 0644]
debian/libreoffice-kf5.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-af.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-am.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ar.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-as.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ast.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-be.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-bg.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-bn.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-br.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-bs.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ca.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-cs.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-cy.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-da.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-de.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-dz.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-el.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-en-gb.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-en-us.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-en-za.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-eo.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-es.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-et.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-eu.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-fa.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-fi.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-fr.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ga.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-gd.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-gl.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-gu.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-gug.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-he.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-hi.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-hr.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-hu.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-id.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-in.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-is.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-it.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ja.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ka.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-kk.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-km.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-kmr.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-kn.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ko.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-lt.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-lv.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-mk.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ml.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-mn.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-mr.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-nb.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ne.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-nl.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-nn.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-nr.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-nso.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-oc.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-om.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-or.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-pa-in.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-pl.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-pt-br.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-pt.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ro.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ru.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-rw.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-si.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-sk.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-sl.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-sr.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ss.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-st.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-sv.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ta.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-te.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-tg.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-th.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-tn.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-tr.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ts.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ug.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-uk.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-uz.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-ve.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-vi.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-xh.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-za.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-zh-cn.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-zh-tw.maintscript [new file with mode: 0644]
debian/libreoffice-l10n-zu.maintscript [new file with mode: 0644]
debian/libreoffice-l10n.ucf.in [new file with mode: 0644]
debian/libreoffice-librelogo.ucf [new file with mode: 0644]
debian/libreoffice-math-nogui.bug-control [new file with mode: 0644]
debian/libreoffice-math-nogui.mime [new file with mode: 0644]
debian/libreoffice-math-nogui.ucf [new file with mode: 0644]
debian/libreoffice-math.bug-control [new file with mode: 0644]
debian/libreoffice-math.lintian-overrides [new file with mode: 0644]
debian/libreoffice-math.maintscript [new file with mode: 0644]
debian/libreoffice-math.manpages [new file with mode: 0644]
debian/libreoffice-math.mime [new file with mode: 0644]
debian/libreoffice-math.ucf [new file with mode: 0644]
debian/libreoffice-mysql-connector.maintscript [new file with mode: 0644]
debian/libreoffice-nlpsolver.bug-control [new file with mode: 0644]
debian/libreoffice-nlpsolver.bug-script.in [new file with mode: 0755]
debian/libreoffice-nlpsolver.lintian-overrides [new file with mode: 0644]
debian/libreoffice-officebean.maintscript [new file with mode: 0644]
debian/libreoffice-plasma.maintscript [new file with mode: 0644]
debian/libreoffice-qt5.maintscript [new file with mode: 0644]
debian/libreoffice-report-builder-bin.maintscript [new file with mode: 0644]
debian/libreoffice-report-builder.bug-control [new file with mode: 0644]
debian/libreoffice-report-builder.maintscript [new file with mode: 0644]
debian/libreoffice-report-builder.ucf [new file with mode: 0644]
debian/libreoffice-script-provider-bsh.maintscript [new file with mode: 0644]
debian/libreoffice-script-provider-js.maintscript [new file with mode: 0644]
debian/libreoffice-script-provider-python.bug-control [new file with mode: 0644]
debian/libreoffice-script-provider-python.maintscript [new file with mode: 0644]
debian/libreoffice-sdbc-firebird.NEWS [new file with mode: 0644]
debian/libreoffice-sdbc-firebird.lintian-overrides [new file with mode: 0644]
debian/libreoffice-sdbc-firebird.maintscript [new file with mode: 0644]
debian/libreoffice-sdbc-hsqldb.maintscript [new file with mode: 0644]
debian/libreoffice-sdbc-mysql.maintscript [new file with mode: 0644]
debian/libreoffice-sdbc-postgresql.maintscript [new file with mode: 0644]
debian/libreoffice-sdbc-postgresql.ucf [new file with mode: 0644]
debian/libreoffice-style-breeze.maintscript [new file with mode: 0644]
debian/libreoffice-style-colibre.maintscript [new file with mode: 0644]
debian/libreoffice-style-elementary.maintscript [new file with mode: 0644]
debian/libreoffice-style-karasa-jaga.maintscript [new file with mode: 0644]
debian/libreoffice-style-sifr.maintscript [new file with mode: 0644]
debian/libreoffice-style-tango.maintscript [new file with mode: 0644]
debian/libreoffice-subsequentcheckbase.maintscript [new file with mode: 0644]
debian/libreoffice-wiki-publisher.bug-control [new file with mode: 0644]
debian/libreoffice-wiki-publisher.bug-script.in [new file with mode: 0755]
debian/libreoffice-wiki-publisher.lintian-overrides [new file with mode: 0644]
debian/libreoffice-writer-nogui.bug-control [new file with mode: 0644]
debian/libreoffice-writer-nogui.mime [new file with mode: 0644]
debian/libreoffice-writer-nogui.ucf [new file with mode: 0644]
debian/libreoffice-writer.bug-control [new file with mode: 0644]
debian/libreoffice-writer.lintian-overrides [new file with mode: 0644]
debian/libreoffice-writer.maintscript [new file with mode: 0644]
debian/libreoffice-writer.manpages [new file with mode: 0644]
debian/libreoffice-writer.mime [new file with mode: 0644]
debian/libreoffice-writer.ucf [new file with mode: 0644]
debian/libreoffice.bug-control [new file with mode: 0644]
debian/libreofficekit-data.maintscript [new file with mode: 0644]
debian/libreofficekit-dev.docs [new file with mode: 0644]
debian/libuno-cppu3.lintian-overrides [new file with mode: 0644]
debian/libuno-cppu3.symbols [new file with mode: 0644]
debian/libuno-cppuhelpergcc3-3.lintian-overrides [new file with mode: 0644]
debian/libuno-cppuhelpergcc3-3.symbols [new file with mode: 0644]
debian/libuno-purpenvhelpergcc3-3.lintian-overrides [new file with mode: 0644]
debian/libuno-purpenvhelpergcc3-3.symbols [new file with mode: 0644]
debian/libuno-sal3.lintian-overrides [new file with mode: 0644]
debian/libuno-sal3.symbols [new file with mode: 0644]
debian/libuno-salhelpergcc3-3.lintian-overrides [new file with mode: 0644]
debian/libuno-salhelpergcc3-3.symbols [new file with mode: 0644]
debian/libunoloader-java.poms [new file with mode: 0644]
debian/patches/0004-Remove-dependency-on-BitArray.h-from-zxing-1.2.0.patch [new file with mode: 0644]
debian/patches/Filter-out-more-unwanted-command-URIs.diff [new file with mode: 0644]
debian/patches/Fix-backup-copy-creation-for-files-on-mounted-samba-shares.diff [new file with mode: 0644]
debian/patches/Improve-adbe.pkcs7.sha1-signature-verification.diff [new file with mode: 0644]
debian/patches/add-access2base-doc.diff [new file with mode: 0644]
debian/patches/add-notify-for-script-use.diff [new file with mode: 0644]
debian/patches/apparmor-allow-java.security.diff [new file with mode: 0644]
debian/patches/apparmor-cleanups.diff [new file with mode: 0644]
debian/patches/apparmor-complain.diff [new file with mode: 0644]
debian/patches/apparmor-gnupg-tofu.diff [new file with mode: 0644]
debian/patches/apparmor-mesa.diff [new file with mode: 0644]
debian/patches/apparmor-opencl.diff [new file with mode: 0644]
debian/patches/apparmor-updates.diff [new file with mode: 0644]
debian/patches/appstream-ignore-startcenter.diff [new file with mode: 0644]
debian/patches/arm-fp-mode.diff [new file with mode: 0644]
debian/patches/be-coservative-about-allowed-font-names.diff [new file with mode: 0644]
debian/patches/boost-1.81.diff [new file with mode: 0644]
debian/patches/build-against-shared-lpsolve.diff [new file with mode: 0644]
debian/patches/consider-VndSunStarExpand-an-exotic-protocol.diff [new file with mode: 0644]
debian/patches/cppunit-optional.diff [new file with mode: 0644]
debian/patches/debian-debug.diff [new file with mode: 0644]
debian/patches/debian-hardened-buildflags-CPPFLAGS.diff [new file with mode: 0644]
debian/patches/debian-hardened-buildflags-no-LO-fstack-protector-strong.diff [new file with mode: 0644]
debian/patches/debian-opt.diff [new file with mode: 0644]
debian/patches/disable-flaky-tests.diff [new file with mode: 0644]
debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff [new file with mode: 0644]
debian/patches/disable-shortcuts_tab_navigation-uitest.diff [new file with mode: 0644]
debian/patches/disable-unused-test-programs.diff [new file with mode: 0644]
debian/patches/disableClassPathURLCheck.diff [new file with mode: 0644]
debian/patches/do-not-ABORT_ON_NON_APPLICATION_FONT_USE.diff [new file with mode: 0644]
debian/patches/do-not-hide-test-output.diff [new file with mode: 0644]
debian/patches/do-not-trust-any-signature-on-repaired-package.diff [new file with mode: 0644]
debian/patches/dont-touch-urd.diff [new file with mode: 0644]
debian/patches/dragonbox-1.1.3.diff [new file with mode: 0644]
debian/patches/escape-url-passed-to-gstreamer.diff [new file with mode: 0644]
debian/patches/fix-32bit-build.diff [new file with mode: 0644]
debian/patches/fix-flaky-bridgetest.diff [new file with mode: 0644]
debian/patches/fix-internal-hsqldb-build.diff [new file with mode: 0644]
debian/patches/fix-system-libfixmath.diff [new file with mode: 0644]
debian/patches/fix-system-lpsolve-build.diff [new file with mode: 0644]
debian/patches/floating-frame-targets-unneeded-protocols.diff [new file with mode: 0644]
debian/patches/help-msg-add-package-info.diff [new file with mode: 0644]
debian/patches/hide-math-desktop-file.patch [new file with mode: 0644]
debian/patches/hppa-is-32bit.diff [new file with mode: 0644]
debian/patches/hrk-euro.diff [new file with mode: 0644]
debian/patches/ignore-LO-special-purpose-hyperlinks-per-default.diff [new file with mode: 0644]
debian/patches/install-fixes.diff [new file with mode: 0644]
debian/patches/javadoc-optional.diff [new file with mode: 0644]
debian/patches/jdbc-driver-classpaths.diff [new file with mode: 0644]
debian/patches/jurt-soffice-location.diff [new file with mode: 0644]
debian/patches/look-at-embedded-protocols-too.diff [new file with mode: 0644]
debian/patches/make-package-modules-not-suck.diff [new file with mode: 0644]
debian/patches/mediwiki-oor-replace.diff [new file with mode: 0644]
debian/patches/mention-java-common-package.diff [new file with mode: 0644]
debian/patches/moreIconsDialog-accesses-internet.diff [new file with mode: 0644]
debian/patches/no-check-if-root.diff [new file with mode: 0644]
debian/patches/no-opencl-per-default.diff [new file with mode: 0644]
debian/patches/no-packagekit-per-default.diff [new file with mode: 0644]
debian/patches/remove-ability-to-trust-not-validated-macro-signatures-in-high-security.diff [new file with mode: 0644]
debian/patches/reportdesign-mention-package.diff [new file with mode: 0644]
debian/patches/reuse-AllowedLinkProtocolFromDocument-1.diff [new file with mode: 0644]
debian/patches/reuse-AllowedLinkProtocolFromDocument-2.diff [new file with mode: 0644]
debian/patches/search-usr-share-for-images.diff [new file with mode: 0644]
debian/patches/sensible-lomua.diff [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/patches/split-evoab.diff [new file with mode: 0644]
debian/patches/system-officeotron-and-odfvalidator.diff [new file with mode: 0644]
debian/patches/temporarily-disable-test-metadata-test.diff [new file with mode: 0644]
debian/patches/use-mariadb-java-instead-of-mysql-java.diff [new file with mode: 0644]
debian/patches/warn-about-exotic-protocols-as-well.diff [new file with mode: 0644]
debian/patches/work-around-expired-certificiate-in-test.diff [new file with mode: 0644]
debian/python3-access2base.links [new file with mode: 0644]
debian/python3-uno.NEWS [new file with mode: 0644]
debian/python3-uno.lintian-overrides [new file with mode: 0644]
debian/python3-uno.ucf [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/scripts/fix_component_tarballs.sh [new file with mode: 0755]
debian/scripts/get_libebook_dep.sh [new file with mode: 0755]
debian/scripts/gid2pkgdirs.sh [new file with mode: 0755]
debian/scripts/joinctrl.py [new file with mode: 0755]
debian/scripts/locale-gen [new file with mode: 0755]
debian/scripts/move-if-change [new file with mode: 0755]
debian/scripts/stat_pos.sh [new file with mode: 0755]
debian/shell-lib-extensions.sh [new file with mode: 0644]
debian/shell-lib-lool.sh [new file with mode: 0644]
debian/shlibs.override.icu [new file with mode: 0644]
debian/shlibs.override.libc [new file with mode: 0644]
debian/shlibs.override.libcmis [new file with mode: 0644]
debian/shlibs.override.libetonyek [new file with mode: 0644]
debian/shlibs.override.liblangtag [new file with mode: 0644]
debian/shlibs.override.libmwaw [new file with mode: 0644]
debian/shlibs.override.libodfgen [new file with mode: 0644]
debian/shlibs.override.librevenge [new file with mode: 0644]
debian/shlibs.override.libstaroffice [new file with mode: 0644]
debian/shlibs.override.libvisio [new file with mode: 0644]
debian/shlibs.override.libwpd [new file with mode: 0644]
debian/shlibs.override.libwpg [new file with mode: 0644]
debian/shlibs.override.libwps [new file with mode: 0644]
debian/shlibs.override.orcus [new file with mode: 0644]
debian/soffice.sh [new file with mode: 0644]
debian/source/format [new file with mode: 0644]
debian/source/include-binaries [new file with mode: 0644]
debian/source/lintian-overrides [new file with mode: 0644]
debian/templates/debian-presentation-background.xcf [new file with mode: 0644]
debian/templates/debian-presentation.otp [new file with mode: 0644]
debian/templates/soffice-template.desktop.in [new file with mode: 0644]
debian/tests/access2base-import [new file with mode: 0755]
debian/tests/control [new file with mode: 0644]
debian/tests/control.in [new file with mode: 0644]
debian/tests/cppunit-connectivity-mysql [new file with mode: 0755]
debian/tests/cppunit-subsequentcheck [new file with mode: 0755]
debian/tests/junit-subsequentcheck [new file with mode: 0755]
debian/tests/odk-build-examples [new file with mode: 0755]
debian/tests/odk-build-examples-java [new file with mode: 0755]
debian/tests/patches/cppunit-standalone.diff [new file with mode: 0644]
debian/tests/patches/disable-db-tests.diff [new file with mode: 0644]
debian/tests/patches/junit-subsequentcheck-standalone.diff [new file with mode: 0644]
debian/tests/patches/odk-build-examples-standalone.diff [new file with mode: 0644]
debian/tests/patches/smoketest-disable-extension-tests.diff [new file with mode: 0644]
debian/tests/patches/smoketest-standalone.diff [new file with mode: 0644]
debian/tests/patches/testtools-standalone.diff [new file with mode: 0644]
debian/tests/patches/uicheck-standalone.diff [new file with mode: 0644]
debian/tests/pyuno-import [new file with mode: 0755]
debian/tests/slowcheck [new file with mode: 0755]
debian/tests/smoketest [new file with mode: 0755]
debian/tests/test-extension [new file with mode: 0755]
debian/tests/test-extension-shared [new file with mode: 0755]
debian/tests/testtools-bridgetest [new file with mode: 0755]
debian/tests/uicheck-cui [new file with mode: 0755]
debian/tests/uicheck-sc [new file with mode: 0755]
debian/tests/uicheck-sd [new file with mode: 0755]
debian/tests/uicheck-sfx2 [new file with mode: 0755]
debian/tests/uicheck-svx [new file with mode: 0755]
debian/tests/uicheck-sw [new file with mode: 0755]
debian/tests/uicheck-uitest [new file with mode: 0755]
debian/tests/uicheck-writerperfect [new file with mode: 0755]
debian/tests/unitcheck [new file with mode: 0755]
debian/tests/uno-import [new file with mode: 0755]
debian/upstream/metadata [new file with mode: 0644]
debian/upstream/signing-key.asc [new file with mode: 0644]
debian/ure-java.bug-script.in [new file with mode: 0644]
debian/ure-java.lintian-overrides [new file with mode: 0644]
debian/vars.alpha [new file with mode: 0644]
debian/vars.amd64 [new file with mode: 0644]
debian/vars.arm [new file with mode: 0644]
debian/vars.arm64 [new file with mode: 0644]
debian/vars.armel [new file with mode: 0644]
debian/vars.armhf [new file with mode: 0644]
debian/vars.hppa [new file with mode: 0644]
debian/vars.i386 [new file with mode: 0644]
debian/vars.ia64 [new file with mode: 0644]
debian/vars.kfreebsd-amd64 [new file with mode: 0644]
debian/vars.kfreebsd-i386 [new file with mode: 0644]
debian/vars.m68k [new file with mode: 0644]
debian/vars.mips [new file with mode: 0644]
debian/vars.mips64 [new file with mode: 0644]
debian/vars.mips64el [new file with mode: 0644]
debian/vars.mipsel [new file with mode: 0644]
debian/vars.powerpc [new file with mode: 0644]
debian/vars.powerpcspe [new file with mode: 0644]
debian/vars.ppc64 [new file with mode: 0644]
debian/vars.ppc64el [new file with mode: 0644]
debian/vars.s390 [new file with mode: 0644]
debian/vars.s390x [new file with mode: 0644]
debian/vars.solaris-i386 [new file with mode: 0644]
debian/vars.sparc [new file with mode: 0644]
debian/vars.sparc64 [new file with mode: 0644]
debian/watch [new file with mode: 0644]
debian/xmerge-javadoc.in [new file with mode: 0644]
tarballs/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip [new file with mode: 0644]
tarballs/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip [new file with mode: 0644]
tarballs/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip [new file with mode: 0644]
tarballs/dtoa-20180411.tgz [new file with mode: 0644]
tarballs/pdfium-5058.tar.bz2 [new file with mode: 0644]
tarballs/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz [new file with mode: 0644]

diff --git a/debian/README b/debian/README
new file mode 100644 (file)
index 0000000..01e7967
--- /dev/null
@@ -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 <source directory>
+  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=<n>
+            - 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=<code>
+           - 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 (file)
index 0000000..c27c3d5
--- /dev/null
@@ -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-<lang> and libreoffice-help-<lang> 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-<lang> 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-<lang> (or, for newer ones improved
+for hunspell hunspell-<lang>).
+
+Currently, there are thesauri available for Czech, English (AUS/GB/US),
+German (DE/CH), Italian, Polish and Slovak.
+Thesauri are packaged as mythes-<lang>
+
+Currently, there are hyphenation patterns available for English (USA),
+Croatian, Estonian, German, Hungarian, Italian, Polish, Slovenian and
+Lithuanian.
+Hyphenation patterns are packaged as hyphen-<lang>.
+
+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-<lang>.
+
+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 <yoush at cs.msu.su>:
+
+- 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 <jk at blackdown.de>:>
+
+- 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 (file)
index 0000000..7b9f523
--- /dev/null
@@ -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/<version/
+
+The libreoffice-x.y.z.a.tar.xz is taken verbatim as original tarball:
+$ ln -s libreoffice-x.y.z.a.tar.xz libreoffice_x.y.z.orig.tar.xz
+$ tar xfvJ libreoffice-x.y.z.a.tar.xz
+
+For a full build you also need helpcontent2 and translations (and the external
+modules' tarballs) which normally are git submodules and/or downloaded during
+the build.
+
+As dpkg-source expects e.g. helpcontent2 as a subdir we can't directly
+symlink (as the tarball contains libreoffice-x.y.z.a/helpcontent2).
+We need to create them manually/repack them:
+
+$ tar xfvJ libreoffice-helpcontent2-x.y.z.a.tar.xz
+$ tar xfvJ libreoffice-translations-x.y.z.a.tar.xz
+$ cd libreoffice-x.y.z.a
+$ for i in helpcontent2 translations tarballs; do \
+       tar cfvJ ../libreoffice_5.2.1.orig-$i.tar.xz $i; \
+  done
+
+The get-orig-source debian/rules target does this with our custom
+mk-origtargz script.
+
+Given those files are not in the tarballs above they need to be removed
+as otherwise dpkg complains
+$ rm ChangeLog-*
+
+We also need the "tarballs".
+A standard upstream build downloads it during the build, but we neither can't nor want it here of course. So:
+
+$ rm -rf tarballs
+$ mkdir -p tarballs
+$ ./autogen.sh $(filter-out --disable-fetch-external,$(CONFIGURE_FLAGS)) --with-all-tarballs
+$ make download gb_LO_VER=<version>
+
+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 (file)
index 0000000..3da75a9
--- /dev/null
@@ -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 (file)
index 0000000..59ff72c
--- /dev/null
@@ -0,0 +1 @@
+PROGRESSBARCOLOR=215,7,81
diff --git a/debian/bug-presubj b/debian/bug-presubj
new file mode 100644 (file)
index 0000000..b0b6cfc
--- /dev/null
@@ -0,0 +1,61 @@
+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. Nor on
+    backports, see https://backports.debian.org/Instructions/#index6h2. 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 LibreOffice 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 (file)
index 0000000..baec522
Binary files /dev/null and b/debian/changelog differ
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..564d0da
Binary files /dev/null and b/debian/control differ
diff --git a/debian/control.evolution.in b/debian/control.evolution.in
new file mode 100644 (file)
index 0000000..8b387ca
--- /dev/null
@@ -0,0 +1,17 @@
+Package: libreoffice-evolution
+Architecture: %OOO_BASE_ARCHS%
+Section: gnome
+Depends: libreoffice-base,
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         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 (file)
index 0000000..89cc8b3
--- /dev/null
@@ -0,0 +1,12 @@
+Package: libreoffice-sdbc-firebird
+Depends: libreoffice-core-nogui | 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 (file)
index 0000000..f52165d
--- /dev/null
@@ -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.gtk3.in b/debian/control.gtk3.in
new file mode 100644 (file)
index 0000000..6dd2677
--- /dev/null
@@ -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.gtk4.in b/debian/control.gtk4.in
new file mode 100644 (file)
index 0000000..4890ca0
--- /dev/null
@@ -0,0 +1,17 @@
+Package: libreoffice-gtk4
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: libreofficekit-data
+Section: gnome
+Enhances: libreoffice
+Description: office productivity suite -- GTK+ 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 Gtk plugin for drawing LibreOffices widgets
+ with Gtk+ 4 and Gtk/GNOMEish print dialog.
+ .
+ You need to enable it manually by export SAL_USE_VCLPLUGIN=gtk4.
+
diff --git a/debian/control.help.in b/debian/control.help.in
new file mode 100644 (file)
index 0000000..40163e9
--- /dev/null
@@ -0,0 +1,18 @@
+Package: libreoffice-help-@LCODE@
+Architecture: all
+Section: doc
+Recommends: libreoffice-core (>> ${base-version}),
+ ${help-recommends}
+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.4.1~rc1)
+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 (file)
index 0000000..3909cac
--- /dev/null
@@ -0,0 +1,910 @@
+Source: libreoffice
+Section: editors
+Priority: optional
+Maintainer: Debian LibreOffice Maintainers <debian-openoffice@lists.debian.org>
+Uploaders: Rene Engelhard <rene@debian.org>, Chris Halls <halls@debian.org>
+Build-Depends: %BUILD_DEPS%,
+Build-Depends-Arch: %BUILD_DEPS_ARCH%
+Build-Depends-Indep: %BUILD_DEPS_INDEP%
+Build-Conflicts: nvidia-glx-dev,
+                 nvidia-glx-legacy-dev,
+                 amd-libopencl1,
+                 nvidia-libopencl1,
+                 fontconfig-config (= 2.14.1-1) <!nocheck>,
+                 fontconfig-config (= 2.14.1-2) <!nocheck>,
+                 fontconfig-config (= 2.14.1-3) <!nocheck>
+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,
+         ${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-core,
+            fonts-noto-extra,
+            fonts-noto-mono,
+            fonts-noto-ui-core,
+            libreoffice-script-provider-bsh,
+            libreoffice-script-provider-js,
+            libreoffice-script-provider-python,
+            libreoffice-nlpsolver,
+            libreoffice-report-builder%OOO_NO_REPORTBUILDER_ARCHS%,
+            libreoffice-wiki-publisher,
+            libreoffice-sdbc-mysql,
+            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,
+          openclipart-libreoffice,
+          pstoedit,
+          unixodbc,
+          gnupg,
+          gpa,
+          ${gstreamer-plugins-suggests},
+          ${java-runtime-depends},
+          ${ooo-officebean-dep},
+          libreoffice-librelogo,
+          %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-11-jre | openjdk-8-jre | java8-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-nogui
+Architecture: %OOO_NOGUI_ARCHS%
+Section: metapackages
+Depends: libreoffice-base-nogui%OOO_NO_BASE_ARCHS%,
+         libreoffice-calc-nogui,
+         libreoffice-core-nogui (= ${binary:Version}),
+         libreoffice-draw-nogui,
+         libreoffice-impress-nogui,
+         libreoffice-math-nogui,
+         libreoffice-report-builder-bin-nogui%OOO_NO_REPORTBUILDER_ARCHS%,
+         libreoffice-writer-nogui,
+         ${misc:Depends},
+         ${pyuno-depends}
+Recommends: ${java-common-depends},
+            libreoffice-script-provider-bsh,
+            libreoffice-script-provider-js,
+            libreoffice-script-provider-python,
+            libreoffice-sdbc-mysql,
+            libreoffice-sdbc-postgresql
+Suggests: ghostscript,
+          hunspell-dictionary,
+          hyphen-hyphenation-patterns,
+          imagemagick | graphicsmagick-imagemagick-compat,
+          libreoffice-grammarcheck,
+          myspell-dictionary,
+          mythes-thesaurus,
+          pstoedit,
+          unixodbc,
+          gnupg,
+          gpa,
+          ${java-runtime-depends}
+Description: office productivity suite (metapackage, no GUI)
+ 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
+ .
+ WITHOUT GUI SUPPORT.
+ .
+ This package is intended mostly for scripting needs.
+
+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-kn,
+         libreoffice-l10n-ml,
+         libreoffice-l10n-mr,
+         libreoffice-l10n-ne,
+         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 (>= 2:102.12),
+         libreoffice-common (>> ${base-version}),
+         ure (>= 1:7.4.0~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Recommends: libpaper-utils, ${gstreamer-plugins-suggests}
+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-qt5 (<< ${binary:Version}),
+        libreoffice-kde4 (<< ${binary:Version}),
+        libreoffice-kde5 (<< ${binary:Version}),
+        libreoffice-kf5 (<< ${binary:Version}),
+        libreoffice-officebean (<< ${binary:Version}),
+        libreoffice-writer (<< ${binary:Version}),
+        browser-plugin-libreoffice,
+        libreoffice-pdfimport (<< 1:5.4~),
+        libreoffice-common (<< 1:5.4.1),
+        libreoffice-avmedia-backend-gstreamer (<< ${binary:Version})
+Conflicts: libreoffice-filter-binfilter, libreoffice-avmedia-backend-vlc, libreoffice-mysql-connector (<< 1:6.2.0~), libreoffice-core-nogui
+# for bullseye, copied from libreoffice-common, see #985297
+ ,
+ libreoffice-base (<< 1:7.0.0~alpha~),
+ libreoffice-calc (<< 1:7.0.0~alpha~),
+ libreoffice-draw (<< 1:7.0.0~alpha~),
+ libreoffice-impress (<< 1:7.0.0~alpha~),
+ libreoffice-math (<< 1:7.0.0~alpha~),
+ libreoffice-report-builder (<< 1:7.0.0~alpha~),
+ libreoffice-writer (<< 1:7.0.0~alpha~),
+Replaces: libreoffice-pdfimport (<< 1:5.4~), libreoffice-common (<< 1:6.3.0~rc1~), libreoffice-avmedia-backend-gstreamer, libreoffice-core-nogui
+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-core-nogui
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: fontconfig,
+         fonts-opensymbol (>= 2:102.12),
+         libreoffice-common (>> ${base-version}),
+         ure (>= 1:7.4.0~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Recommends: libpaper-utils
+Breaks: libreoffice-base (<< ${binary:Version}),
+        libreoffice-calc,
+        libreoffice-dev (<< ${binary:Version}),
+        libreoffice-draw (<< ${binary:Version}),
+        libreoffice-evolution (<< ${binary:Version}),
+        libreoffice-gnome (<< ${binary:Version}),
+        libreoffice-gtk2,
+        libreoffice-gtk3,
+        libreoffice-impress (<< ${binary:Version}),
+        libreoffice-qt5,
+        libreoffice-kde4,
+        libreoffice-kde5,
+        libreoffice-kf5,
+        libreoffice-officebean (<< ${binary:Version}),
+        libreoffice-writer (<< ${binary:Version}),
+        browser-plugin-libreoffice,
+        libreoffice-pdfimport (<< 1:5.4~),
+        libreoffice-common (<< 1:5.4.1),
+        libreoffice-avmedia-backend-gstreamer (<< ${binary:Version})
+Conflicts: libreoffice-filter-binfilter, libreoffice-avmedia-backend-vlc, libreoffice-mysql-connector (<< 1:6.2.0~), libreoffice-core
+Provides: libreoffice-bundled
+Replaces: libreoffice-pdfimport (<< 1:5.4~), libreoffice-common (<< 1:6.3.0~rc1~), libreoffice-avmedia-backend-gstreamer, libreoffice-core
+Description: office productivity suite -- arch-dependent files (no GUI variant)
+ 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 without GUI support for server-based or commandline usage of
+ LibreOffice.
+
+Package: libreoffice-common
+Architecture: all
+Depends: libreoffice-style-colibre, ure, ${numbertext-data-recommends}, ${misc:Depends}
+Suggests: libreoffice-style,
+Recommends: ${pyuno-depends}, ${textcat-data-recommends}, poppler-data, xdg-utils, fonts-liberation2 | ttf-mscorefonts-installer
+Conflicts: openoffice.org-unbundled,
+           broffice,
+           libreoffice-filter-mobiledev,
+           libreoffice-l10n-4.3,
+           libreoffice-l10n-4.4,
+           libreoffice-wiki-publisher (<< 1.2.0+LibO5.4.0~rc2),
+           libreoffice-base (<< 1:7.0.0~alpha~),
+           libreoffice-base-nogui (<< 1:7.0.0~alpha~),
+           libreoffice-calc (<< 1:7.0.0~alpha~),
+           libreoffice-calc-nogui (<< 1:7.0.0~alpha~),
+           libreoffice-draw (<< 1:7.0.0~alpha~),
+           libreoffice-draw-nogui (<< 1:7.0.0~alpha~),
+           libreoffice-evolution (<< 1:7.0.0~alpha~),
+           libreoffice-gnome (<< 1:7.0.0~alpha~),
+           libreoffice-impress (<< 1:7.0.0~alpha~),
+           libreoffice-impress-nogui (<< 1:7.0.0~alpha~),
+           libreoffice-l10n (<< 7.0),
+           libreoffice-librelogo (<< 1:7.0.0~alpha~),
+           libreoffice-math (<< 1:7.0.0~alpha~),
+           libreoffice-math-nogui (<< 1:7.0.0~alpha~),
+           libreoffice-sdbc-postgresql (<< 1:7.0.0~alpha~),
+           python3-uno (<< 1:7.0.0~alpha~),
+           libreoffice-report-builder (<< 1:7.0.0~alpha~),
+           libreoffice-writer (<< 1:7.0.0~alpha~),
+           libreoffice-writer-nogui (<< 1:7.0.0~alpha~)
+Provides: libreoffice-l10n-en-us
+Breaks: libreoffice-core (<< 4:${oover}~),
+        libreoffice-core-nogui (<< 4:${oover}~),
+        libreoffice-core (<< 1:6.4.2~rc1),
+        libreoffice-help-5.2,
+        libreoffice-help (<< 5.4),
+        libreoffice-l10n (<< 7.0),
+        libreoffice-librelogo (<< 1:7.0.0~alpha),
+        libreoffice-sdbc-postgresql (<< 1:7.0.0~alpha),
+        libreoffice-report-builder (<< 1:7.0.0~alpha),
+        libreoffice-evolution (<< 1:7.0.0~alpha),
+        libreoffice-gnome (<< 1:7.0.0~alpha),
+        python3-uno (<< 1:7.0.0~alpha),
+        libreoffice-core (>= 4:${next-oover}~),
+        libreoffice-core-nogui (>= 4:${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,
+        libreoffice-writer2latex (<< 1.0.2-9),
+        libreoffice-writer2xhtml (<< 1.0.2-9),
+        libreoffice-base (<< 1:6.4.0~beta1-2~),
+        openclipart-libreoffice (<= 1:0.18+dfsg-17)
+Replaces: libreoffice-base (<< 1:6.4.0~beta1-2~),
+          libreoffice-pdfimport (<< 1:5.4~),
+          openclipart-libreoffice (<= 1:0.18+dfsg-17)
+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, ure-java, liblibreoffice-java, libunoloader-java, ${java:Depends}, ${misc:Depends}
+Breaks: libunoil-java (<< 1:6.4.0~rc1-6)
+Replaces: libunoil-java (<< 1:6.4.0~rc1-6)
+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}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${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:6.4.2~rc1~)
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+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-writer-nogui
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: libreoffice-base-core (= ${binary:Version})%OOO_NO_BASE_ARCHS%,
+         libreoffice-core-nogui (= ${binary:Version}) | libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Recommends: libreoffice-math-nogui,
+Suggests: fonts-crosextra-caladea,
+          fonts-crosextra-carlito,
+          libreoffice-base,
+          ${java-common-depends},
+          ${java-runtime-depends}
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-writer
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+Conflicts: libreoffice-writer
+Description: office productivity suite -- word processor (no GUI variant)
+ 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}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${lpsolve-dep},
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: ocl-icd-libopencl1 | mesa-opencl-icd | beignet-opencl-icd
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~)
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+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-calc-nogui
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: libreoffice-base-core (= ${binary:Version})%OOO_NO_BASE_ARCHS%,
+         libreoffice-core-nogui (= ${binary:Version}) | libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${lpsolve-dep},
+         ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-calc
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+Conflicts: libreoffice-calc
+Description: office productivity suite -- spreadsheet (no GUI variant)
+ 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
+ for use with libreoffice-core-nogui.
+
+Package: libreoffice-impress
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core (= ${binary:Version}),
+         libreoffice-draw (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-ogltrans (<< 1:6.1.4-2~)
+Conflicts: libreoffice-ogltrans (<< 1:6.1.4-2~)
+Provides: libreoffice-ogltrans
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+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-impress-nogui
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: libreoffice-core-nogui (= ${binary:Version}) | libreoffice-core (= ${binary:Version}),
+         libreoffice-draw-nogui (= ${binary:Version}) | libreoffice-draw (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-impress
+Conflicts: libreoffice-ogltrans (<< 1:6.1.4-2~), libreoffice-impress
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+Description: office productivity suite -- presentation (no GUI variant)
+ 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}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: libreoffice-core (<< 1:6.4.1~rc1-3), libreoffice-impress (<< 1:5.2.0-2), libreoffice-common (<< 1:6.4.2~rc1~)
+Breaks: libreoffice-core (<< 1:6.4.1~rc1-3), libreoffice-impress (<< 1:5.2.0-2), libreoffice-common (<< 1:6.4.2~rc1~)
+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-draw-nogui
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: libreoffice-core-nogui (= ${binary:Version}) | libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: libreoffice-impress (<< 1:5.2.0-2), libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-draw
+Breaks: libreoffice-impress (<< 1:5.2.0-2), libreoffice-common (<< 1:6.4.2~rc1~)
+Conflicts: libreoffice-draw
+Description: office productivity suite -- drawing (no GUI variant)
+ 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 (>= 2:102.11),
+         libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~)
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+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-math-nogui
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: fonts-opensymbol (>= 2:102.11),
+         libreoffice-core-nogui (= ${binary:Version}) | libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-math
+Conflicts: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-math
+Description: office productivity suite -- equation editor (no GUI variant)
+ 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-nogui (= ${binary:Version}) | 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
+Pre-Depends: dpkg (>= 1.19.1)
+Depends: libreoffice-base-core (= ${binary:Version}),
+         libreoffice-base-drivers (= ${binary:Version}),
+         libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: libreoffice-report-builder,
+          unixodbc,
+          python3-uno
+Recommends: libreoffice-writer, ${java-common-depends}, ${java-runtime-depends}
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~)
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+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-base-nogui
+Architecture: %OOO_NOGUI_ARCHS%
+Section: database
+Depends: libreoffice-base-core (= ${binary:Version}),
+         libreoffice-base-drivers (= ${binary:Version}),
+         libreoffice-core-nogui (= ${binary:Version}) | libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: libreoffice-report-builder,
+          unixodbc,
+          python3-uno
+Recommends: libreoffice-writer, ${java-common-depends}, ${java-runtime-depends}
+Replaces: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-base
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+Conflicts: libreoffice-base
+Description: office productivity suite -- database (no GUI variant)
+ 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-colibre, ${misc:Depends}
+Suggests: breeze-icon-theme
+Provides: libreoffice-style
+Recommends: libreoffice-common
+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
+Recommends: libreoffice-common
+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-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
+Recommends: libreoffice-common
+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-colibre, ${misc:Depends}
+Enhances: libreoffice-core
+Provides: libreoffice-style
+Recommends: libreoffice-common
+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-style-karasa-jaga
+Architecture: all
+Depends: ${misc:Depends}
+Enhances: libreoffice-core
+Provides: libreoffice-style
+Recommends: libreoffice-common
+Description: office productivity suite -- Karasa Jaga 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 "karasa_jaga" symbol style.
+
+Package: libreoffice-style-sukapura
+Architecture: all
+Depends: ${misc:Depends}
+Enhances: libreoffice-core
+Provides: libreoffice-style
+Recommends: libreoffice-common
+Description: office productivity suite -- Sukapura 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 "sukapura" symbol style.
+
+Package: libreoffice-gnome
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${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), libreoffice-gtk3 (<< 1:7.2.0~)
+Conflicts: libreoffice-gtk3 (<< 1:7.2.0~)
+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-nogui (= ${binary:Version}) | libreoffice-core (= ${binary:Version}),
+         libreoffice-common (>= 1:7.0.0~alpha~),
+         ${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)
+Build-Profiles: <!nopython>
+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-script-provider-python
+Architecture: all
+Section: python
+Depends: libreoffice-common,
+         libreoffice-core-nogui | libreoffice-core,
+         ${misc:Depends},
+         ${python3:Depends},
+         ${pyuno-depends}
+Build-Profiles: <!nopython>
+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-nogui | libreoffice-core,
+         ${java-common-depends},
+         liblibreoffice-java,
+         ${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-nogui | libreoffice-core,
+         ${java-common-depends},
+         liblibreoffice-java,
+         ${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-sdbc-hsqldb
+Depends: libreoffice-core-nogui | 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-sdbc-mysql
+Section: database
+Architecture: %OOO_BASE_ARCHS%
+Depends: libreoffice-core-nogui | libreoffice-core, ${misc:Depends}, ${shlibs:Depends}
+Suggests: default-mysql-server | virtual-mysql-server
+Description: MariaDB/MySQL SDBC driver for LibreOffice
+ LibreOffice is a full-featured office productivity suite that provides
+ a near drop-in replacement for Microsoft(R) Office.
+ .
+ The MariaDB/MySQL driver allows one to use the MariaDB or MySQL
+ database from LibreOffice without any wrapper layer such as ODBC or JDBC.
+
+Package: libreoffice-base-drivers
+Depends: libreoffice-core-nogui | libreoffice-core, ${shlibs:Depends}, ${misc:Depends}
+Architecture: %OOO_BASE_ARCHS%
+Section: database
+Suggests: libreoffice-sdbc-postgresql | odbc-postgresql | libpg-java,
+          libreoffice-sdbc-mysql | libmyodbc | libmariadb-java,
+          libsqliteodbc | tdsodbc | odbc-mdbtools,
+          libjtds-java,
+Recommends: libreoffice-sdbc-hsqldb [%OOO_JAVA_ARCHS%], ${base-firebird-recommends}
+Replaces: libreoffice-base (<< 1:4.3.0-3), libreoffice-core (<< 1:6.2.0~beta1~)
+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
+ .
+ You can extend this by installing:
+ .
+  * unixodbc: ODBC database support
+  * libmyodbc | odbc-postgresql | libsqliteodbc | tdsodbc | odbc-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-sdbc-mysql: MySQL/MariaDB SDBC Driver
+
+Package: python3-access2base
+Section: python
+Architecture: all
+Homepage: http://www.access2base.com/access2base.html
+Depends: libreoffice-common (>= 1:6.4.0~beta1-2~), libreoffice-base, python3-uno, ${python3:Depends}, ${misc:Depends}
+Replaces: libreoffice-base
+Description: interface between Python and the LibreOffice Access2Base library
+ Access2Base is a LibreOffice/OpenOffice Basic library of macros for
+ (business or personal) application developers and advanced users.
+ .
+ Their syntax and their meaning are directly inspired by MSAccess.
+ The macros are callable from
+  - a LibreOffice / OpenOffice Base application,
+  - any LibreOffice / OpenOffice document wanting to access data
+   stored in databases.
+ .
+ This package contains an interface between Python (user) scripts
+ and Access2Base.
+
+Package: libofficebean-java
+Section: java
+Depends: liblibreoffice-java,
+         ${java-runtime-depends},
+         ${java:Depends},
+         ${shlibs:Depends},
+         ${misc:Depends}
+Recommends: libreoffice-core-nogui | libreoffice-core
+Architecture: %OOO_JAVA_ARCHS%
+Replaces: libreoffice-officebean (<< 1:6.4.0~rc2-1)
+Breaks: libreoffice-officebean (<< 1:6.4.0~rc2-1)
+Description: generic Java Bean wrapper for LibreOffice components
+ LibreOffice is a full-featured office productivity suite that provides
+ a near drop-in replacement for Microsoft(R) Office.
+ .
+ This package contains the Java library for the LibreOffice Office Bean
+ for embedding LibreOffice in custom Java applications.
+
diff --git a/debian/control.kf5.in b/debian/control.kf5.in
new file mode 100644 (file)
index 0000000..3eaa5b3
--- /dev/null
@@ -0,0 +1,17 @@
+Package: libreoffice-kf5
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core (= ${binary:Version}),
+         ${kf5-qt5-depends},
+         ${misc:Depends},
+         ${shlibs:Depends}
+Recommends: ${plasma-iconset-dep}
+Replaces: libreoffice-kde (<< 1:6.1.0~alpha1-1)
+Section: kde
+Enhances: libreoffice
+Description: office productivity suite -- KDE Frameworks 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 KF5 plugin for LibreOffice and a KF5-based File
+ Picker when running under Plasma.
+
diff --git a/debian/control.lang.in b/debian/control.lang.in
new file mode 100644 (file)
index 0000000..9503656
--- /dev/null
@@ -0,0 +1,29 @@
+Package: libreoffice-l10n-@LCODE@
+Section: localization
+Architecture: all
+Depends: libreoffice-common (>= 1:7.0.0~alpha~), ${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 (file)
index 0000000..a07a2e0
--- /dev/null
@@ -0,0 +1,22 @@
+Package: libreoffice-librelogo
+Section: misc
+Architecture: all
+Depends: libreoffice-core,
+         libreoffice-writer,
+         libreoffice-script-provider-python,
+         libreoffice-common (>= 1:7.0.0~alpha),
+         ${misc:Depends}
+Build-Profiles: <!nopython>
+Homepage: http://librelogo.org
+Description: Logo-like programming 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 programming
+ 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 (file)
index 0000000..59dfd57
--- /dev/null
@@ -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 (file)
index 0000000..9255a51
--- /dev/null
@@ -0,0 +1,18 @@
+Package: libreoffice-wiki-publisher
+Section: misc
+Architecture: all
+Depends: libreoffice-core,
+         liblibreoffice-java,
+         ${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
+
diff --git a/debian/control.nlpsolver.in b/debian/control.nlpsolver.in
new file mode 100644 (file)
index 0000000..9b540ee
--- /dev/null
@@ -0,0 +1,14 @@
+Package: libreoffice-nlpsolver
+Architecture: all
+Depends: ${misc:Depends}, libreoffice-calc, libreoffice-core, liblibreoffice-java, ${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.plasma.in b/debian/control.plasma.in
new file mode 100644 (file)
index 0000000..dc56010
--- /dev/null
@@ -0,0 +1,14 @@
+Package: libreoffice-plasma
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core (= ${binary:Version}),
+        ${misc:Depends},
+        ${shlibs:Depends}
+Recommends: libreoffice-kf5
+Replaces: libreoffice-kde5 (<< 1:6.4.0~)
+Description: office productivity suite -- some Plasma integration
+ LibreOffice is a full-featured office productivity suite that provides
+ a near drop-in replacement for Microsoft(R) Office.
+ .
+ This package contains some minor Plasma integration (like AppData
+ and "Create New..." integration) and a KDE/KF5 configuration backend.
+
diff --git a/debian/control.postgresql.in b/debian/control.postgresql.in
new file mode 100644 (file)
index 0000000..d415768
--- /dev/null
@@ -0,0 +1,17 @@
+Package: libreoffice-sdbc-postgresql
+Section: misc
+Architecture: %OOO_BASE_ARCHS%
+Depends: libreoffice-core-nogui | libreoffice-core,
+         libreoffice-common (>= 1:7.0.0~alpha),
+         ${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 (file)
index 0000000..aea9dbe
--- /dev/null
@@ -0,0 +1,17 @@
+Package: libreoffice-qt5
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Recommends: qtgstreamer-plugins-qt5
+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.
+ .
+ You need to enable it manually by export SAL_USE_VCLPLUGIN=qt5 if you are
+ not using Plasma.
+
diff --git a/debian/control.qt6.in b/debian/control.qt6.in
new file mode 100644 (file)
index 0000000..2cc7841
--- /dev/null
@@ -0,0 +1,15 @@
+Package: libreoffice-qt6
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Enhances: libreoffice
+Description: office productivity suite -- Qt 6 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 6 plugin for drawing LibreOffices widgets
+ with Qt 6 and a Qt File Picker and print dialog.
+ .
+ You need to enable it manually by export SAL_USE_VCLPLUGIN=qt6.
+
diff --git a/debian/control.reportbuilder.in b/debian/control.reportbuilder.in
new file mode 100644 (file)
index 0000000..4a2edd0
--- /dev/null
@@ -0,0 +1,55 @@
+Package: libreoffice-report-builder
+Section: misc
+Architecture: all
+Depends: libreoffice-core | libreoffice-core-nogui,
+         libreoffice-report-builder-bin (>= ${base-version}),
+         libreoffice-common (>= 1:7.0.0~alpha),
+         liblibreoffice-java,
+         ${java:Depends},
+         ${java-common-depends},
+         ${misc:Depends},
+         ${report-builder-jar-depends}
+Provides: libreoffice-reportdesigner
+Enhances: libreoffice-base
+Breaks: libreoffice-common (<< 1:6.4.2~rc1~)
+Replaces: libreoffice-common (<< 1:6.4.2~r~~)
+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.
+
+Package: libreoffice-report-builder-bin-nogui
+Section: misc
+Architecture: %OOO_REPORTBUILDER_ARCHS%
+Depends: libreoffice-core-nogui | libreoffice-core,
+         libreoffice-base-nogui | libreoffice-base,
+         ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: libreoffice-report-builder-bin
+Replaces: libreoffice-report-builder-bin
+Description: LibreOffice component for building database reports -- libraries (no GUI variant)
+ 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 (file)
index 0000000..d906fa6
--- /dev/null
@@ -0,0 +1,70 @@
+Package: libreoffice-dev
+Section: devel
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core-nogui (= ${binary:Version}) | 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, ...).
+
+Package: libreoffice-dev-gui
+Section: devel
+Architecture: %OOO_ARCHS%
+Depends: libreoffice-core (= ${binary:Version}),
+         libreoffice-dev (= ${binary:Version}),
+         libreoffice-dev-common (= ${source:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: libreoffice-dev (<< 1:7.0.0~)
+Breaks: libreoffice-dev (<< 1:7.0.0~)
+Description: office productivity suite -- "GUI" development stuff
+ LibreOffice is a full-featured office productivity suite that provides
+ a near drop-in replacement for Microsoft(R) Office.
+ .
+ This package contains the gengal utility which was moved from
+ libreoffice-dev.
+
+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: <!nodoc>
+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 (file)
index 0000000..bbe7d9d
--- /dev/null
@@ -0,0 +1,18 @@
+Package: libreoffice-subsequentcheckbase
+Section: libs
+Architecture: all
+Depends: liblibreoffice-java, ${java:Depends}, ${misc:Depends}
+Build-Profiles: <!noinsttest>
+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: <!noinsttest>
+Replaces: libreoffice-java-common (<< 1:6.4.0~rc1-6)
+Breaks: libreoffice-java-common (<< 1:6.4.0~rc1-6)
+Description: data files for LibreOffices "smoketest"
+ Data files for the LibreOffice "smoketest".
+
diff --git a/debian/control.ure.in b/debian/control.ure.in
new file mode 100644 (file)
index 0000000..f3717e4
--- /dev/null
@@ -0,0 +1,172 @@
+Package: uno-libs-private
+Section: libs
+Architecture: %OOO_ARCHS%
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: uno-libs3
+Breaks: uno-libs3
+Description: LibreOffice UNO runtime environment -- private libraries used by public ones
+ 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 some private UNO/URE libraries which are used by public
+ ones (e.g. cppu).
+
+Package: libuno-sal3
+Section: libs
+Architecture: %OOO_ARCHS%
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: ure (<< 5.0.0~rc2-1), uno-libs3
+Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3
+Description: LibreOffice UNO runtime environment -- SAL public library
+ 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 System Abstraction Layer (SAL) library.
+
+Package: libuno-salhelpergcc3-3
+Section: libs
+Architecture: %OOO_ARCHS%
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: ure (<< 5.0.0~rc2-1), uno-libs3
+Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3
+Description: LibreOffice UNO runtime environment -- SAL helpers for C++ library
+ 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 C++ helpers to make use of sal easier.
+
+Package: libuno-cppu3
+Section: libs
+Architecture: %OOO_ARCHS%
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: ure (<< 5.0.0~rc2-1), uno-libs3
+Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3
+Description: LibreOffice UNO runtime environment -- CPPU public library
+ 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 CPPU, the type definitions/implementations for the core
+ of UNO.
+
+Package: libuno-cppuhelpergcc3-3
+Section: libs
+Architecture: %OOO_ARCHS%
+Depends: ${misc:Depends}, ${shlibs:Depends}, uno-libs-private (= ${binary:Version})
+Replaces: ure (<< 5.0.0~rc2-1), uno-libs3
+Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3
+Description: LibreOffice UNO runtime environment -- CPPU helper library
+ 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 cppuhelper library (helpers for using cppu in C++,
+ e.g. templates for implementing UNO components, bootstrapping stuff)
+
+Package: libuno-purpenvhelpergcc3-3
+Section: libs
+Architecture: %OOO_ARCHS%
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: ure (<< 5.0.0~rc2-1), uno-libs3
+Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3
+Description: LibreOffice UNO runtime environment -- "purpose environment" helper
+ 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 a library which contains a helper for implementing
+ so-called "purpose environments".
+
+Package: ure
+Section: libs
+Architecture: %OOO_ARCHS%
+Depends: ${misc:Depends}, ${shlibs:Depends}, uno-libs-private (= ${binary:Version})
+Replaces: libreoffice-common (<< 1:4.5.0), libreoffice-core (<< 1:5.3.0~beta1~), libjuh-java (<< 1:6.4.0~rc1-6), libridl-java (<< 1:6.4.0~rc1-6), libunoloader-java (<< 1:6.4.0~rc1-6), libjurt-java (<< 1:6.4.0~rc1-6), ure-java (<< 1:7.1.1~rc2-1)
+Breaks: libreoffice-core (<< 1:7.4.0~), libreoffice-core-nogui (<< 1:7.4.0~), libreoffice-common (<< 1:4.5.0), libjuh-java (<< 1:6.4.0~rc1-6), libridl-java (<< 1:6.4.0~rc1-6), libunoloader-java (<< 1:6.4.0~rc1-6), libjurt-java (<< 1:6.4.0~rc1-6), ure-java (<< 1:7.1.1~rc2-1)
+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: ure-java
+Section: java
+Architecture: %OOO_ARCHS%
+Depends: ${misc:Depends}, ${shlibs:Depends}, ${java:Depends}, uno-libs-private (= ${binary:Version}), ure (= ${binary:Version}), libunoloader-java
+Recommends: liblibreoffice-java, ${java-runtime-depends}
+Replaces: ure (<< 1:7.1.0~)
+Breaks: ure (<< 1:7.1.0~)
+Description: LibreOffice UNO runtime environment -- Java support
+ 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 Java support in the URE.
+
+Package: libunoloader-java
+Architecture: all
+Section: java
+Depends: ${java:Depends}, ${misc:Depends}
+Replaces: ure (<< 6.4.0~rc1-6)
+Breaks: ure (<< 6.4.0~rc1-6)
+Description: LibreOffice UNO runtime environment -- (Java) UNO loader
+ The Uno Runtime Environment (URE) is the well-known UNO component model
+ of LibreOffice, packaged up as an individual product.
+ .
+ This package contains a UNO loader library for Java.
+
+Package: liblibreoffice-java
+Architecture: all
+Section: java
+Depends: ure-java, libunoloader-java, ${java:Depends}, ${misc:Depends}
+Provides: libjuh-java, libridl-java, libjurt-java, libunoil-java
+Replaces: libjuh-java (<< 1:7.1.0~), libridl-java (<< 1:7.1.0~), libjurt-java (<< 1:7.1.0~), libunoil-java (<< 1:7.1.0~)
+Breaks: libjuh-java (<< 1:7.1.0~), libridl-java (<< 1:7.1.0~), libjurt-java (<< 1:7.1.0~), libunoil-java (<< 1:7.1.0~)
+Description: LibreOffice UNO runtime environment -- Java library
+ The Uno Runtime Environment (URE) is the well-known UNO component model
+ of LibreOffice, packaged up as an individual product.
+ .
+ This package contains the public Java libraries.
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..a58bed3
--- /dev/null
@@ -0,0 +1,296 @@
+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/src
+# 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: sysui/desktop/appstream-appdata/*.xml
+Copyright: Copyright (c) 2013-2019 LibreOffice contributors and/or their affiliates.
+License: CC0-1.0
+
+Files: icon-themes/breeze*/*
+Copyright: Copyright 2014 Uri Herrera <kaisergreymon99@gmail.com>
+           Copyright 2015 Andreas Kainz <kainz.a@gmail.com> and other contributors
+License: GPL-2+
+
+Files: icon-themes/sifr*/*
+Copyright: Jakub Steiner <jimmac@novell.com>
+           Lapo Calamandrei <calamandrei@gmail.com>
+           Hylke Bons <hylke.bons@intel.com>
+           Barbara Muraus <barbara.muraus@gmail.com>
+           Issa Alkurtass <ialkurtass@kacst.edu.sa>
+           Norah Abanumay <nabanimy@kacst.edu.sa>
+           Copyright 2017-2018 Matthias Freund <matti_lx@mailbox.org>
+License: CC-BY-SA-3.0
+
+Files: icon-themes/elementary*/*
+Copyright: Copyright 2015 by Simon Steinbeiss <simon@xfce.org>, Pasi Lallinaho <pasi@shimmerproject.org>
+License: GPL-3+
+
+Files: icon-themes/colibre*/*
+Copyright: Copyright 2018 Andreas Kainz <kainz.a@gmail.com>
+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 <sundaralinux@gmail.com>
+License: LGPL-3+
+
+Files: icon-themes/sukapura*/*
+Copyright: Copyright (c) 2019-2020 Rizal Muttaqin <riz_17_oke@yahoo.co.id>
+License: MPL-2.0
+
+Files: helpcontent2/help3xsl/normalize.css
+Copyright: Copyright © Nicolas Gallagher and Jonathan Neal
+License: Expat
+
+Files: helpcontent2/help3xsl/prism.js
+Copyright: Copyright (c) Lea Verou <https://lea.verou.me>
+License: MIT
+
+Files: helpcontent2/help3xsl/prism.css
+Copyright: Copyright (c) Tim  Shedor
+License: MIT
+
+Files: debian/*
+Copyright: Copyright (C) 2002-2009 Software in the Public Interest, Inc.
+License: GPL-2
+
+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/dtoa*
+Copyright: Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
+License: Expat
+
+# https://github.com/google/skia/blob/master/LICENSE
+Files: tarballs/skia*
+Copyright: Copyright (c) 2011 Google Inc.
+License: BSD-3-clause
+
+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.
+
+Files: debian/patches/add-access2base-doc.diff wizards/source/access2base/access2base.html
+Copyright: Copyright (c) Jeremy Ruston 2004-2007
+           Copyright (c) UnaMesa Association 2007-2012
+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 the UnaMesa Association 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.
+
+Files: helpcontent2/help3xsl/polyfills.js
+Copyright: Copyright (c) 2016-present, jszhou
+License: MIT
+
+Files: helpcontent2/help3xsl/polyfills.js
+Copyright: Copyright (C) 2015 Larry Davis
+License: BSD-2-clause
+
+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/gir1.2-lokdocview-0.1.maintscript b/debian/gir1.2-lokdocview-0.1.maintscript
new file mode 100644 (file)
index 0000000..af2542f
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/gir1.2-lokdocview-0.1 /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/liblibreoffice-java.lintian-overrides b/debian/liblibreoffice-java.lintian-overrides
new file mode 100644 (file)
index 0000000..1684771
--- /dev/null
@@ -0,0 +1,5 @@
+liblibreoffice-java: codeless-jar [usr/share/java/juh-*.jar]
+liblibreoffice-java: codeless-jar [usr/share/java/jurt-*.jar]
+liblibreoffice-java: codeless-jar [usr/share/java/ridl-*.jar]
+liblibreoffice-java: codeless-jar [usr/share/java/unoil-*.jar]
+liblibreoffice-java: classpath-contains-relative-path ../ [usr/share/java/libreoffice-*.jar]
diff --git a/debian/liblibreoffice-java.poms b/debian/liblibreoffice-java.poms
new file mode 100644 (file)
index 0000000..e73276d
--- /dev/null
@@ -0,0 +1,32 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [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 <parent> tag from the POM
+#   --package=<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=<elem1,elem2>: a list of XML elements to keep in the POM
+#      during a clean operation with mh_cleanpom or mh_installpom
+#   --artifact=<path>: 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>: name to use when installing the library in /usr/share/java
+#   --usj-version=<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=<path>: the destination for the real jar.
+#     It will be installed with mh_install. [mh_install]
+#   --classifier=<classifier>: Optional, the classifier for the jar. Empty by default.
+#   --site-xml=<location>: 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.unoil.xml --no-parent --has-package-version
+debian/pom.libreoffice.xml --no-parent --has-package-version
diff --git a/debian/liblibreofficekitgtk.links b/debian/liblibreofficekitgtk.links
new file mode 100644 (file)
index 0000000..c8017de
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/libreoffice/program/liblibreofficekitgtk.so usr/lib/liblibreofficekitgtk.so
diff --git a/debian/liblibreofficekitgtk.maintscript b/debian/liblibreofficekitgtk.maintscript
new file mode 100644 (file)
index 0000000..bc4fa41
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/liblibreofficekitgtk /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libofficebean-java.poms b/debian/libofficebean-java.poms
new file mode 100644 (file)
index 0000000..36e613a
--- /dev/null
@@ -0,0 +1,28 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [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 <parent> tag from the POM
+#   --package=<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=<elem1,elem2>: a list of XML elements to keep in the POM
+#      during a clean operation with mh_cleanpom or mh_installpom
+#   --artifact=<path>: 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>: name to use when installing the library in /usr/share/java
+#   --usj-version=<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=<path>: the destination for the real jar.
+#     It will be installed with mh_install. [mh_install]
+#   --classifier=<classifier>: Optional, the classifier for the jar. Empty by default.
+#   --site-xml=<location>: 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-avmedia-backend-gstreamer.maintscript b/debian/libreoffice-avmedia-backend-gstreamer.maintscript
new file mode 100644 (file)
index 0000000..b89fd7b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-avmedia-backend-gstreamer /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-base-core.maintscript b/debian/libreoffice-base-core.maintscript
new file mode 100644 (file)
index 0000000..de6bf06
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-base-core /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-base-drivers.NEWS b/debian/libreoffice-base-drivers.NEWS
new file mode 100644 (file)
index 0000000..049002c
--- /dev/null
@@ -0,0 +1,14 @@
+libreoffice (1:6.2.0~beta1-1) 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 <rene@debian.org>  Fri, 16 Nov 2018 19:35:22 +0100
diff --git a/debian/libreoffice-base-drivers.lintian-overrides b/debian/libreoffice-base-drivers.lintian-overrides
new file mode 100644 (file)
index 0000000..2e33386
--- /dev/null
@@ -0,0 +1,2 @@
+# "aged out" due to debhelpers changelog trimming (see #1021502)
+libreoffice-base-drivers: debian-news-entry-has-unknown-version 1:6.2.0~beta1-1 [usr/share/doc/libreoffice-base-drivers/NEWS.Debian.gz:1]
diff --git a/debian/libreoffice-base-drivers.maintscript b/debian/libreoffice-base-drivers.maintscript
new file mode 100644 (file)
index 0000000..a2c6bc2
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-base-drivers /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-base-nogui.bug-control b/debian/libreoffice-base-nogui.bug-control
new file mode 100644 (file)
index 0000000..b06c62e
--- /dev/null
@@ -0,0 +1,2 @@
+report-with: libreoffice-core libreoffice-core-nogui
+package-status: unixodbc libmyodbc odbc-postgresql libsqliteodbc tdsodbc mdbtools libmariadb-java libmysql-java libpg-java libsapdbc-java
diff --git a/debian/libreoffice-base-nogui.mime b/debian/libreoffice-base-nogui.mime
new file mode 100644 (file)
index 0000000..3174fcc
--- /dev/null
@@ -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-nogui.ucf b/debian/libreoffice-base-nogui.ucf
new file mode 100644 (file)
index 0000000..79c8af2
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/base.xcd /etc/libreoffice/registry/base.xcd
diff --git a/debian/libreoffice-base.NEWS b/debian/libreoffice-base.NEWS
new file mode 100644 (file)
index 0000000..b7a30f1
--- /dev/null
@@ -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 <rene@debian.org>  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 (file)
index 0000000..31f42c1
--- /dev/null
@@ -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 (file)
index 0000000..458c78f
--- /dev/null
@@ -0,0 +1,3 @@
+libreoffice-base: desktop-command-not-in-package libreoffice [usr/share/applications/libreoffice-base.desktop]
+# "aged out" due to debhelpers changelog trimming (see #1021502)
+libreoffice-base: debian-news-entry-has-unknown-version 1:4.2.1-1 [usr/share/doc/libreoffice-base/NEWS.Debian.gz:1]
diff --git a/debian/libreoffice-base.maintscript b/debian/libreoffice-base.maintscript
new file mode 100644 (file)
index 0000000..14d5ac4
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-base /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-base.manpages b/debian/libreoffice-base.manpages
new file mode 100644 (file)
index 0000000..144eec7
--- /dev/null
@@ -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 (file)
index 0000000..3174fcc
--- /dev/null
@@ -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.preinst.in b/debian/libreoffice-base.preinst.in
new file mode 100644 (file)
index 0000000..08ab83a
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+#INCLUDE_SHELL_LIB#
+
+if [ upgrade = "$1" ] || dpkg --compare-versions "$2" lt 1:6.4.0~beta1-2; then
+       dpkg-divert --remove --no-rename \
+               --divert /usr/lib/libreoffice/share/basic/dialog.xlc.noaccess \
+                       /usr/lib/libreoffice/share/basic/dialog.xlc
+       dpkg-divert --remove --no-rename \
+               --divert /usr/lib/libreoffice/share/basic/script.xlc.noaccess \
+                       /usr/lib/libreoffice/share/basic/script.xlc
+       # cleanup
+       rm -f /usr/lib/libreoffice/share/basic/script.xlc.noaccess
+       rm -f /usr/lib/libreoffice/share/basic/dialog.xlc.noaccess
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libreoffice-base.ucf b/debian/libreoffice-base.ucf
new file mode 100644 (file)
index 0000000..79c8af2
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/base.xcd /etc/libreoffice/registry/base.xcd
diff --git a/debian/libreoffice-calc-nogui.lintian-overrides b/debian/libreoffice-calc-nogui.lintian-overrides
new file mode 100644 (file)
index 0000000..630bb42
--- /dev/null
@@ -0,0 +1 @@
+libreoffice-calc-nogui: binary-or-shlib-defines-rpath
diff --git a/debian/libreoffice-calc-nogui.mime b/debian/libreoffice-calc-nogui.mime
new file mode 100644 (file)
index 0000000..d306e62
--- /dev/null
@@ -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-calc-nogui.ucf b/debian/libreoffice-calc-nogui.ucf
new file mode 100644 (file)
index 0000000..4820977
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/calc.xcd /etc/libreoffice/registry/calc.xcd
diff --git a/debian/libreoffice-calc.bug-control b/debian/libreoffice-calc.bug-control
new file mode 100644 (file)
index 0000000..1ac405f
--- /dev/null
@@ -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 (file)
index 0000000..ba31100
--- /dev/null
@@ -0,0 +1,2 @@
+libreoffice-calc: binary-or-shlib-defines-rpath
+libreoffice-calc: desktop-command-not-in-package libreoffice [usr/share/applications/libreoffice-calc.desktop]
diff --git a/debian/libreoffice-calc.maintscript b/debian/libreoffice-calc.maintscript
new file mode 100644 (file)
index 0000000..859933b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-calc /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-calc.manpages b/debian/libreoffice-calc.manpages
new file mode 100644 (file)
index 0000000..a4b78ee
--- /dev/null
@@ -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 (file)
index 0000000..d306e62
--- /dev/null
@@ -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-calc.ucf b/debian/libreoffice-calc.ucf
new file mode 100644 (file)
index 0000000..4820977
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/calc.xcd /etc/libreoffice/registry/calc.xcd
diff --git a/debian/libreoffice-common.docs b/debian/libreoffice-common.docs
new file mode 100644 (file)
index 0000000..e267579
--- /dev/null
@@ -0,0 +1 @@
+wizards/source/access2base/access2base.html
diff --git a/debian/libreoffice-common.links.in b/debian/libreoffice-common.links.in
new file mode 100644 (file)
index 0000000..8365f3e
--- /dev/null
@@ -0,0 +1,37 @@
+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
+etc/libreoffice/registry usr/lib/libreoffice/share/registry
diff --git a/debian/libreoffice-common.lintian-overrides b/debian/libreoffice-common.lintian-overrides
new file mode 100644 (file)
index 0000000..efdaf3d
--- /dev/null
@@ -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 (file)
index 0000000..e3da9c1
--- /dev/null
@@ -0,0 +1,11 @@
+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
+
+# do this manually since dpkg-maintscript-helper dir_to_symlink
+# does not work reliably in this case because we cannot ensure that all
+# conflicting packages previously shipping files in
+# /usr/lib/libreoffice/share/registry are either upgraded or removed
+# but not just deconfigured, see #985297
+#dir_to_symlink /usr/lib/libreoffice/share/registry /etc/libreoffice/registry 1:7.0.2~rc1-1
diff --git a/debian/libreoffice-common.manpages b/debian/libreoffice-common.manpages
new file mode 100644 (file)
index 0000000..37ce2e8
--- /dev/null
@@ -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 (file)
index 0000000..dd95adf
--- /dev/null
@@ -0,0 +1,43 @@
+#!/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#
+
+# do this manually since dpkg-maintscript-helper dir_to_symlink
+# does not work reliably in this case because we cannot ensure that all
+# conflicting packages previously shipping files in
+# /usr/lib/libreoffice/share/registry are either upgraded or removed
+# but not just deconfigured, see #985297
+if [ "$1" = "configure" ] && dpkg --compare-versions "$2" lt-nl "1:7.0.4-4~" ; then
+       if [ ! -L /usr/lib/libreoffice/share/registry ]; then
+               if [ -d /usr/lib/libreoffice/share/registry ]; then
+                       # this will fail if the directory is not yet empty
+                       rmdir -v /usr/lib/libreoffice/share/registry
+               fi
+               ln -sfvT /etc/libreoffice/registry /usr/lib/libreoffice/share/registry
+       fi
+fi
diff --git a/debian/libreoffice-common.postrm.in b/debian/libreoffice-common.postrm.in
new file mode 100644 (file)
index 0000000..c4471b5
--- /dev/null
@@ -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.preinst.in b/debian/libreoffice-common.preinst.in
new file mode 100644 (file)
index 0000000..d1a322c
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+# fix up broken 0 byte file, should be a dir
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt-nl "1:7.4.1~rc1-3"; then
+        if [ -f /@OODIR@/share/extensions -a ! -s /@OODIR@/share/extensions ]; then
+                rm /@OODIR@/share/extensions
+        fi
+fi
+
+#DEBHELPER#
diff --git a/debian/libreoffice-common.triggers.in b/debian/libreoffice-common.triggers.in
new file mode 100644 (file)
index 0000000..2743017
--- /dev/null
@@ -0,0 +1,2 @@
+interest-noawait /@OODIR@/share/extensions
+interest-noawait /@OODIR@
diff --git a/debian/libreoffice-common.ucf b/debian/libreoffice-common.ucf
new file mode 100644 (file)
index 0000000..b929f5f
--- /dev/null
@@ -0,0 +1,6 @@
+/usr/lib/libreoffice/share/.registry/main.xcd /etc/libreoffice/registry/main.xcd
+/usr/lib/libreoffice/share/.registry/pdfimport.xcd /etc/libreoffice/registry/pdfimport.xcd
+/usr/lib/libreoffice/share/.registry/xsltfilter.xcd /etc/libreoffice/registry/xsltfilter.xcd
+/usr/lib/libreoffice/share/.registry/lingucomponent.xcd /etc/libreoffice/registry/lingucomponent.xcd
+/usr/lib/libreoffice/share/.registry/Langpack-en-US.xcd /etc/libreoffice/registry/Langpack-en-US.xcd
+/usr/lib/libreoffice/share/.registry/res/fcfg_langpack_en-US.xcd /etc/libreoffice/registry/res/fcfg_langpack_en-US.xcd
diff --git a/debian/libreoffice-core-nogui.bug-control b/debian/libreoffice-core-nogui.bug-control
new file mode 100644 (file)
index 0000000..7dc2257
--- /dev/null
@@ -0,0 +1 @@
+report-with: libreoffice-common libreoffice-java-common fonts-opensymbol ure-java
diff --git a/debian/libreoffice-core-nogui.bug-script.in b/debian/libreoffice-core-nogui.bug-script.in
new file mode 100755 (executable)
index 0000000..bba16b1
--- /dev/null
@@ -0,0 +1,16 @@
+#!/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
+
diff --git a/debian/libreoffice-core.NEWS b/debian/libreoffice-core.NEWS
new file mode 100644 (file)
index 0000000..56dca91
--- /dev/null
@@ -0,0 +1,13 @@
+libreoffice (1:7.4.2~rc1-1) unstable; urgency=low
+
+  * LibreOffice 7.4.0/7.4.1 contained a bug about wrongly remembering the
+    size of the LibreOffice windows. (Most prominently showing inside KDE).
+    .
+    This has been fixed in 7.4.2 but you experience this problem even after
+    a second start of the new LibreOffice you might either need to reset your
+    user profile or remove the affecting keys from it manuallly
+    (ooSetupFactoryWindowAttributes in
+    ~/.config/libreofficei/4/user/registrymodifications.xcu)
+
+ -- Rene Engelhard <rene@debian.org>  Wed, 09 Nov 2022 07:31:23 +0200
+
diff --git a/debian/libreoffice-core.bug-control b/debian/libreoffice-core.bug-control
new file mode 100644 (file)
index 0000000..389aa41
--- /dev/null
@@ -0,0 +1,2 @@
+report-with: ure-java libreoffice-common libreoffice-java-common fonts-opensymbol
+package-status: libxrender1 libxinerama1 libsane iceweasel firefox icedove iceape-browser 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 (executable)
index 0000000..2bfd1be
--- /dev/null
@@ -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-gtk3 libreoffice-qt5 libreoffice-kf5 >&3
diff --git a/debian/libreoffice-core.maintscript b/debian/libreoffice-core.maintscript
new file mode 100644 (file)
index 0000000..926d53c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-core /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-core.postrm.in b/debian/libreoffice-core.postrm.in
new file mode 100755 (executable)
index 0000000..95ed9cb
--- /dev/null
@@ -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-common.maintscript b/debian/libreoffice-dev-common.maintscript
new file mode 100644 (file)
index 0000000..d9ebd73
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-dev-common /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-dev-doc.links b/debian/libreoffice-dev-doc.links
new file mode 100644 (file)
index 0000000..7e6fd17
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc/libreoffice/sdk/docs usr/share/doc/libreoffice-dev-doc/api
diff --git a/debian/libreoffice-dev.maintscript b/debian/libreoffice-dev.maintscript
new file mode 100644 (file)
index 0000000..dc89bb3
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-dev /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-draw-nogui.bug-control b/debian/libreoffice-draw-nogui.bug-control
new file mode 100644 (file)
index 0000000..f7a2b99
--- /dev/null
@@ -0,0 +1 @@
+report-with: libreoffice-core libreoffice-core-nogui
diff --git a/debian/libreoffice-draw-nogui.mime b/debian/libreoffice-draw-nogui.mime
new file mode 100644 (file)
index 0000000..e0b81d3
--- /dev/null
@@ -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-draw-nogui.ucf b/debian/libreoffice-draw-nogui.ucf
new file mode 100644 (file)
index 0000000..a1e42c7
--- /dev/null
@@ -0,0 +1,2 @@
+/usr/lib/libreoffice/share/.registry/draw.xcd /etc/libreoffice/registry/draw.xcd
+/usr/lib/libreoffice/share/.registry/graphicfilter.xcd /etc/libreoffice/registry/graphicfilter.xcd
diff --git a/debian/libreoffice-draw.bug-control b/debian/libreoffice-draw.bug-control
new file mode 100644 (file)
index 0000000..1ac405f
--- /dev/null
@@ -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 (file)
index 0000000..6e0f4c2
--- /dev/null
@@ -0,0 +1 @@
+libreoffice-draw: desktop-command-not-in-package libreoffice [usr/share/applications/libreoffice-draw.desktop]
diff --git a/debian/libreoffice-draw.maintscript b/debian/libreoffice-draw.maintscript
new file mode 100644 (file)
index 0000000..cf0ace6
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-draw /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-draw.manpages b/debian/libreoffice-draw.manpages
new file mode 100644 (file)
index 0000000..3267e53
--- /dev/null
@@ -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 (file)
index 0000000..e0b81d3
--- /dev/null
@@ -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-draw.ucf b/debian/libreoffice-draw.ucf
new file mode 100644 (file)
index 0000000..a1e42c7
--- /dev/null
@@ -0,0 +1,2 @@
+/usr/lib/libreoffice/share/.registry/draw.xcd /etc/libreoffice/registry/draw.xcd
+/usr/lib/libreoffice/share/.registry/graphicfilter.xcd /etc/libreoffice/registry/graphicfilter.xcd
diff --git a/debian/libreoffice-evolution.bug-control b/debian/libreoffice-evolution.bug-control
new file mode 100644 (file)
index 0000000..aa427de
--- /dev/null
@@ -0,0 +1 @@
+report-with: libreoffice-core evolution libreoffice-base
diff --git a/debian/libreoffice-evolution.maintscript b/debian/libreoffice-evolution.maintscript
new file mode 100644 (file)
index 0000000..3d581a3
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-evolution /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-evolution.ucf b/debian/libreoffice-evolution.ucf
new file mode 100644 (file)
index 0000000..8b029ed
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/evoab.xcd /etc/libreoffice/registry/evoab.xcd
diff --git a/debian/libreoffice-gnome.maintscript b/debian/libreoffice-gnome.maintscript
new file mode 100644 (file)
index 0000000..5ea20d6
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-gnome /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-gnome.ucf b/debian/libreoffice-gnome.ucf
new file mode 100644 (file)
index 0000000..7306c2e
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/gnome.xcd /etc/libreoffice/registry/gnome.xcd
diff --git a/debian/libreoffice-gtk3.maintscript b/debian/libreoffice-gtk3.maintscript
new file mode 100644 (file)
index 0000000..284aead
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-gtk3 /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-help-ca-valencia.maintscript b/debian/libreoffice-help-ca-valencia.maintscript
new file mode 100644 (file)
index 0000000..333a3f8
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-ca-valencia /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-ca.maintscript b/debian/libreoffice-help-ca.maintscript
new file mode 100644 (file)
index 0000000..36688ec
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-ca /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-common.links b/debian/libreoffice-help-common.links
new file mode 100644 (file)
index 0000000..83497a2
--- /dev/null
@@ -0,0 +1,3 @@
+/usr/share/javascript/normalize.css/normalize.css usr/share/libreoffice/help/normalize.css
+/usr/share/nodejs/prismjs/prism.js usr/share/libreoffice/help/prism.js
+/usr/share/nodejs/prismjs/themes/prism-coy.css usr/share/libreoffice/help/prism.css
diff --git a/debian/libreoffice-help-common.maintscript b/debian/libreoffice-help-common.maintscript
new file mode 100644 (file)
index 0000000..635c1ca
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-common /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-cs.maintscript b/debian/libreoffice-help-cs.maintscript
new file mode 100644 (file)
index 0000000..24048ea
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-cs /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-da.maintscript b/debian/libreoffice-help-da.maintscript
new file mode 100644 (file)
index 0000000..fdf5f33
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-da /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-de.maintscript b/debian/libreoffice-help-de.maintscript
new file mode 100644 (file)
index 0000000..d55b766
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-de /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-dz.maintscript b/debian/libreoffice-help-dz.maintscript
new file mode 100644 (file)
index 0000000..d4fe014
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-dz /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-el.maintscript b/debian/libreoffice-help-el.maintscript
new file mode 100644 (file)
index 0000000..5ad40b1
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-el /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-en-gb.maintscript b/debian/libreoffice-help-en-gb.maintscript
new file mode 100644 (file)
index 0000000..f038600
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-en-gb /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-en-us.maintscript b/debian/libreoffice-help-en-us.maintscript
new file mode 100644 (file)
index 0000000..a4a63f7
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-en-us /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-es.maintscript b/debian/libreoffice-help-es.maintscript
new file mode 100644 (file)
index 0000000..2b04756
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-es /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-et.maintscript b/debian/libreoffice-help-et.maintscript
new file mode 100644 (file)
index 0000000..d65fd19
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-et /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-eu.maintscript b/debian/libreoffice-help-eu.maintscript
new file mode 100644 (file)
index 0000000..e243177
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-eu /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-fi.maintscript b/debian/libreoffice-help-fi.maintscript
new file mode 100644 (file)
index 0000000..93b944a
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-fi /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-fr.maintscript b/debian/libreoffice-help-fr.maintscript
new file mode 100644 (file)
index 0000000..d94c693
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-fr /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-gl.maintscript b/debian/libreoffice-help-gl.maintscript
new file mode 100644 (file)
index 0000000..10cabd0
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-gl /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-hi.maintscript b/debian/libreoffice-help-hi.maintscript
new file mode 100644 (file)
index 0000000..34485e8
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-hi /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-hu.maintscript b/debian/libreoffice-help-hu.maintscript
new file mode 100644 (file)
index 0000000..9d307fb
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-hu /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-id.maintscript b/debian/libreoffice-help-id.maintscript
new file mode 100644 (file)
index 0000000..9dfe92f
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-id /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-it.maintscript b/debian/libreoffice-help-it.maintscript
new file mode 100644 (file)
index 0000000..a9f1015
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-it /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-ja.maintscript b/debian/libreoffice-help-ja.maintscript
new file mode 100644 (file)
index 0000000..00db55c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-ja /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-km.maintscript b/debian/libreoffice-help-km.maintscript
new file mode 100644 (file)
index 0000000..2fb9ccd
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-km /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-ko.maintscript b/debian/libreoffice-help-ko.maintscript
new file mode 100644 (file)
index 0000000..aed2e03
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-ko /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-nl.maintscript b/debian/libreoffice-help-nl.maintscript
new file mode 100644 (file)
index 0000000..ab75a60
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-nl /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-om.maintscript b/debian/libreoffice-help-om.maintscript
new file mode 100644 (file)
index 0000000..64d5f54
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-om /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-pl.maintscript b/debian/libreoffice-help-pl.maintscript
new file mode 100644 (file)
index 0000000..b1fca4d
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-pl /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-pt-br.maintscript b/debian/libreoffice-help-pt-br.maintscript
new file mode 100644 (file)
index 0000000..ca4f77f
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-pt-br /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-pt.maintscript b/debian/libreoffice-help-pt.maintscript
new file mode 100644 (file)
index 0000000..5d36890
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-pt /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-ru.maintscript b/debian/libreoffice-help-ru.maintscript
new file mode 100644 (file)
index 0000000..13ff092
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-ru /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-sk.maintscript b/debian/libreoffice-help-sk.maintscript
new file mode 100644 (file)
index 0000000..9306f19
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-sk /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-sl.maintscript b/debian/libreoffice-help-sl.maintscript
new file mode 100644 (file)
index 0000000..88eba79
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-sl /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-sv.maintscript b/debian/libreoffice-help-sv.maintscript
new file mode 100644 (file)
index 0000000..4c23059
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-sv /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-tr.maintscript b/debian/libreoffice-help-tr.maintscript
new file mode 100644 (file)
index 0000000..08522b1
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-tr /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-vi.maintscript b/debian/libreoffice-help-vi.maintscript
new file mode 100644 (file)
index 0000000..c2ee611
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-vi /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-zh-cn.maintscript b/debian/libreoffice-help-zh-cn.maintscript
new file mode 100644 (file)
index 0000000..1e3c388
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-zh-cn /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help-zh-tw.maintscript b/debian/libreoffice-help-zh-tw.maintscript
new file mode 100644 (file)
index 0000000..b13206f
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-help-zh-tw /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-help.lintian-overrides.in b/debian/libreoffice-help.lintian-overrides.in
new file mode 100644 (file)
index 0000000..17fde6d
--- /dev/null
@@ -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-nogui.bug-control b/debian/libreoffice-impress-nogui.bug-control
new file mode 100644 (file)
index 0000000..285e78b
--- /dev/null
@@ -0,0 +1 @@
+report-with: libreoffice-core libreoffice-core-nogui libreoffice-draw libreoffice-draw-nogui
diff --git a/debian/libreoffice-impress-nogui.mime b/debian/libreoffice-impress-nogui.mime
new file mode 100644 (file)
index 0000000..ed8a11f
--- /dev/null
@@ -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-impress-nogui.ucf b/debian/libreoffice-impress-nogui.ucf
new file mode 100644 (file)
index 0000000..9a35613
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/impress.xcd /etc/libreoffice/registry/impress.xcd
diff --git a/debian/libreoffice-impress.bug-control b/debian/libreoffice-impress.bug-control
new file mode 100644 (file)
index 0000000..e7775ba
--- /dev/null
@@ -0,0 +1 @@
+report-with: libreoffice-core libreoffice-draw glx-alternative-nvidia
diff --git a/debian/libreoffice-impress.bug-script.in b/debian/libreoffice-impress.bug-script.in
new file mode 100644 (file)
index 0000000..f2bd614
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+dpkg -l | grep nvidia >&3
diff --git a/debian/libreoffice-impress.lintian-overrides b/debian/libreoffice-impress.lintian-overrides
new file mode 100644 (file)
index 0000000..c251e90
--- /dev/null
@@ -0,0 +1 @@
+libreoffice-impress: desktop-command-not-in-package libreoffice [usr/share/applications/libreoffice-impress.desktop]
diff --git a/debian/libreoffice-impress.maintscript b/debian/libreoffice-impress.maintscript
new file mode 100644 (file)
index 0000000..06608cf
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-impress /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-impress.manpages b/debian/libreoffice-impress.manpages
new file mode 100644 (file)
index 0000000..60ab514
--- /dev/null
@@ -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 (file)
index 0000000..ed8a11f
--- /dev/null
@@ -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-impress.ucf b/debian/libreoffice-impress.ucf
new file mode 100644 (file)
index 0000000..a2680a0
--- /dev/null
@@ -0,0 +1,2 @@
+/usr/lib/libreoffice/share/.registry/impress.xcd /etc/libreoffice/registry/impress.xcd
+/usr/lib/libreoffice/share/.registry/ogltrans.xcd /etc/libreoffice/registry/ogltrans.xcd
diff --git a/debian/libreoffice-java-common.maintscript b/debian/libreoffice-java-common.maintscript
new file mode 100644 (file)
index 0000000..38517c7
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-java-common /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-kde5.maintscript b/debian/libreoffice-kde5.maintscript
new file mode 100644 (file)
index 0000000..1711748
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-kde5 /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-kf5.maintscript b/debian/libreoffice-kf5.maintscript
new file mode 100644 (file)
index 0000000..37dbb42
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-kf5 /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-l10n-af.maintscript b/debian/libreoffice-l10n-af.maintscript
new file mode 100644 (file)
index 0000000..525bb4c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-af /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-am.maintscript b/debian/libreoffice-l10n-am.maintscript
new file mode 100644 (file)
index 0000000..2df6ddb
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-am /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ar.maintscript b/debian/libreoffice-l10n-ar.maintscript
new file mode 100644 (file)
index 0000000..da522ca
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ar /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-as.maintscript b/debian/libreoffice-l10n-as.maintscript
new file mode 100644 (file)
index 0000000..926ab90
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-as /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ast.maintscript b/debian/libreoffice-l10n-ast.maintscript
new file mode 100644 (file)
index 0000000..df6ea66
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ast /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-be.maintscript b/debian/libreoffice-l10n-be.maintscript
new file mode 100644 (file)
index 0000000..53b4bd4
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-be /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-bg.maintscript b/debian/libreoffice-l10n-bg.maintscript
new file mode 100644 (file)
index 0000000..e8ba218
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-bg /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-bn.maintscript b/debian/libreoffice-l10n-bn.maintscript
new file mode 100644 (file)
index 0000000..78da960
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-bn /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-br.maintscript b/debian/libreoffice-l10n-br.maintscript
new file mode 100644 (file)
index 0000000..d92f240
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-br /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-bs.maintscript b/debian/libreoffice-l10n-bs.maintscript
new file mode 100644 (file)
index 0000000..1178e5a
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-bs /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ca.maintscript b/debian/libreoffice-l10n-ca.maintscript
new file mode 100644 (file)
index 0000000..471887d
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ca /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-cs.maintscript b/debian/libreoffice-l10n-cs.maintscript
new file mode 100644 (file)
index 0000000..29d0c0a
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-cs /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-cy.maintscript b/debian/libreoffice-l10n-cy.maintscript
new file mode 100644 (file)
index 0000000..3b30f96
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-cy /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-da.maintscript b/debian/libreoffice-l10n-da.maintscript
new file mode 100644 (file)
index 0000000..3cbf1d4
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-da /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-de.maintscript b/debian/libreoffice-l10n-de.maintscript
new file mode 100644 (file)
index 0000000..68063de
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-de /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-dz.maintscript b/debian/libreoffice-l10n-dz.maintscript
new file mode 100644 (file)
index 0000000..76c5197
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-dz /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-el.maintscript b/debian/libreoffice-l10n-el.maintscript
new file mode 100644 (file)
index 0000000..f9f850b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-el /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-en-gb.maintscript b/debian/libreoffice-l10n-en-gb.maintscript
new file mode 100644 (file)
index 0000000..f0ecabc
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-en-gb /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-en-us.maintscript b/debian/libreoffice-l10n-en-us.maintscript
new file mode 100644 (file)
index 0000000..edba260
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-en-us /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-en-za.maintscript b/debian/libreoffice-l10n-en-za.maintscript
new file mode 100644 (file)
index 0000000..1897e7b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-en-za /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-eo.maintscript b/debian/libreoffice-l10n-eo.maintscript
new file mode 100644 (file)
index 0000000..6734501
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-eo /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-es.maintscript b/debian/libreoffice-l10n-es.maintscript
new file mode 100644 (file)
index 0000000..e3287c6
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-es /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-et.maintscript b/debian/libreoffice-l10n-et.maintscript
new file mode 100644 (file)
index 0000000..c3e25bb
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-et /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-eu.maintscript b/debian/libreoffice-l10n-eu.maintscript
new file mode 100644 (file)
index 0000000..a503c6d
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-eu /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-fa.maintscript b/debian/libreoffice-l10n-fa.maintscript
new file mode 100644 (file)
index 0000000..4b70296
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-fa /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-fi.maintscript b/debian/libreoffice-l10n-fi.maintscript
new file mode 100644 (file)
index 0000000..cf6d449
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-fi /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-fr.maintscript b/debian/libreoffice-l10n-fr.maintscript
new file mode 100644 (file)
index 0000000..6d31349
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-fr /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ga.maintscript b/debian/libreoffice-l10n-ga.maintscript
new file mode 100644 (file)
index 0000000..165629c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ga /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-gd.maintscript b/debian/libreoffice-l10n-gd.maintscript
new file mode 100644 (file)
index 0000000..4748b69
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-gd /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-gl.maintscript b/debian/libreoffice-l10n-gl.maintscript
new file mode 100644 (file)
index 0000000..4abfef8
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-gl /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-gu.maintscript b/debian/libreoffice-l10n-gu.maintscript
new file mode 100644 (file)
index 0000000..d28f9b6
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-gu /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-gug.maintscript b/debian/libreoffice-l10n-gug.maintscript
new file mode 100644 (file)
index 0000000..22caeda
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-gug /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-he.maintscript b/debian/libreoffice-l10n-he.maintscript
new file mode 100644 (file)
index 0000000..48c588c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-he /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-hi.maintscript b/debian/libreoffice-l10n-hi.maintscript
new file mode 100644 (file)
index 0000000..c1aafd3
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-hi /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-hr.maintscript b/debian/libreoffice-l10n-hr.maintscript
new file mode 100644 (file)
index 0000000..7924ca0
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-hr /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-hu.maintscript b/debian/libreoffice-l10n-hu.maintscript
new file mode 100644 (file)
index 0000000..042765e
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-hu /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-id.maintscript b/debian/libreoffice-l10n-id.maintscript
new file mode 100644 (file)
index 0000000..e18551b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-id /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-in.maintscript b/debian/libreoffice-l10n-in.maintscript
new file mode 100644 (file)
index 0000000..230d48c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-in /usr/share/doc/libreoffice-common 1:6.4.0-1
diff --git a/debian/libreoffice-l10n-is.maintscript b/debian/libreoffice-l10n-is.maintscript
new file mode 100644 (file)
index 0000000..3631a6a
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-is /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-it.maintscript b/debian/libreoffice-l10n-it.maintscript
new file mode 100644 (file)
index 0000000..18be5b4
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-it /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ja.maintscript b/debian/libreoffice-l10n-ja.maintscript
new file mode 100644 (file)
index 0000000..7ce6104
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ja /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ka.maintscript b/debian/libreoffice-l10n-ka.maintscript
new file mode 100644 (file)
index 0000000..8698115
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ka /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-kk.maintscript b/debian/libreoffice-l10n-kk.maintscript
new file mode 100644 (file)
index 0000000..b749dd7
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-kk /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-km.maintscript b/debian/libreoffice-l10n-km.maintscript
new file mode 100644 (file)
index 0000000..30a3839
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-km /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-kmr.maintscript b/debian/libreoffice-l10n-kmr.maintscript
new file mode 100644 (file)
index 0000000..d7405d3
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-kmr /usr/share/doc/libreoffice-common 1:6.4.0-1
diff --git a/debian/libreoffice-l10n-kn.maintscript b/debian/libreoffice-l10n-kn.maintscript
new file mode 100644 (file)
index 0000000..6d4a373
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-kn /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ko.maintscript b/debian/libreoffice-l10n-ko.maintscript
new file mode 100644 (file)
index 0000000..2054fa9
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ko /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-lt.maintscript b/debian/libreoffice-l10n-lt.maintscript
new file mode 100644 (file)
index 0000000..1cac226
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-lt /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-lv.maintscript b/debian/libreoffice-l10n-lv.maintscript
new file mode 100644 (file)
index 0000000..7df0115
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-lv /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-mk.maintscript b/debian/libreoffice-l10n-mk.maintscript
new file mode 100644 (file)
index 0000000..597b3b7
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-mk /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ml.maintscript b/debian/libreoffice-l10n-ml.maintscript
new file mode 100644 (file)
index 0000000..1c377d5
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ml /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-mn.maintscript b/debian/libreoffice-l10n-mn.maintscript
new file mode 100644 (file)
index 0000000..d1a6d0e
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-mn /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-mr.maintscript b/debian/libreoffice-l10n-mr.maintscript
new file mode 100644 (file)
index 0000000..e2c755e
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-mr /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-nb.maintscript b/debian/libreoffice-l10n-nb.maintscript
new file mode 100644 (file)
index 0000000..db28244
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-nb /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ne.maintscript b/debian/libreoffice-l10n-ne.maintscript
new file mode 100644 (file)
index 0000000..464ae4b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ne /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-nl.maintscript b/debian/libreoffice-l10n-nl.maintscript
new file mode 100644 (file)
index 0000000..700d497
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-nl /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-nn.maintscript b/debian/libreoffice-l10n-nn.maintscript
new file mode 100644 (file)
index 0000000..b5f2d17
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-nn /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-nr.maintscript b/debian/libreoffice-l10n-nr.maintscript
new file mode 100644 (file)
index 0000000..b619763
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-nr /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-nso.maintscript b/debian/libreoffice-l10n-nso.maintscript
new file mode 100644 (file)
index 0000000..bb4394e
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-nso /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-oc.maintscript b/debian/libreoffice-l10n-oc.maintscript
new file mode 100644 (file)
index 0000000..b71f2f3
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-oc /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-om.maintscript b/debian/libreoffice-l10n-om.maintscript
new file mode 100644 (file)
index 0000000..976dc25
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-om /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-or.maintscript b/debian/libreoffice-l10n-or.maintscript
new file mode 100644 (file)
index 0000000..b3b20c5
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-or /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-pa-in.maintscript b/debian/libreoffice-l10n-pa-in.maintscript
new file mode 100644 (file)
index 0000000..3cf7b3b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-pa-in /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-pl.maintscript b/debian/libreoffice-l10n-pl.maintscript
new file mode 100644 (file)
index 0000000..08b60dc
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-pl /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-pt-br.maintscript b/debian/libreoffice-l10n-pt-br.maintscript
new file mode 100644 (file)
index 0000000..f7541ad
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-pt-br /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-pt.maintscript b/debian/libreoffice-l10n-pt.maintscript
new file mode 100644 (file)
index 0000000..fb7c10c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-pt /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ro.maintscript b/debian/libreoffice-l10n-ro.maintscript
new file mode 100644 (file)
index 0000000..0d5acb3
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ro /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ru.maintscript b/debian/libreoffice-l10n-ru.maintscript
new file mode 100644 (file)
index 0000000..1956e1c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ru /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-rw.maintscript b/debian/libreoffice-l10n-rw.maintscript
new file mode 100644 (file)
index 0000000..5451935
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-rw /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-si.maintscript b/debian/libreoffice-l10n-si.maintscript
new file mode 100644 (file)
index 0000000..092ada5
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-si /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-sk.maintscript b/debian/libreoffice-l10n-sk.maintscript
new file mode 100644 (file)
index 0000000..f2913ab
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-sk /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-sl.maintscript b/debian/libreoffice-l10n-sl.maintscript
new file mode 100644 (file)
index 0000000..301770c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-sl /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-sr.maintscript b/debian/libreoffice-l10n-sr.maintscript
new file mode 100644 (file)
index 0000000..761543f
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-sr /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ss.maintscript b/debian/libreoffice-l10n-ss.maintscript
new file mode 100644 (file)
index 0000000..349d0a7
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ss /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-st.maintscript b/debian/libreoffice-l10n-st.maintscript
new file mode 100644 (file)
index 0000000..e5a9f05
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-st /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-sv.maintscript b/debian/libreoffice-l10n-sv.maintscript
new file mode 100644 (file)
index 0000000..0f6f76c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-sv /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ta.maintscript b/debian/libreoffice-l10n-ta.maintscript
new file mode 100644 (file)
index 0000000..799d853
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ta /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-te.maintscript b/debian/libreoffice-l10n-te.maintscript
new file mode 100644 (file)
index 0000000..ed90e6e
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-te /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-tg.maintscript b/debian/libreoffice-l10n-tg.maintscript
new file mode 100644 (file)
index 0000000..6c51ccf
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-tg /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-th.maintscript b/debian/libreoffice-l10n-th.maintscript
new file mode 100644 (file)
index 0000000..fa87878
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-th /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-tn.maintscript b/debian/libreoffice-l10n-tn.maintscript
new file mode 100644 (file)
index 0000000..b64f5de
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-tn /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-tr.maintscript b/debian/libreoffice-l10n-tr.maintscript
new file mode 100644 (file)
index 0000000..b41b6e9
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-tr /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ts.maintscript b/debian/libreoffice-l10n-ts.maintscript
new file mode 100644 (file)
index 0000000..b6596f5
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ts /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ug.maintscript b/debian/libreoffice-l10n-ug.maintscript
new file mode 100644 (file)
index 0000000..7a295b3
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ug /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-uk.maintscript b/debian/libreoffice-l10n-uk.maintscript
new file mode 100644 (file)
index 0000000..2436b0d
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-uk /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-uz.maintscript b/debian/libreoffice-l10n-uz.maintscript
new file mode 100644 (file)
index 0000000..bf8c49d
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-uz /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-ve.maintscript b/debian/libreoffice-l10n-ve.maintscript
new file mode 100644 (file)
index 0000000..1c77252
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-ve /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-vi.maintscript b/debian/libreoffice-l10n-vi.maintscript
new file mode 100644 (file)
index 0000000..0d15db9
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-vi /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-xh.maintscript b/debian/libreoffice-l10n-xh.maintscript
new file mode 100644 (file)
index 0000000..3803ac4
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-xh /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-za.maintscript b/debian/libreoffice-l10n-za.maintscript
new file mode 100644 (file)
index 0000000..8a568e6
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-za /usr/share/doc/libreoffice-common 1:6.4.0-1
diff --git a/debian/libreoffice-l10n-zh-cn.maintscript b/debian/libreoffice-l10n-zh-cn.maintscript
new file mode 100644 (file)
index 0000000..a74dbb3
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-zh-cn /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-zh-tw.maintscript b/debian/libreoffice-l10n-zh-tw.maintscript
new file mode 100644 (file)
index 0000000..e2b741c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-zh-tw /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n-zu.maintscript b/debian/libreoffice-l10n-zu.maintscript
new file mode 100644 (file)
index 0000000..d796b05
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-l10n-zu /usr/share/doc/libreoffice-common 1:6.4.0~rc1~git20191209
diff --git a/debian/libreoffice-l10n.ucf.in b/debian/libreoffice-l10n.ucf.in
new file mode 100644 (file)
index 0000000..2021b7b
--- /dev/null
@@ -0,0 +1,3 @@
+/usr/lib/libreoffice/share/.registry/Langpack-@ISO@.xcd /etc/libreoffice/registry/Langpack-@ISO@.xcd
+/usr/lib/libreoffice/share/.registry/res/fcfg_langpack_@ISO@.xcd /etc/libreoffice/registry/res/fcfg_langpack_@ISO@.xcd
+/usr/lib/libreoffice/share/.registry/res/registry_@ISO@.xcd /etc/libreoffice/registry/res/registry_@ISO@.xcd
diff --git a/debian/libreoffice-librelogo.ucf b/debian/libreoffice-librelogo.ucf
new file mode 100644 (file)
index 0000000..e2300cf
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/librelogo.xcd /etc/libreoffice/registry/librelogo.xcd
diff --git a/debian/libreoffice-math-nogui.bug-control b/debian/libreoffice-math-nogui.bug-control
new file mode 100644 (file)
index 0000000..f7a2b99
--- /dev/null
@@ -0,0 +1 @@
+report-with: libreoffice-core libreoffice-core-nogui
diff --git a/debian/libreoffice-math-nogui.mime b/debian/libreoffice-math-nogui.mime
new file mode 100644 (file)
index 0000000..ea64828
--- /dev/null
@@ -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-math-nogui.ucf b/debian/libreoffice-math-nogui.ucf
new file mode 100644 (file)
index 0000000..3ee48a8
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/math.xcd /etc/libreoffice/registry/math.xcd
diff --git a/debian/libreoffice-math.bug-control b/debian/libreoffice-math.bug-control
new file mode 100644 (file)
index 0000000..1ac405f
--- /dev/null
@@ -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 (file)
index 0000000..4544db7
--- /dev/null
@@ -0,0 +1 @@
+libreoffice-math: desktop-command-not-in-package libreoffice [usr/share/applications/libreoffice-math.desktop]
diff --git a/debian/libreoffice-math.maintscript b/debian/libreoffice-math.maintscript
new file mode 100644 (file)
index 0000000..9dbb167
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-math /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-math.manpages b/debian/libreoffice-math.manpages
new file mode 100644 (file)
index 0000000..6798b1e
--- /dev/null
@@ -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 (file)
index 0000000..ea64828
--- /dev/null
@@ -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-math.ucf b/debian/libreoffice-math.ucf
new file mode 100644 (file)
index 0000000..3ee48a8
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/math.xcd /etc/libreoffice/registry/math.xcd
diff --git a/debian/libreoffice-mysql-connector.maintscript b/debian/libreoffice-mysql-connector.maintscript
new file mode 100644 (file)
index 0000000..92715c9
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-mysql-connector /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-nlpsolver.bug-control b/debian/libreoffice-nlpsolver.bug-control
new file mode 100644 (file)
index 0000000..6af4478
--- /dev/null
@@ -0,0 +1 @@
+report-with: ure-java
diff --git a/debian/libreoffice-nlpsolver.bug-script.in b/debian/libreoffice-nlpsolver.bug-script.in
new file mode 100755 (executable)
index 0000000..8408533
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/lib/libreoffice/program/unopkg list --bundled com.sun.star.comp.Calc.NLPSolver >&3
diff --git a/debian/libreoffice-nlpsolver.lintian-overrides b/debian/libreoffice-nlpsolver.lintian-overrides
new file mode 100644 (file)
index 0000000..e5e1945
--- /dev/null
@@ -0,0 +1,3 @@
+libreoffice-nlpsolver: jar-not-in-usr-share [usr/lib/libreoffice/share/extensions/nlpsolver/EvolutionarySolver.jar]
+libreoffice-nlpsolver: jar-not-in-usr-share [usr/lib/libreoffice/share/extensions/nlpsolver/help/*/help.jar]
+libreoffice-nlpsolver: jar-not-in-usr-share [usr/lib/libreoffice/share/extensions/nlpsolver/nlpsolver.jar]
diff --git a/debian/libreoffice-officebean.maintscript b/debian/libreoffice-officebean.maintscript
new file mode 100644 (file)
index 0000000..eec3d3b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-officebean /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-plasma.maintscript b/debian/libreoffice-plasma.maintscript
new file mode 100644 (file)
index 0000000..8c7e556
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-plasma /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-qt5.maintscript b/debian/libreoffice-qt5.maintscript
new file mode 100644 (file)
index 0000000..4e11d0b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-qt5 /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-report-builder-bin.maintscript b/debian/libreoffice-report-builder-bin.maintscript
new file mode 100644 (file)
index 0000000..c31cc3b
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-report-builder-bin /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-report-builder.bug-control b/debian/libreoffice-report-builder.bug-control
new file mode 100644 (file)
index 0000000..3aabaa3
--- /dev/null
@@ -0,0 +1 @@
+report-with: libreoffice-base libreoffice-java-common ure-java
diff --git a/debian/libreoffice-report-builder.maintscript b/debian/libreoffice-report-builder.maintscript
new file mode 100644 (file)
index 0000000..d2d3e33
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-report-builder /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-report-builder.ucf b/debian/libreoffice-report-builder.ucf
new file mode 100644 (file)
index 0000000..60247c8
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/reportbuilder.xcd /etc/libreoffice/registry/reportbuilder.xcd
diff --git a/debian/libreoffice-script-provider-bsh.maintscript b/debian/libreoffice-script-provider-bsh.maintscript
new file mode 100644 (file)
index 0000000..0c4d00f
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-script-provider-bsh /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-script-provider-js.maintscript b/debian/libreoffice-script-provider-js.maintscript
new file mode 100644 (file)
index 0000000..db3fd3c
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-script-provider-js /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-script-provider-python.bug-control b/debian/libreoffice-script-provider-python.bug-control
new file mode 100644 (file)
index 0000000..38da481
--- /dev/null
@@ -0,0 +1 @@
+report-with: python-uno python3-uno
diff --git a/debian/libreoffice-script-provider-python.maintscript b/debian/libreoffice-script-provider-python.maintscript
new file mode 100644 (file)
index 0000000..64f0371
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-script-provider-python /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-sdbc-firebird.NEWS b/debian/libreoffice-sdbc-firebird.NEWS
new file mode 100644 (file)
index 0000000..faee0f2
--- /dev/null
@@ -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 <rene@debian.org>  Mon, 28 Nov 2016 10:27:15 +0200
diff --git a/debian/libreoffice-sdbc-firebird.lintian-overrides b/debian/libreoffice-sdbc-firebird.lintian-overrides
new file mode 100644 (file)
index 0000000..9f2850f
--- /dev/null
@@ -0,0 +1,2 @@
+# "aged out" due to debhelpers changelog trimming (see #1021502)
+libreoffice-sdbc-firebird: debian-news-entry-has-unknown-version 1:5.3.0~alpha1-1 [usr/share/doc/libreoffice-sdbc-firebird/NEWS.Debian.gz:1]
diff --git a/debian/libreoffice-sdbc-firebird.maintscript b/debian/libreoffice-sdbc-firebird.maintscript
new file mode 100644 (file)
index 0000000..b598648
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-sdbc-firebird /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-sdbc-hsqldb.maintscript b/debian/libreoffice-sdbc-hsqldb.maintscript
new file mode 100644 (file)
index 0000000..007b4a2
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-sdbc-hsqldb /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-sdbc-mysql.maintscript b/debian/libreoffice-sdbc-mysql.maintscript
new file mode 100644 (file)
index 0000000..7e41026
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-sdbc-mysql /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-sdbc-postgresql.maintscript b/debian/libreoffice-sdbc-postgresql.maintscript
new file mode 100644 (file)
index 0000000..923b4b4
--- /dev/null
@@ -0,0 +1,2 @@
+symlink_to_dir /usr/share/doc/libreoffice-sdbc-postgresql /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
+rm_conffile /etc/libreoffice/postgresql-sdbc.ini 1:6.4.0~alpha1~git20191027
diff --git a/debian/libreoffice-sdbc-postgresql.ucf b/debian/libreoffice-sdbc-postgresql.ucf
new file mode 100644 (file)
index 0000000..81b5d51
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/postgresql.xcd /etc/libreoffice/registry/postgresql.xcd
diff --git a/debian/libreoffice-style-breeze.maintscript b/debian/libreoffice-style-breeze.maintscript
new file mode 100644 (file)
index 0000000..a124622
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-style-breeze /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-style-colibre.maintscript b/debian/libreoffice-style-colibre.maintscript
new file mode 100644 (file)
index 0000000..26f3ed6
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-style-colibre /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-style-elementary.maintscript b/debian/libreoffice-style-elementary.maintscript
new file mode 100644 (file)
index 0000000..82d7889
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-style-elementary /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-style-karasa-jaga.maintscript b/debian/libreoffice-style-karasa-jaga.maintscript
new file mode 100644 (file)
index 0000000..c3e34cf
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-style-karasa-jaga /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-style-sifr.maintscript b/debian/libreoffice-style-sifr.maintscript
new file mode 100644 (file)
index 0000000..ff95171
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-style-sifr /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-style-tango.maintscript b/debian/libreoffice-style-tango.maintscript
new file mode 100644 (file)
index 0000000..886e586
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-style-tango /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-subsequentcheckbase.maintscript b/debian/libreoffice-subsequentcheckbase.maintscript
new file mode 100644 (file)
index 0000000..e4f4547
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-subsequentcheckbase /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-wiki-publisher.bug-control b/debian/libreoffice-wiki-publisher.bug-control
new file mode 100644 (file)
index 0000000..6af4478
--- /dev/null
@@ -0,0 +1 @@
+report-with: ure-java
diff --git a/debian/libreoffice-wiki-publisher.bug-script.in b/debian/libreoffice-wiki-publisher.bug-script.in
new file mode 100755 (executable)
index 0000000..9497e5c
--- /dev/null
@@ -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 (file)
index 0000000..0c20553
--- /dev/null
@@ -0,0 +1,2 @@
+libreoffice-wiki-publisher: jar-not-in-usr-share [usr/lib/libreoffice/share/extensions/wiki-publisher/help/*/help.jar]
+libreoffice-wiki-publisher: jar-not-in-usr-share [usr/lib/libreoffice/share/extensions/wiki-publisher/mediawiki.jar]
diff --git a/debian/libreoffice-writer-nogui.bug-control b/debian/libreoffice-writer-nogui.bug-control
new file mode 100644 (file)
index 0000000..f7a2b99
--- /dev/null
@@ -0,0 +1 @@
+report-with: libreoffice-core libreoffice-core-nogui
diff --git a/debian/libreoffice-writer-nogui.mime b/debian/libreoffice-writer-nogui.mime
new file mode 100644 (file)
index 0000000..fb38a25
--- /dev/null
@@ -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-writer-nogui.ucf b/debian/libreoffice-writer-nogui.ucf
new file mode 100644 (file)
index 0000000..1b9239c
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/writer.xcd /etc/libreoffice/registry/writer.xcd
diff --git a/debian/libreoffice-writer.bug-control b/debian/libreoffice-writer.bug-control
new file mode 100644 (file)
index 0000000..1ac405f
--- /dev/null
@@ -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 (file)
index 0000000..df8d660
--- /dev/null
@@ -0,0 +1 @@
+libreoffice-writer: desktop-command-not-in-package libreoffice [usr/share/applications/libreoffice-writer.desktop]
diff --git a/debian/libreoffice-writer.maintscript b/debian/libreoffice-writer.maintscript
new file mode 100644 (file)
index 0000000..829e8be
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreoffice-writer /usr/share/doc/libreoffice-core 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreoffice-writer.manpages b/debian/libreoffice-writer.manpages
new file mode 100644 (file)
index 0000000..53c4e24
--- /dev/null
@@ -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 (file)
index 0000000..fb38a25
--- /dev/null
@@ -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-writer.ucf b/debian/libreoffice-writer.ucf
new file mode 100644 (file)
index 0000000..1b9239c
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/writer.xcd /etc/libreoffice/registry/writer.xcd
diff --git a/debian/libreoffice.bug-control b/debian/libreoffice.bug-control
new file mode 100644 (file)
index 0000000..21ad6ad
--- /dev/null
@@ -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-data.maintscript b/debian/libreofficekit-data.maintscript
new file mode 100644 (file)
index 0000000..3c2a916
--- /dev/null
@@ -0,0 +1 @@
+symlink_to_dir /usr/share/doc/libreofficekit-data /usr/share/doc/libreoffice-common 1:6.4.0~alpha1~git20191013
diff --git a/debian/libreofficekit-dev.docs b/debian/libreofficekit-dev.docs
new file mode 100644 (file)
index 0000000..1dbbe5d
--- /dev/null
@@ -0,0 +1 @@
+libreofficekit/README.md
diff --git a/debian/libuno-cppu3.lintian-overrides b/debian/libuno-cppu3.lintian-overrides
new file mode 100644 (file)
index 0000000..8a71f33
--- /dev/null
@@ -0,0 +1 @@
+libuno-cppu3: symbols-declares-dependency-on-other-package libstdc++6 (>= 4.1.1) (libuno_cppu.so.3) [symbols]
diff --git a/debian/libuno-cppu3.symbols b/debian/libuno-cppu3.symbols
new file mode 100644 (file)
index 0000000..258414c
--- /dev/null
@@ -0,0 +1,11 @@
+libuno_cppu.so.3 libuno-cppu3 #MINVER#
+| libuno-cppu3 #MINVER#, libstdc++6 (>= 4.1.1)
+ (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)GLIBCXX_3.4 3.6 1
+ (symver)LIBO_UDK_4.4 4.4.0~alpha
+# add new stuff BELOW this line
+# and note that the stuff above HAS NO epoch but the
+# below HAS
diff --git a/debian/libuno-cppuhelpergcc3-3.lintian-overrides b/debian/libuno-cppuhelpergcc3-3.lintian-overrides
new file mode 100644 (file)
index 0000000..d5f90ad
--- /dev/null
@@ -0,0 +1,2 @@
+libuno-cppuhelpergcc3-3: symbols-declares-dependency-on-other-package uno-libs-private (libuno_cppuhelpergcc3.so.3) [symbols]
+libuno-cppuhelpergcc3-3: symbols-declares-dependency-on-other-package libstdc++6 (>= 4.1.1) (libuno_cppuhelpergcc3.so.3) [symbols]
diff --git a/debian/libuno-cppuhelpergcc3-3.symbols b/debian/libuno-cppuhelpergcc3-3.symbols
new file mode 100644 (file)
index 0000000..30be52c
--- /dev/null
@@ -0,0 +1,18 @@
+libuno_cppuhelpergcc3.so.3 libuno-cppuhelpergcc3-3 #MINVER#, uno-libs-private
+| libuno-cppuhelpergcc3-3 #MINVER#, uno-libs-private, libstdc++6 (>= 4.1.1)
+ (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)GLIBCXX_3.4 3.6 1
+ (symver)LIBO_UDK_3.9 4.0.0~alpha
+ (symver)LIBO_UDK_5.3 5.3.0~alpha
+# add new stuff BELOW this line
+# and note that the stuff above HAS NO epoch but the
+# below HAS
+ (symver)LIBO_UDK_7.4 1:7.4.0~alpha
diff --git a/debian/libuno-purpenvhelpergcc3-3.lintian-overrides b/debian/libuno-purpenvhelpergcc3-3.lintian-overrides
new file mode 100644 (file)
index 0000000..8a716d2
--- /dev/null
@@ -0,0 +1 @@
+libuno-purpenvhelpergcc3-3: symbols-declares-dependency-on-other-package libstdc++6 (>= 4.1.1) (libuno_purpenvhelpergcc3.so.3) [symbols]
diff --git a/debian/libuno-purpenvhelpergcc3-3.symbols b/debian/libuno-purpenvhelpergcc3-3.symbols
new file mode 100644 (file)
index 0000000..e9054a7
--- /dev/null
@@ -0,0 +1,7 @@
+libuno_purpenvhelpergcc3.so.3 libuno-purpenvhelpergcc3-3 #MINVER#
+| libuno-purpenvhelpergcc3-3 #MINVER#, libstdc++6 (>= 4.1.1)
+ (symver)UDK_3_0_0 1.4.0
+ (symver)GLIBCXX_3.4 3.6 1
+# add new stuff BELOW this line
+# and note that the stuff above HAS NO epoch but the
+# below HAS
diff --git a/debian/libuno-sal3.lintian-overrides b/debian/libuno-sal3.lintian-overrides
new file mode 100644 (file)
index 0000000..6a166e4
--- /dev/null
@@ -0,0 +1 @@
+libuno-sal3: symbols-declares-dependency-on-other-package libstdc++6 (>= 4.1.1) (libuno_sal.so.3) [symbols]
diff --git a/debian/libuno-sal3.symbols b/debian/libuno-sal3.symbols
new file mode 100644 (file)
index 0000000..6449051
--- /dev/null
@@ -0,0 +1,42 @@
+libuno_sal.so.3 libuno-sal3 #MINVER#
+| libuno-sal3 #MINVER#, libstdc++6 (>= 4.1.1)
+ (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)GLIBCXX_3.4 3.6 1
+ (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)LIBO_UDK_6.2 6.2.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
+ (symver)PRIVATE_1.6 6.4.0~beta
+# add new stuff BELOW this line
+# and note that the stuff above HAS NO epoch but the
+# below HAS
+ (symver)PRIVATE_1.7 1:7.1.0~alpha1
+ (symver)PRIVATE_1.8 1:7.3.0~beta1
diff --git a/debian/libuno-salhelpergcc3-3.lintian-overrides b/debian/libuno-salhelpergcc3-3.lintian-overrides
new file mode 100644 (file)
index 0000000..1e71601
--- /dev/null
@@ -0,0 +1 @@
+libuno-salhelpergcc3-3: symbols-declares-dependency-on-other-package libstdc++6 (>= 4.1.1) (libuno_salhelpergcc3.so.3) [symbols]
diff --git a/debian/libuno-salhelpergcc3-3.symbols b/debian/libuno-salhelpergcc3-3.symbols
new file mode 100644 (file)
index 0000000..3ff04b7
--- /dev/null
@@ -0,0 +1,9 @@
+libuno_salhelpergcc3.so.3 libuno-salhelpergcc3-3 #MINVER#
+| libuno-salhelpergcc3-3 #MINVER#, libstdc++6 (>= 4.1.1)
+ (symver)UDK_3_0_0 1.4.0
+ (symver)UDK_3.1 1.4.0
+ (symver)LIBO_UDK_3.6 3.6.0~beta
+ (symver)GLIBCXX_3.4 3.6 1
+# add new stuff BELOW this line
+# and note that the stuff above HAS NO epoch but the
+# below HAS
diff --git a/debian/libunoloader-java.poms b/debian/libunoloader-java.poms
new file mode 100644 (file)
index 0000000..e89019b
--- /dev/null
@@ -0,0 +1,28 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [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 <parent> tag from the POM
+#   --package=<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=<elem1,elem2>: a list of XML elements to keep in the POM
+#      during a clean operation with mh_cleanpom or mh_installpom
+#   --artifact=<path>: 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>: name to use when installing the library in /usr/share/java
+#   --usj-version=<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=<path>: the destination for the real jar.
+#     It will be installed with mh_install. [mh_install]
+#   --classifier=<classifier>: Optional, the classifier for the jar. Empty by default.
+#   --site-xml=<location>: Optional, the location for site.xml if it needs to be installed.
+#     Empty by default. [mh_install]
+#
+debian/pom.unoloader.xml --no-parent --has-package-version
diff --git a/debian/patches/0004-Remove-dependency-on-BitArray.h-from-zxing-1.2.0.patch b/debian/patches/0004-Remove-dependency-on-BitArray.h-from-zxing-1.2.0.patch
new file mode 100644 (file)
index 0000000..13e3889
--- /dev/null
@@ -0,0 +1,50 @@
+From a06c0eabc164cd2233cad4e159cff005951a5d06 Mon Sep 17 00:00:00 2001
+From: "Brett T. Warden" <brett.t.warden@intel.com>
+Date: Fri, 2 Dec 2022 12:06:35 -0800
+Subject: [PATCH] Remove dependency on BitArray.h from zxing-1.2.0
+
+In zxing-1.4.0, numerous headers are no longer public. Rework the
+ConvertToSVGFormat method so it uses bitmatrix.get instead of
+bitmatrix.getRow, similar to the ToSVG method in zxing itself.
+
+See https://github.com/zxing-cpp/zxing-cpp/issues/361
+
+---
+ cui/source/dialogs/QrCodeGenDialog.cxx | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx
+index 3e7b48e7af86..c334785d2bea 100644
+--- a/cui/source/dialogs/QrCodeGenDialog.cxx
++++ b/cui/source/dialogs/QrCodeGenDialog.cxx
+@@ -27,7 +27,6 @@
+ #endif
+ #include <BarcodeFormat.h>
+-#include <BitArray.h>
+ #include <BitMatrix.h>
+ #include <MultiFormatWriter.h>
+ #include <TextUtfEncoding.h>
+@@ -79,7 +78,6 @@ OString ConvertToSVGFormat(const ZXing::BitMatrix& bitmatrix)
+     OStringBuffer sb;
+     const int width = bitmatrix.width();
+     const int height = bitmatrix.height();
+-    ZXing::BitArray row(width);
+     sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+               "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 "
+               + OString::number(width) + " " + OString::number(height)
+@@ -87,10 +85,9 @@ OString ConvertToSVGFormat(const ZXing::BitMatrix& bitmatrix)
+                 "<path d=\"");
+     for (int i = 0; i < height; ++i)
+     {
+-        bitmatrix.getRow(i, row);
+         for (int j = 0; j < width; ++j)
+         {
+-            if (row.get(j))
++            if (bitmatrix.get(j, i))
+             {
+                 sb.append("M" + OString::number(j) + "," + OString::number(i) + "h1v1h-1z");
+             }
+-- 
+2.38.1
+
diff --git a/debian/patches/Filter-out-more-unwanted-command-URIs.diff b/debian/patches/Filter-out-more-unwanted-command-URIs.diff
new file mode 100644 (file)
index 0000000..e83e8b6
--- /dev/null
@@ -0,0 +1,29 @@
+From 7105fb698f897ddb38bd60315444c07356689e14 Mon Sep 17 00:00:00 2001
+From: Caolán McNamara <caolan.mcnamara@collabora.com>
+Date: Thu, 30 Jan 2025 20:37:38 +0000
+Subject: Filter out more unwanted command URIs
+
+Change-Id: I24c95d73b4fee89bdf044d5dd6efc9cd89627c54
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181016
+Tested-by: Jenkins
+Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
+---
+ desktop/source/app/cmdlineargs.cxx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
+index 09a0cd212947..50220e4db590 100644
+--- a/desktop/source/app/cmdlineargs.cxx
++++ b/desktop/source/app/cmdlineargs.cxx
+@@ -165,7 +165,7 @@ CommandLineEvent CheckOfficeURI(/* in,out */ OUString& arg, CommandLineEvent cur
+     if (nURIlen < 0)
+         nURIlen = rest2.getLength();
+     auto const uri = rest2.subView(0, nURIlen);
+-    if (INetURLObject(uri).GetProtocol() == INetProtocol::Macro) {
++    if (INetURLObject(uri).IsExoticProtocol()) {
+         // Let the "Open" machinery process the full command URI (leading to failure, by intention,
+         // as the "Open" machinery does not know about those command URI schemes):
+         curEvt = CommandLineEvent::Open;
+-- 
+cgit v1.2.3
+
diff --git a/debian/patches/Fix-backup-copy-creation-for-files-on-mounted-samba-shares.diff b/debian/patches/Fix-backup-copy-creation-for-files-on-mounted-samba-shares.diff
new file mode 100644 (file)
index 0000000..6a85953
--- /dev/null
@@ -0,0 +1,128 @@
+From 63efbc8ad8aae12b54e649c1495d1233c1a9b33f Mon Sep 17 00:00:00 2001
+From: Kevin Ottens <kevin.ottens@enioka.com>
+Date: Fri, 2 Feb 2024 15:39:36 +0100
+Subject: tdf#55004 Fix backup copy creation for files on mounted samba shares
+
+There is an unfortunate interaction between file locking and backup
+creation at save time.
+
+openFilePath has logic to lock a file when opening. This goes through
+fcntl to set a write lock on the file. Later on, when the user wants to
+save changes, a backup copy might be created (very likely now since this
+is the defaults in the settings). To create this backup, the file is
+opened again for reading. Unfortunately this open call fails due to the
+lock (even though it is a write lock).
+
+This commit changes the behavior. osl_file_adjustLockFlags now checks if
+the file is on a mounted samba share. If that's the case we force the
+osl_File_OpenFlag_NoLock flag. No issue is then exhibited at backup
+creation, allowing the save to proceed properly.
+
+Change-Id: Ieab252f9f68598834e13339fc5fcea440f0a4c2f
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162935
+Tested-by: Jenkins
+Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
+---
+ sal/osl/unx/file.cxx | 54 +++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 47 insertions(+), 7 deletions(-)
+
+diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx
+index 5acfe2803189..03d685a997e9 100644
+--- a/sal/osl/unx/file.cxx
++++ b/sal/osl/unx/file.cxx
+@@ -64,6 +64,14 @@
+ #include <android/asset_manager.h>
+ #endif
++#ifdef LINUX
++#include <sys/vfs.h>
++// As documented by the kernel
++#define SMB_SUPER_MAGIC  0x517B
++#define CIFS_SUPER_MAGIC 0xFF534D42
++#define SMB2_SUPER_MAGIC 0xFE534D42
++#endif
++
+ namespace {
+ enum class State
+@@ -736,9 +744,11 @@ oslFileHandle osl::detail::createFileHandleFromFD(int fd)
+     return static_cast<oslFileHandle>(pImpl);
+ }
+-static int osl_file_adjustLockFlags(const OString& path, int flags)
++static void osl_file_adjustLockFlags(const OString& path, int *flags, sal_uInt32 *uFlags)
+ {
+ #ifdef MACOSX
++    (void) uFlags;
++
+     /*
+      * The AFP implementation of MacOS X 10.4 treats O_EXLOCK in a way
+      * that makes it impossible for OOo to create a backup copy of the
+@@ -751,20 +761,50 @@ static int osl_file_adjustLockFlags(const OString& path, int flags)
+     {
+         if(strncmp("afpfs", s.f_fstypename, 5) == 0)
+         {
+-            flags &= ~O_EXLOCK;
+-            flags |=  O_SHLOCK;
++            *flags &= ~O_EXLOCK;
++            *flags |=  O_SHLOCK;
+         }
+         else
+         {
+             /* Needed flags to allow opening a webdav file */
+-            flags &= ~(O_EXLOCK | O_SHLOCK | O_NONBLOCK);
++            *flags &= ~(O_EXLOCK | O_SHLOCK | O_NONBLOCK);
++        }
++    }
++#elif defined(LINUX)
++    (void) flags;
++
++    /* get filesystem info */
++    struct statfs aFileStatFs;
++    if (statfs(path.getStr(), &aFileStatFs) < 0)
++    {
++        int e = errno;
++        SAL_INFO("sal.file", "statfs(" << path << "): " << UnixErrnoString(e));
++    }
++    else
++    {
++        SAL_INFO("sal.file", "statfs(" << path << "): OK");
++
++        // We avoid locking if on a Linux CIFS mount otherwise this
++        // fill fail later on when opening the file for reading
++        // during backup creation at save time (even though this is a
++        // write lock and not a read lock).
++        // Fixes the following bug:
++        // https://bugs.documentfoundation.org/show_bug.cgi?id=55004
++        switch (aFileStatFs.f_type) {
++        case SMB_SUPER_MAGIC:
++        case CIFS_SUPER_MAGIC:
++        case SMB2_SUPER_MAGIC:
++            *uFlags |= osl_File_OpenFlag_NoLock;
++            break;
++        default:
++            break;
+         }
+     }
+ #else
+     (void) path;
++    (void) flags;
++    (void) uFlags;
+ #endif
+-
+-    return flags;
+ }
+ static bool osl_file_queryLocking(sal_uInt32 uFlags)
+@@ -981,7 +1021,7 @@ oslFileError openFilePath(const OString& filePath, oslFileHandle* pHandle,
+     }
+     else
+     {
+-        flags = osl_file_adjustLockFlags (filePath, flags);
++        osl_file_adjustLockFlags (filePath, &flags, &uFlags);
+     }
+     // O_EXCL can be set only when O_CREAT is set
+-- 
+cgit v1.2.3
+
diff --git a/debian/patches/Improve-adbe.pkcs7.sha1-signature-verification.diff b/debian/patches/Improve-adbe.pkcs7.sha1-signature-verification.diff
new file mode 100644 (file)
index 0000000..b798d4f
--- /dev/null
@@ -0,0 +1,131 @@
+From 8de63d21a2abe3fcb6a00bb5f093a7bfe4ef5bf3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Juraj=20=C5=A0arinay?= <juraj@sarinay.com>
+Date: Thu, 6 Mar 2025 16:44:01 +0100
+Subject: [PATCH] Improve adbe.pkcs7.sha1 signature verification
+
+For PDF signatures with SubFilter == adbe.pkcs7.sha1, we only
+compared hash values and never actually checked SignatureValue
+within SignerInfo.
+
+Fix bugs introduced by 055fd58711d57af4d96214aebd71b713303d5527 and
+e58ed17e35989350afe3e9fd77b24515df782eac by verifying the actual
+(public-key) signature after the hash values compare equal.
+
+Change-Id: I5fa3d60df214cc5efedd1c0eba6cf1b9faf05360
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183059
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+Tested-by: Jenkins
+(cherry picked from commit 9f687b06fc25156a2a3f4d688b56542612995aa9)
+---
+ svl/source/crypto/cryptosign.cxx | 54 ++++++++++++++++++--------------
+ 1 file changed, 31 insertions(+), 23 deletions(-)
+
+diff --git a/svl/source/crypto/cryptosign.cxx b/svl/source/crypto/cryptosign.cxx
+index 638bf9aa51d1..c2ad079747dc 100644
+--- a/svl/source/crypto/cryptosign.cxx
++++ b/svl/source/crypto/cryptosign.cxx
+@@ -2091,23 +2091,30 @@ bool Signing::Verify(const std::vector<unsigned char>& aData,
+     if (pAttribute)
+         rInformation.bHasSigningCertificate = true;
++    SECItem aSignedDigestItem {siBuffer, nullptr, 0};
++
+     SECItem* pContentInfoContentData = pCMSSignedData->contentInfo.content.data;
+     if (bNonDetached && pContentInfoContentData && pContentInfoContentData->data)
+     {
+         // Not a detached signature.
+-        if (!std::memcmp(pActualResultBuffer, pContentInfoContentData->data, nMaxResultLen) && nActualResultLen == pContentInfoContentData->len)
+-            rInformation.nStatus = xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED;
++        if (nActualResultLen == pContentInfoContentData->len &&
++            !std::memcmp(pActualResultBuffer, pContentInfoContentData->data, nMaxResultLen) &&
++            HASH_HashBuf(eHashType, pActualResultBuffer, pContentInfoContentData->data, nActualResultLen) == SECSuccess)
++        {
++            aSignedDigestItem.data = pActualResultBuffer;
++            aSignedDigestItem.len = nActualResultLen;
++        }
+     }
+     else
+     {
+         // Detached, the usual case.
+-        SECItem aActualResultItem;
+-        aActualResultItem.data = pActualResultBuffer;
+-        aActualResultItem.len = nActualResultLen;
+-        if (NSS_CMSSignerInfo_Verify(pCMSSignerInfo, &aActualResultItem, nullptr) == SECSuccess)
+-            rInformation.nStatus = xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED;
++        aSignedDigestItem.data = pActualResultBuffer;
++        aSignedDigestItem.len = nActualResultLen;
+     }
++    if (aSignedDigestItem.data && NSS_CMSSignerInfo_Verify(pCMSSignerInfo, &aSignedDigestItem, nullptr) == SECSuccess)
++            rInformation.nStatus = xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED;
++
+     // Everything went fine
+     SECITEM_FreeItem(&aOidData.oid, false);
+     PORT_Free(pActualResultBuffer);
+@@ -2140,19 +2147,21 @@ bool Signing::Verify(const std::vector<unsigned char>& aData,
+         return false;
+     }
+-    // Update the message with the content blob.
+-    if (!CryptMsgUpdate(hMsg, aData.data(), aData.size(), FALSE))
++    if (!bNonDetached)
+     {
+-        SAL_WARN("svl.crypto", "ValidateSignature, CryptMsgUpdate() for the content failed: " << WindowsErrorString(GetLastError()));
+-        return false;
+-    }
++        // Update the message with the content blob.
++        if (!CryptMsgUpdate(hMsg, aData.data(), aData.size(), FALSE))
++        {
++            SAL_WARN("svl.crypto", "ValidateSignature, CryptMsgUpdate() for the content failed: " << WindowsErrorString(GetLastError()));
++            return false;
++        }
+-    if (!CryptMsgUpdate(hMsg, nullptr, 0, TRUE))
+-    {
+-        SAL_WARN("svl.crypto", "ValidateSignature, CryptMsgUpdate() for the last content failed: " << WindowsErrorString(GetLastError()));
+-        return false;
++        if (!CryptMsgUpdate(hMsg, nullptr, 0, TRUE))
++        {
++            SAL_WARN("svl.crypto", "ValidateSignature, CryptMsgUpdate() for the last content failed: " << WindowsErrorString(GetLastError()));
++            return false;
++        }
+     }
+-
+     // Get the CRYPT_ALGORITHM_IDENTIFIER from the message.
+     DWORD nDigestID = 0;
+     if (!CryptMsgGetParam(hMsg, CMSG_SIGNER_HASH_ALGORITHM_PARAM, 0, nullptr, &nDigestID))
+@@ -2228,6 +2237,8 @@ bool Signing::Verify(const std::vector<unsigned char>& aData,
+         rInformation.X509Datas.emplace_back(temp);
+     }
++    std::vector<BYTE> aContentParam;
++
+     if (bNonDetached)
+     {
+         // Not a detached signature.
+@@ -2238,19 +2249,16 @@ bool Signing::Verify(const std::vector<unsigned char>& aData,
+             return false;
+         }
+-        std::vector<BYTE> aContentParam(nContentParam);
++        aContentParam.resize(nContentParam);
+         if (!CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, aContentParam.data(), &nContentParam))
+         {
+             SAL_WARN("svl.crypto", "ValidateSignature: CryptMsgGetParam() failed");
+             return false;
+         }
+-
+-        if (VerifyNonDetachedSignature(aData, aContentParam))
+-            rInformation.nStatus = xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED;
+     }
+-    else
++
++    if (!bNonDetached || VerifyNonDetachedSignature(aData, aContentParam))
+     {
+-        // Detached, the usual case.
+         // Use the CERT_INFO from the signer certificate to verify the signature.
+         if (CryptMsgControl(hMsg, 0, CMSG_CTRL_VERIFY_SIGNATURE, pSignerCertContext->pCertInfo))
+             rInformation.nStatus = xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED;
+-- 
+2.47.2
+
diff --git a/debian/patches/add-access2base-doc.diff b/debian/patches/add-access2base-doc.diff
new file mode 100644 (file)
index 0000000..4ad7178
Binary files /dev/null and b/debian/patches/add-access2base-doc.diff differ
diff --git a/debian/patches/add-notify-for-script-use.diff b/debian/patches/add-notify-for-script-use.diff
new file mode 100644 (file)
index 0000000..e5751ec
--- /dev/null
@@ -0,0 +1,30 @@
+From 8b2402b16df185119c91222b33ff1b8d55e0afe4 Mon Sep 17 00:00:00 2001
+From: Caolán McNamara <caolan.mcnamara@collabora.com>
+Date: Wed, 27 Mar 2024 17:07:20 +0000
+Subject: add notify for script use
+
+Change-Id: I84af197cec7755f6803a578e1e21c03966ad5f3e
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165412
+Tested-by: Jenkins
+Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
+---
+ xmloff/source/draw/eventimp.cxx | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/xmloff/source/draw/eventimp.cxx b/xmloff/source/draw/eventimp.cxx
+index 2b8921ee27fa..2a6ce1fa2381 100644
+--- a/xmloff/source/draw/eventimp.cxx
++++ b/xmloff/source/draw/eventimp.cxx
+@@ -210,6 +210,9 @@ SdXMLEventContext::SdXMLEventContext( SvXMLImport& rImp,
+     if( maData.mbValid )
+         maData.mbValid = !sEventName.isEmpty();
++
++    if (!maData.msMacroName.isEmpty())
++        rImp.NotifyMacroEventRead();
+ }
+ css::uno::Reference< css::xml::sax::XFastContextHandler > SdXMLEventContext::createFastChildContext(
+-- 
+cgit v1.2.3
+
diff --git a/debian/patches/apparmor-allow-java.security.diff b/debian/patches/apparmor-allow-java.security.diff
new file mode 100644 (file)
index 0000000..e4b8ae6
--- /dev/null
@@ -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 (file)
index 0000000..c607c26
--- /dev/null
@@ -0,0 +1,35 @@
+From b3c157faeb945fd689fcc8561a520d9e611a7419 Mon Sep 17 00:00:00 2001
+From: Vincas Dargis <vindrg@gmail.com>
+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 <abstractions/dbus>
+   #include <abstractions/dbus-session>
+   #include <abstractions/dbus-accessibility>
++  #include <abstractions/dri-enumerate>
+   #include <abstractions/ibus>
+   #include <abstractions/nameservice>
+   #include <abstractions/gnome>
+@@ -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 (file)
index 0000000..99a2189
--- /dev/null
@@ -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 <tunables/global>
+-profile libreoffice-oosplash INSTDIR-program/oosplash {
++profile libreoffice-oosplash INSTDIR-program/oosplash flags=(complain) {
+   #include <abstractions/base>
+   #include <abstractions/X>
+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 <tunables/global>
+-profile libreoffice-soffice INSTDIR-program/soffice.bin {
++profile libreoffice-soffice INSTDIR-program/soffice.bin flags=(complain) {
+   #include <abstractions/private-files>
+   #include <abstractions/audio>
diff --git a/debian/patches/apparmor-gnupg-tofu.diff b/debian/patches/apparmor-gnupg-tofu.diff
new file mode 100644 (file)
index 0000000..a2ee52f
--- /dev/null
@@ -0,0 +1,28 @@
+From: Benjamin Barenblat <bbaren@google.com>
+Subject: Support tofu+pgp trust model in GnuPG
+Bug-Debian: https://bugs.debian.org/955271
+Forwarded: no
+
+GnuPG supports a trust-on-first-use layer that sits on top of the
+standard PGP trust model. If this is enabled, 'gpg --list-keys' needs
+write and lock permissions on the TOFU database to return any useful
+data. Allow this access through AppArmor.
+
+--- libreoffice-7.1.2.2/sysui/desktop/apparmor/program.soffice.bin
++++ libreoffice-7.1.2.2/sysui/desktop/apparmor/program.soffice.bin
+@@ -2,6 +2,7 @@
+ #
+ #    Copyright (C) 2016 Canonical Ltd.
+ #    Copyright (C) 2018 Software in the Public Interest, Inc.
++#    Copyright (C) 2021 Google LLC
+ #
+ #    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
+@@ -215,6 +216,7 @@   profile gpg {
+     owner @{HOME}/.gnupg/* r,
+     owner @{HOME}/.gnupg/random_seed rk,
++    owner @{HOME}/.gnupg/tofu.db rwk,
+   }
+   # probably should become a subprofile like gpg above, but then it doesn't
diff --git a/debian/patches/apparmor-mesa.diff b/debian/patches/apparmor-mesa.diff
new file mode 100644 (file)
index 0000000..dd6dd20
--- /dev/null
@@ -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 <abstractions/dbus-session>
+   #include <abstractions/dbus-accessibility>
+   #include <abstractions/dri-enumerate>
++  #include <abstractions/mesa>
+   #include <abstractions/ibus>
+   #include <abstractions/nameservice>
+   #include <abstractions/gnome>
diff --git a/debian/patches/apparmor-opencl.diff b/debian/patches/apparmor-opencl.diff
new file mode 100644 (file)
index 0000000..462f376
--- /dev/null
@@ -0,0 +1,20 @@
+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
+@@ -98,6 +98,10 @@
+   #include <abstractions/user-tmp>
++  #include <abstractions/opencl-intel>
++  #include <abstractions/opencl-mesa>
++  #include <abstractions/opencl-nvidia>
++
+   #List directories for file browser
+   /                                     r,
+   /**/                                  r,
diff --git a/debian/patches/apparmor-updates.diff b/debian/patches/apparmor-updates.diff
new file mode 100644 (file)
index 0000000..538f913
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/sysui/desktop/apparmor/program.soffice.bin b/sysui/desktop/apparmor/program.soffice.bin
+index 42053db2abef..2a60f67c2846 100644
+--- a/sysui/desktop/apparmor/program.soffice.bin
++++ b/sysui/desktop/apparmor/program.soffice.bin
+@@ -101,7 +108,7 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin {
+   owner @{libo_user_dirs}/**/           rw,  #allow creating directories that we own
+   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}/{,**/}lu????????{,?,??,???,????}.tmp rwk, #Temporary file used when saving
+   owner @{libo_user_dirs}/{,**/}.directory r, #Read directory settings on KDE
+   # Settings
diff --git a/debian/patches/appstream-ignore-startcenter.diff b/debian/patches/appstream-ignore-startcenter.diff
new file mode 100644 (file)
index 0000000..4251d64
--- /dev/null
@@ -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/arm-fp-mode.diff b/debian/patches/arm-fp-mode.diff
new file mode 100644 (file)
index 0000000..3047188
--- /dev/null
@@ -0,0 +1,15 @@
+Description: Explicitly set fpu mode on armhf
+Author: Rico Tzschichholz <ricotz@ubuntu.com>
+
+diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S b/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S
+index 4eff3ff0a012..7996b9c5b3f0 100644
+--- a/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S
++++ b/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S
+@@ -51,6 +51,7 @@ privateSnippetExecutor:
+       mov   r0, ip               @ r0 points to functionoffset/vtable
+       mov   r1, sp               @ r1 points to this and params
+ #ifdef __ARM_PCS_VFP
++      .fpu vfpv2
+       vpush {d0-d7}              @ floating point parameter on stack
+ #endif
+       UNWIND .pad  #PAD          @ throw this data away on exception
diff --git a/debian/patches/be-coservative-about-allowed-font-names.diff b/debian/patches/be-coservative-about-allowed-font-names.diff
new file mode 100644 (file)
index 0000000..d409387
--- /dev/null
@@ -0,0 +1,63 @@
+From 5de27921ef963bdfefea098a00ec289833385c5b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Fri, 8 Nov 2024 16:51:47 +0000
+Subject: [PATCH] be conservative on allowed temp font names
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: Iefdc1a8c9b4c7e8c08c84f747f8287ac3c419839
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176236
+Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
+Tested-by: Jenkins
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178289
+Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+---
+ vcl/source/gdi/embeddedfontshelper.cxx | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/vcl/source/gdi/embeddedfontshelper.cxx b/vcl/source/gdi/embeddedfontshelper.cxx
+index 34d227e5f5b2..ed5c656c46cd 100644
+--- a/vcl/source/gdi/embeddedfontshelper.cxx
++++ b/vcl/source/gdi/embeddedfontshelper.cxx
+@@ -19,6 +19,7 @@
+ #include <vcl/svapp.hxx>
+ #include <vcl/embeddedfontshelper.hxx>
+ #include <com/sun/star/io/XInputStream.hpp>
++#include <comphelper/storagehelper.hxx>
+ #include <font/PhysicalFontFaceCollection.hxx>
+ #include <font/PhysicalFontCollection.hxx>
+@@ -191,10 +192,6 @@ void EmbeddedFontsHelper::activateFonts()
+ OUString EmbeddedFontsHelper::fileUrlForTemporaryFont( const OUString& fontName, const char* extra )
+ {
+-    OUString path = "${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE( "bootstrap") "::UserInstallation}";
+-    rtl::Bootstrap::expandMacros( path );
+-    path += "/user/temp/embeddedfonts/fromdocs/";
+-    osl::Directory::createPath( path );
+     OUString filename = fontName;
+     static int uniqueCounter = 0;
+     if( strcmp( extra, "?" ) == 0 )
+@@ -202,6 +199,17 @@ OUString EmbeddedFontsHelper::fileUrlForTemporaryFont( const OUString& fontName,
+     else
+         filename += OStringToOUString( extra, RTL_TEXTENCODING_ASCII_US );
+     filename += ".ttf"; // TODO is it always ttf?
++
++    if (!::comphelper::OStorageHelper::IsValidZipEntryFileName(filename, false))
++    {
++        SAL_WARN( "vcl.fonts", "Cannot use filename: " << filename << " for temporary font");
++        filename = "font" + OUString::number(uniqueCounter++) + ".ttf";
++    }
++
++    OUString path = "${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE( "bootstrap") "::UserInstallation}";
++    rtl::Bootstrap::expandMacros( path );
++    path += "/user/temp/embeddedfonts/fromdocs/";
++    osl::Directory::createPath( path );
+     return path + filename;
+ }
+-- 
+2.39.5
+
diff --git a/debian/patches/boost-1.81.diff b/debian/patches/boost-1.81.diff
new file mode 100644 (file)
index 0000000..dcf99f6
--- /dev/null
@@ -0,0 +1,48 @@
+From 7e61545966c61102aad56bbf10bae2edfbfa9226 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Sun, 27 Nov 2022 18:59:24 +0700
+Subject: i18n: fix build with Boost 1.81.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Boost.Locale since 1.81.0 switch to enum classes for facet type [1].
+Switch our resource manager accordingly.
+
+1: https://github.com/boostorg/locale/commit/e5ed439ea39a4de915e9fb939cca95cae7d9d8d1
+
+Change-Id: Ief215363ceb79b2019606b20a7cde55c8df6a042
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143343
+Reviewed-by: Heiko Becker <heirecka@exherbo.org>
+Tested-by: Caolán McNamara <caolanm@redhat.com>
+Reviewed-by: Caolán McNamara <caolanm@redhat.com>
+(cherry picked from commit 23dcd4339428e4080029ec5ae658e75f01e79a62)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144310
+Reviewed-by: Danh Doan <congdanhqx@gmail.com>
+Tested-by: Jenkins
+---
+ unotools/source/i18n/resmgr.cxx | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/unotools/source/i18n/resmgr.cxx b/unotools/source/i18n/resmgr.cxx
+index ddedf5b9e8a2..3a7116350062 100644
+--- a/unotools/source/i18n/resmgr.cxx
++++ b/unotools/source/i18n/resmgr.cxx
+@@ -127,8 +127,13 @@ namespace Translate
+         if (aFind != aCache.end())
+             return aFind->second;
+         boost::locale::generator gen;
++#if BOOST_VERSION < 108100
+         gen.characters(boost::locale::char_facet);
+         gen.categories(boost::locale::message_facet | boost::locale::information_facet);
++#else
++        gen.characters(boost::locale::char_facet_t::char_f);
++        gen.categories(boost::locale::category_t::message | boost::locale::category_t::information);
++#endif
+ #if defined(ANDROID)
+         OString sPath(OString(lo_get_app_data_dir()) + "/program/resource");
+ #else
+-- 
+cgit v1.2.1
+
diff --git a/debian/patches/build-against-shared-lpsolve.diff b/debian/patches/build-against-shared-lpsolve.diff
new file mode 100644 (file)
index 0000000..ddd80de
--- /dev/null
@@ -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/consider-VndSunStarExpand-an-exotic-protocol.diff b/debian/patches/consider-VndSunStarExpand-an-exotic-protocol.diff
new file mode 100644 (file)
index 0000000..8bdae20
--- /dev/null
@@ -0,0 +1,260 @@
+From a2b1499afa13b855781fe1eff9e09c985b56a728 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Fri, 15 Nov 2024 12:30:39 +0000
+Subject: [PATCH] consider VndSunStarExpand an exotic protocol
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+and generally don't bother with it when fetching data
+from urls
+
+Change-Id: I51a2601c6fb7d6c32f9e2d1286ee0d3b05b370b9
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176922
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
+(cherry picked from commit 4fbe740677b90d8b73842b60863e2f4c9f4ea382)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178313
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+---
+ avmedia/source/viewer/mediawindow_impl.cxx      | 13 +++++++------
+ editeng/source/items/frmitems.cxx               | 10 ++++++++--
+ .../source/commonembedding/persistence.cxx      | 17 +++++++++++++----
+ forms/source/component/ImageControl.cxx         |  4 ++++
+ forms/source/component/clickableimage.cxx       |  2 +-
+ sfx2/source/appl/linkmgr2.cxx                   |  5 ++++-
+ sw/source/filter/html/htmlgrin.cxx              |  3 ++-
+ toolkit/source/controls/unocontrols.cxx         |  3 ++-
+ tools/source/fsys/urlobj.cxx                    |  1 +
+ unotools/source/misc/mediadescriptor.cxx        |  3 +++
+ vcl/source/filter/graphicfilter.cxx             |  8 +++++++-
+ 11 files changed, 52 insertions(+), 17 deletions(-)
+
+diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx
+index 0a0e80dc0d3f..e1759815d5d0 100644
+--- a/avmedia/source/viewer/mediawindow_impl.cxx
++++ b/avmedia/source/viewer/mediawindow_impl.cxx
+@@ -170,15 +170,16 @@ void MediaWindowImpl::dispose()
+ uno::Reference<media::XPlayer> MediaWindowImpl::createPlayer(const OUString& rURL, const OUString& rReferer, const OUString* pMimeType)
+ {
+-    uno::Reference<media::XPlayer> xPlayer;
+-
+     if( rURL.isEmpty() )
+-        return xPlayer;
++        return nullptr;
+     if (SvtSecurityOptions::isUntrustedReferer(rReferer))
+-    {
+-        return xPlayer;
+-    }
++        return nullptr;
++
++    if (INetURLObject(rURL).IsExoticProtocol())
++        return nullptr;
++
++    uno::Reference<media::XPlayer> xPlayer;
+     if (!pMimeType || *pMimeType == AVMEDIA_MIMETYPE_COMMON)
+     {
+diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx
+index 45ac886d5c50..a6f97afc2509 100644
+--- a/editeng/source/items/frmitems.cxx
++++ b/editeng/source/items/frmitems.cxx
+@@ -44,6 +44,7 @@
+ #include <svl/memberid.h>
+ #include <rtl/math.hxx>
+ #include <rtl/ustring.hxx>
++#include <sal/log.hxx>
+ #include <tools/mapunit.hxx>
+ #include <tools/UnitConversion.hxx>
+ #include <vcl/graphicfilter.hxx>
+@@ -3188,6 +3189,13 @@ const GraphicObject* SvxBrushItem::GetGraphicObject(OUString const & referer) co
+             return nullptr;
+         }
++        INetURLObject aGraphicURL( maStrLink );
++        if (aGraphicURL.IsExoticProtocol())
++        {
++            SAL_WARN("editeng", "Ignore exotic protocol: " << maStrLink);
++            return nullptr;
++        }
++
+         // tdf#94088 prepare graphic and state
+         Graphic aGraphic;
+         bool bGraphicLoaded = false;
+@@ -3208,8 +3216,6 @@ const GraphicObject* SvxBrushItem::GetGraphicObject(OUString const & referer) co
+         // a 'data:' scheme url and try to load that (embedded graphics)
+         if(!bGraphicLoaded)
+         {
+-            INetURLObject aGraphicURL( maStrLink );
+-
+             if( INetProtocol::Data == aGraphicURL.GetProtocol() )
+             {
+                 std::unique_ptr<SvMemoryStream> const xMemStream(aGraphicURL.getData());
+diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx
+index faf3209e1f32..1e97721f0066 100644
+--- a/embeddedobj/source/commonembedding/persistence.cxx
++++ b/embeddedobj/source/commonembedding/persistence.cxx
+@@ -55,6 +55,7 @@
+ #include <comphelper/namedvaluecollection.hxx>
+ #include <comphelper/propertyvalue.hxx>
+ #include <unotools/mediadescriptor.hxx>
++#include <tools/urlobj.hxx>
+ #include <tools/diagnose_ex.h>
+ #include <sal/log.hxx>
+@@ -370,11 +371,19 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::LoadLink_Impl()
+     uno::Sequence< beans::PropertyValue > aArgs( m_aDocMediaDescriptor.getLength() + nLen );
+     auto pArgs = aArgs.getArray();
+-    pArgs[0].Name = "URL";
+-    if(m_aLinkTempFile.is())
+-        pArgs[0].Value <<= m_aLinkTempFile->getUri();
++    OUString sURL;
++    if (m_aLinkTempFile.is())
++        sURL = m_aLinkTempFile->getUri();
+     else
+-        pArgs[0].Value <<= m_aLinkURL;
++        sURL = m_aLinkURL;
++    if (INetURLObject(sURL).IsExoticProtocol())
++    {
++        SAL_WARN("embeddedobj.common", "Ignore exotic protocol: " << pArgs[0].Value);
++        return nullptr;
++    }
++
++    pArgs[0].Name = "URL";
++    pArgs[0].Value <<= sURL;
+     pArgs[1].Name = "FilterName";
+     pArgs[1].Value <<= m_aLinkFilterName;
+diff --git a/forms/source/component/ImageControl.cxx b/forms/source/component/ImageControl.cxx
+index af4c1e32f979..ad1d8bf53b88 100644
+--- a/forms/source/component/ImageControl.cxx
++++ b/forms/source/component/ImageControl.cxx
+@@ -397,6 +397,10 @@ void OImageControlModel::read(const Reference<XObjectInputStream>& _rxInStream)
+ bool OImageControlModel::impl_updateStreamForURL_lck( const OUString& _rURL, ValueChangeInstigator _eInstigator )
+ {
++    if (INetURLObject(_rURL).IsExoticProtocol()) {
++        return false;
++    }
++
+     // create a stream for the image specified by the URL
+     std::unique_ptr< SvStream > pImageStream;
+     Reference< XInputStream > xImageStream;
+diff --git a/forms/source/component/clickableimage.cxx b/forms/source/component/clickableimage.cxx
+index 808f05e6e1ce..25099453116e 100644
+--- a/forms/source/component/clickableimage.cxx
++++ b/forms/source/component/clickableimage.cxx
+@@ -740,7 +740,7 @@ namespace frm
+         // the SfxMedium is not allowed to be created with an invalid URL, so we have to check this first
+         INetURLObject aUrl(rURL);
+-        if (INetProtocol::NotValid == aUrl.GetProtocol())
++        if (INetProtocol::NotValid == aUrl.GetProtocol() || aUrl.IsExoticProtocol())
+             // we treat an invalid URL like we would treat no URL
+             return;
+diff --git a/sfx2/source/appl/linkmgr2.cxx b/sfx2/source/appl/linkmgr2.cxx
+index 4b77bcf90fb6..eb792dbbbbdb 100644
+--- a/sfx2/source/appl/linkmgr2.cxx
++++ b/sfx2/source/appl/linkmgr2.cxx
+@@ -526,8 +526,11 @@ bool LinkManager::GetGraphicFromAny(const OUString& rMimeType,
+             sReferer = sh->GetMedium()->GetName();
+         OUString sURL = rValue.get<OUString>();
+-        if (!SvtSecurityOptions::isUntrustedReferer(sReferer))
++        if (!SvtSecurityOptions::isUntrustedReferer(sReferer) &&
++            !INetURLObject(sURL).IsExoticProtocol())
++        {
+             rGraphic = vcl::graphic::loadFromURL(sURL, pParentWin);
++        }
+         if (rGraphic.IsNone())
+             rGraphic.SetDefaultType();
+         rGraphic.setOriginURL(sURL);
+diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx
+index 582f30caa4f6..94d0909b9f9b 100644
+--- a/sw/source/filter/html/htmlgrin.cxx
++++ b/sw/source/filter/html/htmlgrin.cxx
+@@ -672,7 +672,7 @@ IMAGE_SETEVENT:
+     bool bNeedWidth = (!bPercentWidth && !nWidth) || bRelWidthScale;
+     bool bRelHeightScale = bPercentHeight && nHeight == SwFormatFrameSize::SYNCED;
+     bool bNeedHeight = (!bPercentHeight && !nHeight) || bRelHeightScale;
+-    if ((bNeedWidth || bNeedHeight) && !m_bFuzzing && allowAccessLink(*m_xDoc))
++    if ((bNeedWidth || bNeedHeight) && !m_bFuzzing && allowAccessLink(*m_xDoc) && !aGraphicURL.IsExoticProtocol())
+     {
+         GraphicDescriptor aDescriptor(aGraphicURL);
+         if (aDescriptor.Detect(/*bExtendedInfo=*/true))
+diff --git a/toolkit/source/controls/unocontrols.cxx b/toolkit/source/controls/unocontrols.cxx
+index 3d528bd5e68b..7c9cbdbda40b 100644
+--- a/toolkit/source/controls/unocontrols.cxx
++++ b/toolkit/source/controls/unocontrols.cxx
+@@ -33,6 +33,7 @@
+ #include <controls/formattedcontrol.hxx>
+ #include <toolkit/controls/unocontrols.hxx>
+ #include <toolkit/helper/property.hxx>
++#include <tools/urlobj.hxx>
+ #include <toolkit/helper/macros.hxx>
+ // for introspection
+@@ -69,7 +70,7 @@ css::uno::Reference< css::graphic::XGraphic >
+ ImageHelper::getGraphicFromURL_nothrow( const OUString& _rURL )
+ {
+     uno::Reference< graphic::XGraphic > xGraphic;
+-    if ( _rURL.isEmpty() )
++    if (_rURL.isEmpty() || INetURLObject(_rURL).IsExoticProtocol())
+         return xGraphic;
+     try
+diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
+index bcedfe4ff973..88755f4a8b9d 100644
+--- a/tools/source/fsys/urlobj.cxx
++++ b/tools/source/fsys/urlobj.cxx
+@@ -4834,6 +4834,7 @@ bool INetURLObject::IsExoticProtocol() const
+     return m_eScheme == INetProtocol::Slot ||
+            m_eScheme == INetProtocol::Macro ||
+            m_eScheme == INetProtocol::Uno ||
++           m_eScheme == INetProtocol::VndSunStarExpand ||
+            isSchemeEqualTo(u"vnd.sun.star.script") ||
+            isSchemeEqualTo(u"service");
+ }
+diff --git a/unotools/source/misc/mediadescriptor.cxx b/unotools/source/misc/mediadescriptor.cxx
+index 348fa8fe7673..bbf0c8c5c887 100644
+--- a/unotools/source/misc/mediadescriptor.cxx
++++ b/unotools/source/misc/mediadescriptor.cxx
+@@ -335,6 +335,9 @@ bool MediaDescriptor::impl_openStreamWithPostData( const css::uno::Reference< cs
+ /*-----------------------------------------------*/
+ bool MediaDescriptor::impl_openStreamWithURL( const OUString& sURL, bool bLockFile )
+ {
++    if (INetURLObject(sURL).IsExoticProtocol())
++        return false;
++
+     OUString referer(getUnpackedValueOrDefault(PROP_REFERRER, OUString()));
+     if (SvtSecurityOptions::isUntrustedReferer(referer)) {
+         return false;
+diff --git a/vcl/source/filter/graphicfilter.cxx b/vcl/source/filter/graphicfilter.cxx
+index 17710e85650c..5318224ac737 100644
+--- a/vcl/source/filter/graphicfilter.cxx
++++ b/vcl/source/filter/graphicfilter.cxx
+@@ -524,10 +524,16 @@ ErrCode GraphicFilter::CanImportGraphic( const OUString& rMainUrl, SvStream& rIS
+ ErrCode GraphicFilter::ImportGraphic( Graphic& rGraphic, const INetURLObject& rPath,
+                                      sal_uInt16 nFormat, sal_uInt16 * pDeterminedFormat, GraphicFilterImportFlags nImportFlags )
+ {
+-    ErrCode nRetValue = ERRCODE_GRFILTER_FORMATERROR;
+     SAL_WARN_IF( rPath.GetProtocol() == INetProtocol::NotValid, "vcl.filter", "GraphicFilter::ImportGraphic() : ProtType == INetProtocol::NotValid" );
+     OUString    aMainUrl( rPath.GetMainURL( INetURLObject::DecodeMechanism::NONE ) );
++    if (rPath.IsExoticProtocol())
++    {
++        SAL_WARN("vcl.filter", "GraphicFilter::ImportGraphic(), ignore exotic protocol: " << aMainUrl);
++        return ERRCODE_GRFILTER_FORMATERROR;
++    }
++
++    ErrCode nRetValue = ERRCODE_GRFILTER_FORMATERROR;
+     std::unique_ptr<SvStream> xStream(::utl::UcbStreamHelper::CreateStream( aMainUrl, StreamMode::READ | StreamMode::SHARE_DENYNONE ));
+     if (xStream)
+     {
+-- 
+2.39.5
+
diff --git a/debian/patches/cppunit-optional.diff b/debian/patches/cppunit-optional.diff
new file mode 100644 (file)
index 0000000..9346539
--- /dev/null
@@ -0,0 +1,212 @@
+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=<absolute path to JUnit 4 jar>],
+         [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 "$_os" != "Android" ; 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 8888355642ef..ac8a4b64967e 100644
+--- a/config_host.mk.in
++++ b/config_host.mk.in
+@@ -147,6 +147,7 @@ export ENABLE_COINMP=@ENABLE_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_DBGUTIL=@ENABLE_DBGUTIL@
+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,13 +27,21 @@ $(eval $(call gb_Executable_use_libraries,pdf2xml,\
+     comphelper \
+     cppu \
+-    unotest \
+     cppuhelper \
+     sal \
+     tl \
+     xo \
+     i18nutil \
+ ))
++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 217dbfa6543a..fa2d0d489bd7 100644
+--- a/smoketest/Module_smoketest.mk
++++ b/smoketest/Module_smoketest.mk
+@@ -13,8 +13,12 @@ $(eval $(call gb_Module_Module,smoketest))
+ ifeq ($(CROSS_COMPILING),)
+ ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
++ifeq ($(ENABLE_CPPUNIT),TRUE)
+ $(eval $(call gb_Module_add_targets,smoketest,\
+       Library_smoketest \
++))
++endif
++$(eval $(call gb_Module_add_targets,smoketest,\
+       Zip_smoketestdoc \
+ ))
+ endif
+@@ -26,6 +30,7 @@ $(eval $(call gb_Module_add_targets,smoketest,\
+ endif
+ endif
++ifeq ($(ENABLE_CPPUNIT),TRUE)
+ ifneq (MACOSX/TRUE,$(OS)/$(ENABLE_MACOSX_SANDBOX))
+ ifneq ($(filter EXTENSIONS,$(BUILD_TYPE)),)
+ $(eval $(call gb_Module_add_subsequentcheck_targets,smoketest,\
+@@ -33,6 +38,7 @@ $(eval $(call gb_Module_add_subsequentcheck_targets,smoketest,\
+ ))
+ endif
+ endif
++endif
+ endif
+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,\
+ $(eval $(call gb_Module_add_check_targets,test,\
+     CppunitTest_test_xpath \
+ ))
++endif
+ endif
+diff --git a/unotest/Module_unotest.mk b/unotest/Module_unotest.mk
+index bdffe8e8ac14..acdd4da6c539 100644
+--- a/unotest/Module_unotest.mk
++++ b/unotest/Module_unotest.mk
+@@ -12,12 +12,14 @@ $(eval $(call gb_Module_Module,unotest))
+ ifeq ($(gb_Side),host)
+ 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/Repository.mk b/Repository.mk
+index dbb628f2a6b3..4387e665624e 100644
+--- a/Repository.mk
++++ b/Repository.mk
+@@ -799,8 +805,12 @@ endif
+ # 'test_unittest' is only package delivering to workdir.
+ # Other packages could be potentially autoinstalled.
++ifeq ($(ENABLE_CPPUNIT),TRUE)
+ $(eval $(call gb_Helper_register_packages, \
+       test_unittest \
++))
++endif
++$(eval $(call gb_Helper_register_packages, \
+       cli_basetypes_copy \
+       extras_wordbook \
+       instsetoo_native_setup \
diff --git a/debian/patches/debian-debug.diff b/debian/patches/debian-debug.diff
new file mode 100644 (file)
index 0000000..8a5efdd
--- /dev/null
@@ -0,0 +1,47 @@
+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 2d62af9981a9..b1ad5a970700 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4056,6 +4056,9 @@ fi
+ if test "$enable_symbols" = yes; then
+     ENABLE_SYMBOLS_FOR=all
+     AC_MSG_RESULT([yes])
++elif test "$enable_symbols" = "SMALL" -o "$enable_symbols" = "small"; then
++    ENABLE_SYMBOLS_FOR=all
++    AC_MSG_RESULT([yes, small ones])
+ elif test "$enable_symbols" = no; then
+     ENABLE_SYMBOLS_FOR=
+     AC_MSG_RESULT([no])
+@@ -4064,6 +4067,7 @@ else
+     ENABLE_SYMBOLS_FOR="$enable_symbols"
+     AC_MSG_RESULT([for "$enable_symbols"])
+ fi
++AC_SUBST(enable_symbols)
+ AC_SUBST(ENABLE_SYMBOLS_FOR)
+ if test -n "$with_android_ndk" -a \( -n "$ENABLE_SYMBOLS" -o -n "$ENABLE_DEBUG" -o -n "$ENABLE_DBGUTIL" \) -a "$ENABLE_DEBUGINFO_FOR" = "all"; then
+diff --git a/config_host.mk.in b/config_host.mk.in
+index 7df26713a1dd..174c4e50466c 100644
+--- a/config_host.mk.in
++++ b/config_host.mk.in
+@@ -208,6 +209,7 @@ export ENABLE_SDREMOTE_BLUETOOTH=@ENABLE_SDREMOTE_BLUETOOTH@
+ export ENABLE_SILENT_MSI=@ENABLE_SILENT_MSI@
+ export ENABLE_SKIA=@ENABLE_SKIA@
+ export ENABLE_SKIA_DEBUG=@ENABLE_SKIA_DEBUG@
++export enable_symbols=@enable_symbols@
+ export ENABLE_SYMBOLS_FOR=@ENABLE_SYMBOLS_FOR@
+ export ENABLE_VALGRIND=@ENABLE_VALGRIND@
+ export ENABLE_WASM_EXCEPTIONS=@ENABLE_WASM_EXCEPTIONS@
diff --git a/debian/patches/debian-hardened-buildflags-CPPFLAGS.diff b/debian/patches/debian-hardened-buildflags-CPPFLAGS.diff
new file mode 100644 (file)
index 0000000..26061d6
--- /dev/null
@@ -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
+ AC_SUBST(GSTREAMER_1_0_LIBS)
+ AC_SUBST(ENABLE_GSTREAMER_1_0)
++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 += \
+               DISABLE_DYNLOADING \
+       )
++gb_GLOBALDEFS += $(HARDEN_CPPFLAGS)
++
+ gb_GLOBALDEFS := $(sort $(gb_GLOBALDEFS))
+ # Common environment variables passed into all gb_*Test classes:
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 (file)
index 0000000..00ae5c5
--- /dev/null
@@ -0,0 +1,32 @@
+don't hardcode -fstack-protector-strong in configure.ac/gbuild. We get the
+hardening flags from dpkg-buildflags anyway.
+
+diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk
+index 712a61df544f..0d50f538ba7b 100644
+--- a/solenv/gbuild/platform/com_GCC_defs.mk
++++ b/solenv/gbuild/platform/com_GCC_defs.mk
+@@ -67,7 +67,6 @@ gb_CFLAGS_COMMON := \
+       -fmessage-length=0 \
+       -fno-common \
+       -pipe \
+-      $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong) \
+ gb_CXXFLAGS_COMMON := \
+       -Wall \
+@@ -82,7 +81,6 @@ gb_CXXFLAGS_COMMON := \
+       -fmessage-length=0 \
+       -fno-common \
+       -pipe \
+-      $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong) \
+ ifeq ($(HAVE_WDEPRECATED_COPY_DTOR),TRUE)
+ gb_CXXFLAGS_COMMON += -Wdeprecated-copy-dtor
+@@ -136,8 +134,6 @@ endif
+ gb_VISIBILITY_FLAGS_CXX := -fvisibility-inlines-hidden
+ gb_CXXFLAGS_COMMON += $(gb_VISIBILITY_FLAGS_CXX)
+-gb_LinkTarget_LDFLAGS += $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong)
+-
+ ifneq ($(gb_ENABLE_PCH),)
+ ifeq ($(COM_IS_CLANG),TRUE)
+ # Clang by default includes in the PCH timestamps of the files it was
diff --git a/debian/patches/debian-opt.diff b/debian/patches/debian-opt.diff
new file mode 100644 (file)
index 0000000..96784e6
--- /dev/null
@@ -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
+     fi
+ fi
++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/disable-flaky-tests.diff b/debian/patches/disable-flaky-tests.diff
new file mode 100644 (file)
index 0000000..6e367e6
--- /dev/null
@@ -0,0 +1,120 @@
+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.ScAnnotationShapeObj
+ -o sc.ScAutoFormatFieldObj
+
+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/sw/qa/uitest/writer_tests3/tdf79236.py
++++ b/sw/qa/uitest/writer_tests3/tdf79236.py
+@@ -8,8 +8,11 @@ from uitest.framework import UITestCase
+ from uitest.framework import UITestCase
+ from uitest.uihelper.common import type_text
++import unittest
++
+ class tdf79236(UITestCase):
++    @unittest.skip("Currently broken")
+     def test_paragraph(self):
+         with self.ui_test.create_doc_in_start_center("writer") as document:
+
+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 37acfdc3730f..7d26342f179f 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_import2 \
+     CppunitTest_chart2_trendcalculators \
+-    CppunitTest_chart2_dump \
+     CppunitTest_chart2_pivot_chart_test \
+     CppunitTest_chart2_geometry \
+ ))
++#    CppunitTest_chart2_dump \
+ ifeq ($(ENABLE_CHART_TESTS),TRUE)
+ ifeq ($(WITH_FONTS), TRUE)
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 (file)
index 0000000..c1e677e
--- /dev/null
@@ -0,0 +1,58 @@
+diff --git a/config_host.mk.in b/config_host.mk.in
+index 6cea6ccf795e..d08fac922239 100644
+--- a/config_host.mk.in
++++ b/config_host.mk.in
+@@ -324,6 +324,7 @@ export JAVAIFLAGS=@JAVAIFLAGS@
+ export JAVAIFLAGS_FOR_BUILD=@JAVAIFLAGS_FOR_BUILD@
+ 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_HOME_FOR_BUILD=@JAVA_HOME_FOR_BUILD@
+ export JAVA_SOURCE_VER=@JAVA_SOURCE_VER@
+diff --git a/configure.ac b/configure.ac
+index 06398bfa99a7..06835ae884c4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -7826,6 +7826,14 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
+             JAVAIFLAGS=-Xmx64M
+             # set to limit VM usage for javac
+             JAVACFLAGS=-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 9])
+@@ -7841,6 +7849,7 @@ else
+         JAVAIFLAGS=$JAVAIFLAGS_FOR_BUILD
+     fi
+ fi
++AC_SUBST(JAVA_HAS_ZERO_VM)
+ dnl ===================================================================
+ dnl Checks for javac
+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-shortcuts_tab_navigation-uitest.diff b/debian/patches/disable-shortcuts_tab_navigation-uitest.diff
new file mode 100644 (file)
index 0000000..c4eacc9
--- /dev/null
@@ -0,0 +1,42 @@
+--- a/cui/qa/uitest/dialogs/shortcuts.py       2021-07-02 21:00:52.565424890 +0200
++++ /dev/null  2021-06-19 15:31:01.435382997 +0200
+@@ -1,39 +0,0 @@
+-# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+-#
+-# 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/.
+-#
+-
+-from uitest.framework import UITestCase
+-from uitest.uihelper.common import select_pos
+-from libreoffice.uno.propertyvalue import mkPropertyValues
+-from uitest.uihelper.common import get_state_as_dict
+-
+-class Test(UITestCase):
+-
+-    def test_tab_navigation(self):
+-        with self.ui_test.create_doc_in_start_center("writer"):
+-            xWriterDoc = self.xUITest.getTopFocusWindow()
+-            xWriterEdit = xWriterDoc.getChild("writer_edit")
+-
+-            with self.ui_test.execute_dialog_through_command(".uno:EditStyle") as xDialog:
+-
+-                xTabs = xDialog.getChild("tabcontrol")
+-                select_pos(xTabs, "0")
+-
+-                for i in range(16):
+-                    self.assertEqual(get_state_as_dict(xTabs)["CurrPagePos"], str(i))
+-
+-                    xTabs.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+PAGEDOWN"}))
+-
+-                self.assertEqual(get_state_as_dict(xTabs)["CurrPagePos"], "0")
+-
+-                for i in reversed(range(16)):
+-                    xTabs.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+PAGEUP"}))
+-
+-                    self.assertEqual(get_state_as_dict(xTabs)["CurrPagePos"], str(i))
+-
+-
+-
+-# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/debian/patches/disable-unused-test-programs.diff b/debian/patches/disable-unused-test-programs.diff
new file mode 100644 (file)
index 0000000..c1402c6
--- /dev/null
@@ -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 $(DISABLE_GUI),, \
+-                              Executable_ui-previewer)) \
+-              $(if $(filter LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
+-                      Executable_outdevgrind \
+-                      $(if $(DISABLE_GUI),, \
+-                              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 (file)
index 0000000..89ae9a1
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/configure.ac-old 2020-09-13 14:08:41.553174902 +0200
++++ b/configure.ac     2020-09-13 14:08:54.365300591 +0200
+@@ -7833,6 +7833,7 @@
+             # set to limit VM usage for JunitTests
+             JAVAIFLAGS=-Xmx64M
++          JAVAIFLAGS="$JAVAIFLAGS -Djdk.net.URLClassPath.disableClassPathURLCheck=true"
+             # set to limit VM usage for javac
+             JAVACFLAGS=-J-Xmx128M
diff --git a/debian/patches/do-not-ABORT_ON_NON_APPLICATION_FONT_USE.diff b/debian/patches/do-not-ABORT_ON_NON_APPLICATION_FONT_USE.diff
new file mode 100644 (file)
index 0000000..7cca8c2
--- /dev/null
@@ -0,0 +1,32 @@
+diff --git a/sw/CppunitTest_sw_core_layout.mk b/sw/CppunitTest_sw_core_layout.mk
+index 80dc1530fdb3..2cae001add53 100644
+--- a/sw/CppunitTest_sw_core_layout.mk
++++ b/sw/CppunitTest_sw_core_layout.mk
+@@ -71,11 +71,6 @@ $(eval $(call gb_CppunitTest_use_uiconfigs,sw_core_layout, \
+     svx \
+ ))
+-# assert if font/glyph fallback occurs
+-$(call gb_CppunitTest_get_target,sw_core_layout): \
+-    EXTRA_ENV_VARS := \
+-        SAL_ABORT_ON_NON_APPLICATION_FONT_USE=1
+-
+ $(eval $(call gb_CppunitTest_use_more_fonts,sw_core_layout))
+ # vim: set noet sw=4 ts=4:
+diff --git a/sw/layoutwriter_setup.mk b/sw/layoutwriter_setup.mk
+index 9d10fa9ac2c6..cd0d86b7f98c 100644
+--- a/sw/layoutwriter_setup.mk
++++ b/sw/layoutwriter_setup.mk
+@@ -82,11 +82,6 @@ $(eval $(call gb_CppunitTest_use_uiconfigs,sw_layoutwriter$(1), \
+ $(call gb_CppunitTest_get_target,sw_layoutwriter$(1)): \
+     $(call gb_Library_get_target,textconv_dict)
+-# assert if font/glyph fallback occurs
+-$(call gb_CppunitTest_get_target,sw_layoutwriter$(1)): \
+-    EXTRA_ENV_VARS := \
+-        SAL_ABORT_ON_NON_APPLICATION_FONT_USE=1
+-
+ $(eval $(call gb_CppunitTest_use_more_fonts,sw_layoutwriter$(1)))
+ endef
diff --git a/debian/patches/do-not-hide-test-output.diff b/debian/patches/do-not-hide-test-output.diff
new file mode 100644 (file)
index 0000000..eada913
--- /dev/null
@@ -0,0 +1,99 @@
+diff --git a/odk/build-examples_common.mk b/odk/build-examples_common.mk
+index abcb3a3e2593..35d45ad23413 100644
+--- a/odk/build-examples_common.mk
++++ b/odk/build-examples_common.mk
+@@ -49,12 +49,7 @@ else
+               && printf 'yes\n' | LC_ALL=C make -j1 \
+                       CC="$(CXX)" LINK="$(CXX)" LIB="$(CXX)" \
+                   $(if $(MACOSX_SHELL_HACK), SHELL="$$$$ODK_BUILD_SHELL", ))) \
+-      $(if $(MACOSX_SHELL_HACK),&& rm -f "$$$$ODK_BUILD_SHELL")) \
+-          >$(call gb_CustomTarget_get_workdir,$(1))/log 2>&1 \
+-      || (RET=$$$$? \
+-          $(if $(MACOSX_SHELL_HACK), && rm -f "$$$$ODK_BUILD_SHELL" , ) \
+-          && cat $(call gb_CustomTarget_get_workdir,$(1))/log \
+-          && exit $$$$RET)
++      2>&1 )
+ endif
+ $(call gb_CustomTarget_get_workdir,$(1))/setsdkenv: \
+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
+               $(call gb_CppunitTest__make_args) "-env:CPPUNITTESTTARGET=$@" \
+               $(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)
+       $(call gb_Trace_EndRange,$*,CUT)
+ endif
+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)
+       $(call gb_Trace_EndRange,$*,JUT)
+ 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))
+       $(call gb_Trace_EndRange,$*,UIT)
+ endif
+diff --git a/solenv/gbuild/PythonTest.mk b/solenv/gbuild/PythonTest.mk
+index bc404d4fb817..f605634d3d07 100644
+--- a/solenv/gbuild/PythonTest.mk
++++ b/solenv/gbuild/PythonTest.mk
+@@ -67,12 +67,7 @@ else
+                       $(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)
+       $(call gb_Trace_EndRange,$*,PYT)
+ endif
diff --git a/debian/patches/do-not-trust-any-signature-on-repaired-package.diff b/debian/patches/do-not-trust-any-signature-on-repaired-package.diff
new file mode 100644 (file)
index 0000000..bad84ec
--- /dev/null
@@ -0,0 +1,79 @@
+From 016eb8f0cd2effbe33ef5b144c33c74d4878155e Mon Sep 17 00:00:00 2001
+From: Michael Stahl <michael.stahl@allotropia.de>
+Date: Tue, 2 Jul 2024 13:24:38 +0200
+Subject: sfx2: SfxObjectShell should not trust any signature on repaired
+ package
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: I0317f80989e9dabd23e88e3caab26ede3fb5bd56
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169883
+Tested-by: Jenkins
+Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
+(cherry picked from commit 8b333575ee680664fa3d83249ccec90881754ad7)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169930
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171910
+Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+---
+ sfx2/source/doc/objmisc.cxx |  6 ++++++
+ sfx2/source/doc/objserv.cxx | 10 ++++++++++
+ sfx2/source/doc/objstor.cxx |  2 ++
+ 3 files changed, 18 insertions(+)
+
+diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
+index 97a0839a59dd..1e86b854f074 100644
+--- a/sfx2/source/doc/objmisc.cxx
++++ b/sfx2/source/doc/objmisc.cxx
+@@ -938,6 +938,12 @@ void SfxObjectShell::BreakMacroSign_Impl( bool bBreakMacroSign )
+ void SfxObjectShell::CheckSecurityOnLoading_Impl()
+ {
++    if (GetErrorCode() == ERRCODE_IO_BROKENPACKAGE)
++    {   // safety first: don't run any macros from broken package.
++        pImpl->aMacroMode.disallowMacroExecution();
++        return; // do not get signature status - needs to be done after RepairPackage
++    }
++
+     // make sure LO evaluates the macro signatures, so it can be preserved
+     GetScriptingSignatureState();
+diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
+index f0bc6172ab1d..895bec13f0c0 100644
+--- a/sfx2/source/doc/objserv.cxx
++++ b/sfx2/source/doc/objserv.cxx
+@@ -1837,6 +1837,16 @@ SignatureState SfxObjectShell::ImplGetSignatureState( bool bScriptingContent )
+         uno::Sequence< security::DocumentSignatureInformation > aInfos = GetDocumentSignatureInformation( bScriptingContent );
+         *pState = DocumentSignatures::getSignatureState(aInfos);
++
++        // repaired package cannot be trusted
++        if (*pState != SignatureState::NOSIGNATURES)
++        {
++            SfxBoolItem const*const pRepairItem{GetMedium()->GetItemSet()->GetItem(SID_REPAIRPACKAGE, false)};
++            if (pRepairItem && pRepairItem->GetValue())
++            {
++                *pState = SignatureState::BROKEN;
++            }
++        }
+     }
+     if ( *pState == SignatureState::OK || *pState == SignatureState::NOTVALIDATED
+diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
+index 9ef664d1cb2f..30b02aba97cc 100644
+--- a/sfx2/source/doc/objstor.cxx
++++ b/sfx2/source/doc/objstor.cxx
+@@ -380,6 +380,8 @@ void SfxObjectShell::PrepareSecondTryLoad_Impl()
+ {
+     // only for internal use
+     pImpl->m_xDocStorage.clear();
++    pImpl->nDocumentSignatureState = SignatureState::UNKNOWN;
++    pImpl->nScriptingSignatureState = SignatureState::UNKNOWN;
+     pImpl->m_bIsInit = false;
+     ResetError();
+ }
+-- 
+cgit v1.2.3
+
diff --git a/debian/patches/dont-touch-urd.diff b/debian/patches/dont-touch-urd.diff
new file mode 100644 (file)
index 0000000..f19ef5d
--- /dev/null
@@ -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/dragonbox-1.1.3.diff b/debian/patches/dragonbox-1.1.3.diff
new file mode 100644 (file)
index 0000000..1bcbe58
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index f6937648fe2d..6ccf3bcccf24 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -10626,7 +10670,7 @@ if test "$with_system_dragonbox" = "yes"; then
+     AC_LANG_PUSH([C++])
+     save_CPPFLAGS=$CPPFLAGS
+     # This is where upstream installs to, unfortunately no .pc or so...
+-    DRAGONBOX_CFLAGS=-I/usr/include/dragonbox-1.0.0
++    DRAGONBOX_CFLAGS=-I/usr/include/dragonbox-1.1.3
+     CPPFLAGS="$CPPFLAGS $DRAGONBOX_CFLAGS"
+     AC_CHECK_HEADER([dragonbox/dragonbox.h], [],
+        [AC_MSG_ERROR([dragonbox/dragonbox.h not found. install dragonbox])], [])
diff --git a/debian/patches/escape-url-passed-to-gstreamer.diff b/debian/patches/escape-url-passed-to-gstreamer.diff
new file mode 100644 (file)
index 0000000..e90fadb
--- /dev/null
@@ -0,0 +1,50 @@
+From 6167f5815aefa78a70517c8e2acbdd7b9c9be27d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Fri, 3 Nov 2023 14:20:07 +0000
+Subject: escape url passed to gstreamer
+
+Change-Id: I3c93ee34800cc8563370f75ef3ef6f8a9220e6ec
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158894
+Tested-by: Jenkins
+Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
+(cherry picked from commit f41dcadf6492a6ffd32696d50f818e44355b9ad9)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159583
+---
+ avmedia/source/gstreamer/gstframegrabber.cxx | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/avmedia/source/gstreamer/gstframegrabber.cxx b/avmedia/source/gstreamer/gstframegrabber.cxx
+index ece799d87530..25170a296e66 100644
+--- a/avmedia/source/gstreamer/gstframegrabber.cxx
++++ b/avmedia/source/gstreamer/gstframegrabber.cxx
+@@ -50,11 +50,9 @@ void FrameGrabber::disposePipeline()
+ FrameGrabber::FrameGrabber( std::u16string_view rURL )
+ {
+-    gchar *pPipelineStr;
+-    pPipelineStr = g_strdup_printf(
+-        "uridecodebin uri=%s ! videoconvert ! videoscale ! appsink "
+-        "name=sink caps=\"video/x-raw,format=RGB,pixel-aspect-ratio=1/1\"",
+-        OUStringToOString( rURL, RTL_TEXTENCODING_UTF8 ).getStr() );
++    const char pPipelineStr[] =
++        "uridecodebin name=source ! videoconvert ! videoscale ! appsink "
++        "name=sink caps=\"video/x-raw,format=RGB,pixel-aspect-ratio=1/1\"";
+     GError *pError = nullptr;
+     mpPipeline = gst_parse_launch( pPipelineStr, &pError );
+@@ -65,6 +63,12 @@ FrameGrabber::FrameGrabber( std::u16string_view rURL )
+     }
+     if( mpPipeline ) {
++
++        if (GstElement *pUriDecode = gst_bin_get_by_name(GST_BIN(mpPipeline), "source"))
++            g_object_set(pUriDecode, "uri", OUStringToOString(rURL, RTL_TEXTENCODING_UTF8).getStr(), nullptr);
++        else
++            g_warning("Missing 'source' element in gstreamer pipeline");
++
+         // pre-roll
+         switch( gst_element_set_state( mpPipeline, GST_STATE_PAUSED ) ) {
+         case GST_STATE_CHANGE_FAILURE:
+-- 
+cgit v1.2.1
+
diff --git a/debian/patches/fix-32bit-build.diff b/debian/patches/fix-32bit-build.diff
new file mode 100644 (file)
index 0000000..b53a663
--- /dev/null
@@ -0,0 +1,54 @@
+From 0f5dfaebd61b9cabbe9762865563c2296ebb0112 Mon Sep 17 00:00:00 2001
+From: Stephan Bergmann <stephan.bergmann@allotropia.de>
+Date: Fri, 8 Mar 2024 08:38:44 +0100
+Subject: [PATCH] Blind fix for Linux 32-bit builds
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+...which, according to
+<https://lists.freedesktop.org/archives/libreoffice/2024-March/091666.html> "32
+bit build failure (smb, narrowing)", started to fail with
+
+> /<<PKGBUILDDIR>>/sal/osl/unx/file.cxx: In function ‘void osl_file_adjustLockFlags(const rtl::OString&, int*, sal_uInt32*)’:
+> /<<PKGBUILDDIR>>/sal/osl/unx/file.cxx:71:26: error: narrowing conversion of ‘4283649346’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
+>     71 | #define CIFS_SUPER_MAGIC 0xFF534D42
+>        |                          ^~~~~~~~~~
+> /<<PKGBUILDDIR>>/sal/osl/unx/file.cxx:795:14: note: in expansion of macro ‘CIFS_SUPER_MAGIC’
+>    795 |         case CIFS_SUPER_MAGIC:
+>        |              ^~~~~~~~~~~~~~~~
+
+etc.  My Fedora 39 "Linux man-pages 6.05" statfs(2) man page explains about the
+struct statfs f_type field of __fsword_t type:  "The __fsword_t type used for
+various fields in the statfs structure definition is a glibc internal type, not
+intended for public use.  This leaves the programmer in a bit of a conundrum
+when trying to copy or compare these fields to local variables in a program.
+Using unsigned int for such variables suffices on most systems."  But the
+underlying __FSWORD_T_TYPE looks like it is actually defined as a signed type in
+/usr/include/bits/typesizes.h.
+
+Change-Id: Ida3ae84031c4e48b0d6e69d76b66b4e4facfa1ae
+---
+ sal/osl/unx/file.cxx | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx
+index 03d685a997e9..5c4069cae2de 100644
+--- a/sal/osl/unx/file.cxx
++++ b/sal/osl/unx/file.cxx
+@@ -67,9 +67,9 @@
+ #ifdef LINUX
+ #include <sys/vfs.h>
+ // As documented by the kernel
+-#define SMB_SUPER_MAGIC  0x517B
+-#define CIFS_SUPER_MAGIC 0xFF534D42
+-#define SMB2_SUPER_MAGIC 0xFE534D42
++#define SMB_SUPER_MAGIC  static_cast<__fsword_t>(0x517B)
++#define CIFS_SUPER_MAGIC static_cast<__fsword_t>(0xFF534D42)
++#define SMB2_SUPER_MAGIC static_cast<__fsword_t>(0xFE534D42)
+ #endif
+ namespace {
+-- 
+2.39.2
+
diff --git a/debian/patches/fix-flaky-bridgetest.diff b/debian/patches/fix-flaky-bridgetest.diff
new file mode 100644 (file)
index 0000000..d113f55
--- /dev/null
@@ -0,0 +1,38 @@
+Description: Add safer float comparisons to bridgetest equals()
+Author: Marcus Tomlinson <marcus.tomlinson@canonical.com>
+Bug-Ubuntu: https://launchpad.net/bugs/1832360
+
+--- a/testtools/source/bridgetest/bridgetest.cxx
++++ b/testtools/source/bridgetest/bridgetest.cxx
+@@ -124,6 +125,9 @@ public:
+ static bool equals( const TestElement & rData1, const TestElement & rData2 )
+ {
++    const float epsilon_f = 0.00001f;
++    const double epsilon_d = 0.000000000001;
++
+     check( rData1.Bool == rData2.Bool, "### bool does not match!" );
+     check( rData1.Char == rData2.Char, "### char does not match!" );
+     check( rData1.Byte == rData2.Byte, "### byte does not match!" );
+@@ -133,8 +137,8 @@ static bool equals( const TestElement & rData1, const TestElement & rData2 )
+     check( rData1.ULong == rData2.ULong, "### unsigned long does not match!" );
+     check( rData1.Hyper == rData2.Hyper, "### hyper does not match!" );
+     check( rData1.UHyper == rData2.UHyper, "### unsigned hyper does not match!" );
+-    check( rData1.Float == rData2.Float, "### float does not match!" );
+-    check( rData1.Double == rData2.Double, "### double does not match!" );
++    check( fabs( rData1.Float - rData2.Float ) < epsilon_f, "### float does not match!" );
++    check( fabs( rData1.Double - rData2.Double ) < epsilon_d, "### double does not match!" );
+     check( rData1.Enum == rData2.Enum, "### enum does not match!" );
+     check( rData1.String == rData2.String, "### string does not match!" );
+     check( rData1.Byte2 == rData2.Byte2, "### byte2 does not match!" );
+@@ -149,8 +153,8 @@ static bool equals( const TestElement & rData1, const TestElement & rData2 )
+             rData1.ULong == rData2.ULong &&
+             rData1.Hyper == rData2.Hyper &&
+             rData1.UHyper == rData2.UHyper &&
+-            rData1.Float == rData2.Float &&
+-            rData1.Double == rData2.Double &&
++            fabs( rData1.Float - rData2.Float ) < epsilon_f &&
++            fabs( rData1.Double - rData2.Double ) < epsilon_d &&
+             rData1.Enum == rData2.Enum &&
+             rData1.String == rData2.String &&
+             rData1.Byte2 == rData2.Byte2 &&
diff --git a/debian/patches/fix-internal-hsqldb-build.diff b/debian/patches/fix-internal-hsqldb-build.diff
new file mode 100644 (file)
index 0000000..101da5e
--- /dev/null
@@ -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}"
++        >
++          <classpath>
++-            <pathelement location="lib/servlet.jar"/>
+++            <pathelement location="/usr/share/java/servlet-api-3.1.jar"/>
++          </classpath>
++          <include name="*.java"/>
++          <include name="org/hsqldb/*.java"/>
++@@ -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 @@
++       <javadoc packagenames="org.hsqldb.*,org.hsqldb.jdbc.*,org.hsqldb.lib.*,org.hsqldb.util.*"
++            sourcepath="${src}"
++            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"
+diff --git a/external/hsqldb/UnpackedTarball_hsqldb.mk b/external/hsqldb/UnpackedTarball_hsqldb.mk
+index 389572377fa6..d43d1418049d 100644
+--- a/external/hsqldb/UnpackedTarball_hsqldb.mk
++++ b/external/hsqldb/UnpackedTarball_hsqldb.mk
+@@ -27,6 +27,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,hsqldb,\
+       external/hsqldb/patches/jdbc-4.1.patch \
+       external/hsqldb/patches/multipleResultSets.patch \
+       external/hsqldb/patches/disable-dump-script.patch \
++      external/hsqldb/patches/use-system-servlet-api.jar.diff \
+ ))
+ # vim: set noet sw=4 ts=4:
diff --git a/debian/patches/fix-system-libfixmath.diff b/debian/patches/fix-system-libfixmath.diff
new file mode 100644 (file)
index 0000000..ab771b5
--- /dev/null
@@ -0,0 +1,29 @@
+diff --git a/config_host.mk.in b/config_host.mk.in
+index 9de974e472f9..1352749754e3 100644
+--- a/config_host.mk.in
++++ b/config_host.mk.in
+@@ -645,6 +645,7 @@ export SYSTEM_LIBATOMIC_OPS=@SYSTEM_LIBATOMIC_OPS@
+ export SYSTEM_LIBEOT=@SYSTEM_LIBEOT@
+ export SYSTEM_LIBEXTTEXTCAT=@SYSTEM_LIBEXTTEXTCAT@
+ export SYSTEM_LIBEXTTEXTCAT_DATA=@SYSTEM_LIBEXTTEXTCAT_DATA@
++export SYSTEM_LIBFIXMATH=@SYSTEM_LIBFIXMATH@
+ export SYSTEM_LIBLANGTAG=@SYSTEM_LIBLANGTAG@
+ export SYSTEM_LIBNUMBERTEXT=@SYSTEM_LIBNUMBERTEXT@
+ export SYSTEM_LIBNUMBERTEXT_DATA=@SYSTEM_LIBNUMBERTEXT_DATA@
+diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
+index 1d18d2325ad8..b40cb77cb34f 100644
+--- a/vcl/Library_vcl.mk
++++ b/vcl/Library_vcl.mk
+@@ -569,6 +569,12 @@ vcl_headless_freetype_code=\
+     vcl/unx/generic/printer/jobdata \
+     vcl/unx/generic/printer/ppdparser \
++ifeq ($(SYSTEM_LIBFIXMATH),TRUE)
++$(eval $(call gb_Library_add_libs,vcl,\
++        -llibfixmath \
++))
++endif
++
+ ifeq ($(USING_X11),TRUE)
+ $(eval $(call gb_Library_add_exception_objects,vcl,\
+     vcl/unx/generic/window/screensaverinhibitor \
diff --git a/debian/patches/fix-system-lpsolve-build.diff b/debian/patches/fix-system-lpsolve-build.diff
new file mode 100644 (file)
index 0000000..fb3cc57
--- /dev/null
@@ -0,0 +1,31 @@
+diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
+index 16eb38a..8983376 100644
+--- a/RepositoryExternal.mk
++++ b/RepositoryExternal.mk
+@@ -2392,7 +2392,7 @@ ifneq ($(ENABLE_LPSOLVE),)
+ ifneq ($(SYSTEM_LPSOLVE),)
+ define gb_LinkTarget__use_lpsolve
+-$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
++$(call gb_LinkTarget_add_ldflags,$(1),-llpsolve55_pic)
+ $(call gb_LinkTarget_add_defs,$(1),\
+       -DSYSTEM_LPSOLVE \
+ )
+diff --git a/configure.ac b/configure.ac
+index df7cb4c..9eb5bad 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -9790,10 +9812,11 @@ if test "$ENABLE_LPSOLVE" = TRUE; then
+         # some systems need this. Like Ubuntu....
+         AC_CHECK_LIB(m, floor)
+         AC_CHECK_LIB(dl, dlopen)
+-        AC_CHECK_LIB([lpsolve55], [make_lp], [:],
++        AC_CHECK_LIB(colamd, colamd)
++        AC_CHECK_LIB([lpsolve55_pic], [make_lp], [:],
+             [ AC_MSG_ERROR(lpsolve library not found or too old.)], [])
+         LIBS=$save_LIBS
+-        libo_MINGW_CHECK_DLL([lpsolve55])
++        libo_MINGW_CHECK_DLL([lpsolve55_pic])
+     else
+         AC_MSG_RESULT([internal])
+         SYSTEM_LPSOLVE=
diff --git a/debian/patches/floating-frame-targets-unneeded-protocols.diff b/debian/patches/floating-frame-targets-unneeded-protocols.diff
new file mode 100644 (file)
index 0000000..3da0cd7
--- /dev/null
@@ -0,0 +1,76 @@
+From 37d73a1ab94b43e03866d5a910cb58331543b8c3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Fri, 3 Nov 2023 17:14:26 +0000
+Subject: add some protocols that don't make sense as floating frame targets
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: Id900a5eef248731d1184c1df501a2cf7a2de7eb9
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158910
+Tested-by: Jenkins
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit 11ebdfef16501c6d35c3e3d0d62507f706557c71)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158900
+Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
+(cherry picked from commit bab433911bdecb344f7ea94dbd00690241a08c54)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159582
+---
+ include/tools/urlobj.hxx     | 5 +++++
+ sfx2/source/doc/iframe.cxx   | 5 ++++-
+ tools/source/fsys/urlobj.cxx | 8 ++++++++
+ 3 files changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/include/tools/urlobj.hxx b/include/tools/urlobj.hxx
+index 9d6820ddf241..dfd658722826 100644
+--- a/include/tools/urlobj.hxx
++++ b/include/tools/urlobj.hxx
+@@ -915,6 +915,11 @@ public:
+     void changeScheme(INetProtocol eTargetScheme);
++    // INetProtocol::Macro, INetProtocol::Uno, INetProtocol::Slot,
++    // vnd.sun.star.script, etc. All the types of URLs which shouldn't
++    // be accepted from an outside controlled source
++    bool IsExoticProtocol() const;
++
+ private:
+     // General Structure:
+diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
+index 150218b436e9..b81ce82fd32e 100644
+--- a/sfx2/source/doc/iframe.cxx
++++ b/sfx2/source/doc/iframe.cxx
+@@ -168,8 +168,11 @@ sal_Bool SAL_CALL IFrameObject::load(
+         xTrans->parseStrict( aTargetURL );
+         INetURLObject aURLObject(aTargetURL.Complete);
+-        if (aURLObject.GetProtocol() == INetProtocol::Macro || aURLObject.isSchemeEqualTo(u"vnd.sun.star.script"))
++        if (aURLObject.IsExoticProtocol())
++        {
++            SAL_WARN("sfx", "IFrameObject::load ignoring: " << aTargetURL.Complete);
+             return false;
++        }
+         uno::Reference<frame::XFramesSupplier> xParentFrame = xFrame->getCreator();
+         SfxObjectShell* pDoc = SfxMacroLoader::GetObjectShell(xParentFrame);
+diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
+index 764bb28ef623..2a9f7bc3d7dc 100644
+--- a/tools/source/fsys/urlobj.cxx
++++ b/tools/source/fsys/urlobj.cxx
+@@ -4829,4 +4829,12 @@ OUString INetURLObject::CutExtension()
+         ? aTheExtension : OUString();
+ }
++bool INetURLObject::IsExoticProtocol() const
++{
++    return m_eScheme == INetProtocol::Slot ||
++           m_eScheme == INetProtocol::Macro ||
++           m_eScheme == INetProtocol::Uno ||
++           isSchemeEqualTo(u"vnd.sun.star.script");
++}
++
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+-- 
+cgit v1.2.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 (file)
index 0000000..dbfb32a
--- /dev/null
@@ -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-<language-code>.")
+ #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 (file)
index 0000000..3e7fd4b
--- /dev/null
@@ -0,0 +1,15 @@
+Description: Hide startcenter and math from the shell
+Author: Olivier Tilloy <olivier.tilloy@canonical.com>
+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 (file)
index 0000000..b3ceb17
--- /dev/null
@@ -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/hrk-euro.diff b/debian/patches/hrk-euro.diff
new file mode 100644 (file)
index 0000000..3b7aa73
--- /dev/null
@@ -0,0 +1,80 @@
+From b1a2f727ca99ecd3402d4b051b99cbfd24266e59 Mon Sep 17 00:00:00 2001
+From: Eike Rathke <erack@redhat.com>
+Date: Fri, 22 Jul 2022 22:17:11 +0200
+Subject: Related: tdf#150011 Add HRK Croatian Kuna to Euro conversion wizard
+
+Maybe just for completeness, it's removed from menu but might be
+callable as macro.
+
+Change-Id: Iade0be845186d3deb2f00f4aaa230c0b344cea72
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137372
+Reviewed-by: Eike Rathke <erack@redhat.com>
+Tested-by: Jenkins
+---
+ wizards/source/euro/Init.xba                        | 16 ++++++++++++++++
+ wizards/source/resources/resources_en_US.properties |  1 +
+ 2 files changed, 17 insertions(+)
+
+diff --git a/wizards/source/euro/Init.xba b/wizards/source/euro/Init.xba
+index 623a0a53be46..9f56c503a347 100644
+--- a/wizards/source/euro/Init.xba
++++ b/wizards/source/euro/Init.xba
+@@ -89,6 +89,7 @@ Public sCurrSLOVAK as String
+ Public sCurrESTONIAN as String
+ Public sCurrLATVIAN as String
+ Public sCurrLITHUANIAN as String
++Public sCurrCROATIAN as String
+ Public sPrgsRETRIEVAL as String
+ Public sPrgsCONVERTING as String
+@@ -214,6 +215,7 @@ Dim LocWorkPath as String
+               sCurrESTONIAN = GetResText(&quot;CURRENCIES_16&quot;)
+               sCurrLATVIAN = GetResText(&quot;CURRENCIES_17&quot;)
+               sCurrLITHUANIAN = GetResText(&quot;CURRENCIES_18&quot;)
++              sCurrCROATIAN = GetResText(&quot;CURRENCIES_19&quot;)
+               .cmdCancel.Label =  sCANCEL
+               .cmdHelp.Label =  sHELP
+               .cmdBack.Label =  GetResText(&quot;STEP_ZERO_2&quot;)
+@@ -393,6 +395,11 @@ Sub InitializeLanguages()
+     LangIDValue(18,0,1) = &quot;LT&quot;
+     LangIDValue(18,0,2) = &quot;-427&quot;
++&apos; CURRENCIES_CROATIAN
++    LangIDValue(19,0,0) = &quot;hr&quot;
++    LangIDValue(19,0,1) = &quot;HR&quot;
++    LangIDValue(19,0,2) = &quot;-41A&quot;
++
+ End Sub
+@@ -572,6 +579,15 @@ Dim i as Integer
+       CurrValue(18,4) = &quot;Lt&quot;
+       CurrValue(18,5) = &quot;LTL&quot;
++      CurrValue(19,0) = sCurrCROATIAN
++      &apos; real conversion rate
++      CurrValue(19,1) = 7.53450
++      &apos; rounded conversion rate
++      CurrValue(19,2) = 7.5
++      CurrValue(19,3) = &quot;kn&quot;
++      CurrValue(19,4) = &quot;kn&quot;
++      CurrValue(19,5) = &quot;HRK&quot;
++
+       i = -1
+       CurrSymbolList(0) = &quot;&quot;
+       CurrSymbolList(1) = &quot;&quot;
+diff --git a/wizards/source/resources/resources_en_US.properties b/wizards/source/resources/resources_en_US.properties
+index 32f9104e97e0..8649b2500e6a 100644
+--- a/wizards/source/resources/resources_en_US.properties
++++ b/wizards/source/resources/resources_en_US.properties
+@@ -448,6 +448,7 @@ CURRENCIES_15=Slovak Koruna
+ CURRENCIES_16=Estonian Kroon
+ CURRENCIES_17=Latvian Lats
+ CURRENCIES_18=Lithuanian Litas
++CURRENCIES_19=Croatian Kuna
+ STEP_LASTPAGE_0=Progress
+ STEP_LASTPAGE_1=Retrieving the relevant documents...
+ STEP_LASTPAGE_2=Converting the documents...
+-- 
+cgit v1.2.1
+
diff --git a/debian/patches/ignore-LO-special-purpose-hyperlinks-per-default.diff b/debian/patches/ignore-LO-special-purpose-hyperlinks-per-default.diff
new file mode 100644 (file)
index 0000000..2c8a6b9
--- /dev/null
@@ -0,0 +1,218 @@
+From 4fe74e9be7af280e48a339a7a6408fea314727f0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Fri, 3 Nov 2023 17:26:25 +0000
+Subject: default to ignoring libreoffice special-purpose protocols in calc
+ hyperlink
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: Ib9f62be3acc05f24ca234dec0fec21e24579e9de
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158911
+Tested-by: Jenkins
+Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit b6062623b4d69c79e90e9365ac7c5e7f11986793)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159045
+Reviewed-by: Eike Rathke <erack@redhat.com>
+Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159882
+Tested-by: Miklos Vajna <vmiklos@collabora.com>
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+---
+ dbaccess/source/core/dataaccess/ModelImpl.cxx |  3 ++-
+ include/sfx2/docmacromode.hxx                 |  4 +++-
+ include/sfx2/objsh.hxx                        |  3 +++
+ sc/source/core/data/global.cxx                | 33 ++++++++++++++++++++++++++-
+ sfx2/source/doc/docmacromode.cxx              |  8 +++++--
+ sfx2/source/doc/objmisc.cxx                   |  8 ++++++-
+ sfx2/source/doc/objxtor.cxx                   |  1 +
+ sfx2/source/inc/objshimp.hxx                  |  3 ++-
+ 8 files changed, 56 insertions(+), 7 deletions(-)
+
+diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
+index 3e21289dbe9a..e399d5da7067 100644
+--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
++++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
+@@ -1125,7 +1125,8 @@ bool ODatabaseModelImpl::checkMacrosOnLoading()
+ {
+     Reference< XInteractionHandler > xInteraction;
+     xInteraction = m_aMediaDescriptor.getOrDefault( "InteractionHandler", xInteraction );
+-    return m_aMacroMode.checkMacrosOnLoading( xInteraction );
++    const bool bHasMacros = m_aMacroMode.hasMacros();
++    return m_aMacroMode.checkMacrosOnLoading(xInteraction, false /*HasValidContentSignature*/, bHasMacros);
+ }
+ void ODatabaseModelImpl::resetMacroExecutionMode()
+diff --git a/include/sfx2/docmacromode.hxx b/include/sfx2/docmacromode.hxx
+index 7ed42f6a14dd..0acb44cbfbb1 100644
+--- a/include/sfx2/docmacromode.hxx
++++ b/include/sfx2/docmacromode.hxx
+@@ -264,6 +264,8 @@ namespace sfx2
+         */
+         static bool storageHasMacros( const css::uno::Reference< css::embed::XStorage >& _rxStorage );
++        bool hasMacros() const;
++
+         static bool containerHasBasicMacros( const css::uno::Reference< css::script::XLibraryContainer >& xContainer );
+         /** checks the macro execution mode while loading the document.
+@@ -291,7 +293,7 @@ namespace sfx2
+         bool
+                 checkMacrosOnLoading(
+                     const css::uno::Reference< css::task::XInteractionHandler >& _rxInteraction,
+-                    bool bHasValidContentSignature = false
++                    bool bHasValidContentSignature, bool bHasMacros
+                 );
+     private:
+diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
+index ef1a0a33e1dc..fde0dba3d7c9 100644
+--- a/include/sfx2/objsh.hxx
++++ b/include/sfx2/objsh.hxx
+@@ -427,6 +427,9 @@ public:
+     void                        SetMacroCallsSeenWhileLoading();
+     bool                        GetMacroCallsSeenWhileLoading() const;
++    // true if the document had macros (or similar) on load to trigger warning user
++    bool                        GetHadCheckedMacrosOnLoad() const;
++
+     const css::uno::Sequence< css::beans::PropertyValue >& GetModifyPasswordInfo() const;
+     bool                        SetModifyPasswordInfo( const css::uno::Sequence< css::beans::PropertyValue >& aInfo );
+diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
+index b0a91cb397d8..92caea1ea459 100644
+--- a/sc/source/core/data/global.cxx
++++ b/sc/source/core/data/global.cxx
+@@ -29,7 +29,9 @@
+ #include <sfx2/docfile.hxx>
+ #include <sfx2/dispatch.hxx>
+ #include <sfx2/objsh.hxx>
++#include <sfx2/sfxresid.hxx>
+ #include <sfx2/sfxsids.hrc>
++#include <sfx2/strings.hrc>
+ #include <sfx2/viewfrm.hxx>
+ #include <sfx2/viewsh.hxx>
+ #include <svl/intitem.hxx>
+@@ -820,7 +822,7 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
+     OUString aUrlName( rURL );
+     SfxViewFrame* pFrame = nullptr;
+-    const SfxObjectShell* pObjShell = nullptr;
++    SfxObjectShell* pObjShell = nullptr;
+     OUString aReferName;
+     if ( pScActiveViewShell )
+     {
+@@ -854,6 +856,35 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
+             aUrlName = aNewUrlName;
+     }
++    if (INetURLObject(aUrlName).IsExoticProtocol())
++    {
++        // Default to ignoring exotic protocols
++        bool bAllow = false;
++        if (pObjShell)
++        {
++            // If the document had macros when loaded then follow the allowed macro-mode
++            if (pObjShell->GetHadCheckedMacrosOnLoad())
++                bAllow = pObjShell->AdjustMacroMode();
++            else // otherwise ask the user, defaulting to cancel
++            {
++                assert(pFrame && "if we have pObjShell we have pFrame");
++                //Reuse URITools::onOpenURI warning string
++                std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pFrame->GetFrameWeld(),
++                                                               VclMessageType::Warning, VclButtonsType::YesNo,
++                                                               SfxResId(STR_DANGEROUS_TO_OPEN)));
++                xQueryBox->set_primary_text(xQueryBox->get_primary_text().replaceFirst("$(ARG1)",
++                    INetURLObject::decode(aUrlName, INetURLObject::DecodeMechanism::Unambiguous)));
++                xQueryBox->set_default_response(RET_NO);
++                bAllow = xQueryBox->run() == RET_YES;
++            }
++        }
++        if (!bAllow)
++        {
++            SAL_WARN("sc", "ScGlobal::OpenURL ignoring: " << aUrlName);
++            return;
++        }
++    }
++
+     SfxStringItem aUrl( SID_FILE_NAME, aUrlName );
+     SfxStringItem aTarget( SID_TARGETNAME, rTarget );
+     if ( nScClickMouseModifier & KEY_SHIFT )     // control-click -> into new window
+diff --git a/sfx2/source/doc/docmacromode.cxx b/sfx2/source/doc/docmacromode.cxx
+index bdae350b22f5..d8757c7a505d 100644
+--- a/sfx2/source/doc/docmacromode.cxx
++++ b/sfx2/source/doc/docmacromode.cxx
+@@ -400,8 +400,12 @@ namespace sfx2
+         return bHasMacros;
+     }
++    bool DocumentMacroMode::hasMacros() const
++    {
++        return m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() || m_xData->m_rDocumentAccess.macroCallsSeenWhileLoading();
++    }
+-    bool DocumentMacroMode::checkMacrosOnLoading( const Reference< XInteractionHandler >& rxInteraction, bool bHasValidContentSignature )
++    bool DocumentMacroMode::checkMacrosOnLoading( const Reference< XInteractionHandler >& rxInteraction, bool bHasValidContentSignature, bool bHasMacros )
+     {
+         bool bAllow = false;
+         if ( SvtSecurityOptions::IsMacroDisabled() )
+@@ -411,7 +415,7 @@ namespace sfx2
+         }
+         else
+         {
+-            if (m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() || m_xData->m_rDocumentAccess.macroCallsSeenWhileLoading())
++            if (bHasMacros)
+             {
+                 bAllow = adjustMacroMode( rxInteraction, bHasValidContentSignature );
+             }
+diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
+index 6b86e2163ccb..ddf95eeafe5e 100644
+--- a/sfx2/source/doc/objmisc.cxx
++++ b/sfx2/source/doc/objmisc.cxx
+@@ -952,9 +952,15 @@ void SfxObjectShell::CheckSecurityOnLoading_Impl()
+     // check macro security
+     const bool bHasValidContentSignature = HasValidSignatures();
+-    pImpl->aMacroMode.checkMacrosOnLoading( xInteraction, bHasValidContentSignature );
++    const bool bHasMacros = pImpl->aMacroMode.hasMacros();
++    pImpl->aMacroMode.checkMacrosOnLoading( xInteraction, bHasValidContentSignature, bHasMacros );
++    pImpl->m_bHadCheckedMacrosOnLoad = bHasMacros;
+ }
++bool SfxObjectShell::GetHadCheckedMacrosOnLoad() const
++{
++    return pImpl->m_bHadCheckedMacrosOnLoad;
++}
+ void SfxObjectShell::CheckEncryption_Impl( const uno::Reference< task::XInteractionHandler >& xHandler )
+ {
+diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx
+index c7f34aeadc31..ae6f713251ea 100644
+--- a/sfx2/source/doc/objxtor.cxx
++++ b/sfx2/source/doc/objxtor.cxx
+@@ -210,6 +210,7 @@ SfxObjectShell_Impl::SfxObjectShell_Impl( SfxObjectShell& _rDocShell )
+     ,m_bAllowShareControlFileClean( true )
+     ,m_bConfigOptionsChecked( false )
+     ,m_bMacroCallsSeenWhileLoading( false )
++    ,m_bHadCheckedMacrosOnLoad( false )
+     ,lErr(ERRCODE_NONE)
+     ,nEventId ( SfxEventHintId::NONE )
+     ,nLoadedFlags ( SfxLoadedFlags::ALL )
+diff --git a/sfx2/source/inc/objshimp.hxx b/sfx2/source/inc/objshimp.hxx
+index 192470e5542d..b011b3737d66 100644
+--- a/sfx2/source/inc/objshimp.hxx
++++ b/sfx2/source/inc/objshimp.hxx
+@@ -90,7 +90,8 @@ struct SfxObjectShell_Impl final : public ::sfx2::IMacroDocumentAccess
+                         m_bSharedXMLFlag:1, // whether the document should be edited in shared mode
+                         m_bAllowShareControlFileClean:1, // whether the flag should be stored in xml file
+                         m_bConfigOptionsChecked:1, // whether or not the user options are checked after the Options dialog is closed.
+-                        m_bMacroCallsSeenWhileLoading:1; // whether or not the user options are checked after the Options dialog is closed.
++                        m_bMacroCallsSeenWhileLoading:1, // whether or not macro calls were seen when loading document.
++                        m_bHadCheckedMacrosOnLoad:1; // if document contained macros (or calls) when loaded
+     IndexBitSet         aBitSet;
+     ErrCode             lErr;
+-- 
+cgit v1.2.1
+
diff --git a/debian/patches/install-fixes.diff b/debian/patches/install-fixes.diff
new file mode 100644 (file)
index 0000000..891bb32
--- /dev/null
@@ -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 <list_file> <directory_name>
+-    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,...}_<lang>
+-        # 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 <directory_name> <name> [...]
+-    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/javadoc-optional.diff b/debian/patches/javadoc-optional.diff
new file mode 100644 (file)
index 0000000..33deb93
--- /dev/null
@@ -0,0 +1,151 @@
+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 693885322115..5fcb39306a0b 100644
+--- a/odk/Module_odk.mk
++++ b/odk/Module_odk.mk
+@@ -42,8 +42,10 @@ endif
+ ifneq ($(ENABLE_JAVA),)
+ $(eval $(call gb_Module_add_targets,odk,\
+       CustomTarget_classes \
+-      CustomTarget_javadoc \
+-      GeneratedPackage_odk_javadoc \
++      $(if $(JAVADOC),\
++              CustomTarget_javadoc \
++              GeneratedPackage_odk_javadoc \
++      ) \
+       GeneratedPackage_uno_loader_classes \
+ ))
+ 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=<absolute path to doxygen executable>
++    ],,
++    [with_javadoc=yes])
++
+ AC_ARG_WITH(visual-studio,
+     AS_HELP_STRING([--with-visual-studio=<2019/2022>],
+         [Specify which Visual Studio version to use in case several are
+@@ -7872,34 +7872,43 @@ fi
+ dnl ===================================================================
+ dnl Checks for javadoc
+ dnl ===================================================================
+-if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
++if test "$ENABLE_JAVA" != "" -a "$enable_odk" != no -a "$cross_compiling" != "yes"; 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(JAVADOC)
+ AC_SUBST(JAVADOCISGJDOC)
++if test "$JAVADOCISGJDOC" = "yes"; then
++       unset JAVADOC
++fi
++AC_SUBST(JAVADOC)
+ if test "$ENABLE_JAVA" != "" -a \( "$cross_compiling" != "yes" -o -n "$with_jdk_home" \); then
+     # check if JAVA_HOME was (maybe incorrectly?) set automatically to /usr
+diff --git a/odk/CustomTarget_check.mk b/odk/CustomTarget_check.mk
+index 74331955be9b..3415b0193cf9 100644
+--- a/odk/CustomTarget_check.mk
++++ b/odk/CustomTarget_check.mk
+@@ -36,7 +36,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)
+ ifneq ($(gb_SUPPRESS_TESTS),)
+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 \
+       ) \
+ ))
diff --git a/debian/patches/jdbc-driver-classpaths.diff b/debian/patches/jdbc-driver-classpaths.diff
new file mode 100644 (file)
index 0000000..8f4a166
--- /dev/null
@@ -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 @@
+       </node>
+     </node>
+   </node>
++  <node oor:name="JDBC">
++    <node oor:name="DriverClassPaths">
++      <node oor:name="org.mariadb.jdbc.Driver" oor:op="replace">
++        <prop oor:name="Path">
++          <value>file:///usr/share/java/mariadb-java-client.jar</value>
++        </prop>
++      </node>
++      <node oor:name="com.mysql.jdbc.Driver" oor:op="replace">
++        <prop oor:name="Path">
++          <value>file:///usr/share/java/mysql.jar</value>
++        </prop>
++      </node>
++      <node oor:name="org.postgresql.Driver" oor:op="replace">
++        <prop oor:name="Path">
++          <value>file:///usr/share/java/posgresql.jar</value>
++        </prop>
++      </node>
++      <node oor:name="net.sourceforge.jtds.jdbc.Driver" oor:op="replace">
++        <prop oor:name="Path">
++          <value>file:///usr/share/java/jtds.jar</value>
++        </prop>
++      </node>
++    </node>
++  </node>
+   <node oor:name="RegisteredNames">
+     <node oor:name="EvolutionLocal" oor:op="replace" install:module="evoab2">
+       <prop oor:name="Location" oor:type="xs:string">
diff --git a/debian/patches/jurt-soffice-location.diff b/debian/patches/jurt-soffice-location.diff
new file mode 100644 (file)
index 0000000..aa334d8
--- /dev/null
@@ -0,0 +1,20 @@
+commit b71107fb12e3c3125e0cb62c5a4f6636a80c6408
+Author:     Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
+AuthorDate: Tue Jun 7 11:52:37 2011 +0200
+Commit:     Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
+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/ridljar/com/sun/star/lib/util/NativeLibraryLoader.java
++++ libreoffice-3.5.0/ridljar/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/look-at-embedded-protocols-too.diff b/debian/patches/look-at-embedded-protocols-too.diff
new file mode 100644 (file)
index 0000000..1636014
--- /dev/null
@@ -0,0 +1,52 @@
+From 4915889ab56bc946264c257391ba6eeedfdfad95 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Fri, 6 Dec 2024 14:41:19 +0000
+Subject: [PATCH] look at 'embedded' protocols too
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: Ie99f5f5a390639bdc69397c831e0a32594a5030c
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177981
+Tested-by: Jenkins
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit 59891cd3985469bc44dbd05c9fc704eeb07f0c78)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177987
+Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
+(cherry picked from commit b63aa51c55244ee67410201fa5e7c003427b1009)
+---
+ tools/source/fsys/urlobj.cxx | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
+index d95a874a8c2d6..e38b2f1bc9764 100644
+--- a/tools/source/fsys/urlobj.cxx
++++ b/tools/source/fsys/urlobj.cxx
+@@ -4773,12 +4773,21 @@ OUString INetURLObject::CutExtension()
+ bool INetURLObject::IsExoticProtocol() const
+ {
+-    return m_eScheme == INetProtocol::Slot ||
+-           m_eScheme == INetProtocol::Macro ||
+-           m_eScheme == INetProtocol::Uno ||
+-           m_eScheme == INetProtocol::VndSunStarExpand ||
+-           isSchemeEqualTo(u"vnd.sun.star.script") ||
+-           isSchemeEqualTo(u"service");
++    if (m_eScheme == INetProtocol::Slot ||
++        m_eScheme == INetProtocol::Macro ||
++        m_eScheme == INetProtocol::Uno ||
++        m_eScheme == INetProtocol::VndSunStarExpand ||
++        isSchemeEqualTo(u"vnd.sun.star.script") ||
++        isSchemeEqualTo(u"service"))
++    {
++        return true;
++    }
++    if (isSchemeEqualTo(u"vnd.sun.star.pkg") || isSchemeEqualTo(u"vnd.sun.star.zip"))
++    {
++        OUString sPayloadURL = GetURLPath(INetURLObject::DecodeMechanism::WithCharset);
++        return sPayloadURL.startsWith(u"//") && INetURLObject(sPayloadURL.subView(2)).IsExoticProtocol();
++    }
++    return false;
+ }
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/debian/patches/make-package-modules-not-suck.diff b/debian/patches/make-package-modules-not-suck.diff
new file mode 100644 (file)
index 0000000..c262187
--- /dev/null
@@ -0,0 +1,212 @@
+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_bsh,,,LIBO_JAR_FILE))
+ $(eval $(call gb_AutoInstall_add_module,extensions_numbertext,,,,PACKAGE_FILELIST))
+diff --git a/Repository.mk b/Repository.mk
+index f386b8aa7c05..7c337f23891b 100644
+--- a/Repository.mk
++++ b/Repository.mk
+@@ -244,13 +244,29 @@ $(eval $(call gb_Helper_register_executables_for_install,UREBIN,ure,\
+ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,base, \
+       abp \
++      calc \
++      dba \
++      dbahsql \
++      $(call gb_Helper_optional,DBCONNECTIVITY, \
++              dbase \
++              dbaxml) \
+       dbp \
+       dbu \
++       $(call gb_Helper_optional,DBCONNECTIVITY,flat) \
++       $(if $(ENABLE_JAVA),jdbc) \
++      $(call gb_Helper_optional,DBCONNECTIVITY,mysql_jdbc) \
++      $(call gb_Helper_optional,MARIADBC,$(call gb_Helper_optional,DBCONNECTIVITY,mysqlc)) \
++       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 +281,13 @@ $(eval $(call gb_Helper_register_plugins_for_install,OOOLIBS,calc, \
+     scui \
+ ))
++$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,draw, \
++      animcore \
++      sd \
++      sdd \
++      sdfilt \
++))
++
+ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,graphicfilter, \
+       svgfilter \
+       wpftdraw \
+@@ -272,10 +295,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, \
+@@ -355,11 +378,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+       $(if $(filter $(OS),WNT),,cmdmail) \
+       configmgr \
+       ctl \
+-      dba \
+-      dbahsql \
+-      $(call gb_Helper_optional,DBCONNECTIVITY, \
+-              dbase \
+-              dbaxml) \
+       dbtools \
+       deploymentmisc \
+       $(if $(filter-out MACOSX WNT,$(OS)),desktopbe1) \
+@@ -373,7 +391,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+       evtatt \
+       expwrap \
+       $(call gb_Helper_optional,DBCONNECTIVITY, \
+-              flat \
+               file) \
+       filterconfig \
+       fps_office \
+@@ -412,7 +412,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+     $(call gb_Helper_optionals_or,HELPTOOLS XMLHELP,helplinker) \
+       i18npool \
+       i18nsearch \
+-      $(if $(ENABLE_JAVA),jdbc) \
+       $(if $(filter WNT,$(OS)),jumplist) \
+       $(if $(ENABLE_LDAP),ldapbe2) \
+       $(if $(filter WNT,$(OS)),WinUserInfoBe) \
+@@ -403,10 +419,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_jdbc) \
+-      $(call gb_Helper_optional,MARIADBC,$(call gb_Helper_optional,DBCONNECTIVITY,mysqlc)) \
+       numbertext \
+-      odbc \
+       odfflatxml \
+       offacc \
+       oox \
+@@ -442,11 +441,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+       sb \
+       $(call gb_Helper_optional,DBCONNECTIVITY,sdbt) \
+       scn \
+-      sd \
+-      sdd \
+-      sdfilt \
+       sfx \
+-      slideshow \
+       sot \
+       $(if $(or $(DISABLE_GUI),$(ENABLE_WASM_STRIP_SPLASH)),,spl) \
+       storagefd \
+@@ -436,7 +445,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+       svt \
+       svx \
+       svxcore \
+-      sw \
+       syssh \
+       textconversiondlgs \
+       textfd \
+@@ -506,12 +501,15 @@ $(eval $(call gb_Helper_register_plugins_for_install,OOOLIBS,ooo, \
+     cui \
+     $(if $(USING_X11),desktop_detector) \
+     icg \
+-    sdui \
+     $(if $(ENABLE_GEN),vclplug_gen) \
+     $(if $(filter $(OS),WNT),vclplug_win) \
+     $(if $(filter $(OS),MACOSX),vclplug_osx) \
+ ))
++$(eval $(call gb_Helper_register_plugins_for_install,OOOLIBS,draw, \
++    sdui \
++))
++
+ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,postgresqlsdbc, \
+       $(if $(BUILD_POSTGRESQL_SDBC), \
+               postgresql-sdbc \
+@@ -529,6 +540,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,writer, \
+       hwp \
+       $(if $(ENABLE_LWP),lwpft) \
+       msword \
++      sw \
+       swd \
+       t602filter \
+       $(call gb_Helper_optional,SCRIPTING,vbaswobj) \
+@@ -622,12 +634,10 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
+     ) \
+       cached1 \
+       comphelper \
+-      $(call gb_Helper_optional,DBCONNECTIVITY,dbpool2) \
+       $(call gb_Helper_optional,BREAKPAD,crashreport) \
+       deployment \
+       deploymentgui \
+       embobj \
+-      $(if $(ENABLE_JAVA),hsqldb) \
+       i18nutil \
+       $(if $(and $(ENABLE_GTK3), $(filter LINUX %BSD SOLARIS,$(OS))), libreofficekitgtk) \
+       $(if $(ENABLE_JAVA), \
+@@ -636,7 +646,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
+       emboleobj \
+       package2 \
+       $(call gb_Helper_optional,SCRIPTING,scriptframe) \
+-      sdbc2 \
+       sofficeapp \
+       srtrs1 \
+       ucb1 \
diff --git a/debian/patches/mediwiki-oor-replace.diff b/debian/patches/mediwiki-oor-replace.diff
new file mode 100644 (file)
index 0000000..ed04c91
--- /dev/null
@@ -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 @@
+  -->
+ <oor:component-data oor:name="OptionsDialog" oor:package="org.openoffice.Office" xmlns:oor="http://openoffice.org/2001/registry">
+     <node oor:name="Nodes">
+-        <node oor:name="Internet" oor:op="fuse">
++        <node oor:name="Internet" oor:op="replace">
+             <node oor:name="Leaves">
+-                <node oor:name="com.sun.star.wiki.options" oor:op="fuse">
++                <node oor:name="com.sun.star.wiki.options" oor:op="replace">
+                     <prop oor:name="Id">
+                         <value>com.sun.wiki-publisher</value>
+                     </prop>
+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 @@
+ <!DOCTYPE oor:component-data SYSTEM "../../../../../../../../officecfg/registry/component-update.dtd">
+ <oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:package="org.openoffice.TypeDetection" oor:name="Filter">
+     <node oor:name="Filters">
+-        <node oor:name="MediaWiki" oor:op="fuse">
++        <node oor:name="MediaWiki" oor:op="replace">
+             <prop oor:name="FileFormatVersion"><value>0</value></prop>
+                 <prop oor:name="Type"><value>MediaWiki</value></prop>
+             <prop oor:name="DocumentService"><value>com.sun.star.text.TextDocument</value></prop>
+@@ -31,7 +31,7 @@
+             </prop>
+             <prop oor:name="Flags"><value>EXPORT ALIEN 3RDPARTYFILTER</value></prop>
+         </node>
+-        <node oor:name="MediaWiki_Web" oor:op="fuse">
++        <node oor:name="MediaWiki_Web" oor:op="replace">
+             <prop oor:name="FileFormatVersion"><value>0</value></prop>
+                 <prop oor:name="Type"><value>MediaWiki</value></prop>
+                 <prop oor:name="DocumentService"><value>com.sun.star.text.WebDocument</value></prop>
+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 @@
+ <!DOCTYPE oor:component-data SYSTEM "../../../../../../../../officecfg/registry/component-update.dtd">
+ <oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:package="org.openoffice.TypeDetection" oor:name="Types">
+     <node oor:name="Types">
+-        <node oor:name="MediaWiki" oor:op="fuse">
++        <node oor:name="MediaWiki" oor:op="replace">
+             <prop oor:name="DetectService"><value>com.sun.star.comp.filters.XMLFilterDetect</value></prop>
+             <prop oor:name="URLPattern"/>
+             <prop oor:name="Extensions"><value>txt</value></prop>
diff --git a/debian/patches/mention-java-common-package.diff b/debian/patches/mention-java-common-package.diff
new file mode 100644 (file)
index 0000000..71655a1
--- /dev/null
@@ -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. %FAQLINK")
++#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. %FAQLINK")
+ #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. %FAQLINK")
+ #define STR_WARNING_JAVANOTFOUND_MAC            NC_("STR_WARNING_JAVANOTFOUND_MAC", "%PRODUCTNAME requires Oracle's Java Development Kit (JDK) on macOS 10.10 or greater to perform this task. Please install them and restart %PRODUCTNAME. %FAQLINK")
+ #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/moreIconsDialog-accesses-internet.diff b/debian/patches/moreIconsDialog-accesses-internet.diff
new file mode 100644 (file)
index 0000000..3a7ee28
--- /dev/null
@@ -0,0 +1,50 @@
+diff --git a/sw/qa/uitest/options/optionsDialog.py b/sw/qa/uitest/options/optionsDialog.py
+index 086d16726a1a..0ef5458f7192 100644
+--- a/sw/qa/uitest/options/optionsDialog.py
++++ b/sw/qa/uitest/options/optionsDialog.py
+@@ -5,27 +5,32 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ #
+ from uitest.framework import UITestCase
++import os
+ class optionsDialog(UITestCase):
++    # does network access (checks extensions.libreoffice.org), so disable it in "standard" make check
++    # but allow it on autopkgtest which has the needs-internet restriction
+     def test_moreIconsDialog(self):
+-        with self.ui_test.create_doc_in_start_center("writer"):
+-
+-            with self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") as xDialog:
++        if "AUTOPKGTEST_TMP" in os.environ:
++            with self.ui_test.create_doc_in_start_center("writer"):
+-                xPages = xDialog.getChild("pages")
+-                xLOEntry = xPages.getChild('0')
+-                xLOEntry.executeAction("EXPAND", tuple())
+-                xViewEntry = xLOEntry.getChild('2')
+-                xViewEntry.executeAction("SELECT", tuple())
++                with self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") as xDialog:
+-                xMoreIconsBtn = xDialog.getChild("btnMoreIcons")
++                    xPages = xDialog.getChild("pages")
++                    xLOEntry = xPages.getChild('0')
++                    xLOEntry.executeAction("EXPAND", tuple())
++                    xViewEntry = xLOEntry.getChild('2')
++                    xViewEntry.executeAction("SELECT", tuple())
+-                with self.ui_test.execute_blocking_action(xMoreIconsBtn.executeAction, args=('CLICK', ()), close_button="buttonClose") as dialog:
+-                    # Check it doesn't crash while opening it
+-                    xCloseBtn = dialog.getChild("buttonClose")
+-                    self.ui_test.wait_until_property_is_updated(xCloseBtn, "Enabled", "true")
++                    xMoreIconsBtn = xDialog.getChild("btnMoreIcons")
++                    with self.ui_test.execute_blocking_action(xMoreIconsBtn.executeAction, args=('CLICK', ()), close_button="buttonClose") as dialog:
++                        # Check it doesn't crash while opening it
++                        xCloseBtn = dialog.getChild("buttonClose")
++                        self.ui_test.wait_until_property_is_updated(xCloseBtn, "Enabled", "true")
++        else:
++                print("Skipped")
+     def test_tdf138596(self):
diff --git a/debian/patches/no-check-if-root.diff b/debian/patches/no-check-if-root.diff
new file mode 100644 (file)
index 0000000..1fc9b19
--- /dev/null
@@ -0,0 +1,30 @@
+--- a/Makefile.in      2017-07-28 06:09:37.072183489 +0000
++++ b/Makefile.in      2017-10-18 12:43:59.215567467 +0000
+@@ -58,18 +58,6 @@ else # MAKE_RESTARTS
+ .DEFAULT_GOAL := build
+-# Nested test is to check if the systemd-detect-virt command doesn't exist or it reports we're not
+-# in a container:
+-check-if-root:
+-      @if test ! `uname` = 'Haiku' -a `id -u` = 0; then \
+-              if test ! -x "$$(command -v systemd-detect-virt)" || ! systemd-detect-virt -c -q; then \
+-                      echo; \
+-                      echo 'Building LibreOffice as root is a very bad idea, use a regular user.'; \
+-                      echo; \
+-                      exit 1; \
+-              fi \
+-      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-opencl-per-default.diff b/debian/patches/no-opencl-per-default.diff
new file mode 100644 (file)
index 0000000..5a5b085
--- /dev/null
@@ -0,0 +1,26 @@
+From b54cfe9d3d22fdd40f7015bd343df8620c983779 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
+Date: Mon, 27 Mar 2017 11:47:01 +0100
+Subject: [PATCH] Resolves: rhbz#1432468 disable opencl by default
+
+Change-Id: Ie037fcabdd219f195425979dd721501fb5527573
+---
+ officecfg/registry/schema/org/openoffice/Office/Common.xcs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+index 946bd32..284d694 100644
+--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
++++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+@@ -5670,7 +5670,7 @@
+           <desc>Determines whether OpenCL can be used, when available, to speed up
+           some operations.</desc>
+         </info>
+-        <value>true</value>
++        <value>false</value>
+       </prop>
+       <prop oor:name="OpenCLDenyList" oor:type="oor:string-list" oor:nillable="false">
+         <!-- UIHints: Tools - Options General OpenCL -->
+-- 
+2.9.3
+
diff --git a/debian/patches/no-packagekit-per-default.diff b/debian/patches/no-packagekit-per-default.diff
new file mode 100644 (file)
index 0000000..a496c70
--- /dev/null
@@ -0,0 +1,21 @@
+diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu
+index 3d138551b593..9cb9831f3236 100644
+--- a/officecfg/registry/data/org/openoffice/Office/Common.xcu
++++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu
+@@ -551,13 +551,13 @@
+   </node>
+   <node oor:name="PackageKit">
+       <prop oor:name="EnableFontInstallation" oor:type="xs:boolean">
+-        <value install:module="unx">true</value>
++        <value install:module="unx">false</value>
+       </prop>
+       <prop oor:name="EnableLangpackInstallation" oor:type="xs:boolean">
+-        <value install:module="unx">true</value>
++        <value install:module="unx">false</value>
+       </prop>
+       <prop oor:name="EnableBaseInstallation" oor:type="xs:boolean">
+-        <value install:module="unx">true</value>
++        <value install:module="unx">false</value>
+       </prop>
+   </node>
+   <node oor:name="Classification">
diff --git a/debian/patches/remove-ability-to-trust-not-validated-macro-signatures-in-high-security.diff b/debian/patches/remove-ability-to-trust-not-validated-macro-signatures-in-high-security.diff
new file mode 100644 (file)
index 0000000..25c4332
--- /dev/null
@@ -0,0 +1,66 @@
+From ee0373b18001dd876eb855e495b59cec0f128f97 Mon Sep 17 00:00:00 2001
+From: Sarper Akdemir <sarper.akdemir@allotropia.de>
+Date: Tue, 11 Jun 2024 12:39:36 +0200
+Subject: [PATCH] remove ability to trust not validated macro signatures in
+ high security
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Giving the user the option to determine if they should trust an
+invalid signature in HIGH macro security doesn't make sense.
+CommonName of the signature is the most prominent feature presented
+and the CommonName of a certificate can be easily forged for an
+invalid signature, tricking the user into accepting an invalid
+signature.
+
+in the HIGH macro security setting only show the pop-up to
+enable/disable signed macro if the certificate signature can be
+validated.
+
+cherry-picked without UI/String altering bits for 24-2
+
+Change-Id: Ia766fb701660160ee5dc9f6e077f4012a44ce721
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168667
+Tested-by: Jenkins
+Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
+(cherry picked from commit 2beaa3be3829303e948d401f492dbfd239d60aad)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169525
+Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171279
+Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171312
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+---
+ sfx2/source/doc/docmacromode.cxx | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/sfx2/source/doc/docmacromode.cxx b/sfx2/source/doc/docmacromode.cxx
+index 9b42a0d2273f..d75e72b9a1ff 100644
+--- a/sfx2/source/doc/docmacromode.cxx
++++ b/sfx2/source/doc/docmacromode.cxx
+@@ -226,13 +226,17 @@ namespace sfx2
+             // check whether the document is signed with trusted certificate
+             if ( nMacroExecutionMode != MacroExecMode::FROM_LIST )
+             {
++                SignatureState nSignatureState = m_xData->m_rDocumentAccess.getScriptingSignatureState();
++
+                 // the trusted macro check will also retrieve the signature state ( small optimization )
+                 const bool bAllowUIToAddAuthor = nMacroExecutionMode != MacroExecMode::FROM_LIST_AND_SIGNED_NO_WARN
+                                                  && (nMacroExecutionMode == MacroExecMode::ALWAYS_EXECUTE
+-                                                     || !SvtSecurityOptions::IsReadOnly(SvtSecurityOptions::EOption::MacroTrustedAuthors));
++                                                     || !SvtSecurityOptions::IsReadOnly(SvtSecurityOptions::EOption::MacroTrustedAuthors))
++                                                 && (nMacroExecutionMode != MacroExecMode::FROM_LIST_AND_SIGNED_WARN
++                                                     || nSignatureState == SignatureState::OK);
++
+                 const bool bHasTrustedMacroSignature = m_xData->m_rDocumentAccess.hasTrustedScriptingSignature(bAllowUIToAddAuthor);
+-                SignatureState nSignatureState = m_xData->m_rDocumentAccess.getScriptingSignatureState();
+                 if ( nSignatureState == SignatureState::BROKEN )
+                 {
+                     if (!bAllowUIToAddAuthor)
+-- 
+2.39.2
+
diff --git a/debian/patches/reportdesign-mention-package.diff b/debian/patches/reportdesign-mention-package.diff
new file mode 100644 (file)
index 0000000..f85471b
--- /dev/null
@@ -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/reuse-AllowedLinkProtocolFromDocument-1.diff b/debian/patches/reuse-AllowedLinkProtocolFromDocument-1.diff
new file mode 100644 (file)
index 0000000..9e85e92
--- /dev/null
@@ -0,0 +1,262 @@
+From 6d29ee15039a567ad5f70a3e51289fea93c1f64e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Wed, 15 Nov 2023 11:39:24 +0000
+Subject: reuse AllowedLinkProtocolFromDocument in writer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+reorg calc hyperlink check to reuse elsewhere
+
+Change-Id: I20ae3c5df15502c3a0a366fb4a2924c06ffac3d0
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159487
+Tested-by: Jenkins
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit e6a7537762e19fde446441edd10d301f9b37ce75)
+
+reuse AllowedLinkProtocolFromDocument in writer
+
+Change-Id: Iacf5e313fc6ca5f7d69ca6986a036f0e1ab1f2a0
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159488
+Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit 32535dfa82200b54296838b52285c054fbe5e51d)
+
+combine these hyperlink dispatchers into one call
+
+Change-Id: Icb7822e811013de648ccf2fbb23a5f0be9e29bb0
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159489
+Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit 0df175ccc6ea542bc5801f631ff72bed187042eb)
+
+we can have just one LoadURL for writer
+
+Change-Id: Ia0162ee1c275292fcf200bad4662e4c2c6b7b972
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159557
+Tested-by: Jenkins
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit 521ca9cf6acbae96cf95d9740859c9682212013d)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159858
+Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+(cherry picked from commit e32b8601dbd63cf01497889601d6c9c1241106d6)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159883
+---
+ include/sfx2/objsh.hxx               |  7 +++++--
+ sc/source/core/data/global.cxx       | 32 ++----------------------------
+ sfx2/source/doc/objmisc.cxx          | 27 +++++++++++++++++++++++++
+ sw/source/uibase/shells/drwtxtex.cxx |  8 ++------
+ sw/source/uibase/wrtsh/wrtsh2.cxx    | 38 +++++++++++++++++++++++-------------
+ 5 files changed, 60 insertions(+), 52 deletions(-)
+
+diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
+index fde0dba3d7c9..79f22c978dcb 100644
+--- a/include/sfx2/objsh.hxx
++++ b/include/sfx2/objsh.hxx
+@@ -200,6 +200,9 @@ private:
+     SAL_DLLPRIVATE bool SaveTo_Impl(SfxMedium &rMedium, const SfxItemSet* pSet );
++    // true if the document had macros (or similar) on load to trigger warning user
++    SAL_DLLPRIVATE bool  GetHadCheckedMacrosOnLoad() const;
++
+ protected:
+                                 SfxObjectShell(SfxObjectCreateMode);
+                                 SfxObjectShell(SfxModelFlags);    // see sfxmodelfactory.hxx
+@@ -427,8 +430,8 @@ public:
+     void                        SetMacroCallsSeenWhileLoading();
+     bool                        GetMacroCallsSeenWhileLoading() const;
+-    // true if the document had macros (or similar) on load to trigger warning user
+-    bool                        GetHadCheckedMacrosOnLoad() const;
++    // true if this type of link, from a document, is allowed by the user to be passed to uno:OpenDoc
++    static bool                 AllowedLinkProtocolFromDocument(const OUString& rUrl, SfxObjectShell* pObjShell, weld::Window* pDialogParent);
+     const css::uno::Sequence< css::beans::PropertyValue >& GetModifyPasswordInfo() const;
+     bool                        SetModifyPasswordInfo( const css::uno::Sequence< css::beans::PropertyValue >& aInfo );
+diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
+index 92caea1ea459..27c5a51a46c1 100644
+--- a/sc/source/core/data/global.cxx
++++ b/sc/source/core/data/global.cxx
+@@ -29,9 +29,7 @@
+ #include <sfx2/docfile.hxx>
+ #include <sfx2/dispatch.hxx>
+ #include <sfx2/objsh.hxx>
+-#include <sfx2/sfxresid.hxx>
+ #include <sfx2/sfxsids.hrc>
+-#include <sfx2/strings.hrc>
+ #include <sfx2/viewfrm.hxx>
+ #include <sfx2/viewsh.hxx>
+ #include <svl/intitem.hxx>
+@@ -856,34 +854,8 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
+             aUrlName = aNewUrlName;
+     }
+-    if (INetURLObject(aUrlName).IsExoticProtocol())
+-    {
+-        // Default to ignoring exotic protocols
+-        bool bAllow = false;
+-        if (pObjShell)
+-        {
+-            // If the document had macros when loaded then follow the allowed macro-mode
+-            if (pObjShell->GetHadCheckedMacrosOnLoad())
+-                bAllow = pObjShell->AdjustMacroMode();
+-            else // otherwise ask the user, defaulting to cancel
+-            {
+-                assert(pFrame && "if we have pObjShell we have pFrame");
+-                //Reuse URITools::onOpenURI warning string
+-                std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pFrame->GetFrameWeld(),
+-                                                               VclMessageType::Warning, VclButtonsType::YesNo,
+-                                                               SfxResId(STR_DANGEROUS_TO_OPEN)));
+-                xQueryBox->set_primary_text(xQueryBox->get_primary_text().replaceFirst("$(ARG1)",
+-                    INetURLObject::decode(aUrlName, INetURLObject::DecodeMechanism::Unambiguous)));
+-                xQueryBox->set_default_response(RET_NO);
+-                bAllow = xQueryBox->run() == RET_YES;
+-            }
+-        }
+-        if (!bAllow)
+-        {
+-            SAL_WARN("sc", "ScGlobal::OpenURL ignoring: " << aUrlName);
+-            return;
+-        }
+-    }
++    if (!SfxObjectShell::AllowedLinkProtocolFromDocument(aUrlName, pObjShell, pFrame ? pFrame->GetFrameWeld() : nullptr))
++        return;
+     SfxStringItem aUrl( SID_FILE_NAME, aUrlName );
+     SfxStringItem aTarget( SID_TARGETNAME, rTarget );
+diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
+index ddf95eeafe5e..8c76c3f0f4d6 100644
+--- a/sfx2/source/doc/objmisc.cxx
++++ b/sfx2/source/doc/objmisc.cxx
+@@ -962,6 +962,33 @@ bool SfxObjectShell::GetHadCheckedMacrosOnLoad() const
+     return pImpl->m_bHadCheckedMacrosOnLoad;
+ }
++bool SfxObjectShell::AllowedLinkProtocolFromDocument(const OUString& rUrl, SfxObjectShell* pObjShell, weld::Window* pDialogParent)
++{
++    if (!INetURLObject(rUrl).IsExoticProtocol())
++        return true;
++    // Default to ignoring exotic protocols
++    bool bAllow = false;
++    if (pObjShell)
++    {
++        // If the document had macros when loaded then follow the allowed macro-mode
++        if (pObjShell->GetHadCheckedMacrosOnLoad())
++            bAllow = pObjShell->AdjustMacroMode();
++        else // otherwise ask the user, defaulting to cancel
++        {
++            //Reuse URITools::onOpenURI warning string
++            std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pDialogParent,
++                                                           VclMessageType::Warning, VclButtonsType::YesNo,
++                                                           SfxResId(STR_DANGEROUS_TO_OPEN)));
++            xQueryBox->set_primary_text(xQueryBox->get_primary_text().replaceFirst("$(ARG1)",
++                INetURLObject::decode(rUrl, INetURLObject::DecodeMechanism::Unambiguous)));
++            xQueryBox->set_default_response(RET_NO);
++            bAllow = xQueryBox->run() == RET_YES;
++        }
++    }
++    SAL_WARN_IF(!bAllow, "sfx.appl", "SfxObjectShell::AllowedLinkProtocolFromDocument ignoring: " << rUrl);
++    return bAllow;
++}
++
+ void SfxObjectShell::CheckEncryption_Impl( const uno::Reference< task::XInteractionHandler >& xHandler )
+ {
+     OUString aVersion;
+diff --git a/sw/source/uibase/shells/drwtxtex.cxx b/sw/source/uibase/shells/drwtxtex.cxx
+index c84ee7bd9af4..c51f501841ad 100644
+--- a/sw/source/uibase/shells/drwtxtex.cxx
++++ b/sw/source/uibase/shells/drwtxtex.cxx
+@@ -533,12 +533,8 @@ void SwDrawTextShell::Execute( SfxRequest &rReq )
+             const SvxFieldData* pField = pOLV->GetFieldAtCursor();
+             if (const SvxURLField* pURLField = dynamic_cast<const SvxURLField*>(pField))
+             {
+-                SfxStringItem aUrl(SID_FILE_NAME, pURLField->GetURL());
+-                SfxStringItem aTarget(SID_TARGETNAME, pURLField->GetTargetFrame());
+-                SfxBoolItem aNewView(SID_OPEN_NEW_VIEW, false);
+-                SfxBoolItem aBrowsing(SID_BROWSE, true);
+-                GetView().GetViewFrame()->GetDispatcher()->ExecuteList(
+-                    SID_OPENDOC, SfxCallMode::SYNCHRON, { &aUrl, &aTarget, &aNewView, &aBrowsing });
++                ::LoadURL(GetShell(), pURLField->GetURL(), LoadUrlFlags::NONE,
++                          pURLField->GetTargetFrame());
+             }
+         }
+         break;
+diff --git a/sw/source/uibase/wrtsh/wrtsh2.cxx b/sw/source/uibase/wrtsh/wrtsh2.cxx
+index 1995e7133c4a..d781823e82ec 100644
+--- a/sw/source/uibase/wrtsh/wrtsh2.cxx
++++ b/sw/source/uibase/wrtsh/wrtsh2.cxx
+@@ -501,30 +501,24 @@ bool SwWrtShell::ClickToINetGrf( const Point& rDocPt, LoadUrlFlags nFilter )
+     return bRet;
+ }
+-void LoadURL( SwViewShell& rVSh, const OUString& rURL, LoadUrlFlags nFilter,
+-              const OUString& rTargetFrameName )
++static void LoadURL(SwView& rView, const OUString& rURL, LoadUrlFlags nFilter,
++                    const OUString& rTargetFrameName)
+ {
+-    OSL_ENSURE( !rURL.isEmpty(), "what should be loaded here?" );
+-    if( rURL.isEmpty() )
+-        return ;
++    SwDocShell* pDShell = rView.GetDocShell();
++    OSL_ENSURE( pDShell, "No DocShell?!");
++    SfxViewFrame* pViewFrame = rView.GetViewFrame();
+-    // The shell could be 0 also!!!!!
+-    if ( dynamic_cast<const SwCursorShell*>( &rVSh) ==  nullptr )
++    if (!SfxObjectShell::AllowedLinkProtocolFromDocument(rURL, pDShell, pViewFrame->GetFrameWeld()))
+         return;
+     // We are doing tiledRendering, let the client handles the URL loading,
+     // unless we are jumping to a TOC mark.
+     if (comphelper::LibreOfficeKit::isActive() && !rURL.startsWith("#"))
+     {
+-        rVSh.GetSfxViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_HYPERLINK_CLICKED, rURL.toUtf8().getStr());
++        rView.libreOfficeKitViewCallback(LOK_CALLBACK_HYPERLINK_CLICKED, rURL.toUtf8().getStr());
+         return;
+     }
+-    //A CursorShell is always a WrtShell
+-    SwWrtShell &rSh = static_cast<SwWrtShell&>(rVSh);
+-
+-    SwDocShell* pDShell = rSh.GetView().GetDocShell();
+-    OSL_ENSURE( pDShell, "No DocShell?!");
+     OUString sTargetFrame(rTargetFrameName);
+     if (sTargetFrame.isEmpty() && pDShell)
+     {
+@@ -539,7 +533,6 @@ void LoadURL( SwViewShell& rVSh, const OUString& rURL, LoadUrlFlags nFilter,
+     OUString sReferer;
+     if( pDShell && pDShell->GetMedium() )
+         sReferer = pDShell->GetMedium()->GetName();
+-    SfxViewFrame* pViewFrame = rSh.GetView().GetViewFrame();
+     SfxFrameItem aView( SID_DOCFRAME, pViewFrame );
+     SfxStringItem aName( SID_FILE_NAME, rURL );
+     SfxStringItem aTargetFrameName( SID_TARGETNAME, sTargetFrame );
+@@ -565,6 +558,23 @@ void LoadURL( SwViewShell& rVSh, const OUString& rURL, LoadUrlFlags nFilter,
+             SfxCallMode::ASYNCHRON|SfxCallMode::RECORD );
+ }
++void LoadURL( SwViewShell& rVSh, const OUString& rURL, LoadUrlFlags nFilter,
++              const OUString& rTargetFrameName )
++{
++    OSL_ENSURE( !rURL.isEmpty(), "what should be loaded here?" );
++    if( rURL.isEmpty() )
++        return ;
++
++    // The shell could be 0 also!!!!!
++    if ( dynamic_cast<const SwCursorShell*>( &rVSh) ==  nullptr )
++        return;
++
++    //A CursorShell is always a WrtShell
++    SwWrtShell &rSh = static_cast<SwWrtShell&>(rVSh);
++
++    ::LoadURL(rSh.GetView(), rURL, nFilter, rTargetFrameName);
++}
++
+ void SwWrtShell::NavigatorPaste( const NaviContentBookmark& rBkmk,
+                                     const sal_uInt16 nAction )
+ {
+-- 
+cgit v1.2.1
+
diff --git a/debian/patches/reuse-AllowedLinkProtocolFromDocument-2.diff b/debian/patches/reuse-AllowedLinkProtocolFromDocument-2.diff
new file mode 100644 (file)
index 0000000..bbb080c
--- /dev/null
@@ -0,0 +1,81 @@
+From 569fa7f755718a06f23d25b2132bf0400cec7a0f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Wed, 22 Nov 2023 21:14:41 +0000
+Subject: reuse AllowedLinkProtocolFromDocument in impress/draw
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: I73ca4f087946a45dbf92d69a0dc1e769de9b5690
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159843
+Tested-by: Jenkins
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit f0942eed2eb328b04856f20613f5226d66b66a20)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159759
+Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
+Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159884
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+---
+ sd/source/ui/app/sdmod1.cxx | 29 ++++++++++++++++++-----------
+ 1 file changed, 18 insertions(+), 11 deletions(-)
+
+diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx
+index 573ee853069b..b22feb2d1f21 100644
+--- a/sd/source/ui/app/sdmod1.cxx
++++ b/sd/source/ui/app/sdmod1.cxx
+@@ -33,6 +33,7 @@
+ #include <sfx2/docfile.hxx>
+ #include <sfx2/request.hxx>
+ #include <sfx2/templatedlg.hxx>
++#include <svl/stritem.hxx>
+ #include <editeng/eeitem.hxx>
+ #include <svx/svxids.hrc>
+@@ -192,26 +193,32 @@ void SdModule::Execute(SfxRequest& rReq)
+         {
+             bool bIntercept = false;
+             ::sd::DrawDocShell* pDocShell = dynamic_cast< ::sd::DrawDocShell *>( SfxObjectShell::Current() );
+-            if (pDocShell)
++            ::sd::ViewShell* pViewShell = pDocShell ? pDocShell->GetViewShell() : nullptr;
++            if (pViewShell)
+             {
+-                ::sd::ViewShell* pViewShell = pDocShell->GetViewShell();
+-                if (pViewShell)
++                if( sd::SlideShow::IsRunning( pViewShell->GetViewShellBase() ) )
+                 {
+-                    if( sd::SlideShow::IsRunning( pViewShell->GetViewShellBase() ) )
++                    // Prevent documents from opening while the slide
++                    // show is running, except when this request comes
++                    // from a shape interaction.
++                    if (rReq.GetArgs() == nullptr)
+                     {
+-                        // Prevent documents from opening while the slide
+-                        // show is running, except when this request comes
+-                        // from a shape interaction.
+-                        if (rReq.GetArgs() == nullptr)
+-                        {
+-                            bIntercept = true;
+-                        }
++                        bIntercept = true;
+                     }
+                 }
+             }
+             if (!bIntercept)
+             {
++                if (const SfxStringItem* pURLItem = rReq.GetArg<SfxStringItem>(SID_FILE_NAME))
++                {
++                    if (!pViewShell || !SfxObjectShell::AllowedLinkProtocolFromDocument(pURLItem->GetValue(),
++                                                                                        pViewShell->GetObjectShell(),
++                                                                                        pViewShell->GetFrameWeld()))
++                    {
++                        return;
++                    }
++                }
+                 SfxGetpApp()->ExecuteSlot(rReq, SfxGetpApp()->GetInterface());
+             }
+             else
+-- 
+cgit v1.2.1
+
diff --git a/debian/patches/search-usr-share-for-images.diff b/debian/patches/search-usr-share-for-images.diff
new file mode 100644 (file)
index 0000000..6b91fcc
--- /dev/null
@@ -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 (file)
index 0000000..6b98bbc
--- /dev/null
@@ -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 @@
+   </node>
+   <node oor:name="ExternalMailer" install:module="unixdesktop">
+     <prop oor:name="Program">
+-      <value oor:external="com.sun.star.configuration.backend.DesktopBackend ExternalMailer"/>
++      <value>sensible-lomua</value>
+     </prop>
+   </node>
+   <node oor:name="Font">
+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 (file)
index 0000000..09c822e
--- /dev/null
@@ -0,0 +1,70 @@
+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
+#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
+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
+apparmor-allow-java.security.diff
+apparmor-cleanups.diff
+apparmor-mesa.diff
+disableClassPathURLCheck.diff
+use-mariadb-java-instead-of-mysql-java.diff
+apparmor-opencl.diff
+fix-flaky-bridgetest.diff
+add-access2base-doc.diff
+disable-shortcuts_tab_navigation-uitest.diff
+no-opencl-per-default.diff
+apparmor-updates.diff
+apparmor-gnupg-tofu.diff
+temporarily-disable-test-metadata-test.diff
+arm-fp-mode.diff
+moreIconsDialog-accesses-internet.diff
+do-not-ABORT_ON_NON_APPLICATION_FONT_USE.diff
+hrk-euro.diff
+dragonbox-1.1.3.diff
+fix-system-libfixmath.diff
+boost-1.81.diff
+0004-Remove-dependency-on-BitArray.h-from-zxing-1.2.0.patch
+escape-url-passed-to-gstreamer.diff
+floating-frame-targets-unneeded-protocols.diff
+warn-about-exotic-protocols-as-well.diff
+ignore-LO-special-purpose-hyperlinks-per-default.diff
+reuse-AllowedLinkProtocolFromDocument-1.diff
+reuse-AllowedLinkProtocolFromDocument-2.diff
+work-around-expired-certificiate-in-test.diff
+add-notify-for-script-use.diff
+Fix-backup-copy-creation-for-files-on-mounted-samba-shares.diff
+fix-32bit-build.diff
+remove-ability-to-trust-not-validated-macro-signatures-in-high-security.diff
+do-not-trust-any-signature-on-repaired-package.diff
+be-coservative-about-allowed-font-names.diff
+consider-VndSunStarExpand-an-exotic-protocol.diff
+look-at-embedded-protocols-too.diff
+Filter-out-more-unwanted-command-URIs.diff
+Improve-adbe.pkcs7.sha1-signature-verification.diff
diff --git a/debian/patches/split-evoab.diff b/debian/patches/split-evoab.diff
new file mode 100644 (file)
index 0000000..48b8b36
--- /dev/null
@@ -0,0 +1,59 @@
+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 37de50bcbe56..1e0f37957ebf 100644
+--- a/postprocess/CustomTarget_registry.mk
++++ b/postprocess/CustomTarget_registry.mk
+@@ -453,7 +453,8 @@ postprocess_FILES_calc += \
+ postprocess_DRIVERS += calc
+ ifeq ($(ENABLE_EVOAB2),TRUE)
+-postprocess_FILES_main += \
++postprocess_XCDS += evoab.xcd
++postprocess_FILES_evoab += \
+     $(call gb_XcuModuleTarget_get_target,connectivity/registry/evoab2)/org/openoffice/Office/DataAccess/Drivers-evoab2.xcu \
+     $(postprocess_MOD)/org/openoffice/Office/DataAccess-evoab2.xcu
+ postprocess_DRIVERS += evoab
+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 (file)
index 0000000..971608e
--- /dev/null
@@ -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@ "$@"
++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 "$@"
+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/temporarily-disable-test-metadata-test.diff b/debian/patches/temporarily-disable-test-metadata-test.diff
new file mode 100644 (file)
index 0000000..d2ddfac
--- /dev/null
@@ -0,0 +1,74 @@
+diff --git a/sw/qa/uitest/styleInspector/styleInspector.py b/sw/qa/uitest/styleInspector/styleInspector.py
+index 49d02fc01c9b..d1e9d30711e9 100644
+--- a/sw/qa/uitest/styleInspector/styleInspector.py
++++ b/sw/qa/uitest/styleInspector/styleInspector.py
+@@ -131,69 +131,6 @@ class styleNavigator(UITestCase):
+             self.xUITest.executeCommand(".uno:Sidebar")
+-    def test_metadata(self):
+-        with self.ui_test.load_file(get_url_for_data_file("metadata.odt")):
+-            xWriterDoc = self.xUITest.getTopFocusWindow()
+-            xWriterEdit = xWriterDoc.getChild("writer_edit")
+-
+-            self.xUITest.executeCommand(".uno:Sidebar")
+-            xWriterEdit.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "InspectorTextPanel"}))
+-
+-            xListBox = xWriterEdit.getChild('listbox_fonts')
+-
+-            # The cursor is on text without metadata
+-            self.assertEqual(1, len(xListBox.getChild('0').getChildren()))
+-            self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text'])
+-            self.assertEqual(140, len(xListBox.getChild('0').getChild('0').getChildren()))
+-            self.assertEqual(0, len(xListBox.getChild('1').getChildren()))
+-            self.assertEqual(0, len(xListBox.getChild('2').getChildren()))
+-            self.assertEqual(0, len(xListBox.getChild('3').getChildren()))
+-
+-            self.xUITest.executeCommand(".uno:GoDown")
+-
+-            # The cursor is on text with paragraph metadata showed under direct paragraph formatting
+-            self.assertEqual(1, len(xListBox.getChild('0').getChildren()))
+-            self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text'])
+-            self.assertEqual(140, len(xListBox.getChild('0').getChild('0').getChildren()))
+-
+-            xParDirFormatting = xListBox.getChild('1')
+-            self.assertEqual(1, len(xParDirFormatting.getChildren()))
+-            self.assertEqual("Metadata Reference\t", get_state_as_dict(xParDirFormatting.getChild('0'))['Text'])
+-
+-            xMetadata = xParDirFormatting.getChild('0')
+-            self.assertEqual(4, len(xMetadata.getChildren()))
+-            self.assertEqual("xml:id\tpara1", get_state_as_dict(xMetadata.getChild('0'))['Text'])
+-            self.assertEqual("http://www.w3.org/1999/02/22-rdf-syntax-ns#type\tParagraph", get_state_as_dict(xMetadata.getChild('1'))['Text'])
+-            self.assertEqual("http://www.w3.org/2000/01/rdf-schema#comment\tAbout this paragraph...", get_state_as_dict(xMetadata.getChild('2'))['Text'])
+-            self.assertEqual("http://www.w3.org/2000/01/rdf-schema#label\tAnnotated paragraph", get_state_as_dict(xMetadata.getChild('3'))['Text'])
+-
+-            self.xUITest.executeCommand(".uno:GoDown")
+-            # FIXME jump over the control character (not visible in getString(), but it affects
+-            # cursor position and availability of NestedTextContent)
+-            self.xUITest.executeCommand(".uno:GoRight")
+-
+-            # The cursor is on text with annotated text range
+-            xDirFormatting = xListBox.getChild('0')
+-            self.assertEqual("Fields\t", get_state_as_dict(xListBox.getChild('0'))['Text'])
+-            self.assertEqual(1, len(xDirFormatting.getChildren()))
+-            self.assertEqual("Metadata Reference\t", get_state_as_dict(xDirFormatting.getChild('0'))['Text'])
+-
+-            xMetadata = xDirFormatting.getChild('0')
+-            self.assertEqual(4, len(xMetadata.getChildren()))
+-            self.assertEqual("xml:id\tid2758386667", get_state_as_dict(xMetadata.getChild('0'))['Text'])
+-            self.assertEqual("http://www.w3.org/1999/02/22-rdf-syntax-ns#type\tText span", get_state_as_dict(xMetadata.getChild('1'))['Text'])
+-            self.assertEqual("http://www.w3.org/2000/01/rdf-schema#comment\tComment...", get_state_as_dict(xMetadata.getChild('2'))['Text'])
+-            self.assertEqual("http://www.w3.org/2000/01/rdf-schema#label\tAnnotated paragraph portion", get_state_as_dict(xMetadata.getChild('3'))['Text'])
+-
+-            xDirFormatting = xListBox.getChild('4')
+-            self.assertEqual(1, len(xDirFormatting.getChildren()))
+-            self.assertEqual("Nested Text Content\tAnnotated text range", get_state_as_dict(xDirFormatting.getChild('0'))['Text'])
+-
+-            self.assertEqual(0, len(xListBox.getChild('2').getChildren()))
+-            self.assertEqual(0, len(xListBox.getChild('3').getChildren()))
+-
+-            self.xUITest.executeCommand(".uno:Sidebar")
+-
+     def test_bookmark_metadata(self):
+         with self.ui_test.load_file(get_url_for_data_file("bookmark-metadata.odt")):
+             xWriterDoc = self.xUITest.getTopFocusWindow()
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 (file)
index 0000000..070dfe0
--- /dev/null
@@ -0,0 +1,59 @@
+>From 1172166889764ae0e77488e5d173f33961b9859b Mon Sep 17 00:00:00 2001
+From: Markus Koschany <apo@debian.org>
+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 3817add48da6..ace57bd35d98 100644
+--- a/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java
++++ b/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java
+@@ -64,7 +64,7 @@ public class JdbcLongVarCharTest extends ComplexTestCase
+             */
+             String url = System.getenv("CONNECTIVITY_TEST_MYSQL_DRIVER_JDBC");
+             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();
+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_jdbc/org/openoffice/Office/DataAccess/Drivers.xcu
++++ b/connectivity/registry/mysql_jdbc/org/openoffice/Office/DataAccess/Drivers.xcu
+@@ -33,7 +33,7 @@
+         </node>
+         <node oor:name="JavaDriverClass" oor:op="replace">
+           <prop oor:name="Value" oor:type="xs:string">
+-            <value>com.mysql.jdbc.Driver</value>
++            <value>org.mariadb.jdbc.Driver</value>
+           </prop>
+         </node>
+         <node oor:name="AddIndexAppendix" oor:op="replace">
+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_jdbc/YDriver.cxx
++++ b/connectivity/source/drivers/mysql_jdbc/YDriver.cxx
+@@ -54,7 +54,7 @@ namespace
+ OUString getJavaDriverClass(css::uno::Sequence<css::beans::PropertyValue> const& info)
+ {
+     return comphelper::NamedValueCollection::getOrDefault(info, u"JavaDriverClass",
+-                                                          OUString("com.mysql.jdbc.Driver"));
++                                                          OUString("org.mariadb.jdbc.Driver"));
+ }
+ }
+@@ -170,7 +170,7 @@ Sequence<PropertyValue> lcl_convertProperties(T_DRIVERTYPE _eType,
+         if (!jdc)
+         {
+             aProps.push_back(PropertyValue("JavaDriverClass", 0,
+-                                           Any(OUString("com.mysql.jdbc.Driver")),
++                                           Any(OUString("org.mariadb.jdbc.Driver")),
+                                            PropertyState_DIRECT_VALUE));
+         }
+     }
diff --git a/debian/patches/warn-about-exotic-protocols-as-well.diff b/debian/patches/warn-about-exotic-protocols-as-well.diff
new file mode 100644 (file)
index 0000000..d3944e1
--- /dev/null
@@ -0,0 +1,81 @@
+From 9198322d9b4ed87e0e176fbfc712751a5f9b886f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Sat, 4 Nov 2023 19:57:51 +0000
+Subject: warn about exotic protocols as well
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: I50dcf4f36cd20d75f5ad3876353143268740a50f
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151834
+Tested-by: Jenkins
+Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
+(cherry picked from commit 1305f70cff8a81a58a5a6d9c96c5bb032005389e)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159034
+Reviewed-by: Eike Rathke <erack@redhat.com>
+Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159881
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+---
+ sw/source/filter/html/htmlplug.cxx | 2 +-
+ sw/source/filter/xml/xmltexti.cxx  | 2 +-
+ tools/source/fsys/urlobj.cxx       | 3 ++-
+ xmloff/source/draw/ximpshap.cxx    | 2 +-
+ 4 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx
+index 1aec184d8a6c..1c1f5f49f13e 100644
+--- a/sw/source/filter/html/htmlplug.cxx
++++ b/sw/source/filter/html/htmlplug.cxx
+@@ -1121,7 +1121,7 @@ void SwHTMLParser::InsertFloatingFrame()
+                 OUString sHRef = aFrameDesc.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE );
+-                if (INetURLObject(sHRef).GetProtocol() == INetProtocol::Macro)
++                if (INetURLObject(sHRef).IsExoticProtocol())
+                     NotifyMacroEventRead();
+                 xSet->setPropertyValue("FrameURL", uno::Any( sHRef ) );
+diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx
+index 7ec4616f76dd..4bbed6bb8ff8 100644
+--- a/sw/source/filter/xml/xmltexti.cxx
++++ b/sw/source/filter/xml/xmltexti.cxx
+@@ -826,7 +826,7 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertFloatingFra
+                 OUString sHRef = URIHelper::SmartRel2Abs(
+                             INetURLObject( GetXMLImport().GetBaseURL() ), rHRef );
+-                if (INetURLObject(sHRef).GetProtocol() == INetProtocol::Macro)
++                if (INetURLObject(sHRef).IsExoticProtocol())
+                     GetXMLImport().NotifyMacroEventRead();
+                 xSet->setPropertyValue("FrameURL",
+diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
+index 2a9f7bc3d7dc..36a8af31a0fb 100644
+--- a/tools/source/fsys/urlobj.cxx
++++ b/tools/source/fsys/urlobj.cxx
+@@ -4834,7 +4834,8 @@ bool INetURLObject::IsExoticProtocol() const
+     return m_eScheme == INetProtocol::Slot ||
+            m_eScheme == INetProtocol::Macro ||
+            m_eScheme == INetProtocol::Uno ||
+-           isSchemeEqualTo(u"vnd.sun.star.script");
++           isSchemeEqualTo(u"vnd.sun.star.script") ||
++           isSchemeEqualTo(u"service");
+ }
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
+index 113f3a3ffc2a..263b4b937608 100644
+--- a/xmloff/source/draw/ximpshap.cxx
++++ b/xmloff/source/draw/ximpshap.cxx
+@@ -3177,7 +3177,7 @@ void SdXMLFloatingFrameShapeContext::startFastElement (sal_Int32 /*nElement*/,
+         if( !maHref.isEmpty() )
+         {
+-            if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro)
++            if (INetURLObject(maHref).IsExoticProtocol())
+                 GetImport().NotifyMacroEventRead();
+             xProps->setPropertyValue("FrameURL", Any(maHref) );
+-- 
+cgit v1.2.1
+
diff --git a/debian/patches/work-around-expired-certificiate-in-test.diff b/debian/patches/work-around-expired-certificiate-in-test.diff
new file mode 100644 (file)
index 0000000..f4f87db
--- /dev/null
@@ -0,0 +1,24 @@
+diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx
+index 1898d3f1377f..be3d9ebd3253 100644
+--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
++++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
+@@ -2829,7 +2829,8 @@ void DesktopLOKTest::testInsertCertificate_PEM_ODT()
+     }
+     int nState = pDocument->m_pDocumentClass->getSignatureState(pDocument);
+-    CPPUNIT_ASSERT_EQUAL(int(1), nState);
++    // OK or NOTVALIDATED (signature is OK, but certificate could not be validated)
++    CPPUNIT_ASSERT(nState == 1 || nState == 4);
+ }
+ void DesktopLOKTest::testInsertCertificate_PEM_DOCX()
+@@ -2886,7 +2887,8 @@ void DesktopLOKTest::testInsertCertificate_PEM_DOCX()
+     }
+     int nState = pDocument->m_pDocumentClass->getSignatureState(pDocument);
+-    CPPUNIT_ASSERT_EQUAL(int(5), nState);
++    // PARTIAL_OK or NOTVALIDATED_PARTIAL_OK
++    CPPUNIT_ASSERT(nState == 5 || nState == 6);
+ }
+ void DesktopLOKTest::testSignDocument_PEM_PDF()
diff --git a/debian/python3-access2base.links b/debian/python3-access2base.links
new file mode 100644 (file)
index 0000000..f76ba1c
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc/libreoffice-common/access2base.html usr/share/doc/python3-access2base/access2base.html
diff --git a/debian/python3-uno.NEWS b/debian/python3-uno.NEWS
new file mode 100644 (file)
index 0000000..e731bbc
--- /dev/null
@@ -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 <rene@debian.org>  Sat, 07 Apr 2012 14:30:41 +0200
+
diff --git a/debian/python3-uno.lintian-overrides b/debian/python3-uno.lintian-overrides
new file mode 100644 (file)
index 0000000..2b53a26
--- /dev/null
@@ -0,0 +1,2 @@
+# "aged out" due to debhelpers changelog trimming (see #1021502)
+python3-uno: debian-news-entry-has-unknown-version 1:3.5.2-2 [usr/share/doc/python3-uno/NEWS.Debian.gz:1]
diff --git a/debian/python3-uno.ucf b/debian/python3-uno.ucf
new file mode 100644 (file)
index 0000000..8a56cd5
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/libreoffice/share/.registry/pyuno.xcd /etc/libreoffice/registry/pyuno.xcd
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..f50a3e9
--- /dev/null
@@ -0,0 +1,4209 @@
+#!/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 <halls@debian.org>
+# Rene Engelhard <rene@debian.org>
+# Copyright 2002-2022 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 <http://www.gnu.org/copyleft/gpl.txt>.
+################################################################################
+
+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:=7.4
+OOVER:=7.4
+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)
+
+ifneq (,$(shell pwd | grep autopkgtest))
+AUTOPKGTEST_BUILD=y
+$(warning Build for autopkgtest)
+endif
+AUTOPKGTEST_CPPUNIT_PACKAGES := $(shell dh_listpackages | grep -v help | grep -v l10n | grep -v dev-doc | grep -v "nogui$$")
+
+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' | cut -d" " -f1)
+SYSTEM_CLANG_VERSION = $(shell clang -v 2>&1 | head -n1 | awk '{ print $$4 }' | cut -d. -f1)
+
+PKGDIR:=debian/libreoffice
+OODIRNAME=libreoffice
+OODIR:=usr/lib/$(OODIRNAME)
+OOSDKDIR:=$(OODIR)/sdk
+
+# Figure out who's building this package.
+ifneq "$(DEB_VENDOR)" "Debian"
+OOO_VENDOR:=The Document Foundation, $(DEB_PARENT_VENDOR) and $(DEB_VENDOR)
+else
+OOO_VENDOR=The Document Foundation/$(DEB_VENDOR)
+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=y
+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-7-4-7
+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 (>= 3.1),\
+    libc0.1 (>= 2.10.2-7) [kfreebsd-any],\
+    libfontconfig-dev,\
+    pkg-config,\
+    unzip,\
+    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-<value>).
+SYSTEM_STUFF = dicts
+
+ENABLE_GUI=y
+
+ifeq ($(filter nopython,$(DEB_BUILD_PROFILES)),)
+ENABLE_PYTHON=y
+ifeq "$(ENABLE_PYTHON)" "y"
+  CONFIGURE_FLAGS += --enable-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
+endif
+BUILD_ONLY_EN_US=n
+ifeq ($(filter nojava,$(DEB_BUILD_PROFILES)),)
+  ENABLE_JAVA=y
+  ifeq "$(ENABLE_JAVA)" "y"
+    JDK=default
+    include /usr/share/java/java_defaults.mk
+    ifneq "$(JDK)" "default"
+      JAVA_MAINVER=7
+    endif
+  endif
+else
+  ENABLE_JAVA=n
+endif
+JAVAHELPER_MIN_VERSION= (>= 0.37~)
+SYSTEM_STUFF += hunspell
+SYSTEM_STUFF += altlinuxhyph
+SYSTEM_STUFF += boost
+BOOST_VERSION=default
+ifeq "$(BOOST_VERSION)" "default"
+  BOOST_MINVER= (>= 1.71)
+endif
+# libmdds-dev depends on libboost-dev, which will be removed
+# when you install a non-default libboostX.Y-dev
+ifeq "$(BOOST_VERSION)" "default"
+SYSTEM_STUFF += mdds
+endif
+USE_EXTERNAL_CXXLIBS=y
+SYSTEM_STUFF += mythes
+SYSTEM_STUFF += icu
+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
+ENABLE_ZXING=y
+SYSTEM_STUFF += zxing
+BUILD_CAIROCANVAS=y
+SYSTEM_STUFF += cairo
+ifeq "$(ENABLE_GUI)" "y"
+BUILD_PLASMA=y
+ENABLE_QT5=n
+QT5_MINVER= (>= 5.6)
+endif
+ifeq "$(BUILD_PLASMA)" "y"
+  ENABLE_KF5=y
+  # KF5 depends on Qt5
+  ifeq "$(ENABLE_KF5)" "y"
+    ENABLE_QT5=y
+    KF5_QT5_DEPENDS := libreoffice-qt5 (= $${binary:Version})
+  endif
+endif
+ENABLE_QT6=n
+# for moc move to /usr/lib/qt6/libxexec
+QT6_MINVER= (>= 6.2.1+dfsg-2)
+# 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=y
+DWZ_ARGS:=-L 100000000
+endif
+endif
+SYSTEM_STUFF += xmlsec
+
+ifeq ($(filter noinsttest,$(DEB_BUILD_PROFILES)),)
+ # 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
+endif
+
+ifneq ($(MAKECMDGOALS),build-indep)
+ENABLE_SYMBOLS=y
+SMALL_SYMBOLS=y
+endif
+ifeq ($(MAKECMDGOALS),build-indep)
+# no need to do a double build...
+BUILD_NOGUI_PACKAGES=n
+# go sure
+  ifeq "$(BUILD_TEST_PACKAGES)" "y"
+    ENABLE_JUNIT4=y
+  endif
+endif
+
+ifeq "$(ENABLE_JAVA)" "y"
+  SYSTEM_STUFF += beanshell
+  SYSTEM_STUFF += hsqldb
+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
+ifeq "$(ENABLE_GUI)" "y"
+USE_GSTREAMER=y
+endif
+ENABLE_CURL=y
+CURL_SECTYPE=gnutls
+ENABLE_WEBDAV=y
+ifeq "$(ENABLE_WEBDAV)" "y"
+  ENABLE_CURL=y
+endif
+ifeq "$(ENABLE_CURL)" "y"
+SYSTEM_STUFF += curl
+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
+# will not work, uses schema/ stripped in the tarballs
+ifeq "$(USE_SOURCE_TARBALLS)" "y"
+ENABLE_EXPORT_VALIDATION_TESTS=n
+endif
+JUNIT_MIN_VER= (>= 4.8.2-2)
+USE_LIBSUITESPARSE=y
+SUITESPARSE_MIN_VERSION= (>= 1:3.4.0)
+PARALLEL_BUILD=y
+ENABLE_LDAP=y
+SYSTEM_STUFF += openldap
+SYSTEM_STUFF += epoxy
+ifeq "$(ENABLE_JAVA)" "y"
+  ENABLE_REPORTBUILDER=y
+  SYSTEM_STUFF += jfreereport
+  ENABLE_MEDIAWIKI=y
+  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
+ifeq "$(ENABLE_GUI)" "y"
+BUILD_GTK3=y
+  # introspection needs GTK3
+  ifeq "$(BUILD_GTK3)" "y"
+    ENABLE_INTROSPECTION=y
+  endif
+endif
+# DO NOT ENABLE. WILL NOT WORK.
+# as of 2021-11-29:
+# 14:41 < _rene_> caolanm: just wondering after I did a testbuild lately on (then) master: what is the state of gtk4? enable-able (even
+#                though there's no desktop actually using it ttbomk) or better wait?
+#[...]
+#14:45 <@caolanm> _rene_, I wouldn't enable it yet. There's too much basic stuff not working well enough yet, e.g.
+#                 https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4124
+BUILD_GTK4=n
+ENABLE_EVO2=y
+ENABLE_GIO=y
+ENABLE_DCONF=y
+ENABLE_RANDR=y
+PACKAGE_BASE=y
+SYSTEM_STUFF += graphite
+SYSTEM_STUFF += harfbuzz
+SYSTEM_STUFF += libexttextcat
+SYSTEM_STUFF += cppunit
+SYSTEM_STUFF += dragonbox
+SYSTEM_STUFF += libfixmath
+DEFAULT_IMAGE=colibre
+IMAGES:=$(DEFAULT_IMAGE) colibre_dark colibre_svg colibre_dark_svg sifr sifr_dark sifr_dark_svg breeze breeze_dark breeze_dark_svg breeze_svg elementary elementary_svg karasa_jaga sukapura sukapura_svg
+# FIXME
+IMAGES_PACKAGES=$(subst _,-,$(filter-out colibre_svg,$(filter-out colibre_svg,$(filter-out colibre_dark_svg,$(filter-out sukapura_svg,$(filter-out sifr_dark_svg,$(filter-out breeze_dark_svg,$(filter-out sifr_dark,$(filter-out breeze_dark,$(filter-out breeze_svg,$(filter-out elementary_svg,$(IMAGES))))))))))))
+CONFIGURE_FLAGS_INDEP += --with-theme="$(IMAGES)"
+ENABLE_MARIADB=y
+ifeq "$(ENABLE_MARIADB)" "y"
+# FIXME: the mysql test doesn't get really tested since it is only ran/built
+# with CONNECTIVITY_TEST_MYSQL_DRIVER set - and doesn't build on 32bit... The
+# test is run in autopkgtest on OOO_CHECK_FATAL_ARCHS (aka 64bit archs!) only for
+# now anyway so let's just hack around here for now and disable the build of it
+# alltogether when not used and just set CONNECTIVITY_TEST_MYSQL_DRIVER on those
+# OOO_CHECK_FATAL_ARCHS
+  ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),$(OOO_CHECK_FATAL_ARCHS)))
+export CONNECTIVITY_TEST_MYSQL_DRIVER=dummy
+  endif
+endif
+  MYSQL_FLAVOUR=mariadb
+# set this also to y for system-mysql..
+SYSTEM_STUFF += mariadb
+SYSTEM_STUFF += postgresql
+DICT_DIR=/usr/share/hunspell
+HYPH_DIR=/usr/share/hyphen
+THES_DIR=/usr/share/mythes
+ENABLE_LIBCMIS=n
+ifeq "$(ENABLE_LIBCMIS)" "y"
+SYSTEM_STUFF += libcmis
+endif
+SYSTEM_STUFF += jpeg
+SYSTEM_STUFF += libxml
+SYSTEM_STUFF += expat
+SYSTEM_STUFF += odbc
+SYSTEM_STUFF += sane
+ENABLE_PDFIMPORT=y
+ENABLE_POPPLER=y
+SYSTEM_STUFF += poppler
+ENABLE_PDFIUM=y
+ifneq (big,$(DEB_HOST_ARCH_ENDIAN))
+ENABLE_SKIA=y
+endif
+# see https://cgit.freedesktop.org/libreoffice/core/commit/?id=a0edcc68f94915a78fcc08e70d2cdd752abd9ebb
+ifeq "$(ENABLE_SKIA)" "y"
+    BUILD_DEPS += , libfreetype-dev (>= 2.8.1)
+else
+    BUILD_DEPS += , libfreetype-dev (>= 2.2.0)
+endif
+SYSTEM_STUFF += libpng
+ENABLE_NSS=y
+ifeq "$(ENABLE_NSS)" "y"
+SYSTEM_STUFF += nss
+endif
+ENABLE_HELP=y
+ifeq "$(ENABLE_HELP)" "y"
+  ENABLE_HTML_HELP=y
+  ENABLE_XMLHELP=y
+  ifeq "$(ENABLE_HTML_HELP)" "y"
+  HELP_DEPENDS := libreoffice-help-common (= $${binary:Version}),
+  HELP_RECOMMENDS := firefox-esr | epiphany-browser | konqueror | chromium | firefox
+  HELP_COMMON_DEPENDS := node-normalize.css
+  BUILD_DEPS_INDEP += , node-normalize.css
+  else
+  HELP_DEPENDS := libreoffice-writer
+  DEBHELPER_OPTIONS += -Nlibreoffice-help-common
+  endif
+  ifeq "$(ENABLE_XMLHELP)" "y"
+    SYSTEM_STUFF += clucene
+  endif
+endif
+SYSTEM_STUFF += lcms2
+SYSTEM_STUFF += liblangtag
+SYSTEM_STUFF += orcus
+USE_UCPP=n
+ifeq "$(USE_UCPP)" "y"
+  SYSTEM_STUFF += ucpp
+else
+  CONFIGURE_FLAGS += --with-idlc-cpp=cpp
+endif
+# kfreebsd runs into SIZE_MAX problems, and the rest might
+# get OOM (mips(el)...) so enable mergelibs only for 64bit
+# archs
+ifeq (,$(filter kfreebsd,$(DEB_HOST_ARCH)))
+  ifeq "$(DEB_HOST_ARCH_BITS)" "64"
+       ENABLE_MERGELIBS=y
+  endif
+endif
+ifeq "$(ENABLE_MERGELIBS)" "y"
+  ENABLE_LTO=y
+else
+  ENABLE_LTO=n
+endif
+USE_OPENCL=y
+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
+ifneq "$(AUTOPKGTEST_BUILD)" "y"
+  CHECK_APPARMOR_PROFILES=true
+endif
+SYSTEM_STUFF += libnumbertext
+SYSTEM_STUFF += box2d
+SYSTEM_STUFF += libwebp
+SYSTEM_STUFF += libtiff
+
+# Default flags to pass to configure
+CONFIGURE_FLAGS+= \
+               --with-vendor='$(OOO_VENDOR)' \
+               --with-extra-buildid='$(DEB_VENDOR) package version: $(BINARY_VERSION)' \
+                --prefix=/usr --mandir=/usr/share/man \
+                --docdir=/usr/share/doc/libreoffice \
+               --libdir=/usr/lib \
+               --bindir=/usr/bin \
+               --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_GUI)" "y"
+BUILD_DEPS += ,\
+    libcups2-dev,\
+    libgl-dev,\
+    libice-dev,\
+    libsm-dev,\
+    libx11-dev,\
+    libx11-xcb-dev, \
+    libxaw7-dev,\
+    libxext-dev,\
+    libxinerama-dev,\
+    libxkbfile-dev,\
+    libxrender-dev,\
+    libxt-dev,\
+    libxtst-dev,\
+    x11proto-render-dev
+endif
+
+ifeq "$(ENABLE_HELP)" "y"
+CONFIGURE_FLAGS_INDEP+= --with-help
+  ifeq "$(ENABLE_HTML_HELP)" "y"
+       CONFIGURE_FLAGS_INDEP+= --with-help=html
+  endif
+  ifneq "$(ENABLE_XMLHELP)" "y"
+       CONFIGURE_FLAGS += --disable-xmlhelp
+  endif
+else
+       CONFIGURE_FLAGS += --without-helppack-integration --without-help
+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"
+BUGS=mailto:debian-openoffice@lists.debian.org
+endif
+
+ifneq (terse,$(findstring terse,$(DEB_BUILD_OPTIONS)))
+export verbose=t
+endif
+
+#############
+# 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)
+RTL_OS := $(shell grep RTL_OS debian/vars.$(DEB_HOST_ARCH) | cut -d"=" -f2)
+RTL_ARCH := $(shell grep RTL_ARCH debian/vars.$(DEB_HOST_ARCH) | cut -d"=" -f2)
+
+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 mips mipsel mips64el armel s390x,$(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
+
+BUILD_TESTS=y
+ifeq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+  BUILD_TESTS=n
+endif
+
+RUN_MAKE_CHECK=n
+ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+  ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),$(OOO_CHECK_ARCHS)))
+        RUN_MAKE_CHECK=y
+  endif
+  ifeq "$(ENABLE_JAVA)" "y"
+    ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),$(OOO_JUNIT_ARCHS)))
+        ENABLE_JUNIT4=y
+    endif
+  endif
+  IGNORE_MAKE_CHECK_FAILURES=-
+  TEST_TIMEOUT := timeout --foreground --preserve-status -v -k 250m 200m
+  ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),$(OOO_CHECK_FATAL_ARCHS)))
+       IGNORE_MAKE_CHECK_FAILURES:=
+       TEST_TIMEOUT:=
+  endif
+endif
+ifeq "$(RUN_MAKE_CHECK)" "y"
+  BUILD_TESTS=y
+else
+  BUILD_TESTS=n
+endif
+
+# Java...
+# upstream says --source=1.8 / --target=1.8 so 1.8 is fine in runtime
+JAVA_RUNTIME_BASELINE=8
+ifeq "$(JDK)" "default"
+OOO_JAVA_ARCHS = $(filter $(OOO_ARCHS),$(java$(JAVA_RUNTIME_BASELINE)_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))
+OOO_NOGUI_ARCHS := $(filter amd64 i386 arm64 armhf s390x ppc64 ppc64el,$(OOO_ARCHS))
+$(eval $(call gen_no_archs,OOO_NOGUI_ARCHS))
+
+ifneq (,$(filter $(DEB_HOST_ARCH),$(OOO_NO_BASE_ARCHS)))
+  ifneq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),$(OOO_BASE_ARCHS)))
+       PACKAGE_BASE=n
+       ENABLE_SDBC_POSTGRESQL=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-sdbc-mysql
+       DEBHELPER_OPTIONS += -Nlibreoffice-sdbc-hsqldb -Nlibreoffice-sdbc-firebird
+       DEBHELPER_OPTIONS += -Nlibreoffice-report-builder-bin -Nlibreoffice-report-builder
+       DEBHELPER_OPTIONS += -Npython3-access2base
+#      CONFIGURE_FLAGS += --disable-database-connectivity
+  endif
+endif
+
+ifeq (,$(filter $(DEB_HOST_ARCH),$(OOO_EXTENSIONS_ARCHS)))
+       ENABLE_MEDIAWIKI=n
+       ENABLE_NLPSOLVER=n
+       DEBHELPER_OPTIONS += -Nlibreoffice-wiki-publisher -Nlibreoffice-script-provider-python -Nlibreoffice-nlpsolver
+       CONFIGURE_FLAGS += --disable-extension-integration --disable-extensions
+endif
+
+ifeq (,$(filter $(DEB_HOST_ARCH),$(OOO_JAVA_ARCHS)))
+       ENABLE_JAVA=n
+       ENABLE_REPORTBUILDER=n
+       ENABLE_MEDIAWIKI=n
+       ENABLE_NLPSOLVER=n
+endif
+
+ifneq "$(BUILD_TEST_PACKAGES)" "y"
+       DEBHELPER_OPTIONS += -Nlibreoffice-subsequentcheckbase -Nlibreoffice-smoketest-data
+else
+       BUILD_DEPS_INDEP += , junit4 $(JUNIT_MIN_VER) <!nojava>
+endif
+
+ifeq "$(ENABLE_GUI)" "y"
+  ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),$(OOO_NOGUI_ARCHS)))
+    BUILD_NOGUI_PACKAGES=y
+  endif
+else
+CONFIGURE_FLAGS += --disable-gui
+DEBHELPER_OPTIONS += -Nlibreoffice-core -Nlibreoffice-calc -Nlibreoffice-writer -Nlibreoffice-draw -Nlibreoffice-report-builder-bin -Nlibreoffice-base -Nlibreoffice-impress -Nlibreoffice-math
+endif
+ifneq "$(BUILD_NOGUI_PACKAGES)" "y"
+DEBHELPER_OPTIONS += -Nlibreoffice-core-nogui -Nlibreoffice-calc-nogui -Nlibreoffice-writer-nogui -Nlibreoffice-draw-nogui -Nlibreoffice-report-builder-bin-nogui -Nlibreoffice-base-nogui -Nlibreoffice-impress-nogui -Nlibreoffice-math-nogui
+endif
+
+ifeq "$(AUTOPKGTEST_BUILD)" "y"
+# as above (for build-indep), no need to do two builds here...
+# needs to be here since there is arch-specific rules before
+BUILD_NOGUI_PACKAGES=n
+# go sure
+BUILD_TESTS=y
+BUILD_TEST_PACKAGES=y
+ENABLE_JUNIT4=y
+endif
+
+#############
+# Distro-specific overrides
+
+# Debian Bullseye
+ifeq "$(DEB_DISTRIBUTION)" "bullseye-backports"
+  BUGS=mailto:debian-backports@lists.debian.org
+  SYSTEM_STUFF := $(filter-out zxing mdds orcus libnumbertext dragonbox libfixmath libmwaw,$(SYSTEM_STUFF))
+  BULLSEYE_BACKPORT=y
+  ENABLE_LTO=n
+endif
+
+CONFIGURE_FLAGS += $(foreach i, $(SYSTEM_STUFF),--with-system-$(i))
+
+CC_PREFIX:=$(shell gcc -dumpmachine)-
+
+# generally use clang
+USE_CLANG=n
+# allow clang for skia?
+ALLOW_CLANG=y
+
+CLANG_VERSION=default
+
+ifneq "$(shell echo $(USE_CLANG)$(ALLOW_CLANG) | grep y)" ""
+  # /usr/bin/ld: /usr/lib/llvm-11/bin/../lib/LLVMgold.so: error loading plugin: /usr/lib/llvm-11/bin/../lib/LLVMgold.so: cannot open shared object file: No such file or directory
+  # for mips64el that doesn't exist so disable LTO there...
+  ifeq "$(ENABLE_LTO)" "y"
+    ifeq "$(DEB_HOST_ARCH)" "mips64el"
+       ENABLE_LTO=n
+    endif
+       BUILD_DEPS += , clang (>= 1:12) [ppc64el]
+       # since the llvm-defaults packages pointing to llvm 13(?) it apparently doesn't
+       # automatically pull in llvm-xx-linker-tools anymore which contains the needed LLVMgold.so
+       # (see above).
+       # So build-depend on llvm, too.
+       # We shouldn't depend on llvm-xx-linker-tools since this probably should be
+       # version-agnostic when the default changes (unless explicitely specified of course).
+    ifeq "$(USE_CLANG)" "y"
+      ifeq "$(CLANG_VERSION)" "default"
+       BUILD_DEPS += , llvm
+      else
+       BUILD_DEPS += , llvm-$(CLANG_VERSION)-linker-tools
+      endif
+    else
+      ifeq "$(ALLOW_CLANG)" "y"
+        ifeq "$(CLANG_VERSION)" "default"
+         BUILD_DEPS += , llvm [$(OOO_LE_ARCHS)]
+        else
+         BUILD_DEPS += , llvm-$(CLANG_VERSION)-linker-tools [$(OOO_LE_ARCHS)]
+        endif
+      endif
+    endif
+  endif
+endif
+ifeq "$(USE_DWZ)" "y"
+  # dwz errors out with
+  # dwz: debian/libreoffice-core/usr/lib/libreoffice/program/libskialo.so: Unknown debugging section .debug_addr
+  # since clang 14
+  ifeq "$(USE_CLANG)" "y"
+       USE_DWZ := n
+  endif
+  ifeq "$(ENABLE_SKIA)" "y"
+    ifneq "$(shell echo $(ALLOW_CLANG) | grep y)" ""
+      ifeq "$(shell dpkg --compare-versions $(SYSTEM_CLANG_VERSION) ge 14 && echo true)" "true"
+       DH_DWZ_ARGS += -Xskia
+      endif
+    endif
+  endif
+endif
+
+ifeq "$(USE_CLANG)" "y"
+  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), g++ (>= 4:7)
+  # Use -O0 for gcc 10 on armhf to avoid build/test failure with gcc 10
+  # https://bugs.launchpad.net/ubuntu/+bug/1891623
+  # In Debian this never appeared to be an actual build failure but
+  # this also helps for the test timeout on armv8 machines/buildds.
+  # (armv7 "works"). So make it conditional on whether we run checks.
+  # With g++-10 there also appear SIGSEGVs in/with openjdk-11 and it
+  # hangs at RunMacros, which also tries to use Java "Macros".
+  # A --without-java build passes.
+ifeq "$(DEB_HOST_ARCH)" "armhf"
+  ifeq ($(ENABLE_JAVA),y)
+    ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+      ifneq (noopt,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+       DEB_BUILD_OPTIONS += noopt
+      endif
+    endif
+  endif
+endif
+  # and also on s390x since it otherwise gets miscompiled.
+  # Upstream tacked it down to a gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106355
+  # but
+  # 16:37 <@sberg> _rene_, I couldn't reproduce the issue with an -O0 (--enable-dbgutil) build, and can with a -O2 (no --enable-debug etc.) one
+ifeq "$(DEB_HOST_ARCH)" "s390x"
+  ifneq (noopt,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+       DEB_BUILD_OPTIONS += noopt
+  endif
+endif
+  # skia build picks up clang if present (for performance reasons,
+  # at least on Windows...). See the thread starting at
+  # https://lists.freedesktop.org/archives/libreoffice/2020-April/084929.html
+  # Make it a explicit build-dependency so we don't have builds
+  # "randomly" using gcc or clang depending on whether clang is installed
+  # or not
+  ifeq "$(ENABLE_SKIA)" "y"
+    ifeq "$(ALLOW_CLANG)" "y"
+      ifeq (ccache,$(findstring ccache,$(DEB_BUILD_OPTIONS)))
+        export CCACHE_CPP2=1
+      endif
+      ifeq "$(CLANG_VERSION)" "default"
+       export LO_CLANG_CC=clang
+       export LO_CLANG_CXX=clang++
+       BUILD_DEPS += , clang (>= 1:8.0.1) [$(filter-out armel ppc64el,$(OOO_LE_ARCHS))]
+       # see #963162, #963167 which apparently don't exist on 11
+       BUILD_DEPS += , clang (>= 1:11) [armel]
+      else
+       export LO_CLANG_CC=clang-$(CLANG_VERSION)
+       export LO_CLANG_CXX=clang++-$(CLANG_VERSION)
+       BUILD_DEPS += , clang-$(CLANG_VERSION) [$(OOO_LE_ARCHS)]
+      endif
+    endif
+  endif
+else
+  ifeq "$(CLANG_VERSION)" "default"
+       BUILD_DEPS += , clang (>= 1:8.0.1)
+       CONFIGURE_FLAGS+= CC=clang CXX=clang++
+  else
+       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)
+    ifeq "$(CLANG_VERSION)" "default"
+       BUILD_DEPS += , clang (>= 1:12.0.1), libclang-dev (>= 1:12.0.1), llvm-dev (>= 1:12.0.1)
+    else
+       BUILD_DEPS += , libclang-$(CLANG_VERSION)-dev, llvm-$(CLANG_VERSION)-dev
+    endif
+  endif
+endif
+USE_GOLD=n
+ALLOW_GOLD=n
+# leaves cruft around after building because it runs update_pch.sh..
+ENABLE_PCH=n
+
+ifeq "$(USE_DWZ)" "y"
+       BUILD_DEPS += , debhelper (>= 10.10.4)
+       # dwz 0.12-3 claims to have DW_OP_GNU support but still
+       # dwz: debian/libreoffice-core/usr/lib/libreoffice/program/libmergedlo.so: Couldn't find DIE referenced by DW_OP_GNU_parameter_ref
+       # happens
+       BUILD_DEPS += , dwz (>> 0.12-3)
+endif
+
+ifeq "$(PACKAGE_SDK)" "y"
+       CONFIGURE_FLAGS += --enable-odk
+  ifeq "$(PACKAGE_SDK_DOCS)" "y"
+       BUILD_DEPS_INDEP += , doxygen (>= 1.8.4) <!nodoc>, graphviz <!nodoc>
+  else
+       CONFIGURE_FLAGS += --without-doxygen --without-javadoc
+  endif
+endif
+
+ifeq "$(ENABLE_PDFIMPORT)" "y"
+  ifeq "$(ENABLE_POPPLER)" "y"
+       BUILD_DEPS += , libpoppler-dev (>= 0.14.0), libpoppler-private-dev, libpoppler-cpp-dev
+       BUILD_DEPS_ARCH += , poppler-data$(OOO_NO_CHECK_ARCHS) <!nocheck>
+  else
+       CONFIGURE_FLAGS += --disable-poppler
+  endif
+  ifeq "$(ENABLE_PDFIUM)" "n"
+       CONFIGURE_FLAGS += --disable-pdfium
+  else
+       SYSTEM_STUFF += abseil
+       SYSTEM_STUFF += openjpeg
+    ifneq (,$(filter openjpeg, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libopenjp2-7-dev
+    endif
+    ifneq (,$(filter abseil, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libabsl-dev
+    endif
+  endif
+endif
+
+ifneq (,$(filter graphite, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libgraphite2-dev (>= 0.9.3)
+endif
+
+ifneq (,$(filter harfbuzz, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libharfbuzz-dev (>= 2.1.0)
+endif
+
+ifneq (,$(filter libexttextcat, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libexttextcat-dev (>= 3.4.1)
+       TEXTCAT_DATA_RECOMMENDS := libexttextcat-data
+endif
+
+ifneq "$(ENABLE_LDAP)" "y"
+       CONFIGURE_FLAGS += --disable-ldap
+endif
+
+ifneq (,$(filter libnumbertext, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libnumbertext-dev (>= 1.0.6)
+       # https://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-7-3&id=09dfe214a30f58ddcd7a857db8f5eee68d4cef2a
+       BUILD_DEPS_ARCH += , libnumbertext-data (>= 1.0.11) <!nocheck>
+       NUMBERTEXT_DATA_RECOMMENDS := libnumbertext-data
+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.28)
+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 (>= 1.6)
+endif
+
+ifeq "$(ENABLE_CURL)" "y"
+  ifneq (,$(filter curl, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libcurl4-$(CURL_SECTYPE)-dev (>= 7.68)
+  endif
+else
+       CONFIGURE_FLAGS += --disable-curl
+endif
+
+ifneq (,$(filter box2d, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libbox2d-dev
+endif
+
+ifneq (,$(filter libwebp, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libwebp-dev
+endif
+
+ifneq (,$(filter libtiff, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libtiff-dev
+endif
+
+COINMP_MINVER=(>= 1.7.6+dfsg1-2)
+       COINUTILS_MINVER=(>= 2.10.14+repack1-1~)
+       # go sure given #873362
+       COINMP_MINVER=(>= 1.8.3-3)
+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)
+  endif
+endif
+
+ifneq (,$(filter amd64,$(DEB_HOST_ARCH)))
+  ifneq "$(AUTOPKGTEST_BUILD)" "y"
+       SMALL_SYMBOLS = n
+  endif
+endif
+
+# silence long-obsolete warnings. Should probably be in
+# upstreams makefiles but I failed to get it actually appear...
+ifeq "$(DEB_HOST_ARCH)" "armel"
+       DEB_CXXFLAGS_MAINT_APPEND = -Wno-psabi
+endif
+ifeq "$(DEB_HOST_ARCH)" "armhf"
+       DEB_CXXFLAGS_MAINT_APPEND = -Wno-psabi
+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) <!nopython>
+       BUILD_DEPS += , $(PYTHON)-distutils <!nopython>
+       BUILD_DEPS += , dh-python <!nopython>
+  ifeq "$(RUN_MAKE_CHECK)" "y"
+    ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+       BUILD_DEPS_ARCH += , $(PYTHON)-lxml$(OOO_NO_CHECK_ARCHS) <!nocheck !nopython>
+    else
+       CONFIGURE_FLAGS += --without-lxml
+    endif
+  endif
+endif
+
+       BUILD_DEPS += , debhelper-compat (= 12)
+       BUILD_DEPS += , dpkg-dev (>= 1.20.1)
+
+  ifeq "$(RUN_MAKE_CHECK)" "y"
+       BUILD_DEPS_ARCH += , locales$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , gdb$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , fontconfig$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , fonts-liberation2$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , fonts-crosextra-carlito$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       # https://lists.freedesktop.org/archives/libreoffice/2017-May/077764.html
+       BUILD_DEPS_ARCH += , fonts-dejavu$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       # used in vcl/qa/cppunit/text.cxx:void VclTextTest::testImplLayoutArgs_PrepareFallback_precalculatedglyphs()
+       BUILD_DEPS_ARCH += , fonts-kacst$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       # sdext/source/pdfimport/test/tests.cxx (the test PDF uses NaskhArabic) and the result of the import is
+       # checked which fails without the font.
+       BUILD_DEPS_ARCH += , fonts-noto-core$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       # FIXME: Linux Libertine G (does fonts-linuxlibertine even contain it?, I don't see the _G files?)
+       # now is used in test documents.
+       # now we get a abort if fonts is not found and replaced in layout tests (even though
+       # https://cgit.freedesktop.org/libreoffice/core/commit/?id=172270a8f04388a8f8062f672f9c3f3144a01a1f suggests that
+       # it isn't the case in --without-fonts) but... And while we disable that abort via patch having this
+       # to be sure there is no other failure mode makes sense (as with the other fonts above)
+       BUILD_DEPS_ARCH += , fonts-linuxlibertine$(OOO_NO_CHECK_ARCHS) <!nocheck>
+    ifneq (,$(filter cppunit, $(SYSTEM_STUFF)))
+       BUILD_DEPS_ARCH += , libcppunit-dev (>= 1.14)$(OOO_NO_CHECK_ARCHS) <!nocheck>
+      # without the deterministic order patch the xmlsecurity_signing test fails. See
+      # https://cgit.freedesktop.org/libreoffice/core/commit/external/cppunit/order.patch.0?id=2f2246d22e2a8ccbc1dc3e6f5243734a61edf270
+      ifeq "$(ENABLE_LTO)" "y"
+        BUILD_DEPS_ARCH += , libcppunit-dev (>= 1.15.1-4) [$(filter $(OOO_CHECK_ARCHS),$(OOO_64BIT_ARCHS))] <!nocheck>
+      endif
+    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_ARCH += , pstoedit$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , imagemagick$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , ghostscript$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , hunspell-en-us$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , hyphen-en-us$(OOO_NO_CHECK_ARCHS) <!nocheck>
+    # we don't run any cppunit check in all builds
+    ifneq "$(AUTOPKGTEST_BUILD)" "y"
+      ifeq ($(MAKECMDGOALS),build-indep)
+       CONFIGURE_FLAGS_INDEP += --without-cppunit
+      endif
+    endif
+  else
+       CONFIGURE_FLAGS += --without-cppunit
+  endif
+  ifeq "$(ENABLE_JUNIT4)" "y"
+       BUILD_DEPS += , junit4 $(JUNIT_MIN_VER) [$(OOO_JUNIT_ARCHS)] <!nocheck !nojava>
+  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) <!nocheck !nojava>, libodfvalidator-java$(OOO_NO_CHECK_ARCHS) <!nocheck !nojava>
+  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 szl \
+         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 id 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 szl \
+         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_HELP)" "y"
+ifeq "$(ENABLE_HTML_HELP)" "y"
+    ifneq "$(BULLSEYE_BACKPORT)" "y"
+      HELP_COMMON_DEPENDS += , node-prismjs
+      BUILD_DEPS_INDEP += , node-prismjs
+    endif
+  endif
+endif
+
+ifeq "$(ENABLE_JAVA)" "y"
+  BUILD_DEPS += , maven-repo-helper
+  ifeq "$(JDK)" "default"
+       JAVA_HOME=/usr/lib/jvm/default-java
+       BUILD_DEPS += , java-common (>= 0.61) <!nojava>
+       DEFAULT_JDK := $(call java_dependency, default-jdk)
+       # build-depend on 1.9 (upstream needs it anyway for module-info support)
+       BUILD_DEPS += , $(shell echo $(DEFAULT_JDK) | sed -e 's/default-jdk/default-jdk (>= 2:1.9)/') <!nojava>
+  endif
+  ifeq "$(JDK)" "openjdk"
+       BUILD_DEPS += , openjdk-$(JAVA_MAINVER)-jdk <!nojava>
+       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) <!nojava>, ant-optional (>= 1.7.0)$(OOO_NO_JAVA_ARCHS) <!nojava>
+  else
+    # report-builder is done in build-arch already
+    ifneq (,$(filter jfreereport, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , ant (>= 1.6.5)$(OOO_NO_JAVA_ARCHS) <!nojava>
+    else
+       BUILD_DEPS_INDEP += , ant (>= 1.6.5)$(OOO_NO_JAVA_ARCHS) <!nojava>
+    endif
+  endif
+       JAVA_RUNTIME_DEPENDS = default-jre (>= 2:1.$(JAVA_RUNTIME_BASELINE))
+       JAVA_RUNTIME_DEPENDS += | java-runtime (>= $(JAVA_RUNTIME_BASELINE)) | java$(JAVA_RUNTIME_BASELINE)-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 "$(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) <!nojava>, libsac-java$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, libxml-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, libflute-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, libpentaho-reporting-flow-engine-java (>= 0.9.4)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, liblayout-java (>= 0.2.10)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, libloader-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, libformula-java (>= 1.1.7)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, librepository-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, libfonts-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>, libserializer-java (>= 1.1.6)$(OOO_NO_REPORTBUILDER_ARCHS) <!nojava>
+       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
+       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 = libofficebean-java
+       BUILD_DEPS += , javahelper $(JAVAHELPER_MIN_VERSION) <!nojava>
+else
+       CONFIGURE_FLAGS += --without-java
+       DEBHELPER_OPTIONS += -Nlibreoffice-officebean -Nlibofficebean-java -Nlibreoffice-java-common -Nlibreoffice-script-provider-bsh -Nlibreoffice-script-provider-js -Nlibreoffice-subsequentcheckbase -Nlibofficebean-java -Nlibunoloader-java -Nliblibreoffice-java -Nlibreoffice-sdbc-hsqldb
+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
+
+ifeq "$(ENABLE_NSS)" "y"
+  ifneq (,$(filter nss, $(SYSTEM_STUFF)))
+       BUILD_DEPS+= , libnss3-dev (>= 3.12.3)
+       BUILD_DEPS+= , libnspr4-dev
+  else
+       CONFIGURE_FLAGS += --without-system-nss
+  endif
+else
+       CONFIGURE_FLAGS += --disable-nss
+endif
+
+ifeq "$(USE_UCPP)" "y"
+  ifneq (,$(filter ucpp, $(SYSTEM_STUFF)))
+       IDLC_CPP_DEPENDS := ucpp
+  endif
+else
+       IDLC_CPP_DEPENDS := cpp
+       CONFIGURE_FLAGS += --with-idlc-cpp=cpp
+endif
+       BUILD_DEPS += , $(IDLC_CPP_DEPENDS)
+
+ifneq (,$(filter hunspell, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libhunspell-dev (>= 1.1.5-2)
+endif
+       CONFIGURE_FLAGS += --with-external-dict-dir=$(DICT_DIR)
+
+ifneq (,$(filter altlinuxhyph, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libhyphen-dev (>= 2.4)
+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
+  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
+  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
+  ifneq (,$(filter dragonbox, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libdragonbox-dev (>= 1.1.3)
+  endif
+  ifneq (,$(filter libfixmath, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libfixmath-dev
+  endif
+endif
+
+ifneq "$(ENABLE_SKIA)" "y"
+       CONFIGURE_FLAGS += --disable-skia
+endif
+
+ifneq (,$(filter mdds, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libmdds-dev (>= 2.0), libmdds-dev (<< 2.1~)
+endif
+
+ifneq (,$(filter orcus, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , liborcus-dev (>= 0.17.2), liborcus-dev (<< 0.18~)
+endif
+
+ifeq "$(ENABLE_XMLHELP)" "y"
+  ifneq (,$(filter clucene, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libclucene-dev (>= 2.3.3.4-4.1)
+  endif
+endif
+
+ifeq "$(USE_EXTERNAL_CXXLIBS)" "y"
+  ifneq (,$(filter librevenge, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , librevenge-dev, librevenge-dev (<< 0.1~)
+  endif
+  ifneq (,$(filter libwpd, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libwpd-dev (>= 0.10), libwpd-dev (<< 0.11~)
+  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), libwps-dev (<< 0.5~)
+    ifeq "$(RUN_MAKE_CHECK)" "y"
+       BUILD_DEPS_ARCH += , libwps-dev (>= 0.4.12)$(OOO_NO_CHECK_ARCHS) <!nocheck>
+    endif
+  endif
+  ifneq (,$(filter libwpg, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libwpg-dev (>= 0.3), libwpg-dev (<< 0.4~)
+  endif
+  ifneq (,$(filter libvisio, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libvisio-dev (>= 0.1), libvisio-dev (<< 0.2~)
+  endif
+  ifneq (,$(filter libcdr, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libcdr-dev (>= 0.1), libcdr-dev (<< 0.2~)
+  endif
+  ifneq (,$(filter libmspub, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libmspub-dev (>= 0.1), libmspub-dev (<< 0.2~)
+  endif
+  ifneq (,$(filter libmwaw, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libmwaw-dev (>= 0.3.1), libmwaw-dev (<< 0.4~)
+#    ifeq "$(RUN_MAKE_CHECK)" "y"
+#      BUILD_DEPS_ARCH += , libmwaw-dev (>= 0.3.21)$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , libmwaw-dev (>= 0.3.21)
+#    endif
+  endif
+  ifneq (,$(filter libodfgen, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libodfgen-dev (>= 0.1), libodfgen-dev (<< 0.2~)
+  endif
+  ifneq (,$(filter libepubgen, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libepubgen-dev (>= 0.1.0), libepubgen-dev (<< 0.2~)
+  endif
+  ifneq (,$(filter libetonyek, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libetonyek-dev, libetonyek-dev (<< 0.2~)
+    ifeq "$(RUN_MAKE_CHECK)" "y"
+       BUILD_DEPS_ARCH += , libetonyek-dev (>= 0.1.8)$(OOO_NO_CHECK_ARCHS) <!nocheck>
+    endif
+  endif
+  ifneq (,$(filter libfreehand, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libfreehand-dev (>= 0.1), libfreehand-dev (<< 0.2~)
+  endif
+  ifneq (,$(filter libabw, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libabw-dev (>= 0.1), libabw-dev (<< 0.2~)
+  endif
+  ifneq (,$(filter libpagemaker, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libpagemaker-dev, libpagemaker-dev (<< 0.1~)
+  endif
+  ifneq (,$(filter libzmf, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libzmf-dev, libzmf-dev (<< 0.1~)
+  endif
+  ifneq (,$(filter libstaroffice, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libstaroffice-dev, libstaroffice-dev (<< 0.1~)
+    ifeq "$(RUN_MAKE_CHECK)" "y"
+       BUILD_DEPS_ARCH += , libstaroffice-dev (>= 0.0.3)$(OOO_NO_CHECK_ARCHS) <!nocheck>
+    endif
+  endif
+  ifneq (,$(filter libqxp, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libqxp-dev, libqxp-dev (<< 0.1~)
+  endif
+  ifneq (,$(filter libebook, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libe-book-dev (>= 0.1), libe-book-dev (<< 0.2~)
+    ifeq "$(RUN_MAKE_CHECK)" "y"
+       BUILD_DEPS_ARCH += , libe-book-dev (>= 0.1.2)$(OOO_NO_CHECK_ARCHS) <!nocheck>
+    endif
+  endif
+  ifeq "$(ENABLE_LIBCMIS)" "y"
+    ifneq (,$(filter libcmis, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libcmis-dev (>= 0.5.2~), libcmis-dev (<< 0.6~)
+    endif
+  else
+       CONFIGURE_FLAGS += --disable-libcmis
+  endif
+  ifeq "$(ENABLE_ZXING)" "y"
+    ifneq (,$(filter zxing, $(SYSTEM_STUFF)))
+       # https://cgit.freedesktop.org/libreoffice/core/commit/?id=d53340b2253537104abe6f95c8c63cc74487c3ec
+       BUILD_DEPS += , libzxingcore-dev (>= 1.2.0)
+    endif
+  else
+       CONFIGURE_FLAGS += --disable-zxing
+  endif
+endif
+       CONFIGURE_FLAGS += --with-external-thes-dir=$(THES_DIR)
+
+ifeq "$(INSTALL_APPARMOR_PROFILES)" "y"
+  BUILD_DEPS_INDEP += , dh-apparmor
+  ifeq "$(CHECK_APPARMOR_PROFILES)" "true"
+    BUILD_DEPS_INDEP += , apparmor <!nocheck>
+  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 (>= 52)
+endif
+
+
+ifeq "$(BUILD_CAIROCANVAS)" "y"
+  ifneq (,$(filter cairo, $(SYSTEM_STUFF)))
+       BUILD_DEPS+= , libcairo2-dev
+  endif
+else
+       CONFIGURE_FLAGS+= --disable-cairo
+endif
+
+ifeq "$(ENABLE_KF5)" "y"
+       CONFIGURE_FLAGS += --enable-kf5
+       BUILD_DEPS += , libkf5coreaddons-dev, libkf5i18n-dev, libkf5config-dev, libkf5windowsystem-dev, libkf5kio-dev
+endif
+       PLASMA_ICONSET_DEP=libreoffice-style-breeze
+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 += , libqt5x11extras5-dev $(QT5_MINVER)
+       BUILD_DEPS += , libglib2.0-dev (>= 2.4)
+       BUILD_DEPS += , libxcb1-dev
+       BUILD_DEPS += , libxcb-icccm4-dev
+endif
+ifeq "$(ENABLE_QT6)" "y"
+       CONFIGURE_FLAGS += --enable-qt6
+       BUILD_DEPS += , qt6-base-dev $(QT6_MINVER), qmake6 $(QT6_MINVER), qt6-base-dev-tools $(QT6_MINVER)
+       BUILD_DEPS += , libxcb1-dev
+endif
+
+ifeq "$(ENABLE_MARIADB)" "y"
+  ifeq "$(MYSQL_FLAVOUR)" "default"
+       BUILD_DEPS += , default-libmysqlclient-dev
+  else
+    ifeq "$(MYSQL_FLAVOUR)" "mysql"
+        ifneq (,$(filter mariadb, $(SYSTEM_STUFF)))
+        BUILD_DEPS += , libmysqlclient-dev
+        endif
+      MARIADBCONFIG=/usr/bin/mysql_config
+    endif
+    ifeq "$(MYSQL_FLAVOUR)" "mariadb"
+      ifneq (,$(filter mariadb, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libmariadb-dev
+      endif
+    MARIADBCONFIG=/usr/bin/mariadb_config
+    endif
+  endif
+else
+  CONFIGURE_FLAGS += --disable-mariadb-sdbc
+  DEBHELPER_OPTIONS += -Nlibreoffice-sdbc-mysql
+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
+  ifeq "$(RUN_MAKE_CHECK)" "y"
+       BUILD_DEPS_ARCH += , firebird3.0-server-core $(OOO_NO_FIREBIRD_ARCHS) <!nocheck>
+  endif
+       FIREBIRD_ENGINE_DEPENDS += firebird3.0-server-core
+  endif
+else
+       CONFIGURE_FLAGS += --disable-firebird-sdbc
+       DEBHELPER_OPTIONS += -Nlibreoffice-sdbc-firebird
+endif
+
+ifeq "$(BUILD_GTK3)" "y"
+       BUILD_DEPS += , libgtk-3-dev (>= 3.20.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)
+       CONFIGURE_FLAGS += --enable-introspection
+  else
+       DEBHELPER_OPTIONS+= -Ngir1.2-lokdocview-0.1
+  endif
+endif
+
+ifeq "$(BUILD_GTK4)" "y"
+       BUILD_DEPS += , libgtk-4-dev, libglib2.0-dev (>= 2.38.0), libcairo2-dev, libatk1.0-dev
+       CONFIGURE_FLAGS += --enable-gtk4
+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 -Npython3-access2base
+       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
+       CONFIGURE_FLAGS += --disable-librelogo
+endif
+
+ifeq "$(ENABLE_JAVA)" "y"
+  ifneq (,$(filter hsqldb, $(SYSTEM_STUFF)))
+       HSQLDB_MINVER= (>> 1.8.0.10)
+       HSQLDB_JAR=/usr/share/java/hsqldb1.8.0.jar
+       BUILD_DEPS += , libhsqldb1.8.0-java $(HSQLDB_MINVER)$(OOO_NO_JAVA_ARCHS) <!nojava>, libarchive-zip-perl$(OOO_NO_JAVA_ARCHS) <!nojava>
+       BASE_HSQLDB_DEPENDS = libhsqldb1.8.0-java $(HSQLDB_MINVER)
+       CONFIGURE_FLAGS += --with-hsqldb-jar=$(HSQLDB_JAR)
+  else
+       BUILD_DEPS += , libservlet3.1-java <!nojava>
+  endif
+  ifeq "$(ENABLE_SCRIPT_PROVIDER_BSH)" "y"
+    ifneq (,$(filter beanshell, $(SYSTEM_STUFF)))
+       BUILD_DEPS_INDEP += , libbsh-java <!nojava>
+    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-1-dev (>= 0.60)
+       CONFIGURE_FLAGS += --enable-dbus
+  ifeq "$(ENABLE_BLUETOOTH)" "y"
+       BUILD_DEPS += , libglib2.0-dev (>= 2.4)
+    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
+else
+       CONFIGURE_FLAGS += --disable-gstreamer-1-0
+endif
+
+ifeq "$(ENABLE_WEBDAV)" "y"
+    ifneq (,$(filter curl, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libcurl4-$(CURL_SECTYPE)-dev (>= 7.68)
+    endif
+    ENABLE_CURL=y
+else
+  CONFIGURE_FLAGS += --with-webdav=no
+endif
+
+ENABLE_SAL_OPENSSL_BACKEND=n
+ifneq "$(ENABLE_SAL_OPENSSL_BACKEND)" "y"
+    ifneq (,$(filter mariadb, $(SYSTEM_STUFF)))
+      ifneq (,$(filter postgresql, $(SYSTEM_STUFF)))
+       CONFIGURE_FLAGS += --disable-openssl
+      endif
+   endif
+else
+       CONFIGURE_FLAGS += --enable-cipher-openssl-backend
+       SYSTEM_STUFF += openssl
+       BUILD_DEPS += , libssl-dev
+endif
+
+SYSTEM_STUFF += lockfile
+ifneq (,$(filter lockfile, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , liblockfile-bin
+endif
+
+ifneq (,$(filter redland, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , librdf0-dev (>= 1.0.16-2)
+endif
+
+ifeq "$(ENABLE_GUI)" "y"
+  ifneq (,$(filter epoxy, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libepoxy-dev (>= 1.2)
+  else
+       BUILD_DEPS += , libegl1-mesa-dev
+  endif
+endif
+ifneq (,$(filter glm, $(SYSTEM_STUFF)))
+       BUILD_DEPS += , libglm-dev (>= 0.9.9~a2)
+endif
+
+ifneq (,$(filter gpgmepp, $(SYSTEM_STUFF)))
+       BUILD_DEPS+= , libgpgmepp-dev (>= 1.14), libgpgme-dev, libgpg-error-dev
+endif
+ifeq "$(RUN_MAKE_CHECK)" "y"
+       BUILD_DEPS_ARCH += , gpg$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , gpgconf$(OOO_NO_CHECK_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , gpg-agent$(OOO_NO_CHECK_ARCHS) <!nocheck>
+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
+       # see https://lists.debian.org/debian-devel-changes/2021/11/msg02548.html
+       BUILD_DEPS += , binutils (>= 2.37-9) [ppc64]
+endif
+# go sure. if we explicitely disable LTO when it is enabled we don't want it to sneak in
+# (and vice-versa). See https://lists.debian.org/debian-devel/2022/06/msg00092.html
+ifeq ($(ENABLE_LTO),y)
+export DEB_BUILD_MAINT_OPTIONS=optimize=+lto
+# honour parallel=X. We can just remove the auto here (coming from dpkg-buildflags)
+# since upstream already adds -flto=jobserver (honouring PARALLEL already).
+# Replacing -flto=auto doesn't work since clang doesn't understand -flto=X (except thin)
+DEB_CFLAGS_MAINT_STRIP += -flto=auto
+DEB_CXXFLAGS_MAINT_STRIP += -flto=auto
+DEB_LDFLAGS_MAINT_STRIP += -flto=auto
+# save space
+ifeq "$(SMALL_SYMBOLS)" "y"
+DEB_CFLAGS_MAINT_STRIP += -ffat-lto-objects
+DEB_CXXFLAGS_MAINT_STRIP += -ffat-lto-objects
+DEB_LDFLAGS_MAINT_STRIP += -ffat-lto-objects
+endif
+export DEB_CFLAGS_MAINT_STRIP DEB_CXXFLAGS_MAINT_STRIP DEB_LDFLAGS_MAINT_STRIP
+export DEB_CFLAGS_MAINT_APPEND DEB_CXXFLAGS_MAINT_APPEND DEB_LDFLAGS_MAINT_APPEND
+else
+export DEB_BUILD_MAINT_OPTIONS=optimize=-lto 
+endif
+
+ifeq ($(USE_GOLD),y)
+       CONFIGURE_FLAGS += --enable-ld=gold
+else
+  # --enable-ld=gold is default for debug builds if found
+  # FIXME: Should we allow gold here nevertheless? configure
+  # prints the following with --disable-ld:
+  # * WARNING : Linker is not capable of creating gdb index, debugger startup will be slow
+  ifeq (debug,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+    ifneq "$(ALLOW_GOLD)" "y"
+       CONFIGURE_FLAGS += --disable-ld
+    endif
+  endif
+endif
+ifneq (,$(findstring mips,$(DEB_HOST_ARCH)))
+#10:46 < _rene_> can anyone shed a light on /<<PKGBUILDDIR>>/workdir/LinkTarget/Executable/bestreversemap: error while loading shared libraries:
+#                /<<PKGBUILDDIR>>/instdir/program/libuno_sal.so.3: ELF file ABI version invalid? both were built in the same LO build
+#10:47 < _rene_> mips64el, apparently since gcc9 or new(er) binutils?
+#10:47 < _rene_> on an other binary:
+#10:47 < _rene_> file /home/rene/libreoffice-6.3.1~rc2/instdir/program/libunoidllo.so
+#                /home/rene/libreoffice-6.3.1~rc2/instdir/program/libunoidllo.so: ELF 64-bit LSB shared object, MIPS, MIPS64 rel2 version 1 (SYSV),
+#                dynamically linked, BuildID[sha1]=82f15433db9000b9dfee24ed07e2082ffb439dfd, with debug_info, not stripped
+#10:47 < _rene_> (eller, mips64el chroot)
+#[...]
+#13:49 < aurel32> _rene_: the problem is the ABI version, ie those library have Version ABI: 5 instead of 0 for normal binaries
+#13:50 < aurel32> the ABI version 5 will be used for gnu hash support in mips
+#13:51 < aurel32> support has been added to binutils trunk recently, although the default is still sysv hash style
+#13:51 < aurel32> and glibc support is still being reviewed, it might land in 2.31
+#13:51 < aurel32> previous version of libreoffice used -Wl,--hash-style=sysv
+#13:52 < aurel32> now it seems it autodetect that binutils has gnu hash support and it passes -Wl,--hash-style=gnu
+#13:52 < aurel32> but there is no support for the full toolchain yet
+#13:54 < _rene_> so I need to force -Wl,--hash-style=sysv?
+#13:54 < aurel32>   --with-linker-hash-style
+#13:54 < aurel32>                           Use linker with --hash-style=<style> when linking
+#13:54 < aurel32>                           shared objects. Possible values: "sysv", "gnu",
+#13:54 < aurel32>                           "both". The default value is "gnu" if supported on
+#13:55 < aurel32>                           the build system, and "sysv" otherwise.
+#13:55 < aurel32> it looks like that the hash style detection is not perfect
+#13:55 < aurel32> _rene_: that should work indeed
+#13:55 < _rene_> ok, thanks
+#[...]
+#14:01 < _rene_> aurel32: only mips64el affected or also mipsel?
+#14:01 < _rene_> (mipsel is still building, though, so I assume it isn't)
+#14:02 < aurel32> afaiu both should be affected
+#14:03 < _rene_> ok, so I will make it $(findstring mips
+#14:04 < aurel32> on mipsel: checking for --hash-style gcc linker support... sysv
+#14:04 < aurel32> maybe the detection works better, anyway forcing it on both looks safer
+       CONFIGURE_FLAGS += --with-linker-hash-style=sysv
+endif
+
+ifeq "$(ENABLE_PCH)" "y"
+       CONFIGURE_FLAGS += --enable-pch
+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
+else
+       CONFIGURE_FLAGS += --enable-ccache=nodepend
+endif
+
+## Build n projects in parallel?
+## DEB_BUILD_OPTIONS=parallel=<n>
+## if not specified LibreOffices configure tries to find it out itself
+include /usr/share/dpkg/buildopts.mk
+NUM_CPUS=$(DEB_BUILD_OPTION_PARALLEL)
+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)
+
+# 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 <target> <target> ... 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" \
+               ! -name "python3-access2base.links" -exec rm {} \;
+       rm -f debian/libreoffice-l10n-*.ucf
+       if [ -d "$(STAMP_DIR)" ]; then rm -rf "$(STAMP_DIR)"; fi
+       rm -f debian/*.bug-script
+
+       rm -f debian/shlibs.local
+
+       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
+       rm -rf instdir-nogui
+       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
+
+       cd $(SOURCE_TREE)/helpcontent2/help3xsl && \
+               rm -f normalize.css
+ifneq "$(BULLSEYE_BACKPORT)" "y"
+       cd $(SOURCE_TREE)/helpcontent2/help3xsl && \
+               rm -f prism.js && \
+               rm -f prism.css
+endif
+
+       # Files created in debian directory
+       $(MAKE) -f debian/rules clean-debdir
+
+       $(MAKE) -f debian/rules control
+
+
+# Generate control files, because we have so many different languages
+# and need to run autopkgtests based on Architectures
+control: debian/control debian/tests/control
+
+# Based on script by Martin Quinson <Martin.Quinson@tuxfamily.org>
+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_ARCH%#$(strip $(BUILD_DEPS_ARCH))#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(<STDIN>);'`; \
+           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(<STDIN>);'`; \
+           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_GTK3)" "y"
+       cat debian/control.gtk3.in >> debian/control
+endif
+ifeq "$(BUILD_GTK4)" "y"
+       cat debian/control.gtk4.in >> debian/control
+endif
+ifeq "$(ENABLE_KF5)" "y"
+       cat debian/control.kf5.in >> debian/control
+endif
+ifeq "$(ENABLE_QT5)" "y"
+       cat debian/control.qt5.in >> debian/control
+endif
+ifeq "$(ENABLE_QT6)" "y"
+       cat debian/control.qt6.in >> debian/control
+endif
+ifeq "$(BUILD_PLASMA)" "y"
+       cat debian/control.plasma.in >> debian/control
+endif
+       cat debian/control.postgresql.in >> debian/control
+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
+
+       perl -pi -e "s,%OOO_ARCHS%,$(OOO_ARCHS),g" debian/control
+       perl -pi -e "s,%OOO_NOGUI_ARCHS%,$(OOO_NOGUI_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_PLASMA)" "y"
+       perl -pi -e 's/%LO-DESKTOP-INTEGRATION%/libreoffice-gnome | libreoffice-plasma/' debian/control
+else
+       perl -pi -e 's/%LO-DESKTOP-INTEGRATION%/libreoffice-gnome/' debian/control
+endif
+
+ifeq "$(ENABLE_KF5)" "y"
+       perl -pi -e 's/plasma-iconset-dep}/plasma-iconset-dep}, kio (>> 5.103.0-1)/' 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)))
+       # be sure to use our rebuilt font
+       perl -pi -e "s/(Build-Conflicts: .*)/\1,fonts-opensymbol <!nocheck>,/" debian/control
+endif
+
+ifneq "$(ALLOW_CLANG)" "y"
+       perl -pi -e "s/(Build-Conflicts: .*)/\1,clang,/" 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
+
+debian/tests/control: debian/tests/control.in debian/rules
+           sed -e "s|%OOO_JAVA_ARCHS%|$(OOO_JAVA_ARCHS)|g" \
+                   -e "s|%OOO_JUNIT_ARCHS%|$(OOO_JUNIT_ARCHS)|g" \
+                   -e "s|%OOO_NOGUI_ARCHS%|$(OOO_NOGUI_ARCHS)|g" \
+                   -e "s|%OOO_CHECK_FATAL_ARCHS%|$(OOO_CHECK_FATAL_ARCHS)|g" \
+                   -e "s|%AUTOPKGTEST_CPPUNIT_PACKAGES%|$(shell echo $(AUTOPKGTEST_CPPUNIT_PACKAGES) | sed -e "s/\ /,/g")|g" \
+               > debian/tests/control < debian/tests/control.in
+
+.DELETE_ON_ERROR: debian/tests/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/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
+
+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
+
+ifeq "$(ENABLE_PCH)" "y"
+       # regen PCHs to go sure...
+       bin/update_pch.sh
+endif
+
+       cd $(SOURCE_TREE)/helpcontent2/help3xsl && \
+               ln -sf /usr/share/javascript/normalize.css/normalize.css
+ifneq "$(BULLSEYE_BACKPORT)" "y"
+       cd $(SOURCE_TREE)/helpcontent2/help3xsl && \
+               ln -sf /usr/share/nodejs/prismjs/prism.js && \
+               ln -sf /usr/share/nodejs/prismjs/themes/prism-coy.css prism.css
+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
+
+ifeq "$(BUILD_NOGUI_PACKAGES)" "y"
+       # build with --disable-gui first
+       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)" \
+               --disable-gui --disable-introspection --disable-qt5 --disable-kf5
+
+       PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) ARCH_FLAGS=$(ARCH_FLAGS) TMP=`mktemp -q -d` $(MAKE) build-non-l10n-only
+
+       rm -rf instdir-nogui
+       cp -r instdir instdir-nogui
+
+       # clean. cleaning up only potentially affected ones was not really
+       # maintainable and broke running the uitests since something apparently was not rebuilt
+       # for "use UI" as it should.
+       # Better safe than sorry, even though that increases build time for a magnitude...
+       $(MAKE) clean
+endif
+
+       PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \
+       CLANGDIR=$(CLANGDIR) \
+       MARIADBCONFIG=$(MARIADBCONFIG) \
+       FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \
+       QT5DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/qt5 QT6DIR=/usr/lib/qt6 \
+       ./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 again with all languages; as it contains language-specific help and/or descriptions...
+       $(MAKE) sysui.clean
+       make cmd cmd="cd sysui; 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
+
+ifeq "$(ENABLE_HELP)" "y"
+  ifeq (pt,$(findstring pt,$(HELPISOS)))
+       # this somehow is missing. let's assume pt-BR is sufficiently ok for "original" pt
+       if [ ! -f helpcontent2/source/media/screenshots/modules/simpress/ui/prntopts/pt/prntopts.png ]; then \
+               mkdir -p helpcontent2/source/media/screenshots/modules/simpress/ui/prntopts/pt; \
+               cp helpcontent2/source/media/screenshots/modules/simpress/ui/prntopts/pt-BR/prntopts.png \
+                       helpcontent2/source/media/screenshots/modules/simpress/ui/prntopts/pt; \
+       fi
+  endif
+endif
+
+       # now build with the indep stuff (javadoc, languages, ....)
+       PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \
+       MARIADBCONFIG=$(MARIADBCONFIG) \
+       FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \
+       QT5DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/qt5 QT6DIR=/usr/lib/qt6 \
+       ./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
+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"
+       # doesn't necessarily exist unless you also ran check...
+       if [ -d workdir/Zip ]; then \
+               find workdir/Zip -name "smoketestdoc*" | xargs rm; \
+               patch -p0 < $(CURDIR)/debian/tests/patches/smoketest-disable-extension-tests.diff; \
+               cd smoketest && $(MAKE) Zip_smoketestdoc; cd ..; \
+               patch -p0 -R < $(CURDIR)/debian/tests/patches/smoketest-disable-extension-tests.diff; \
+               cp workdir/Zip/smoketestdoc.zip workdir/Zip/smoketestdoc.sxw; \
+       fi
+endif
+
+ifneq "$(AUTOPKGTEST_BUILD)" "y"
+  ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+       $(CURDIR)/debian/rules check-indep
+  endif
+endif
+
+       touch $@
+
+check:
+ifeq "$(BUILD_TESTS)" "y"
+  ifneq (,$(filter $(DEB_HOST_ARCH),$(OOO_NO_BASE_ARCHS)))
+       patch -p1 < $(CURDIR)/debian/tests/patches/disable-db-tests.diff
+  endif
+  ifeq (,$(filter $(DEB_HOST_ARCH),$(OOO_EXTENSIONS_ARCHS)))
+       cd $(SOURCE_TREE)/smoketest && \
+               patch -p1 < $(CURDIR)/debian/tests/patches/smoketest-disable-extension-tests.diff
+  endif
+       # enable cppunit etc.
+       PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \
+       CLANGDIR=$(CLANGDIR) \
+       MARIADBCONFIG=$(MARIADBCONFIG) \
+       FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \
+       QT5DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/qt5 QT6DIR=/usr/lib/qt6 \
+       ./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)"
+
+       # build the tests (first)
+       export gb_SUPPRESS_TESTS=true; \
+               $(MAKE) check
+endif
+
+ifneq "$(AUTOPKGTEST_BUILD)" "y"
+ifeq "$(RUN_MAKE_CHECK)" "y"
+       # generate the needed en_US.UTF-8 locale
+       mkdir -p $(CURDIR)/debian/locales
+       USE_CPUS=$(NUM_CPUS) debian/scripts/locale-gen
+
+        # 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 TZ=UTC; \
+               unset DISPLAY; \
+               unset CONNECTIVITY_TEST_MYSQL_DRIVER; \
+               export PARALLELISM=1; \
+               if [ -x /usr/bin/gdb ]; then ulimit -c unlimited || true; fi && \
+               $(TEST_TIMEOUT) $(MAKE) -k check || $(TEST_TIMEOUT) $(MAKE) check && \
+       rm -rf $$t
+endif
+endif
+
+ifeq "$(BUILD_TESTS)" "y"
+  ifneq (,$(filter $(DEB_HOST_ARCH),$(OOO_NO_BASE_ARCHS)))
+       patch -p1 -R < $(CURDIR)/debian/tests/patches/disable-db-tests.diff
+  endif
+  ifeq (,$(filter $(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 -kf5 isn't built
+       # there's no -kf5.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 "$(ENABLE_QT6)" "y"
+       mkdir -p debian/tmp/pkg/libreoffice-qt6/$(OODIR)/program
+       mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_qt6lo.so\
+               debian/tmp/pkg/libreoffice-qt6/$(OODIR)/program
+endif
+ifeq "$(ENABLE_KF5)" "y"
+       mv debian/tmp/pkg/libreoffice-kde \
+               debian/tmp/pkg/libreoffice-kf5
+ifeq "$(BUILD_PLASMA)" "y"
+       mkdir -p debian/tmp/pkg/libreoffice-plasma/$(OODIR)/program
+       mv debian/tmp/pkg/libreoffice-kf5/$(OODIR)/program/libkf5be1lo.so \
+               debian/tmp/pkg/libreoffice-plasma/$(OODIR)/program
+else
+       rm -f debian/tmp/pkg/libreoffice-kf5/$(OODIR)/libkf5be1lo.so
+endif
+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
+       echo "/etc/libreoffice/registry/res" >> debian/libreoffice-common.dirs
+
+       # 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
+
+       # FIXME; hack: somehow there only the dirs are there (dh_installdirs). they *are* in the install phase and gid2pkgdirs also
+       # is supposed to install it to the dir but apparently doesn't. They are in instdir though, so let's use it from
+       # there..
+ifeq "$(ENABLE_NLPSOLVER)" "y"
+       if [ -d instdir/share/extensions/nlpsolver ]; then \
+               rm -rf debian/tmp/pkg/libreoffice-nlpsolver; \
+               mkdir -p debian/tmp/pkg/libreoffice-nlpsolver/$(OODIR)/share/extensions; \
+               cp -ra instdir/share/extensions/nlpsolver \
+                       debian/tmp/pkg/libreoffice-nlpsolver/$(OODIR)/share/extensions; \
+       fi
+endif
+ifeq "$(ENABLE_MEDIAWIKI)" "y"
+       if [ -d instdir/share/extensions/wiki-publisher ]; then \
+               rm -rf debian/tmp/pkg/libreoffice-wiki-publisher; \
+               mkdir -p debian/tmp/pkg/libreoffice-wiki-publisher/$(OODIR)/share/extensions; \
+               cp -ra instdir/share/extensions/wiki-publisher \
+                       debian/tmp/pkg/libreoffice-wiki-publisher/$(OODIR)/share/extensions; \
+       fi
+endif
+
+       for i in calc impress draw base writer; do \
+               echo "../usr/share/metainfo/libreoffice-$$i.appdata.xml /usr/share/metainfo/" >> $(PKGDIR)-$$i.install; \
+       done
+
+ifeq "$(BUILD_PLASMA)" "y"
+       echo "../usr/share/metainfo/org.libreoffice.kde.metainfo.xml /usr/share/metainfo/" >> $(PKGDIR)-plasma.install
+endif
+
+ifeq "$(PACKAGE_LOKIT)" "y"
+       echo "../../../include/LibreOfficeKit usr/include" > debian/libreofficekit-dev.install
+endif
+ifeq "$(ENABLE_INTROSPECTION)" "y"
+       echo "../../../workdir/CustomTarget/sysui/share/libreoffice/LOKDocView-0.1.gir /usr/share/gir-1.0/" >> debian/libreofficekit-dev.install
+       echo "../../../workdir/CustomTarget/sysui/share/libreoffice/LOKDocView-0.1.typelib /usr/lib/$(DEB_HOST_MULTIARCH)/girepository-1.0" >> debian/gir1.2-lokdocview-0.1.install
+endif
+
+ifneq "$(ENABLE_GUI)" "y"
+       rm -rf debian/tmp/pkg/libreofficekit-data
+endif
+
+       dh_installdirs -A
+       dh_install -A --sourcedir=debian/tmp/pkg && dh_missing -A --sourcedir=debian/tmp/pkg --fail-missing
+
+       # 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"
+  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
+  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
+
+ifeq "$(PACKAGE_BASE)" "y"
+       mkdir -p debian/python3-access2base/$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())')
+       mv $(PKGDIR)-common/$(OODIR)/program/access2base.py \
+               debian/python3-access2base/$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())')
+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
+       rm -f $(PKGDIR)-common/$(OODIR)/program/access2base.py
+endif
+
+ifeq "$(PACKAGE_SDK)" "y"
+       # move gengal stuff into -dev-gui
+       mkdir -p $(PKGDIR)-dev-gui/$(OODIR)/program
+       mv $(PKGDIR)-core/$(OODIR)/program/gengal.bin \
+               $(PKGDIR)-dev-gui/$(OODIR)/program
+       mv $(PKGDIR)-common/$(OODIR)/program/gengal \
+               $(PKGDIR)-dev-gui/$(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
+
+       # move soffice.cfg files into the "correct" packages
+       for i in base calc draw impress math writer; do \
+               mkdir -p $(PKGDIR)-$$i/$(OODIR)/share/config/soffice.cfg/modules; \
+               mv $(PKGDIR)-common/$(OODIR)/share/config/soffice.cfg/modules/s$$i \
+                       $(PKGDIR)-$$i/$(OODIR)/share/config/soffice.cfg/modules; \
+               if [ $$i = writer ]; then \
+                       for i in sweb swform swreport swxform; do \
+                       mv $(PKGDIR)-common/$(OODIR)/share/config/soffice.cfg/modules/$$i \
+                               $(PKGDIR)-writer/$(OODIR)/share/config/soffice.cfg/modules; \
+                       done; \
+               fi; \
+               if [ $$i = base ]; then \
+                       for i in dbapp dbbrowser dbquery dbrelation dbtable dbtdata \
+                               sabpilot sbibliography; do \
+                               mv $(PKGDIR)-common/$(OODIR)/share/config/soffice.cfg/modules/$$i \
+                                       $(PKGDIR)-base/$(OODIR)/share/config/soffice.cfg/modules; \
+                       done; \
+               fi; \
+       done
+       mv $(PKGDIR)-common/$(OODIR)/share/config/soffice.cfg/dbaccess \
+               $(PKGDIR)-base/$(OODIR)/share/config/soffice.cfg
+       mv $(PKGDIR)-common/$(OODIR)/share/config/soffice.cfg/writerperfect \
+               $(PKGDIR)-writer/$(OODIR)/share/config/soffice.cfg
+       mkdir -p $(PKGDIR)-report-builder/$(OODIR)/share/config/soffice.cfg/modules
+       mv $(PKGDIR)-common/$(OODIR)/share/config/soffice.cfg/modules/dbreport \
+               $(PKGDIR)-report-builder/$(OODIR)/share/config/soffice.cfg/modules
+
+       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 grep -E -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
+       # create .ucf files for libreoffice-l10n-*. First generic ones
+       # libreoffice-l10n.ucf.in, but there also are CJK/CTL specific
+       # files, too...
+       for iso in $(filter-out en-US,$(LANGPACKISOS)); do \
+           pkgiso=`echo $$iso | tr \[:upper:\] \[:lower:\]`; \
+           cat debian/libreoffice-l10n.ucf.in \
+               | sed -e "s/\@ISO\@/$$iso/g" \
+               > debian/libreoffice-l10n-$$pkgiso.ucf; \
+           if [ -f instdir/share/registry/ctl_$$iso.xcd ]; then \
+               echo "/usr/lib/libreoffice/share/.registry/ctl_$$iso.xcd /etc/libreoffice/registry/ctl_$$iso.xcd" \
+                       >> debian/libreoffice-l10n-$$pkgiso.ucf; \
+           fi; \
+           if [ -f instdir/share/registry/ctlseqcheck_$$iso.xcd ]; then \
+               echo "/usr/lib/libreoffice/share/.registry/ctlseqcheck_$$iso.xcd /etc/libreoffice/registry/ctlseqcheck_$$iso.xcd" \
+                       >> debian/libreoffice-l10n-$$pkgiso.ucf; \
+           fi; \
+           if [ -f instdir/share/registry/cjk_$$iso.xcd ]; then \
+               echo "/usr/lib/libreoffice/share/.registry/cjk_$$iso.xcd /etc/libreoffice/registry/cjk_$$iso.xcd" \
+                       >> debian/libreoffice-l10n-$$pkgiso.ucf; \
+           fi; \
+       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#<prop oor:name="CTLSequenceChecking"><value>true</value></prop>#<prop oor:name="CTLSequenceChecking"><value>false</value></prop>#' $(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
+
+ifeq "$(ENABLE_JAVA)" "y"
+       mkdir -p debian/ure-java/usr/share/java
+       mkdir -p debian/ure-java/$(OODIR)/program/classes
+       mv debian/ure/$(OODIR)/program/classes/java_uno.jar \
+               debian/ure-java/usr/share/java
+       cd debian/ure-java/$(OODIR)/program/classes && \
+               ln -sf /usr/share/java/java_uno.jar java_uno.jar
+       # remove libraries split out to extra packages
+       # will be installed using mh_* or jh_* in install-indep
+       for i in juh jurt ridl unoloader libreoffice; do \
+               rm debian/ure/$(OODIR)/program/classes/$$i.jar; \
+       done
+       for i in libjuh.so javaldx libjpipe.so libjuhx.so \
+               javavendors.xml JREProperties.class \
+               jvmfwk3rc libjava_uno.so; do \
+               mv debian/ure/$(OODIR)/program/$$i \
+                       debian/ure-java/$(OODIR)/program; \
+       done
+endif
+       # and the public libs to their respective packages
+       for i in sal cppu; do \
+               mkdir -p debian/libuno-$${i}3/$(OODIR)/program; \
+               mkdir -p debian/libuno-$${i}3/usr/lib/$(DEB_HOST_MULTIARCH); \
+               mv debian/ure/$(OODIR)/program/libuno_$${i}.so.3 \
+                       debian/libuno-$${i}3/$(OODIR)/program; \
+               ln -sf /$(OODIR)/program/`basename libuno_$$i.so.3` debian/libuno-$${i}3/usr/lib/$(DEB_HOST_MULTIARCH)/`basename libuno_$$i.so.3`; \
+       done
+       for i in salhelpergcc3 cppuhelpergcc3 purpenvhelpergcc3; do \
+               mkdir -p debian/libuno-$${i}-3/$(OODIR)/program; \
+               mkdir -p debian/libuno-$${i}-3/usr/lib/$(DEB_HOST_MULTIARCH); \
+               mv debian/ure/$(OODIR)/program/libuno_$${i}.so.3 \
+                       debian/libuno-$${i}-3/$(OODIR)/program; \
+               ln -sf /$(OODIR)/program/`basename libuno_$$i.so.3` debian/libuno-$${i}-3/usr/lib/$(DEB_HOST_MULTIARCH)/`basename libuno_$$i.so.3`; \
+       done
+       # we also need libxmlreaderlo.so, libreglo.so and libunoidllo.so (libuno_cppuhelpergcc3.so.3
+        # needs it) and libstorelo.so (libreglo.so needs it)
+       mkdir -p debian/uno-libs-private/$(OODIR)/program
+       for i in libxmlreaderlo.so libreglo.so libstorelo.so libunoidllo.so; do \
+               mv debian/ure/$(OODIR)/program/$$i \
+                       debian/uno-libs-private/$(OODIR)/program; \
+       done
+
+
+ifeq "$(BUILD_PLASMA)" "y"
+       # install files for "create new" ...
+       mkdir -p $(PKGDIR)-plasma/usr/share/templates/.source
+       for i in $(SOURCE_TREE)/extras/source/shellnew/*; do \
+               cp $$i $(PKGDIR)-plasma/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)-plasma/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)-plasma/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)-plasma/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)-plasma/usr/share/templates/soffice.odg.desktop
+endif
+
+ifeq "$(ENABLE_EVO2)" "y"
+       mkdir -p -m755 $(PKGDIR)-evolution/$(OODIR)/program
+       mv $(PKGDIR)-gnome/$(OODIR)/program/libevoab*.so $(PKGDIR)-evolution/$(OODIR)/program
+       mv $(PKGDIR)-gnome/$(OODIR)/share/registry/evoab.xcd \
+               $(PKGDIR)-evolution/$(OODIR)/share/registry
+endif
+
+ifeq "$(ENABLE_GUI)" "y"
+  ifeq "$(BUILD_GTK3)" "y"
+       # split out gtk stuff
+       mkdir -p $(PKGDIR)-gtk3/$(OODIR)/program/
+       mkdir -p debian/liblibreofficekitgtk/$(OODIR)/program
+       mv $(PKGDIR)-gnome/$(OODIR)/program/*gtk3* $(PKGDIR)-gtk3/$(OODIR)/program/
+  ifeq "$(ENABLE_PACKAGEKIT)" "y"
+       # FIXME: ended up in -gtk3 due to a bug. should it stay there or be in -gnome?
+       mv $(PKGDIR)-gnome/$(OODIR)/program/liblosessioninstalllo.so \
+               $(PKGDIR)-gtk3/$(OODIR)/program/
+  endif
+       mv $(PKGDIR)-core/$(OODIR)/program/liblibreofficekitgtk.so \
+               debian/liblibreofficekitgtk/$(OODIR)/program
+  endif
+  ifeq "$(BUILD_GTK4)" "y"
+       mkdir -p $(PKGDIR)-gtk4/$(OODIR)/program/
+       mv $(PKGDIR)-gnome/$(OODIR)/program/*gtk4* $(PKGDIR)-gtk4/$(OODIR)/program
+  endif
+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"
+       # move the officebean so into libreoffice-officebean
+       # the jar will be installed (into libofficebean-java)
+       # using mh_ in install-indep
+       rm -rf debian/libofficebean-java
+       mkdir -p -m755 debian/libofficebean-java/usr/lib/jni
+       mkdir -p -m755 debian/libofficebean-java/$(OODIR)/program
+       mv $(PKGDIR)-core/$(OODIR)/program/libofficebean.so \
+               debian/libofficebean-java/usr/lib/jni
+       cd debian/libofficebean-java/$(OODIR)/program && \
+               ln -s /usr/lib/jni/libofficebean.so libofficebean.so
+       sed -e s/@version@/$(shell echo $(DEB_VERSION_UPSTREAM) | cut -d~ -f1)/ \
+               < $(SOURCE_TREE)/bean/pom.officebean.xml > debian/pom.officebean.xml
+       mh_installpoms -plibofficebean-java
+       mh_installjar -plibofficebean-java -l debian/pom.officebean.xml instdir/program/classes/officebean.jar
+       # create symlink where LO expects it
+       mkdir -p $(CURDIR)/debian/libofficebean-java/$(OODIR)/program/classes
+       cd $(CURDIR)/debian/libofficebean-java/$(OODIR)/program/classes && \
+               ln -s /usr/share/java/officebean.jar officebean.jar
+       # fix up Class-Path
+       jh_classpath --classpath="libreoffice.jar" \
+               debian/libofficebean-java/usr/share/java/officebean.jar
+endif
+
+       mkdir -p -m755 $(PKGDIR)-base/usr/share/applications \
+                      $(PKGDIR)-core/usr/share/applications
+
+       sed -i -e 's/Education;Science;//' $(PKGDIR)-math/usr/share/applications/libreoffice-math.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_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)-sdbc-mysql/$(OODIR)/program
+       mv $(PKGDIR)-base/$(OODIR)/program/libmysqlclo.so \
+               $(PKGDIR)-sdbc-mysql/$(OODIR)/program
+
+       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 "$(BUILD_NOGUI_PACKAGES)" "y"
+       # create no-GUI packages
+       for p in $(shell dh_listpackages -a | grep nogui | grep -v libreoffice-nogui | cut -d- -f2- | sed -e s/-nogui// | xargs); do \
+               rm -rf $(PKGDIR)-$$p-nogui; \
+               cp -ra $(PKGDIR)-$$p $(PKGDIR)-$$p-nogui; \
+               for i in $(PKGDIR)-$$p-nogui/$(OODIR)/program/*; do \
+                       if [ -e instdir-nogui/program/`basename $$i` ]; then \
+                               cp -v instdir-nogui/program/`basename $$i` \
+                                       $(PKGDIR)-$$p-nogui/$(OODIR)/program; \
+                       else \
+                               rm -fv $(PKGDIR)-$$p-nogui/$(OODIR)/program/`basename $$i`; \
+                       fi; \
+               done; \
+       done
+       # remove lib*uilo.so in -nogui
+       find debian/libreoffice-*-nogui/$(OODIR)/program -name "lib*uilo.so" -a ! -name "libuuilo.so" \
+               -a ! -name "libforuilo.so" -exec rm {} \;
+       rm -f debian/libreoffice-base-nogui/$(OODIR)/program/libdbulo.so
+       # and (no UI, so not needed) not needed .desktop and .ui files
+       # tabviewbar.ui is needed to make --convert-to work in impress... (#1028290)
+       find debian/libreoffice-*-nogui/usr/share/applications/*.desktop -exec rm {} \;
+       find debian/libreoffice-*-nogui/$(OODIR)/share/config/soffice.cfg -name "*.ui" -a ! -name "tabviewbar.ui" -exec rm {} \;
+       # unneeded launchers
+       find debian/libreoffice-*-nogui/usr/bin/lo* -exec rm {} \;
+       # otherwise we get errors since the launchers are missing
+       find debian/libreoffice-*-nogui/usr/share/metainfo/libreoffice-*.appdata.xml -exec rm {} \;
+
+       # OGLTrans.so is not in -impress-nogui so we don't need this either
+       rm -f debian/libreoffice-impress-nogui/$(OODIR)/share/registry/ogltrans.xcd
+       rm -f debian/libreoffice-impress-nogui/$(OODIR)/share/config/soffice.cfg/simpress/transitions-ogl.xml
+       rm -rf debian/libreoffice-impress-nogui/$(OODIR)/opengl
+endif
+
+       rm -f *.bug-script
+       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/@RTL_OS@/$(RTL_OS)/" \
+                               | sed -e "s/@RTL_ARCH@/$(RTL_ARCH)/" \
+                               | sed -e "s/@OOVER@/$(OOVER)/" \
+                               > debian/$$i.bug-script; \
+               fi ;\
+               if [ -e debian/$$i.ucf ]; then \
+                       if [ ! -e debian/$$i.bug-script.in ]; then \
+                               printf "#!/bin/sh\n\n" > debian/$$i.bug-script; \
+                       fi ;\
+                       echo "ucfq $$i >&3" >>  debian/$$i.bug-script; \
+               fi ;\
+       done
+       for i in $(ARCH_DEP_PACKAGES); do \
+               if [ -e debian/$$i.bug-control ]; then \
+                       if grep -q "^report-with:" debian/$$i.bug-control; then \
+                               extra_packages=`grep "^report-with:" debian/$$i.bug-control | sed -e "s/^report-with: //"`; \
+                               for p in $$extra_packages; do \
+                                       if [ $$i != $$p ] && [ -f debian/$$p.bug-script ] && ! echo $$added_packages | grep -q $$p && \
+                                               ! grep -q bug\/$$p\/script debian/$$i.bug-script; then \
+                                                       printf "#!/bin/sh\n" >> debian/$$i.bug-script; \
+                                                       printf "if [ -x /usr/share/bug/$$p/script ]; then /usr/share/bug/$$p/script; fi\n" >> debian/$$i.bug-script; \
+                                                       added_packages="$$added_packages $$p"; \
+                                       fi; \
+                               done; \
+                               added_packages=; \
+                       fi; \
+               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
+
+       # make config xml "pretty" to make ucf --three-way work.
+       for p in $(ARCH_DEP_PACKAGES); do \
+               for i in `find debian/$$p/$(OODIR)/share/registry -name "*.xcd"`; do \
+                       t=`mktemp -q`; \
+                       xmllint --pretty 1 $$i > $$t; \
+                       mv $$t $$i; \
+               done; \
+       done
+       # and "hide" the ucf source registry; makes it less confusing for
+       # people who do know /usr/lib/libreoffice/share/registry.
+       for p in $(ARCH_DEP_PACKAGES); do \
+               for i in `find debian/$$p -type d -wholename "*$(OODIR)/share/registry"`; do \
+                       mv $$i `echo $$i | sed -e s/registry/.registry/`; \
+               done; \
+       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) | 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
+       # remove unoil and officebean; installed later/in install-arch by mh_* and in extra packages anyway
+       rm -f $(PKGDIR)-common/$(OODIR)/program/classes/unoil.jar
+       rm -f $(PKGDIR)-common/$(OODIR)/program/classes/officebean.jar
+       # and move the rest
+       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
+       # fix Class-Path: to not include build path
+       jh_classpath --classpath="libreoffice.jar OOoRunner.jar file:///usr/share/java/junit4.jar "\
+                $(PKGDIR)-subsequentcheckbase/$(OODIR)/program/classes/test.jar
+  endif
+
+       rm -rf $(PKGDIR)-smoketest-data
+       mkdir -p $(PKGDIR)-smoketest-data/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes
+       mkdir -p $(PKGDIR)-smoketest-data/$(OODIR)/program/classes
+       mv $(PKGDIR)-java-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes/smoketest.jar \
+               $(PKGDIR)-smoketest-data/$(shell echo $(OODIR) | sed -e s/lib/share/)/program/classes
+       mv $(PKGDIR)-java-common/$(OODIR)/program/classes/smoketest.jar \
+               $(PKGDIR)-smoketest-data/$(OODIR)/program/classes
+       rm -f $(PKGDIR)-java-common/$(OODIR)/program/classes/smoketest.jar
+
+       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)/CREDITS.fodt
+       # Do we really need this (ALV2 mandating it) or can this go?
+       chmod 644 $(PKGDIR)-common/$(OODIR)/NOTICE
+
+       # 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/libreoffice
+       mv $(PKGDIR)-common/$(OODIR)/share/fonts/truetype/opens___.ttf \
+               debian/fonts-opensymbol/usr/share/fonts/truetype/libreoffice
+       # this is double-installed since https://cgit.freedesktop.org/libreoffice/core/commit/?id=25f4cc12fb59284392914c93a0ae6ad199ecc069
+       rm -f $(PKGDIR)-common/$(OODIR)/program/resource/common/fonts/opens___.ttf
+       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
+
+       # 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. for non-GUI it somehow is not installed
+       # do do it manually. FIXME: is psprint.conf still a thing?
+ifeq "$(ENABLE_GUI)" "y"
+       mkdir -p $(PKGDIR)-common/etc/$(OODIRNAME)
+       mv $(PKGDIR)-common/$(OODIR)/share/psprint/psprint.conf \
+               $(PKGDIR)-common/etc/$(OODIRNAME)
+else
+       mkdir -p $(PKGDIR)-common/etc/$(OODIRNAME)
+       mkdir -p $(PKGDIR)-common/$(OODIR)/share/psprint
+       install -m644 vcl/unx/generic/printer/configuration/psprint.conf \
+               $(PKGDIR)-common/etc/$(OODIRNAME)
+endif
+       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
+       mkdir -p $(PKGDIR)-common/etc/$(OODIRNAME)
+       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" = "colibre_dark" ]; then p=colibre; fi; \
+               if [ "$$i" = "colibre_dark_svg" ]; then p=colibre; fi; \
+               if [ "$$i" = "colibre_svg" ]; then p=colibre; fi; \
+               if [ "$$i" = "breeze_dark" ]; then p=breeze; fi; \
+               if [ "$$i" = "breeze_dark_svg" ]; then p=breeze; fi; \
+               if [ "$$i" = "breeze_svg" ]; then p=breeze; fi; \
+               if [ "$$i" = "elementary_svg" ]; then p=elementary; fi; \
+               if [ "$$i" = "sifr_dark" ]; then p=sifr; fi; \
+               if [ "$$i" = "sifr_dark_svg" ]; then p=sifr; fi; \
+               if [ "$$i" = "karasa_jaga" ]; then p=karasa-jaga; fi; \
+               if [ "$$i" = "sukapura_svg" ]; then p=sukapura; 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_DOCS)" "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 ;\
+               if [ -e debian/$$i.ucf ]; then \
+                       if [ ! -e debian/$$i.bug-script.in ]; then \
+                               printf "#!/bin/sh\n\n" > debian/$$i.bug-script; \
+                       fi ;\
+                       echo "ucfq $$i >&3" >>  debian/$$i.bug-script; \
+               fi ;\
+       done
+       for i in $(ARCH_INDEP_PACKAGES); do \
+               if [ -e debian/$$i.bug-control ]; then \
+                       if grep -q "^report-with:" debian/$$i.bug-control; then \
+                               extra_packages=`grep "^report-with:" debian/$$i.bug-control | sed -e "s/^report-with: //"`; \
+                               for p in $$extra_packages; do \
+                                       if [ $$i != $$p ] && [ -f debian/$$p.bug-script ] && ! echo $$added_packages | grep -q $$p && \
+                                               ! grep -q bug\/$$p\/script debian/$$i.bug-script; then \
+                                                       printf "#!/bin/sh\n" >> debian/$$i.bug-script; \
+                                                       printf "if [ -x /usr/share/bug/$$p/script ]; then /usr/share/bug/$$p/script; fi\n" >> debian/$$i.bug-script; \
+                                                       added_packages="$$added_packages $$p"; \
+                                       fi; \
+                               done; \
+                               added_packages=; \
+                       fi; \
+               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
+
+       # 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,<prop oor:name="DocumentStoreUIEnabled" oor:type="xs:boolean"><value>false</value></prop>,<prop oor:name="DocumentStoreUIEnabled" oor:type="xs:boolean"><value>true</value></prop>,' $(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/etc/libreoffice/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-gui
+#      mkdir -p $(PKGDIR)-dev-gui/$(OODIR)/program
+#      install -m644 $(SOURCE_TREE)/svx/$(shell .  $(SOURCE_TREE)/bin/get_config_variables OUTPATH PROEXT; echo $$OUTPATH$$PROEXT)/bin/gengalrc \
+#              $(PKGDIR)-dev-gui/$(OODIR)/program/gengalrc
+#endif
+
+       # package the Java public libraries...
+ifeq "$(ENABLE_JAVA)" "y"
+       # somehow --has-package-version doesn't overwrite version and without <version>...</version>
+       # we get a NullPointerException when calling mh_installjar
+       for i in ridl unoloader libreoffice; 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
+       sed -e s/@version@/$(shell echo $(DEB_VERSION_UPSTREAM) | cut -d~ -f1)/ \
+               < $(SOURCE_TREE)/unoil/pom.unoil.xml > debian/pom.unoil.xml
+       for i in juh jurt unoil ridl libreoffice; do \
+               mh_installpoms -pliblibreoffice-java; \
+               mh_installjar -pliblibreoffice-java -l debian/pom.$$i.xml instdir/program/classes/$$i.jar; \
+       done
+       mh_installpoms -plibunoloader-java
+       mh_installjar -plibunoloader-java -l debian/pom.unoloader.xml instdir/program/classes/unoloader.jar
+
+       # create symlinks where LO expects them
+       for i in juh jurt unoil ridl libreoffice; do \
+               mkdir -p $(CURDIR)/debian/liblibreoffice-java/$(OODIR)/program/classes; \
+               cd $(CURDIR)/debian/liblibreoffice-java/$(OODIR)/program/classes; \
+               ln -s /usr/share/java/$$i.jar $$i.jar; \
+       done
+       mkdir -p $(CURDIR)/debian/libunoloader-java/$(OODIR)/program/classes; \
+       cd $(CURDIR)/debian/libunoloader-java/$(OODIR)/program/classes; \
+       ln -s /usr/share/java/unoloader.jar unoloader.jar
+
+       # fix up Class-Path
+       # make libreoffice.jar to be able to find libjpipe.so.
+       # See http://markmail.org/message/yacqa7oowugxwmn2 (for juh.jar back then...)
+       # also: javaunohelper/com/sun/star/comp/helper/Bootstrap.java:                NativeLibraryLoader.loadLibrary( Bootstrap.class.getClassLoader(), "juh" );
+       # seems to work nevertheless (if called from program/classes?) but fix it
+       # nevertheless
+       jh_classpath --classpath="unoloader.jar ../ /$(OODIR)/program" \
+               $(CURDIR)/debian/liblibreoffice-java/usr/share/java/libreoffice.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
+
+       # make LO look for its "registry" in /etc (ucf-managed)
+       sed -i "s,^CONFIGURATION_LAYERS=.*\(dconf.*\)$$,CONFIGURATION_LAYERS=xcsxcu:file:///etc/libreoffice/registry res:file:///etc/libreoffice/registry \1," \
+               $(PKGDIR)-common/$(OODIR)/program/fundamentalrc
+
+       # make config xml "pretty" to make ucf --three-way work
+       for p in $(ARCH_INDEP_PACKAGES); do \
+               for i in `find debian/$$p/$(OODIR)/share/registry -name "*.xcd"`; do \
+                       t=`mktemp -q`; \
+                       xmllint --pretty 1 $$i > $$t; \
+                       mv $$t $$i; \
+               done; \
+       done
+       # and "hide" the ucf source registry; makes it less confusing for
+       # people who do know /usr/lib/libreoffice/share/registry. Said path
+       # is a symlink set by libreoffice-common.links
+       for p in $(ARCH_INDEP_PACKAGES); do \
+               for i in `find debian/$$p -type d -wholename "*$(OODIR)/share/registry"`; do \
+                       mv $$i `echo $$i | sed -e s/registry/.registry/`; \
+               done; \
+       done
+
+       # make sure we have a share/extensions dir owned by -common
+       mkdir -p $(PKGDIR)-common/$(OODIR)/share/extensions
+
+       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
+
+       dh_installdocs -a -A
+       cp workdir/CustomTarget/readlicense_oo/readme/README_en-US \
+               $(PKGDIR)-core/usr/share/doc/libreoffice-core/README
+ifeq "$(BUILD_NOGUI_PACKAGES)" "y"
+       cp workdir/CustomTarget/readlicense_oo/readme/README_en-US \
+               $(PKGDIR)-core-nogui/usr/share/doc/libreoffice-core-nogui/README
+endif
+       dh_ucf -a
+       for i in $(ARCH_DEP_PACKAGES); do \
+               if [ -e debian/$$i.postinst.debhelper ] && grep -q ucf debian/$$i.postinst.debhelper; then \
+                       sed -i "s/ucf\ /ucf --three-way /" debian/$$i.postinst.debhelper; \
+                       sed -i "s/ucfr\ /ucfr --force /" debian/$$i.postinst.debhelper; \
+                       sed -i "s/ucf/ucf (>= 0.8)/" debian/$$i.substvars; \
+               fi ; \
+               if [ -e debian/$$i.postrm.debhelper ] && grep -q ucf debian/$$i.postrm.debhelper; then \
+                       sed -i "s/ucfr\ /ucfr --force /" debian/$$i.postrm.debhelper; \
+               fi ; \
+       done
+       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"
+       for i in libuno-cppu3 libuno-sal3 libreoffice-core libreoffice-writer; do \
+               rm -rf debian/.debhelper/$$i/dbgsym-root; \
+       done
+  ifeq "$(BUILD_NOGUI_PACKAGES)" "y"
+       for i in libreoffice-core-nogui libreoffice-writer-nogui; do \
+               rm -rf debian/.debhelper/$$i/dbgsym-root; \
+       done
+  endif
+  ifeq "$(USE_DWZ)" "y"
+       dh_dwz -a $(DH_DWZ_ARGS) -- $(DWZ_ARGS)
+  endif
+       dh_strip -a
+       # dh_strip --dbg-package= is not idempotent, force copying of the binaries
+       # again...
+       rm -f $(STAMP_DIR)/install-common
+
+       # install gdb helpers
+       mkdir -p debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)
+       mv $(CURDIR)/debian/tmp/usr/share/gdb/auto-load/$(OODIR)/program \
+               debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)
+       mkdir -p debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/libreoffice/gdb
+       mv $(CURDIR)/debian/tmp/usr/share/libreoffice/gdb/libreoffice \
+               debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/libreoffice/gdb
+
+       # move sal and cppu gdb helpers into their respective packages
+       for i in sal cppu; do \
+               mkdir -p debian/.debhelper/libuno-$${i}3/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)/program; \
+               mkdir -p debian/.debhelper/libuno-$${i}3/dbgsym-root/usr/share/libreoffice/gdb/libreoffice; \
+               mv debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)/program/libuno_$$i.so.3-gdb.py \
+                       debian/.debhelper/libuno-$${i}3/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)/program; \
+               mv debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/libreoffice/gdb/libreoffice/$$i.py \
+                       debian/.debhelper/libuno-$${i}3/dbgsym-root/usr/share/libreoffice/gdb/libreoffice; \
+       done
+
+       # move sw and writerfilter gdb helpers to writer-dbgsym
+       mkdir -p debian/.debhelper/libreoffice-writer/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)/program
+       mkdir -p debian/.debhelper/libreoffice-writer/dbgsym-root/usr/share/libreoffice/gdb/libreoffice/
+       for i in sw writerfilter; do \
+               if [ -f debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)/program/lib$${i}lo.so-gdb.py ]; then \
+               mv debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)/program/lib$${i}lo.so-gdb.py \
+                               debian/.debhelper/libreoffice-writer/dbgsym-root/usr/share/gdb/auto-load/$(OODIR)/program/; \
+               fi; \
+               mv debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/libreoffice/gdb/libreoffice/$$i.py \
+                       debian/.debhelper/libreoffice-writer/dbgsym-root/usr/share/libreoffice/gdb/libreoffice; \
+       done
+
+       # populate -nogui-dbgsym from the gui counterparts
+ifeq "$(BUILD_NOGUI_PACKAGES)" "y"
+       mkdir -p debian/.debhelper/libreoffice-core-nogui/dbgsym-root/usr/share/gdb/auto-load/
+       mkdir -p debian/.debhelper/libreoffice-core-nogui/dbgsym-root/usr/share/libreoffice/
+       cp -ra debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/gdb/auto-load/$(OODIR) \
+               debian/.debhelper/libreoffice-core-nogui/dbgsym-root/usr/share/gdb/auto-load/
+       cp -ra debian/.debhelper/libreoffice-core/dbgsym-root/usr/share/libreoffice/gdb \
+               debian/.debhelper/libreoffice-core-nogui/dbgsym-root/usr/share/libreoffice
+       mkdir -p debian/.debhelper/libreoffice-writer-nogui/dbgsym-root/usr/share/gdb
+       mkdir -p debian/.debhelper/libreoffice-writer-nogui/dbgsym-root/usr/share/libreoffice/
+       cp -ra debian/.debhelper/libreoffice-writer/dbgsym-root/usr/share/gdb/auto-load/ \
+               debian/.debhelper/libreoffice-writer-nogui/dbgsym-root/usr/share/gdb
+       cp -ra debian/.debhelper/libreoffice-writer/dbgsym-root/usr/share/libreoffice/gdb \
+               debian/.debhelper/libreoffice-writer-nogui/dbgsym-root/usr/share/libreoffice
+endif
+else
+       dh_strip -a --no-automatic-dbgsym
+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/.debhelper/libreoffice-core/dbgsym-root
+       #       debian/$(UNO_LIBS_DBG_ROOT) debian/.debhelper/libreoffice-writer/dbgsym-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/.debhelper/libreoffice-core/dbgsym-root debian/.debhelper/libuno*/dbgsym-root debian/.debhelper/libreoffice-writer/dbgsym-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
+       for i in sal3 cppu3 salhelpergcc3-3 cppuhelpergcc3-3 purpenvhelpergcc3-3; do \
+               dh_makeshlibs -plibuno-$$i -V"libuno-$$i (>= 1:$(shell grep UREPACKAGEVERSION $(SOURCE_TREE)/instsetoo_native/util/openoffice.lst | awk '{ print $$2 }' | cut -d. -f1-3)~)" -- -c2 -V -v$(BINARY_VERSION); \
+       done
+       dh_makeshlibs -n -pure -V"ure (>= 1:$(shell grep UREPACKAGEVERSION $(SOURCE_TREE)/instsetoo_native/util/openoffice.lst | awk '{ print $$2 }' | cut -d. -f1-3)~)" -- -d -V -v$(BINARY_VERSION)
+       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
+
+               dh_shlibdeps -a -Nlibreoffice-core-nogui -Nure \
+                       -Lure -Llibuno-sal3 -Llibpuno-cppu3 -Llibuno-salhelpergcc3-3 -Llibcppuhelpergcc3-3 -Llibuno-purpenvhelpergcc3-3 \
+                       -l$(CURDIR)/debian/libuno-sal3/$(OODIR)/program:$(CURDIR)/debian/libuno-cppu3/$(OODIR)/program:$(CURDIR)/debian/libuno-salhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/libuno-cppuhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/libuno-purpenvhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/ure/$(OODIR)/program:$(CURDIR)/$(PKGDIR)-core/$(OODIR)/program:$(CURDIR)/$(PKGDIR)-base-core/$(OODIR)/program:$(CURDIR)/$(PKGDIR)-base/$(OODIR)/program:$(CURDIR)/$(PKGDIR)-writer/$(OODIR)/program \
+                       $(SHLIBS_OVERRIDE)
+               dh_shlibdeps -pure \
+                       -Llibuno-sal3 -Llibpuno-cppu3 -Llibuno-salhelpergcc3-3 -Llibcppuhelpergcc3-3 -Llibuno-purpenvhelpergcc3-3 \
+                       -l$(CURDIR)/debian/libuno-sal3/$(OODIR)/program:$(CURDIR)/debian/libuno-cppu3/$(OODIR)/program:$(CURDIR)/debian/libuno-salhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/libuno-cppuhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/libuno-purpenvhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/ure/$(OODIR)/program \
+                       -- -xure
+ifeq "$(BUILD_NOGUI_PACKAGES)" "y"
+               dh_shlibdeps -plibreoffice-core-nogui \
+                       -Lure -Llibuno-sal3 -Llibpuno-cppu3 -Llibuno-salhelpergcc3-3 -Llibcppuhelpergcc3-3 -Llibuno-purpenvhelpergcc3-3 \
+                       -l$(CURDIR)/debian/libuno-sal3/$(OODIR)/program:$(CURDIR)/debian/libuno-cppu3/$(OODIR)/program:$(CURDIR)/debian/libuno-salhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/libuno-cppuhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/libuno-purpenvhelpergcc3-3/$(OODIR)/program:$(CURDIR)/debian/ure/$(OODIR)/program:$(CURDIR)/$(PKGDIR)-core-nogui/$(OODIR)/program:$(CURDIR)/$(PKGDIR)-base-core/$(OODIR)/program:$(CURDIR)/$(PKGDIR)-base/$(OODIR)/program:$(CURDIR)/$(PKGDIR)-writer/$(OODIR)/program \
+                       $(SHLIBS_OVERRIDE)
+endif
+  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
+       # FIXME. Otherwise the unoEditGlossary openDialog test crashes and hangs. go sure to make sure it doesn't
+       # happen on runtime. No idea whether alpha1 would suffice but it doesn't really matter in practice anyway :)
+       perl -pi -e "s/, libuno-sal3 \(>= 1:7.3.0~beta1\),/, libuno-sal3 \(>= 1:7.4.0~beta1\),/" \
+                       debian/libreoffice-core.substvars
+ifeq "$(ENABLE_JAVA)" "y"
+       for p in $(ARCH_DEP_PACKAGES); do \
+               jh_depends -p$$p -Xure -Xbase-files; \
+       done
+       # 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/libofficebean-java.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) \
+               -- \
+               -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'plasma-iconset-dep=$(PLASMA_ICONSET_DEP)' \
+               -V'kf5-qt5-depends=$(KF5_QT5_DEPENDS)' \
+               -V'lpsolve-dep=$(LPSOLVE_DEP)' \
+               -V'gstreamer-plugins-suggests=$(GSTREAMER_PLUGINS_SUGGESTS)' \
+               -V'libebook-dep=$(LIBEBOOK_DEP)' \
+               -V'idlc-cpp-depends=$(IDLC_CPP_DEPENDS)' \
+               -V'pyuno-depends=$(PYUNO_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)
+ifeq "$(BUILD_DBGSYM_PACKAGES)" "y"
+       for i in libuno-sal3 libuno-cppu3 libuno-salhelpergcc3-3 libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3 \
+               libreoffice-core libreoffice-writer; do \
+               perl -pi -e 's/^(Depends:.*)/\1\nRecommends: gdb, python3-six/' \
+               debian/.debhelper/$$i/dbgsym-root/DEBIAN/control; \
+       done
+       perl -pi -e 's/Recommends: /Recommends: libreoffice-core-dbgsym, /' \
+               debian/.debhelper/libreoffice-writer/dbgsym-root/DEBIAN/control
+  ifeq "$(BUILD_NOGUI_PACKAGES)" "y"
+       for i in libreoffice-core libreoffice-writer; do \
+               perl -pi -e 's/^(Depends:.*)/\1\nRecommends: gdb, python3-six/' \
+                       debian/.debhelper/$$i-nogui/dbgsym-root/DEBIAN/control; \
+       done
+       perl -pi -e 's/Recommends: /Recommends: libreoffice-core-nogui-dbgsym, /' \
+               debian/.debhelper/libreoffice-writer-nogui/dbgsym-root/DEBIAN/control
+       perl -pi -e 's/^(Recommends:.*)/Replaces: libreoffice-core-nogui-dbgsym (<< 1:6.4.3~rc1-3)\n\1/' \
+               debian/.debhelper/libreoffice-writer-nogui/dbgsym-root/DEBIAN/control
+       perl -pi -e 's/^(Replaces:.*)/Breaks: libreoffice-core-nogui-dbgsym (<< 1:6.4.3~rc1-3)\n\1/' \
+               debian/.debhelper/libreoffice-writer-nogui/dbgsym-root/DEBIAN/control
+  endif
+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),$(filter $(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
+
+       dh_installdocs -i -A
+       cp workdir/CustomTarget/readlicense_oo/readme/README_en-US \
+               $(PKGDIR)-common/usr/share/doc/libreoffice-common/README
+       dh_ucf -i
+       for i in $(ARCH_INDEP_PACKAGES); do \
+               if [ -e debian/$$i.postinst.debhelper ] && grep -q ucf debian/$$i.postinst.debhelper; then \
+                       sed -i "s/ucf\ /ucf --three-way /" debian/$$i.postinst.debhelper; \
+                       sed -i "s/ucfr\ /ucfr --force /" debian/$$i.postinst.debhelper; \
+                       sed -i "s/ucf/ucf (>= 0.8)/" debian/$$i.substvars; \
+               fi ; \
+               if [ -e debian/$$i.postrm.debhelper ] && grep -q ucf debian/$$i.postrm.debhelper; then \
+                       sed -i "s/ucfr\ /ucfr --force /" debian/$$i.postrm.debhelper; \
+               fi ; \
+       done
+       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
+       dh_python3 -ppython3-access2base
+       dh_python3 -plibreoffice-script-provider-python
+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 "$(BULLSEYE_BACKPORT)" "y"
+       dh_link -i -Xprism
+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 -Xbase-files; \
+        done
+endif
+       # jh_depends 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) \
+               -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-recommends=$(HELP_RECOMMENDS)' \
+               -V'help-common-depends=$(HELP_COMMON_DEPENDS)' \
+               -V'report-builder-jar-depends=$(REPORT_BUILDER_JAR_DEPENDS)' \
+               -V'Binary-Version=$(BINARY_VERSION)' \
+               -v$(BINARY_VERSION)
+       dh_gencontrol -pfonts-opensymbol -- \
+               -v`echo $(BINARY_VERSION) | cut -d: -f1`:$(shell fontforge -lang=ff -c 'Open($$1); Print ($$fontversion); Quit(0);' debian/fonts-opensymbol/usr/share/fonts/truetype/libreoffice/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`echo $(BINARY_VERSION) | cut -d: -f1`:$(shell grep "<version" $(SOURCE_TREE)/swext/mediawiki/src/description.xml | perl -pi -e 's,<version value=\"(.*)\"/>,\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`echo $(BINARY_VERSION) | cut -d: -f1`:$(shell grep "<version" $(SOURCE_TREE)/nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/description.xml | perl -pi -e 's,<version value=\"(.*)\"/>,\1,; s/^\s+//')+LibO`echo $(BINARY_VERSION) | cut -d: -f2`
+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
+endif
+
+ifeq "$(USE_SOURCE_TARBALLS)" "y"
+get-orig-source:
+       PATH=$(CURDIR)/debian/scripts:$$PATH uscan --watchfile=$(CURDIR)/debian/watch --verbose --force
+       debian/scripts/fix_component_tarballs.sh
+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/fix_component_tarballs.sh b/debian/scripts/fix_component_tarballs.sh
new file mode 100755 (executable)
index 0000000..be149f2
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+set -x
+set -e
+
+pwd=`pwd`
+tmp=`mktemp -q -d`
+
+debianver=`uscan --report --verbose | grep newversion | cut -d= -f2 | awk '{ print $1 }' | head -n 1`
+
+# the main tarball
+t=`uscan --report --verbose | grep newfile | cut -d= -f2 | head -n 1`
+sourcever=`echo $t | cut -d- -f2 | sed -e "s/\.tar\.xz$//"`
+
+files=`uscan --report --verbose | grep newfile | cut -d= -f2 | tail -n +2`
+
+for f in $files; do
+       if echo $f | grep -q help; then
+               c=helpcontent2;
+       else
+               c=`echo $f | cut -d- -f2`;
+       fi
+
+       cd ${tmp}
+       echo "Extracting original $f..."
+       tar --strip-components 1 --extract --verbose --xz --file ${pwd}/../$f
+       echo "Deleting obsolete libreoffice_${debianver}.orig-${c}.tar.xz and it's signatiure...."
+       rm -f ${pwd}/../libreoffice_${debianver}.orig-${c}.tar.xz
+       rm -f ${pwd}/../libreoffice_${debianver}.orig-${c}.tar.xz.asc
+       echo "Creating new libreoffice_${debianver}.orig-${c}.tar.xz..."
+       tar --create --verbose --xz --file ${pwd}/../libreoffice_${debianver}.orig-${c}.tar.xz ${c}
+       rm -rf ${c}
+       cd ${pwd}
+done
+
+rm -rf ${tmp}
diff --git a/debian/scripts/get_libebook_dep.sh b/debian/scripts/get_libebook_dep.sh
new file mode 100755 (executable)
index 0000000..8eb2ef2
--- /dev/null
@@ -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/gid2pkgdirs.sh b/debian/scripts/gid2pkgdirs.sh
new file mode 100755 (executable)
index 0000000..6b630d2
--- /dev/null
@@ -0,0 +1,177 @@
+#!/bin/sh
+
+## create split package dirs out of LibreOffices gid_* files
+## copied from former ooo-build/libreoffice-build package-ooo
+## (c) 2005 Chris Halls <halls@debian.org>
+## (c) 2005-2011 Rene Engelhard <rene@debian.org>
+
+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 <list_file> <directory_name>
+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 <directory_name> <name> [...]
+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
+# 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_NLPSolver      pkg/libreoffice-nlpsolver
+create_package_directory gid_Module_Pdfimport     pkg/libreoffice-common
+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,...}_<lang>
+        # 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\|opencltest\)' \
+     -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 (executable)
index 0000000..ce12f09
--- /dev/null
@@ -0,0 +1,66 @@
+#! /usr/bin/python3
+
+import re, sys, fileinput
+
+def splitlines():
+    fields = ('Build-Depends', 'Build-Conflicts', 'Build-Depends-Indep', 'Build-Depends-Arch',
+              'Depends', 'Replaces', 'Provides', 'Conflicts', 'Recommends', 'Suggests', 'Breaks')
+    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', 'Build-Depends-Arch',
+              '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 (executable)
index 0000000..c7334fd
--- /dev/null
@@ -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
+    ' <<EOF
+en_US.UTF-8            UTF-8
+EOF
+
+echo "Generation complete."
diff --git a/debian/scripts/move-if-change b/debian/scripts/move-if-change
new file mode 100755 (executable)
index 0000000..d267e72
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# Copyright (C) 1996 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+if
+test -r $2
+then
+if
+cmp $1 $2 > /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 (executable)
index 0000000..c0469ad
--- /dev/null
@@ -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 <rene@debian.org>
+# (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 (file)
index 0000000..b7acf0b
--- /dev/null
@@ -0,0 +1,12 @@
+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() {
+       if [ -d /usr/lib/libreoffice/share/extensions ]; then
+               touch /usr/lib/libreoffice/share/extensions
+       fi
+}
diff --git a/debian/shell-lib-lool.sh b/debian/shell-lib-lool.sh
new file mode 100644 (file)
index 0000000..b0afb77
--- /dev/null
@@ -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 (file)
index 0000000..6db96d6
--- /dev/null
@@ -0,0 +1,5 @@
+libicudata     67
+libicui18n     67
+libicule       67
+libicuuc       67
+libicutu       67
diff --git a/debian/shlibs.override.libc b/debian/shlibs.override.libc
new file mode 100644 (file)
index 0000000..0f04116
--- /dev/null
@@ -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 (file)
index 0000000..fd769fe
--- /dev/null
@@ -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 (file)
index 0000000..eb8ef1c
--- /dev/null
@@ -0,0 +1 @@
+libetonyek-0.1-lo      1
diff --git a/debian/shlibs.override.liblangtag b/debian/shlibs.override.liblangtag
new file mode 100644 (file)
index 0000000..e426070
--- /dev/null
@@ -0,0 +1 @@
+liblangtag-lo  1
diff --git a/debian/shlibs.override.libmwaw b/debian/shlibs.override.libmwaw
new file mode 100644 (file)
index 0000000..b646a88
--- /dev/null
@@ -0,0 +1 @@
+libmwaw-0.3-lo 3
diff --git a/debian/shlibs.override.libodfgen b/debian/shlibs.override.libodfgen
new file mode 100644 (file)
index 0000000..73489e3
--- /dev/null
@@ -0,0 +1 @@
+libodfgen-0.1-lo       1
diff --git a/debian/shlibs.override.librevenge b/debian/shlibs.override.librevenge
new file mode 100644 (file)
index 0000000..f6c3fd1
--- /dev/null
@@ -0,0 +1 @@
+librevenge-0.0-lo      0
diff --git a/debian/shlibs.override.libstaroffice b/debian/shlibs.override.libstaroffice
new file mode 100644 (file)
index 0000000..5ad3eaf
--- /dev/null
@@ -0,0 +1 @@
+libstaroffice-0.0-lo   0
diff --git a/debian/shlibs.override.libvisio b/debian/shlibs.override.libvisio
new file mode 100644 (file)
index 0000000..cba8b67
--- /dev/null
@@ -0,0 +1 @@
+libvisio-0.1   1
diff --git a/debian/shlibs.override.libwpd b/debian/shlibs.override.libwpd
new file mode 100644 (file)
index 0000000..8b6680e
--- /dev/null
@@ -0,0 +1 @@
+libwpd-0.10-lo 10
diff --git a/debian/shlibs.override.libwpg b/debian/shlibs.override.libwpg
new file mode 100644 (file)
index 0000000..207ef90
--- /dev/null
@@ -0,0 +1 @@
+libwpg-0.3-lo  3
diff --git a/debian/shlibs.override.libwps b/debian/shlibs.override.libwps
new file mode 100644 (file)
index 0000000..e6b1d7c
--- /dev/null
@@ -0,0 +1 @@
+libwps-0.4-lo  4
diff --git a/debian/shlibs.override.orcus b/debian/shlibs.override.orcus
new file mode 100644 (file)
index 0000000..b6efc28
--- /dev/null
@@ -0,0 +1,2 @@
+liborcus-0.17          0
+liborcus-parser-0.17           0
diff --git a/debian/soffice.sh b/debian/soffice.sh
new file mode 100644 (file)
index 0000000..bd14b9a
--- /dev/null
@@ -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 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
new file mode 100644 (file)
index 0000000..218fcca
--- /dev/null
@@ -0,0 +1,10 @@
+debian/templates/debian-presentation.otp
+debian/templates/debian-presentation-background.xcf
+desktop/test/deployment/update/platform/linux_sparc64.oxt
+helpcontent2/source/media/screenshots/modules/simpress/ui/prntopts/pt/prntopts.png
+tarballs/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
+tarballs/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
+tarballs/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
+tarballs/pdfium-5058.tar.bz2
+tarballs/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz
+tarballs/dtoa-20180411.tgz
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644 (file)
index 0000000..87d017c
--- /dev/null
@@ -0,0 +1,43 @@
+# This *is* the code. lintian, don't assume every HTML file with long lines is generated, thanks, bye!
+libreoffice source: source-is-missing [odk/index.html]
+libreoffice source: source-is-missing [odk/docs/tools.html]
+libreoffice source: source-is-missing [odk/examples/DevelopersGuide/examples.html]
+libreoffice source: source-is-missing [odk/examples/examples.html]
+libreoffice source: source-is-missing [odk/index_online.html]
+# sw/qa/extras/htmlimport/data/PageAndParagraphFilled.html:    <meta name="generator" content="LibreOfficeDev 5.1.0.0.alpha1 (Windows)"/>
+# sw/qa/extras/htmlimport/data/inlined_image.html:     <meta name="generator" content="LibreOfficeDev 4.4.0.0.alpha0 (Linux)"/>
+# long lines due to inline base64 image
+libreoffice source: source-is-missing [sw/qa/extras/htmlimport/data/PageAndParagraphFilled.html]
+libreoffice source: source-is-missing [sw/qa/extras/htmlimport/data/inlined_image.html]
+# as above, but without generator meta tag
+libreoffice source: source-is-missing [sw/qa/extras/htmlexport/data/clearing-break.html]
+libreoffice source: source-is-missing [sw/qa/extras/htmlimport/data/image-lazy-read.html]
+libreoffice source: source-is-missing [sw/qa/extras/htmlimport/data/tdf142781.html]
+# <META NAME="GENERATOR" CONTENT="OpenOffice.org 2.3  (Linux)">
+libreoffice source: source-is-missing [sw/qa/extras/layout/data/forcepoint94.html]
+# similar, this is NOT minified.
+libreoffice source: source-is-missing [helpcontent2/help3xsl/prism.js]
+# no, it isn't. the one is always, the other is for tests (<!nocheck>)!
+libreoffice source: redundant-build-prerequisites libmwaw-dev (>= 0.3.1), libmwaw-dev (>= 0.3.21)
+# hrmpf. of course they are there
+# $ ls tarballs/*
+# tarballs/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip    tarballs/dtoa-20180411.tgz
+# tarballs/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip    tarballs/pdfium-5058.tar.bz2
+# tarballs/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip  tarballs/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz
+libreoffice source: superfluous-file-pattern tarballs/*rhino* [debian/copyright:135]
+libreoffice source: superfluous-file-pattern tarballs/*swingEx* [debian/copyright:167]
+libreoffice source: superfluous-file-pattern tarballs/*xsltml* [debian/copyright:140]
+libreoffice source: superfluous-file-pattern tarballs/dtoa* [debian/copyright:126]
+libreoffice source: superfluous-file-pattern tarballs/pdfium* [debian/copyright:173]
+libreoffice source: superfluous-file-pattern tarballs/skia* [debian/copyright:131]
+# patched in by us
+libreoffice source: superfluous-file-pattern wizards/source/access2base/access2base.html [debian/copyright:203]
+libreoffice source: source-is-missing [wizards/source/access2base/access2base.html]
+# this is 盖闻天地之数,有十二万九千六百岁为一元。(UTF-8) in GB18030 as verifiable by
+# recode GB18030..UTF-8 sw/qa/extras/txtimport/data/GB18030.txt. Thus this *is* the source
+# and not a windows binary at all.
+# Needs to be GB18030 for sw/qa/extras/txtimport/txtimport.cxx - testTdf92161_gb18030
+libreoffice source: source-contains-prebuilt-windows-binary [sw/qa/extras/txtimport/data/GB18030.txt]
+# two licenses..
+libreoffice source: duplicate-globbing-patterns helpcontent2/help3xsl/polyfills.js (lines 232 236) [debian/copyright]
+
diff --git a/debian/templates/debian-presentation-background.xcf b/debian/templates/debian-presentation-background.xcf
new file mode 100644 (file)
index 0000000..5f05232
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 (file)
index 0000000..17fe503
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 (file)
index 0000000..0f031f9
--- /dev/null
@@ -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/access2base-import b/debian/tests/access2base-import
new file mode 100755 (executable)
index 0000000..4065aef
--- /dev/null
@@ -0,0 +1,4 @@
+#!/usr/bin/python3
+
+import access2base
+print(access2base)
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644 (file)
index 0000000..ed46ce1
--- /dev/null
@@ -0,0 +1,127 @@
+Tests: testtools-bridgetest
+Depends: @builddeps@, ure
+Restrictions: allow-stderr, rw-build-tree, superficial
+
+Tests: pyuno-import, uno-import
+Depends: python3, python3-uno
+Restrictions: superficial
+
+Tests: access2base-import
+Depends: python3, python3-access2base
+Restrictions: superficial
+
+## Is there a need for this small test given we run the UI tests etc.?
+#Tests: smoketest
+#Architecture: amd64 arm64
+#Depends: @builddeps@, libreoffice-smoketest-data, libreoffice-dev, libreoffice-core, libreoffice-writer, libreoffice-calc, libreoffice-impress, libreoffice-math, libreoffice-base, libreoffice-sdbc-hsqldb, libreoffice-sdbc-firebird
+#Restrictions: allow-stderr, build-needed, rw-build-tree, 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
+Architecture: amd64 arm64 armhf i386 ppc64 ppc64el s390x
+Depends: libreoffice-core-nogui, libreoffice-common, libreoffice-java-common, libreoffice-smoketest-data, default-jdk
+Restrictions: allow-stderr, superficial, skippable
+
+Tests: test-extension-shared
+Architecture: amd64 arm64 armhf i386 ppc64 ppc64el s390x
+Depends: libreoffice-core-nogui, libreoffice-common, libreoffice-java-common, libreoffice-smoketest-data, default-jdk
+Restrictions: allow-stderr, needs-root, superficial
+
+# in the following some tests need RTL and CJK language packs installed to pass.
+# he is the example for RTL, zh-tw for CJK (and zh-tw was choosen to also test xx-YY locales)
+
+# Maybe all those tests should be merged into one (especially for the "small" ones like writerperfect or
+# "tiny" ones like sfx2,svx,cui.
+# But it already takes ~1.5 h (though including copy..) for all them to run on amd64 and the overall autopkgtest
+# test timeout is 166 min (a bit over 2.5 hrs.). What are we doing on slow archs?
+# And secondly. one might miss breakage if Java or another package is not installed but is
+# required because everything needed would be in Depends: then for one test...
+# Try to optimize a bit though by not sorting alphabetically but where the  new packages are a superset so
+# we can reuse the testbed
+
+Tests: uicheck-sfx2
+Depends: @builddeps@, libreoffice-core, libreoffice-impress, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-svx
+Depends: @builddeps@, libreoffice-core, libreoffice-impress, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-cui
+Depends: @builddeps@, libreoffice-core, libreoffice-impress, libreoffice-writer, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-sd
+Depends: @builddeps@, libreoffice-core, libreoffice-draw, libreoffice-impress, libreoffice-calc, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-writerperfect
+Depends: @builddeps@, libreoffice-core, libreoffice-writer, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-sc
+Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 mips
+Depends: @builddeps@, libreoffice-core, libreoffice-calc, libreoffice-draw, python3-uno, libreoffice-l10n-he, libreoffice-l10n-zh-tw, libreoffice-java-common, libreoffice-writer
+Restrictions: allow-stderr
+
+Tests: uicheck-sw
+Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 mips
+Depends: @builddeps@, libreoffice-core, libreoffice-writer, libreoffice-draw, libreoffice-calc, libreoffice-base, python3-uno, libreoffice-l10n-he, libreoffice-l10n-zh-tw, libreoffice-librelogo, libreoffice-java-common
+Restrictions: allow-stderr, needs-internet
+
+Tests: uicheck-uitest
+Depends: @builddeps@, libreoffice-core, libreoffice-writer, libreoffice-calc, libreoffice-impress, libreoffice-math, libreoffice-base, python3-uno, libreoffice-l10n-he, libreoffice-l10n-zh-tw
+Restrictions: allow-stderr
+
+Tests: junit-subsequentcheck
+Architecture: amd64 arm64
+Depends: @builddeps@, libreoffice-core, libreoffice-writer, libreoffice-calc, libreoffice-impress, libreoffice-math, libreoffice-base, libreoffice-subsequentcheckbase, libreoffice-sdbc-hsqldb, libreoffice-sdbc-firebird
+Restrictions: allow-stderr, skippable
+
+Test-Command: export SYSTEM_UCPP=TRUE; export DOXYGEN=`command -v 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
+Features: test-name=sdk-complete
+Depends: libreoffice-dev, libreoffice-dev-doc
+Restrictions: superficial
+
+Tests: odk-build-examples
+Architecture: amd64 arm64 armhf i386 ppc64 ppc64el s390x
+Depends: @builddeps@, libreoffice-core-nogui, libreoffice-dev, libreoffice-dev-doc, python3-uno
+Restrictions: allow-stderr, skippable
+
+Tests: odk-build-examples-java
+Architecture: amd64 arm64 armhf i386 ppc64 ppc64el s390x
+Depends: @builddeps@, libreoffice-core-nogui, libreoffice-dev, libreoffice-dev-doc, libreoffice-java-common, libofficebean-java
+Restrictions: allow-stderr, skippable
+
+#Tests: cppunit-subsequentcheck
+#Architecture: amd64 arm64
+#Depends: @builddeps@, libreoffice,libreoffice-core,libreoffice-common,libreoffice-java-common,libreoffice-writer,libreoffice-calc,libreoffice-impress,libreoffice-draw,libreoffice-math,libreoffice-base-core,libreoffice-base,libreoffice-style-breeze,libreoffice-style-colibre,libreoffice-style-sifr,libreoffice-style-elementary,libreoffice-style-karasa-jaga,libreoffice-style-sukapura,libreoffice-gnome,python3-uno,libreoffice-script-provider-python,libreoffice-script-provider-bsh,libreoffice-script-provider-js,libreoffice-sdbc-hsqldb,libreoffice-sdbc-mysql,libreoffice-base-drivers,python3-access2base,libofficebean-java,uno-libs-private,libuno-sal3,libuno-cppu3,ure,ure-java,libunoloader-java,liblibreoffice-java,libreoffice-wiki-publisher,libreoffice-report-builder,libreoffice-report-builder-bin,libreoffice-nlpsolver,fonts-opensymbol,libreoffice-dev,libreoffice-dev-gui,libreoffice-dev-common,libreofficekit-dev,libreoffice-gtk3,gir1.2-lokdocview-0.1,liblibreofficekitgtk,libreofficekit-data,libreoffice-kf5,libreoffice-qt5,libreoffice-plasma,libreoffice-sdbc-postgresql,libreoffice-evolution,libreoffice-subsequentcheckbase,libreoffice-smoketest-data,libreoffice-librelogo,libreoffice-sdbc-firebird
+#Restrictions: build-needed, rw-build-tree, allow-stderr
+#
+## Those tests even work when there is no /usr/lib/libreoffice there in any way. @builddeps@ is enough.
+## That strictly violates the autopkgtest stuff thus mark them as superficial. But if a library
+## or whatever update broke it we should know
+#Tests: slowcheck
+#Architecture: amd64 arm64
+##Depends: @builddeps@, libreoffice,libreoffice-core,libreoffice-common,libreoffice-java-common,libreoffice-writer,libreoffice-calc,libreoffice-impress,libreoffice-draw,libreoffice-math,libreoffice-base-core,libreoffice-base,libreoffice-style-breeze,libreoffice-style-colibre,libreoffice-style-sifr,libreoffice-style-elementary,libreoffice-style-karasa-jaga,libreoffice-style-sukapura,libreoffice-gnome,python3-uno,libreoffice-script-provider-python,libreoffice-script-provider-bsh,libreoffice-script-provider-js,libreoffice-sdbc-hsqldb,libreoffice-sdbc-mysql,libreoffice-base-drivers,python3-access2base,libofficebean-java,uno-libs-private,libuno-sal3,libuno-cppu3,ure,ure-java,libunoloader-java,liblibreoffice-java,libreoffice-wiki-publisher,libreoffice-report-builder,libreoffice-report-builder-bin,libreoffice-nlpsolver,fonts-opensymbol,libreoffice-dev,libreoffice-dev-gui,libreoffice-dev-common,libreofficekit-dev,libreoffice-gtk3,gir1.2-lokdocview-0.1,liblibreofficekitgtk,libreofficekit-data,libreoffice-kf5,libreoffice-qt5,libreoffice-plasma,libreoffice-sdbc-postgresql,libreoffice-evolution,libreoffice-subsequentcheckbase,libreoffice-smoketest-data,libreoffice-librelogo,libreoffice-sdbc-firebird
+#Restrictions: build-needed, rw-build-tree, allow-stderr, superficial
+#
+#Tests: unitcheck
+#Architecture: amd64 arm64
+#Depends: @builddeps@, libreoffice,libreoffice-core,libreoffice-common,libreoffice-java-common,libreoffice-writer,libreoffice-calc,libreoffice-impress,libreoffice-draw,libreoffice-math,libreoffice-base-core,libreoffice-base,libreoffice-style-breeze,libreoffice-style-colibre,libreoffice-style-sifr,libreoffice-style-elementary,libreoffice-style-karasa-jaga,libreoffice-style-sukapura,libreoffice-gnome,python3-uno,libreoffice-script-provider-python,libreoffice-script-provider-bsh,libreoffice-script-provider-js,libreoffice-sdbc-hsqldb,libreoffice-sdbc-mysql,libreoffice-base-drivers,python3-access2base,libofficebean-java,uno-libs-private,libuno-sal3,libuno-cppu3,ure,ure-java,libunoloader-java,liblibreoffice-java,libreoffice-wiki-publisher,libreoffice-report-builder,libreoffice-report-builder-bin,libreoffice-nlpsolver,fonts-opensymbol,libreoffice-dev,libreoffice-dev-gui,libreoffice-dev-common,libreofficekit-dev,libreoffice-gtk3,gir1.2-lokdocview-0.1,liblibreofficekitgtk,libreofficekit-data,libreoffice-kf5,libreoffice-qt5,libreoffice-plasma,libreoffice-sdbc-postgresql,libreoffice-evolution,libreoffice-subsequentcheckbase,libreoffice-smoketest-data,libreoffice-librelogo,libreoffice-sdbc-firebird
+#Restrictions: build-needed, rw-build-tree, allow-stderr, superficial, skippable
+
+Test-Command: for i in /etc/apparmor.d/usr.lib.libreoffice.program.*; do /sbin/apparmor_parser --add --skip-cache --skip-kernel-load $i; done
+Features: test-name=apparmor-profiles-syntax-check
+Depends: libreoffice-common, apparmor
+Restrictions: allow-stderr, superficial
+
+## This one tests real connection to a MySQL and works by symlinking that one
+## specific library to the one in libreoffice-sdbc-mysql
+## Should probably always be last due to breaks-testbed?
+#Tests: cppunit-connectivity-mysql
+#Architecture: amd64 arm64
+#Depends: @builddeps@, pwgen, libreoffice-sdbc-mysql, libreoffice-core, default-mysql-server, default-mysql-client
+#Restrictions: build-needed, allow-stderr, needs-root, isolation-container, breaks-testbed, superficial
diff --git a/debian/tests/control.in b/debian/tests/control.in
new file mode 100644 (file)
index 0000000..18e191b
--- /dev/null
@@ -0,0 +1,127 @@
+Tests: testtools-bridgetest
+Depends: @builddeps@, ure
+Restrictions: allow-stderr, rw-build-tree, superficial
+
+Tests: pyuno-import, uno-import
+Depends: python3, python3-uno
+Restrictions: superficial
+
+Tests: access2base-import
+Depends: python3, python3-access2base
+Restrictions: superficial
+
+## Is there a need for this small test given we run the UI tests etc.?
+#Tests: smoketest
+#Architecture: %OOO_CHECK_FATAL_ARCHS%
+#Depends: @builddeps@, libreoffice-smoketest-data, libreoffice-dev, libreoffice-core, libreoffice-writer, libreoffice-calc, libreoffice-impress, libreoffice-math, libreoffice-base, libreoffice-sdbc-hsqldb, libreoffice-sdbc-firebird
+#Restrictions: allow-stderr, build-needed, rw-build-tree, 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
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: libreoffice-core-nogui, libreoffice-common, libreoffice-java-common, libreoffice-smoketest-data, default-jdk
+Restrictions: allow-stderr, superficial, skippable
+
+Tests: test-extension-shared
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: libreoffice-core-nogui, libreoffice-common, libreoffice-java-common, libreoffice-smoketest-data, default-jdk
+Restrictions: allow-stderr, needs-root, superficial
+
+# in the following some tests need RTL and CJK language packs installed to pass.
+# he is the example for RTL, zh-tw for CJK (and zh-tw was choosen to also test xx-YY locales)
+
+# Maybe all those tests should be merged into one (especially for the "small" ones like writerperfect or
+# "tiny" ones like sfx2,svx,cui.
+# But it already takes ~1.5 h (though including copy..) for all them to run on amd64 and the overall autopkgtest
+# test timeout is 166 min (a bit over 2.5 hrs.). What are we doing on slow archs?
+# And secondly. one might miss breakage if Java or another package is not installed but is
+# required because everything needed would be in Depends: then for one test...
+# Try to optimize a bit though by not sorting alphabetically but where the  new packages are a superset so
+# we can reuse the testbed
+
+Tests: uicheck-sfx2
+Depends: @builddeps@, libreoffice-core, libreoffice-impress, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-svx
+Depends: @builddeps@, libreoffice-core, libreoffice-impress, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-cui
+Depends: @builddeps@, libreoffice-core, libreoffice-impress, libreoffice-writer, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-sd
+Depends: @builddeps@, libreoffice-core, libreoffice-draw, libreoffice-impress, libreoffice-calc, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-writerperfect
+Depends: @builddeps@, libreoffice-core, libreoffice-writer, python3-uno
+Restrictions: allow-stderr
+
+Tests: uicheck-sc
+Architecture: %OOO_JAVA_ARCHS%
+Depends: @builddeps@, libreoffice-core, libreoffice-calc, libreoffice-draw, python3-uno, libreoffice-l10n-he, libreoffice-l10n-zh-tw, libreoffice-java-common, libreoffice-writer
+Restrictions: allow-stderr
+
+Tests: uicheck-sw
+Architecture: %OOO_JAVA_ARCHS%
+Depends: @builddeps@, libreoffice-core, libreoffice-writer, libreoffice-draw, libreoffice-calc, libreoffice-base, python3-uno, libreoffice-l10n-he, libreoffice-l10n-zh-tw, libreoffice-librelogo, libreoffice-java-common
+Restrictions: allow-stderr, needs-internet
+
+Tests: uicheck-uitest
+Depends: @builddeps@, libreoffice-core, libreoffice-writer, libreoffice-calc, libreoffice-impress, libreoffice-math, libreoffice-base, python3-uno, libreoffice-l10n-he, libreoffice-l10n-zh-tw
+Restrictions: allow-stderr
+
+Tests: junit-subsequentcheck
+Architecture: %OOO_JUNIT_ARCHS%
+Depends: @builddeps@, libreoffice-core, libreoffice-writer, libreoffice-calc, libreoffice-impress, libreoffice-math, libreoffice-base, libreoffice-subsequentcheckbase, libreoffice-sdbc-hsqldb, libreoffice-sdbc-firebird
+Restrictions: allow-stderr, skippable
+
+Test-Command: export SYSTEM_UCPP=TRUE; export DOXYGEN=`command -v 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
+Features: test-name=sdk-complete
+Depends: libreoffice-dev, libreoffice-dev-doc
+Restrictions: superficial
+
+Tests: odk-build-examples
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: @builddeps@, libreoffice-core-nogui, libreoffice-dev, libreoffice-dev-doc, python3-uno
+Restrictions: allow-stderr, skippable
+
+Tests: odk-build-examples-java
+Architecture: %OOO_NOGUI_ARCHS%
+Depends: @builddeps@, libreoffice-core-nogui, libreoffice-dev, libreoffice-dev-doc, libreoffice-java-common, libofficebean-java
+Restrictions: allow-stderr, skippable
+
+#Tests: cppunit-subsequentcheck
+#Architecture: %OOO_CHECK_FATAL_ARCHS%
+#Depends: @builddeps@, %AUTOPKGTEST_CPPUNIT_PACKAGES%
+#Restrictions: build-needed, rw-build-tree, allow-stderr
+#
+## Those tests even work when there is no /usr/lib/libreoffice there in any way. @builddeps@ is enough.
+## That strictly violates the autopkgtest stuff thus mark them as superficial. But if a library
+## or whatever update broke it we should know
+#Tests: slowcheck
+#Architecture: %OOO_CHECK_FATAL_ARCHS%
+##Depends: @builddeps@, %AUTOPKGTEST_CPPUNIT_PACKAGES%
+#Restrictions: build-needed, rw-build-tree, allow-stderr, superficial
+#
+#Tests: unitcheck
+#Architecture: %OOO_CHECK_FATAL_ARCHS%
+#Depends: @builddeps@, %AUTOPKGTEST_CPPUNIT_PACKAGES%
+#Restrictions: build-needed, rw-build-tree, allow-stderr, superficial, skippable
+
+Test-Command: for i in /etc/apparmor.d/usr.lib.libreoffice.program.*; do /sbin/apparmor_parser --add --skip-cache --skip-kernel-load $i; done
+Features: test-name=apparmor-profiles-syntax-check
+Depends: libreoffice-common, apparmor
+Restrictions: allow-stderr, superficial
+
+## This one tests real connection to a MySQL and works by symlinking that one
+## specific library to the one in libreoffice-sdbc-mysql
+## Should probably always be last due to breaks-testbed?
+#Tests: cppunit-connectivity-mysql
+#Architecture: %OOO_CHECK_FATAL_ARCHS%
+#Depends: @builddeps@, pwgen, libreoffice-sdbc-mysql, libreoffice-core, default-mysql-server, default-mysql-client
+#Restrictions: build-needed, allow-stderr, needs-root, isolation-container, breaks-testbed, superficial
diff --git a/debian/tests/cppunit-connectivity-mysql b/debian/tests/cppunit-connectivity-mysql
new file mode 100755 (executable)
index 0000000..ba77d88
--- /dev/null
@@ -0,0 +1,121 @@
+#!/bin/bash
+
+# autopkgtest check: Run the connectivity "mysql" test
+#                    and prepare the db needed beforehand
+# (c) 2021 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+SRCDIR=`pwd`
+CHECK_PARALLELISM=1
+if [ -n "$AUTOPKGTEST_TMP" ]; then
+        WORKDIR=`mktemp -q -d -p $AUTOPKGTEST_TMP`
+else
+        WORKDIR=`mktemp -q -d`
+fi
+
+if [ -x /usr/bin/mariadbd-safe ]; then
+       db=mariadb
+       db_safe_command=mariadbd-safe
+       db_rundir=/run/mysqld
+else
+       db=mysql
+       db_safe_command=mysqld_safe
+       db_rundir=/var/run/mysqld
+fi
+db_user=root
+db_pw=`pwgen -1`
+db_name=test
+db_host=localhost
+db_port=3306
+db_conn_string="$db_user/$db_pw@sdbc:mysql:mysqlc:$db_host:$db_port/$db_name"
+
+trap "cleanup" ERR
+
+function cleanup() {
+       stop_db
+}
+
+function stop_db() {
+       service $db stop || true
+       # in case we are trying in a chroot without running autopkgtest for "quick" testing
+       if ischroot && test -f $db_rundir/mysqld.pid; then
+               kill `cat $db_rundir/mysqld.pid`
+       fi
+}
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+echo "====== Resetting $db_user password ======"
+$db_safe_command --skip-grant-tables &
+sleep 5 # wait for startup
+if test "$db" = "mariadb"; then
+       echo "FLUSH PRIVILEGES; SET PASSWORD FOR '$db_user'@'localhost' = PASSWORD('$db_pw');" | \
+               $db -v -u $db_user mysql
+else
+       echo "SET PASSWORD FOR '$db_user'@'localhost' = '$db_pw'; FLUSH PRIVILEGES;" | \
+               $db -v -u $db_user mysql
+fi
+
+stop_db
+
+service $db start
+
+set -e
+
+echo
+echo "====== Creating database "test" ======"
+echo "DROP DATABASE IF EXISTS $db_name; CREATE DATABASE $db_name;" | \
+        $db -v -u $db_user mysql
+
+# ensure we use the version from the package
+echo
+echo "====== Symlinking libraries... ======"
+#rene@frodo:~/LibreOffice/git/master$ objdump -p instdir/program/libmysqlclo.so | grep NEED
+#  NEEDED               libmariadb.so.3
+#  NEEDED               libuno_cppu.so.3
+#  NEEDED               libdbtoolslo.so
+#  NEEDED               libuno_sal.so.3
+#  NEEDED               libuno_salhelpergcc3.so.3
+#  NEEDED               libcomphelper.so
+#  NEEDED               libuno_cppuhelpergcc3.so.3
+#  NEEDED               libstdc++.so.6
+#  NEEDED               libm.so.6
+#  NEEDED               libgcc_s.so.1
+#  NEEDED               libpthread.so.0
+#  NEEDED               libc.so.6
+#  VERNEED              0x0000000000004b28
+#  VERNEEDNUM           0x0000000000000007
+cd $SRCDIR/instdir/program
+LIBS="libuno_cppu.so.3 libuno_sal.so.3 libuno_salhelpergcc3.so.3 libuno_cppuhelpergcc3.so.3 libmysqlclo.so"
+# FIXME: libdbtoolslo.so and libcomphelper.so are in libmerged.so with enable-mergelibs, thus do not
+# exist on 64bit...
+# Maybe until then this test shall only be run on 32bit?
+if [ "`dpkg-architecture -qDEB_HOST_ARCH_BITS`" = "32" ]; then
+       LIBS="$LIBS libdbtoolslo.so libcomphelper.so"
+       # done below
+else
+       LIBS="$LIBS libmergedlo.so"
+       ln -svf /usr/lib/libreoffice/program/libmergedlo.so libdbtoolslo.so
+       # DOESN'T WORK, CAUSES LINK ERROR
+       #ln -svf /usr/lib/libreoffice/program/libmergedlo.so libcomphelper.so
+fi
+for i in $LIBS; do \
+       ln -svf /usr/lib/libreoffice/program/$i; \
+done
+
+echo
+echo "====== Starting MySQL Test with ${CHECK_PARALLELISM} job ======"
+cd $SRCDIR/connectivity && \
+make -rj$CHECK_PARALLELISM CppunitTest_connectivity_mysql_test \
+       CONNECTIVITY_TEST_MYSQL_DRIVER="$db_conn_string" \
+       verbose=t || exit 1
+
+echo
+echo "====== Dropping database "test" ======"
+echo "DROP DATABASE test;" | \
+        $db -v -u $db_user mysql
+
+cleanup
diff --git a/debian/tests/cppunit-subsequentcheck b/debian/tests/cppunit-subsequentcheck
new file mode 100755 (executable)
index 0000000..d0cc94a
--- /dev/null
@@ -0,0 +1,183 @@
+#!/bin/bash
+# autopkgtest check: Run junit base tests against an installed version of LibreOffice
+# (c) 2021 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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() {
+        cd $SRCDIR
+        echo
+        echo "====== Unapplying the patches ======"
+        patch -p1 -R < ./debian/tests/patches/cppunit-standalone.diff
+}
+
+trap "unapply" ERR
+
+echo
+echo "====== Patching the tree to only build the unittests against an existing installation ======"
+patch -p1 < ./debian/tests/patches/cppunit-standalone.diff
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+echo
+echo "====== Starting subsequentcheck with ${CHECK_PARALLELISM} job ======"
+
+# hack, otherwise it fails
+mkdir -p $SRCDIR/instdir/program/.dir
+mkdir -p $SRCDIR/instdir/program/services/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/simpress/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/schart/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/schart/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/schart/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/schart/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/schart/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/schart/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/dbaccess/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbapp/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbapp/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbapp/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbapp/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbbrowser/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbbrowser/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbbrowser/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbquery/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbquery/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbrelation/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbrelation/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbtable/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbtable/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbtdata/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbtdata/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/dbtdata/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sabpilot/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sbibliography/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sbibliography/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/scanner/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/spropctrlr/ui/.dir
+
+mkdir -p $SRCDIR/instdir/share/dtd/officedocument/1_0/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/StartModule/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/program/opencl/.dir
+
+mkdir -p $SRCDIR/instdir/share/calc/.dir 
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/scalc/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/scalc/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/scalc/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/scalc/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/scalc/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/simpress/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/webcast/.dir
+mkdir -p $SRCDIR/instdir/share/config/wizard/web/buttons/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sdraw/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sdraw/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sdraw/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sdraw/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sdraw/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/classification/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/sfx/ui/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/smath/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/smath/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/smath/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/smath/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/smath/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/svt/ui/.dir 
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/svx/ui/.dir 
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sglobal/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sglobal/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sglobal/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sglobal/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sweb/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sweb/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sweb/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/sweb/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swform/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swform/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swform/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swform/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swreport/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swreport/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swreport/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swreport/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swriter/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swriter/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swriter/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swriter/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swriter/menubar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swxform/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swxform/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swxform/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/swxform/menubar/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/xmlsec/ui/.dir
+
+mkdir -p $SRCDIR/instdir/share/registry/.dir
+mkdir -p $SRCDIR/instdir/share/registry/res/.dir
+
+mkdir -p $SRCDIR/instdir/share/emojiconfig/.dir
+
+cd $SRCDIR/instdir/program/resource && \
+       for i in `ls -1 | grep -v common`; do touch $i/LC_MESSAGES/.dir;  done
+
+cd $SRCDIR
+
+# all modules containing subsequent(test|check).
+# Filter out:
+# - odk: already tested by odk-build-examples and odk/util/check.pl
+# - the junit tests - which are ran in an own test - by setting OOO_JUNIT_JAR to nothing (as --without-junit would do)
+# - solenv: no need to test gbuild2json...
+# - smoketest: done in the smoketest test
+export PARALLELISM=$CHECK_PARALLELISM
+for i in `grep subsequent */*.mk | cut -d"/" -f1 | grep -E -v '(odk|smoketest|solenv)' | sort | uniq | xargs`; do
+       echo
+       echo "====== Running subsequentcheck in module $i ======"; \
+       cd $i && \
+       make -rk subsequentcheck \
+               OOO_JUNIT_JAR= \
+               INSTDIR=/usr/lib/libreoffice \
+               verbose=t; \
+       cd ..;\
+done
+
+unapply
+
diff --git a/debian/tests/junit-subsequentcheck b/debian/tests/junit-subsequentcheck
new file mode 100755 (executable)
index 0000000..2829f3c
--- /dev/null
@@ -0,0 +1,64 @@
+#!/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 <bjoern.michaelsen@canonical.com>
+#          Rene Engelhard <rene@debian.org>
+
+set -e
+set -E
+
+# skip on Zero using architectures
+if java -version 2>&1 | grep -q Zero; then
+       echo "Zero-using architecture. Skipping."
+       exit 77
+fi
+
+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/junit-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/junit-subsequentcheck-standalone.diff
+
+if [ ! -f config_host.mk ]; then
+       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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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 (executable)
index 0000000..6a8e522
--- /dev/null
@@ -0,0 +1,50 @@
+#!/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 <rene@debian.org>
+
+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
+
+# skip if building as root:
+# unopkg errors out with "ERROR: Cannot run unopkg as root without --shared or --bundled option."
+# if ran as root
+if [ `id -u` = "0" ]; then
+        exit 77
+fi
+
+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
+
+if [ ! -f config_host.mk ]; then
+       echo
+       echo "====== Generating configuration ======="
+       rm -f config_host.mk
+       ./debian/rules config_host.mk
+fi
+
+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 verbose=t
+
+unapply
+
diff --git a/debian/tests/odk-build-examples-java b/debian/tests/odk-build-examples-java
new file mode 100755 (executable)
index 0000000..95d00d5
--- /dev/null
@@ -0,0 +1,56 @@
+#!/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 <rene@debian.org>
+
+set -e
+set -E
+
+# skip on Zero using architectures
+if java -version 2>&1 | grep -q Zero; then
+        echo "Zero-using architecture. Skipping."
+        exit 77
+fi
+
+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
+
+# skip if building as root:
+# unopkg errors out with "ERROR: Cannot run unopkg as root without --shared or --bundled option."
+# if ran as root
+if [ `id -u` = "0" ]; then
+        exit 77
+fi
+
+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
+
+if [ ! -f config_host.mk ]; then
+       echo
+       echo "====== Generating configuration ======="
+       rm -f config_host.mk
+       ./debian/rules config_host.mk
+fi
+
+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_java verbose=t
+
+unapply
+
diff --git a/debian/tests/patches/cppunit-standalone.diff b/debian/tests/patches/cppunit-standalone.diff
new file mode 100644 (file)
index 0000000..267b104
--- /dev/null
@@ -0,0 +1,15 @@
+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/disable-db-tests.diff b/debian/tests/patches/disable-db-tests.diff
new file mode 100644 (file)
index 0000000..7d148b9
--- /dev/null
@@ -0,0 +1,130 @@
+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 = &quot;Database Service&quot;
+ const cMessageDatabaseOpen = &quot;Open Database&quot;
+-const cMessageDatabaseInsert = &quot;Insert record into Database&quot;
+-const cMessageDatabaseDelete = &quot;Delete record from Database&quot;
+-const cMessageDatabaseSeek = &quot;Read other record from Database&quot;
+ const cMessageDatabaseClose = &quot;Close Database&quot;
+ Sub TestDB
+@@ -81,48 +78,6 @@
+         LogTestResult( &quot;Database &quot;+ cMessageDatabaseService, TRUE )
+     End If
+-    gCurrentTestCase = cDBInsert
+-    sCurrentMessage = cMessageDatabaseInsert
+-
+-    oRowSet.ActiveConnection = oDBConnection
+-
+-    oRowSet.CommandType = com.sun.star.sdb.CommandType.COMMAND
+-    oRowSet.Command = &quot;SELECT * FROM &quot; + sTable
+-    oRowSet.execute()
+-
+-    oRowSet.moveToInsertRow
+-    oRowSet.updateString(5, sTestString)
+-
+-    oRowSet.insertRow()
+-    nRowCount=oRowSet.RowCount
+-
+-    oRowSet.moveToCurrentRow()
+-
+-    bResult = (oRowSet.getString(5) = sTestString)
+-    LogTestResult( &quot;Database &quot;+ cMessageDatabaseInsert, bResult )
+-
+-    &apos;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( &quot;Database &quot;+ cMessageDatabaseDelete, bResult )
+-    End If
+-
+-    &apos; read other record
+-
+-    gCurrentTestCase = cDBSeek
+-    sCurrentMessage = cMessageDatabaseSeek
+-    oRowSet.first()
+-    bResult = not (oRowSet.getString(5) = sTestString)
+-    LogTestResult( &quot;Database &quot;+ cMessageDatabaseSeek, bResult )
+-
+     gCurrentTestCase = cDBClose
+     sCurrentMessage = cMessageDatabaseClose
+     oDBConnection.Dispose()
+diff --git a/dbaccess/Module_dbaccess.mk b/dbaccess/Module_dbaccess.mk
+index 204854748ec1..992ae1ed17c2 100644
+--- a/dbaccess/Module_dbaccess.mk
++++ b/dbaccess/Module_dbaccess.mk
+@@ -32,63 +32,11 @@ $(eval $(call gb_Module_add_l10n_targets,dbaccess,\
+       AllLangMoTarget_dba \
+ ))
+-ifneq ($(OS),iOS)
+-ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
+-# remove if we have a be file for this
+-ifeq ($(ENDIANNESS),little)
+-$(eval $(call gb_Module_add_check_targets,dbaccess,\
+-    CppunitTest_dbaccess_firebird_regression_test \
+-))
+-endif
+-$(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 \
+-      CppunitTest_dbaccess_hsqlschema_import \
+-))
+-
+-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 \
+ ))
+-endif
+ endif
+ # vim: set noet sw=4 ts=4:
diff --git a/debian/tests/patches/junit-subsequentcheck-standalone.diff b/debian/tests/patches/junit-subsequentcheck-standalone.diff
new file mode 100644 (file)
index 0000000..ec38c96
--- /dev/null
@@ -0,0 +1,139 @@
+From fef2f669c1e861c685d22c18319514cec9f9f8c3 Mon Sep 17 00:00:00 2001
+From: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
+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
+
+diff --git a/ridljar/Module_ridljar.mk b/ridljar/Module_ridljar.mk
+index daa0f1835be7..c4186e900a87 100644
+--- a/ridljar/Module_ridljar.mk
++++ b/ridljar/Module_ridljar.mk
+@@ -16,7 +16,7 @@ $(eval $(call gb_Module_add_targets,ridljar,\
+     Jar_unoloader \
+ ))
+-$(eval $(call gb_Module_add_check_targets,ridljar,\
++#$(eval $(call gb_Module_add_check_targets,ridljar,\
+     CustomTarget_test_urp \
+     InternalUnoApi_test_urp \
+     JunitTest_bridgefactory \
+diff --git a/postprocess/Module_postprocess.mk b/postprocess/Module_postprocess.mk
+index 0fbede6a9f2b..4c3abc52747c 100644
+--- a/postprocess/Module_postprocess.mk
++++ b/postprocess/Module_postprocess.mk
+@@ -12,19 +12,19 @@ $(eval $(call gb_Module_Module,postprocess))
+ # 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,\
+     $(if $(ENABLE_CUSTOMTARGET_COMPONENTS),CustomTarget_components) \
+       CustomTarget_registry \
+       Rdb_services \
+-))
+-ifeq ($(gb_Side),host)
+-$(eval $(call gb_Module_add_targets,postprocess,\
++#))
++#ifeq ($(gb_Side),host)
++#$(eval $(call gb_Module_add_targets,postprocess,\
+       CustomTarget_images \
+       Package_images \
+-))
+-endif
++#))
++#endif
+-$(eval $(call gb_Module_add_l10n_targets,postprocess,\
++#$(eval $(call gb_Module_add_l10n_targets,postprocess,\
+       Package_registry \
+ ))
+diff --git a/solenv/gbuild/JavaClassSet.mk b/solenv/gbuild/JavaClassSet.mk
+index cff4299bf06e..76765351abdd 100644
+--- a/solenv/gbuild/JavaClassSet.mk
++++ b/solenv/gbuild/JavaClassSet.mk
+@@ -46,7 +46,7 @@ $(call gb_Helper_abbreviate_dirs,\
+                       $(filter-out $(JARDEPS) $(T_JAVA9FILES),$(4))) && \
+               $(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,$(JAVA_TARGET_VER)) \
+                       $(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))$(gb_CLASSPATHSEP)$(shell echo $(wildcard /usr/lib/libreoffice/program/classes/*.jar) | sed -e s/\ /:/g)" \
+                       -d $(call gb_JavaClassSet_get_classdir,$(2)) \
+                       @$$RESPONSEFILE &&) \
+               rm -f $$RESPONSEFILE &&) \
+@@ -55,7 +55,7 @@ $(call gb_Helper_abbreviate_dirs,\
+                               $(T_JAVA9FILES)) && \
+                       $(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,9) \
+                               $(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))$(gb_CLASSPATHSEP)$(shell echo $(wildcard /usr/lib/libreoffice/program/classes/*.jar) | sed -e s/\ /:/g)" \
+                               --module-path "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
+                               $(if $(T_MODULENAME),--patch-module $(T_MODULENAME)="$(subst $(WHITESPACE),$(gb_CLASSPATHSEP),$(strip $(dir $(PACKAGEDIRS))))") \
+                               -d $(call gb_JavaClassSet_get_classdir,$(2)) \
+--- a/solenv/gbuild/JunitTest.mk
++++ b/solenv/gbuild/JunitTest.mk
+@@ -55,7 +55,7 @@ $(call gb_JunitTest_get_target,%) :
+ endif
+ 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)$(INSTROOT)/$(LIBO_URE_LIB_FOLDER)$(gb_CLASSPATHSEP)$(shell echo $(wildcard /usr/lib/libreoffice/program/classes/*.jar) | sed -e s/\ /:/g)
+ $(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:
diff --git a/debian/tests/patches/odk-build-examples-standalone.diff b/debian/tests/patches/odk-build-examples-standalone.diff
new file mode 100644 (file)
index 0000000..7cb231b
--- /dev/null
@@ -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
+@@ -45,7 +45,7 @@ else
+       && 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 -j1 \
+                       CC="$(CXX)" LINK="$(CXX)" LIB="$(CXX)" \
+                   $(if $(MACOSX_SHELL_HACK), SHELL="$$$$ODK_BUILD_SHELL", ))) \
+@@ -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 (file)
index 0000000..0b5ee3b
--- /dev/null
@@ -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 @@
+ <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+ <script:module xmlns:script="http://openoffice.org/2000/script" script:name="Test_Ext" script:language="StarBasic">REM  *****  BASIC  *****
+-const cMessageExtensionService = &quot;Extension Service&quot;
+-const cMessageExtensionInstall = &quot;Install Extension&quot;
+-const cMessageExtensionUninstall = &quot;Uninstall Extension&quot;
+-
+ 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 + &quot;$_TestExtension&quot;
+-
+-    On Local Error GoTo EXTERROR
+
+     gCurrentTestCase = cLogfileFailed
+     LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest))
+@@ -35,74 +35,5 @@
+     gCurrentTestCase = cLogfileFailed
+     LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest))
+-    sCurrentMessage = &quot;SmokeTestCommandEnvironment (implemented in Java)&quot;
+-    gCurrentTestCase = cEXTService
+-
+-    &apos;Create an implementation of com.sun.star.ucb.XCommandEnvironment which is needed for
+-    &apos;adding the extension. The implementation is in
+-    &apos;smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java and the code is in smoketest.jar
+-    cmdEnv = createUnoService(cUnoSmoketestCommandEnvironment)
+-
+-    &apos;Create the component context and then get the singleton ExtensionManager
+-    &apos;A singleton cannot be created with createUnoService
+-    sCurrentMessage = cMessageExtensionService
+-    ctx = getDefaultContext
+-    ext_mgr = ctx.getValueByName(&quot;/singletons/&quot; + cExtensionManager)
+-
+-    LogTestResult( &quot;Extension &quot;+ cMessageExtensionService, not IsNull (ext_mgr) )
+-    if (IsNull(ext_mgr)) then
+-        Close #LocalTestLog%
+-        LocalTestLog = 0
+-        Exit Sub
+-    End If
+-
+-    sCurrentMessage = cMessageExtensionInstall
+-    gCurrentTestCase = cEXTInstall
+-
+-    &apos;Add the extension. We must provide a file URL here.
+-    &apos;By passing &quot;user&quot; we determine that the actions we perform on
+-    &apos;XExtensionManager only affect the user installation. To modify the share installation one would pass &quot;share&quot;.
+-
+-    Dim props() as Object
+-    ext_mgr.addExtension(sExtensionURL, props, &quot;user&quot;, obj_null, cmdEnv)
+-
+-    &apos;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( &quot;Extension &quot;+ cMessageExtensionInstall, bResult )
+-    if (not bResult) then
+-        Close #LocalTestLog%
+-        LocalTestLog = 0
+-        Exit Sub
+-    End If
+-
+-    sCurrentMessage = cMessageExtensionUninstall
+-    gCurrentTestCase = cEXTUninstall
+-
+-    &apos;Remove the package
+-    ext_mgr.removeExtension(&quot;org.libreoffice.smoketest.TestExtension&quot;, cExtensionFileName, &quot;user&quot;,obj_null, cmdEnv)
+-
+-    &apos;Try to create the service which is contained in the now removed extension.
+-    oTestExtension = createUnoService(cUnoSmoketestTestExtension)
+-
+-    &apos;The service must not be available anymore. Therefore isNull must return true.
+-    LogTestResult( &quot;Extension &quot;+ cMessageExtensionUninstall, IsNull (oTestExtension) )
+-
+-    Print #LocalTestLog, &quot;---&quot;
+-    Close #LocalTestLog%
+-    LocalTestLog = 0
+-    Exit Sub &apos; Without error
+-
+-    EXTERROR:
+-    If ( gCurrentTestCase = cLogfileFailed ) then
+-        LogTestResult( &quot; &quot;, False )
+-        Exit Sub
+-    else
+-        LogTestResult( &quot;Extension &quot;+ sCurrentMessage, False )
+-        Close #LocalTestLog%
+-        LocalTestLog = 0
+-    End If
+-    Exit Sub &apos; With error
+-
+ End Sub
+ </script:module>
diff --git a/debian/tests/patches/smoketest-standalone.diff b/debian/tests/patches/smoketest-standalone.diff
new file mode 100644 (file)
index 0000000..e236b94
--- /dev/null
@@ -0,0 +1,17 @@
+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/debian/tests/patches/testtools-standalone.diff b/debian/tests/patches/testtools-standalone.diff
new file mode 100644 (file)
index 0000000..a6fd5dd
--- /dev/null
@@ -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_Trace_StartRange,$(subst $(WORKDIR)/,,$@),ECH)
+       $(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_Trace_StartRange,$(subst $(WORKDIR)/,,$@),ECH)
+       $(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_Trace_StartRange,$(subst $(WORKDIR)/,,$@),ECH)
+       $(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 (file)
index 0000000..f33556e
--- /dev/null
@@ -0,0 +1,69 @@
+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 $(ENABLE_WERROR),PYTHONWARNINGS=error) \
+@@ -95,7 +95,6 @@ define gb_UITest_UITest
+ $(call gb_UITest_get_target,$(1)) : PYPATH := $(SRCDIR)/uitest$$(gb_CLASSPATHSEP)$(SRCDIR)/unotest/source/python$$(gb_CLASSPATHSEP)$(INSTROOT)/$(LIBO_LIB_PYUNO_FOLDER)$(if $(filter-out $(LIBO_LIB_PYUNO_FOLDER),$(LIBO_LIB_FOLDER)),$(gb_CLASSPATHSEP)$(INSTROOT)/$(LIBO_LIB_FOLDER))
+ $(call gb_UITest_get_target,$(1)) : MODULES :=
+-$(eval $(call gb_TestHelpers_use_more_fonts,$(call gb_UITest_get_target,$(1))))
+ $(eval $(call gb_Module_register_target,$(call gb_UITest_get_target,$(1)),$(call gb_UITest_get_clean_target,$(1))))
+ $(call gb_Helper_make_userfriendly_targets,$(1),UITest)
+-- 
+2.20.1
+
+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 (executable)
index 0000000..9820a90
--- /dev/null
@@ -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/slowcheck b/debian/tests/slowcheck
new file mode 100755 (executable)
index 0000000..04e8573
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/bash
+# autopkgtest check: Run junit base tests against an installed version of LibreOffice
+# (c) 2021 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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() {
+        cd $SRCDIR
+        echo
+        echo "====== Unapplying the patches ======"
+        patch -p1 -R < ./debian/tests/patches/cppunit-standalone.diff
+}
+
+trap "unapply" ERR
+
+echo
+echo "====== Patching the tree to only build the unittests against an existing installation ======"
+patch -p1 < ./debian/tests/patches/cppunit-standalone.diff
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+echo
+echo "====== Starting slowcheck with ${CHECK_PARALLELISM} job ======"
+
+# hack, otherwise it fails
+mkdir -p $SRCDIR/instdir/program/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/simpress/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/popupmenu/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/statusbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/toolbar/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/ui/.dir
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/modules/simpress/menubar/.dir
+
+# all modules containing slowcheck
+export PARALLELISM=$CHECK_PARALLELISM
+for i in `grep slowcheck */*.mk | cut -d"/" -f1 | sort | uniq | xargs`; do
+       echo
+       echo "====== Running slowcheck in module $i ======"; \
+       cd $i && \
+       make -rk slowcheck \
+               INSTDIR=/usr/lib/libreoffice \
+               verbose=t; \
+       cd ..;\
+done
+
+unapply
+
diff --git a/debian/tests/smoketest b/debian/tests/smoketest
new file mode 100755 (executable)
index 0000000..8661c04
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/bash
+# autopkgtest check: Run smoketest against an installed version of LibreOffice
+# (c) 2018 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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/cppunit-standalone.diff
+       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/cppunit-standalone.diff
+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 || true
+
+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 (executable)
index 0000000..460ed0f
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+# autopkgtest check: Install a test extension (as smoketest would do)
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+set -e
+set -E
+
+if [ -n "$AUTOPKGTEST_TMP" ]; then
+        TMP=`mktemp -q -p $AUTOPKGTEST_TMP`
+else
+        TMP=`mktemp -q`
+fi
+
+# skip if building as root:
+# unopkg errors out with "ERROR: Cannot run unopkg as root without --shared or --bundled option."
+# if ran as root
+if [ `id -u` = "0" ]; then
+       exit 77
+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 (executable)
index 0000000..f9d7941
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+# autopkgtest check: Install a test extension shared
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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/testtools-bridgetest b/debian/tests/testtools-bridgetest
new file mode 100755 (executable)
index 0000000..18c498a
--- /dev/null
@@ -0,0 +1,57 @@
+#!/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 <rene@debian.org>
+
+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 || true
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+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.allcheck verbose=t
+
+cd $SRCDIR
+
+unapply
+
diff --git a/debian/tests/uicheck-cui b/debian/tests/uicheck-cui
new file mode 100755 (executable)
index 0000000..5295014
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# autopkgtest check: Run uicheck against an installed version of LibreOffice
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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} \
+    cui.uicheck verbose=t
+
+unapply
+
diff --git a/debian/tests/uicheck-sc b/debian/tests/uicheck-sc
new file mode 100755 (executable)
index 0000000..c89435e
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# autopkgtest check: Run uicheck against an installed version of LibreOffice
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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} \
+    sc.uicheck verbose=t
+
+unapply
+
diff --git a/debian/tests/uicheck-sd b/debian/tests/uicheck-sd
new file mode 100755 (executable)
index 0000000..42e433f
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# autopkgtest check: Run uicheck against an installed version of LibreOffice
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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} \
+    sd.uicheck verbose=t
+
+unapply
+
diff --git a/debian/tests/uicheck-sfx2 b/debian/tests/uicheck-sfx2
new file mode 100755 (executable)
index 0000000..2796707
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# autopkgtest check: Run uicheck against an installed version of LibreOffice
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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} \
+    sfx2.uicheck verbose=t
+
+unapply
+
diff --git a/debian/tests/uicheck-svx b/debian/tests/uicheck-svx
new file mode 100755 (executable)
index 0000000..d6cc7b5
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# autopkgtest check: Run uicheck against an installed version of LibreOffice
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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} \
+    svx.uicheck verbose=t
+
+unapply
+
diff --git a/debian/tests/uicheck-sw b/debian/tests/uicheck-sw
new file mode 100755 (executable)
index 0000000..c054bd9
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# autopkgtest check: Run uicheck against an installed version of LibreOffice
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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} \
+    sw.uicheck verbose=t
+
+unapply
+
diff --git a/debian/tests/uicheck-uitest b/debian/tests/uicheck-uitest
new file mode 100755 (executable)
index 0000000..8128b94
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# autopkgtest check: Run uicheck against an installed version of LibreOffice
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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} \
+    uitest.uicheck verbose=t
+
+unapply
+
diff --git a/debian/tests/uicheck-writerperfect b/debian/tests/uicheck-writerperfect
new file mode 100755 (executable)
index 0000000..14fb409
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# autopkgtest check: Run uicheck against an installed version of LibreOffice
+# (c) 2017 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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
+
+if [ ! -f config_host.mk ]; then
+       # 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
+fi
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+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} \
+    writerperfect.uicheck verbose=t
+
+unapply
+
diff --git a/debian/tests/unitcheck b/debian/tests/unitcheck
new file mode 100755 (executable)
index 0000000..a363ec1
--- /dev/null
@@ -0,0 +1,72 @@
+#!/bin/bash
+# autopkgtest check: Run junit base tests against an installed version of LibreOffice
+# (c) 2021 Software in the Public Interest, Inc.
+# Authors: Rene Engelhard <rene@debian.org>
+
+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() {
+        cd $SRCDIR
+        echo
+        echo "====== Unapplying the patches ======"
+        patch -p1 -R < ./debian/tests/patches/cppunit-standalone.diff
+}
+
+trap "unapply" ERR
+
+# skip if building as root:
+# fails with permission errors (seems to assume it runs as user)
+if [ `id -u` = "0" ]; then
+        exit 77
+fi
+
+echo
+echo "====== Patching the tree to only build the unittests against an existing installation ======"
+patch -p1 < ./debian/tests/patches/cppunit-standalone.diff
+
+echo
+echo "====== Enabling core dumps ======"
+# yes, we want core dumps and stack traces
+ulimit -c unlimited || true
+
+echo
+echo "====== Starting unitcheck with ${CHECK_PARALLELISM} job ======"
+
+# hack, otherwise it fails
+mkdir -p $SRCDIR/instdir/program/.dir
+mkdir -p $SRCDIR/instdir/share/registry/.dir
+mkdir -p $SRCDIR/instdir/share/registry/res/.dir
+
+mkdir -p $SRCDIR/instdir/share/filter/.dir
+
+mkdir -p $SRCDIR/instdir/share/config/soffice.cfg/vcl/ui/.dir
+
+# all modules containing unitcheck
+export PARALLELISM=$CHECK_PARALLELISM
+# helpcontent2
+# idlc - tries to *write* /usr/lib/libreoffice/sdk/bin/idlc...
+# unoidl - tries to *write* /usr/lib/libreoffice/sdk/bin/unoidl-check (and  more?)...
+# odk - tries to *write* to the SDK dirs and we do test _using_ the ODK
+#       in odk-build-examples anyway
+# testtools - already tested in the "uno" test
+for i in `grep check */*.mk | grep -v helpcontent2 | grep -E -v '(idlc|unoidl)' | grep -v odk | grep -v testtools | cut -d"/" -f1 | sort | uniq | xargs`; do
+       echo
+       echo "====== Running unitcheck in module $i ======"; \
+       cd $i && \
+       make -rk unitcheck \
+               INSTDIR=/usr/lib/libreoffice \
+               verbose=t; \
+       cd ..;\
+done
+
+unapply
+
diff --git a/debian/tests/uno-import b/debian/tests/uno-import
new file mode 100755 (executable)
index 0000000..e36ab16
--- /dev/null
@@ -0,0 +1,4 @@
+#!/usr/bin/python3
+
+import uno
+print(uno)
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644 (file)
index 0000000..08864a9
--- /dev/null
@@ -0,0 +1,7 @@
+Bug-Database: https://bugs.documentfoundation.org/
+Bug-Submit: https://bugs.documentfoundation.org/enter_bug.cgi
+Donation: https://www.libreoffice.org/donate/
+FAQ: https://www.libreoffice.org/get-help/frequently-asked-questions/
+Repository: git://anongit.freedesktop.org/libreoffice/core
+Repository-Browse: https://cgit.freedesktop.org/libreoffice/core
+Security-Contact: officesecurity@lists.freedesktop.org
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644 (file)
index 0000000..e9169c3
--- /dev/null
@@ -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-java.bug-script.in b/debian/ure-java.bug-script.in
new file mode 100644 (file)
index 0000000..9c95885
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+echo "" >&3
+echo "Java (javaldx):" >&3
+/usr/lib/libreoffice/program/javaldx >&3
+
+echo "" >&3
+echo "Java:" >&3
+#_lo_profile_ver=`echo @OOVER@ | cut -d. -f1`
+_lo_profile_ver=4
+RTL_OS=@RTL_OS@
+RTL_ARCH=@RTL_ARCH@
+if [ -d "$HOME/.config/libreoffice/$_lo_profile_ver" ]; then
+       grep -ri java $HOME/.config/libreoffice/$_lo_profile_ver/user/config/javasettings_${RTL_OS}_${RTL_ARCH}.xml >&3
+fi
+
diff --git a/debian/ure-java.lintian-overrides b/debian/ure-java.lintian-overrides
new file mode 100644 (file)
index 0000000..fb97b81
--- /dev/null
@@ -0,0 +1 @@
+ure-java: classpath-contains-relative-path ../ [usr/share/java/java_uno.jar]
diff --git a/debian/vars.alpha b/debian/vars.alpha
new file mode 100644 (file)
index 0000000..5f5c7fa
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_alpha
+RTL_ARCH=ALPHA
+RTL_OS=Linux
diff --git a/debian/vars.amd64 b/debian/vars.amd64
new file mode 100644 (file)
index 0000000..dca6cc0
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_x86_64
+RTL_ARCH=X86_64
+RTL_OS=Linux
diff --git a/debian/vars.arm b/debian/vars.arm
new file mode 100644 (file)
index 0000000..4e53e84
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_arm_oabi
+RTL_ARCH=ARM_OABI
+RTL_OS=Linux
diff --git a/debian/vars.arm64 b/debian/vars.arm64
new file mode 100644 (file)
index 0000000..7c88f38
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_aarch64
+RTL_ARCH=AARCH64
+RTL_OS=Linux
diff --git a/debian/vars.armel b/debian/vars.armel
new file mode 100644 (file)
index 0000000..e4311a9
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_arm_eabi
+RTL_ARCH=ARM_EABI
+RTL_OS=Linux
diff --git a/debian/vars.armhf b/debian/vars.armhf
new file mode 100644 (file)
index 0000000..e4311a9
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_arm_eabi
+RTL_ARCH=ARM_EABI
+RTL_OS=Linux
diff --git a/debian/vars.hppa b/debian/vars.hppa
new file mode 100644 (file)
index 0000000..b58289e
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_hppa
+RTL_ARCH=HPPA
+RTL_OS=Linux
diff --git a/debian/vars.i386 b/debian/vars.i386
new file mode 100644 (file)
index 0000000..956646c
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_x86
+RTL_ARCH=x86
+RTL_OS=Linux
diff --git a/debian/vars.ia64 b/debian/vars.ia64
new file mode 100644 (file)
index 0000000..dd3d3b9
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_ia64
+RTL_ARCH=IA64
+RTL_OS=Linux
diff --git a/debian/vars.kfreebsd-amd64 b/debian/vars.kfreebsd-amd64
new file mode 100644 (file)
index 0000000..7b1c046
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=kfreebsd_x86_64
+RTL_ARCH=X86_64
+RTL_OS=FreeBSD
diff --git a/debian/vars.kfreebsd-i386 b/debian/vars.kfreebsd-i386
new file mode 100644 (file)
index 0000000..5d1f453
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=kfreebsd_x86
+RTL_ARCH=x86
+RTL_OS=FreeBSD
diff --git a/debian/vars.m68k b/debian/vars.m68k
new file mode 100644 (file)
index 0000000..fddb3f3
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_m68k
+RTL_ARCH=M68K
+RTL_OS=Linux
diff --git a/debian/vars.mips b/debian/vars.mips
new file mode 100644 (file)
index 0000000..fc2b0c0
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_mips_eb
+RTL_ARCH=MIPS_EB
+RTL_OS=Linux
diff --git a/debian/vars.mips64 b/debian/vars.mips64
new file mode 100644 (file)
index 0000000..a22a4ba
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_mips64_eb
+RTL_ARCH=MIPS64_EB
+RTL_OS=Linux
diff --git a/debian/vars.mips64el b/debian/vars.mips64el
new file mode 100644 (file)
index 0000000..bba65a5
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_mips64_el
+RTL_ARCH=MIPS64_EL
+RTL_OS=Linux
diff --git a/debian/vars.mipsel b/debian/vars.mipsel
new file mode 100644 (file)
index 0000000..874d5a1
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_mips_el
+RTL_ARCH=MIPS_EL
+RTL_OS=Linux
diff --git a/debian/vars.powerpc b/debian/vars.powerpc
new file mode 100644 (file)
index 0000000..4afdc21
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_powerpc
+RTL_ARCH=PowerPC
+RTL_OS=Linux
diff --git a/debian/vars.powerpcspe b/debian/vars.powerpcspe
new file mode 100644 (file)
index 0000000..4afdc21
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_powerpc
+RTL_ARCH=PowerPC
+RTL_OS=Linux
diff --git a/debian/vars.ppc64 b/debian/vars.ppc64
new file mode 100644 (file)
index 0000000..265c516
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_powerpc64
+RTL_ARCH=PowerPC_64
+RTL_OS=Linux
diff --git a/debian/vars.ppc64el b/debian/vars.ppc64el
new file mode 100644 (file)
index 0000000..27498f5
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_powerpc64_le
+RTL_ARCH=PowerPC_64_LE
+RTL_OS=Linux
diff --git a/debian/vars.s390 b/debian/vars.s390
new file mode 100644 (file)
index 0000000..d89a2b7
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_s390
+RTL_ARCH=S390
+RTL_OS=Linux
diff --git a/debian/vars.s390x b/debian/vars.s390x
new file mode 100644 (file)
index 0000000..1908ff5
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_s390x
+RTL_ARCH=S390x
+RTL_OS=Linux
diff --git a/debian/vars.solaris-i386 b/debian/vars.solaris-i386
new file mode 100644 (file)
index 0000000..3b684bc
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=solaris_x86
+RTL_ARCH=x86
+RTL_OS=Solaris
diff --git a/debian/vars.sparc b/debian/vars.sparc
new file mode 100644 (file)
index 0000000..8a9557a
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_sparc
+RTL_ARCH=SPARC
+RTL_OS=Linux
diff --git a/debian/vars.sparc64 b/debian/vars.sparc64
new file mode 100644 (file)
index 0000000..876b65e
--- /dev/null
@@ -0,0 +1,3 @@
+PLATFORMID=linux_sparc64
+RTL_ARCH=SPARC64
+RTL_OS=Linux
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..207383f
--- /dev/null
@@ -0,0 +1,40 @@
+version=4
+
+# only releases (and the final rc before the release. The last rc simply get renamed
+# so e.g. 6.4.3 final is 6.4.3 rc2 which is 6.4.3.2)
+# FIXME:
+# Unfortunately it seems that download.documentfoundation.org/libreoffice/src gets the rcs too. But
+# download.documentfoundation.org/stable((\d.\d.\d) doesn't work since we then get no tarball information
+# as that doesn't ship the source... And I fail getting parsing of www.libreoffice.org/download to work
+#opts="compression=xz,pgpsigurlmangle=s/$/.asc/,uversionmangle=s/(\d.\d.\d).(\d)/$1/" \
+#  http://download.documentfoundation.org/@PACKAGE@/src/(\d.\d.\d)/@PACKAGE@-(\d.\d.\d).(\d).tar.xz debian
+#
+#opts="pgpsigurlmangle=s/$/.asc/,component=helpcontent2,uversionmangle=s/(\d.\d.\d).(\d)/$1/" \
+#  http://download.documentfoundation.org/@PACKAGE@/src/(\d.\d.\d)/@PACKAGE@-help-(\d.\d.\d).(\d).tar.xz same
+#
+#opts="pgpsigurlmangle=s/$/.asc/,component=translations,uversionmangle=s/(\d.\d.\d).(\d)/$1/" \
+#  http://download.documentfoundation.org/@PACKAGE@/src/(\d.\d.\d)/@PACKAGE@-translations-(\d.\d.\d).(\d).tar.xz same
+
+# FIXME: Combine those to one part?
+# Problem: 6.4.3.2 -> 6.4.3~rc2 (rc added manually)
+#          7.0.0.0.alpha1 -> 7.0.0~alpha1 (.0. stripped and following value taken as-is)
+
+# rcs (and the last rc which will become final, see above)
+opts="compression=xz,pgpsigurlmangle=s/$/.asc/,versionmangle=s/(\d.\d.\d).(\d)/$1~rc$2/" \
+   https://dev-builds.libreoffice.org/pre-releases/src/@PACKAGE@-(\d.\d.\d).(\d).tar.xz debian
+
+opts="pgpsigurlmangle=s/$/.asc/,component=helpcontent2,versionmangle=s/(\d.\d.\d).(\d)/$1~rc$2/" \
+   https://dev-builds.libreoffice.org/pre-releases/src/@PACKAGE@-help-(\d.\d.\d).(\d).tar.xz same
+
+opts="pgpsigurlmangle=s/$/.asc/,component=translations,versionmangle=s/(\d.\d.\d).(\d)/$1~rc$2/" \
+   https://dev-builds.libreoffice.org/pre-releases/src/@PACKAGE@-translations-(\d.\d.\d).(\d).tar.xz same
+
+# alpha, beta
+#opts="compression=xz,pgpsigurlmangle=s/$/.asc/,versionmangle=s/(\d.\d.\d).(alpha|beta).(\d)/$1~$2$3/" \
+#   https://dev-builds.libreoffice.org/pre-releases/src/@PACKAGE@-(\d.\d.\d).0.(alpha|beta)(\d).tar.xz debian
+#
+#opts="pgpsigurlmangle=s/$/.asc/,versionmangle=s/(\d.\d.\d).(alpha|beta).(\d)/$1~$2$3/" \
+#   https://dev-builds.libreoffice.org/pre-releases/src/@PACKAGE@-help-(\d.\d.\d).0.(alpha|beta)(\d).tar.xz same
+#
+#opts="pgpsigurlmangle=s/$/.asc/,versionmangle=s/(\d.\d.\d).(alpha|beta).(\d)/$1~$2$3/" \
+#   https://dev-builds.libreoffice.org/pre-releases/src/@PACKAGE@-translations-(\d.\d.\d).0.(alpha|beta)(\d).tar.xz same
diff --git a/debian/xmerge-javadoc.in b/debian/xmerge-javadoc.in
new file mode 100644 (file)
index 0000000..50a29b8
--- /dev/null
@@ -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 (file)
index 0000000..2709644
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 (file)
index 0000000..f1fb1db
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 (file)
index 0000000..e622cf1
Binary files /dev/null and b/tarballs/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip differ
diff --git a/tarballs/dtoa-20180411.tgz b/tarballs/dtoa-20180411.tgz
new file mode 100644 (file)
index 0000000..5c014da
Binary files /dev/null and b/tarballs/dtoa-20180411.tgz differ
diff --git a/tarballs/pdfium-5058.tar.bz2 b/tarballs/pdfium-5058.tar.bz2
new file mode 100644 (file)
index 0000000..e5ca2e9
Binary files /dev/null and b/tarballs/pdfium-5058.tar.bz2 differ
diff --git a/tarballs/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz b/tarballs/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz
new file mode 100644 (file)
index 0000000..15c35ca
Binary files /dev/null and b/tarballs/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz differ