summaryrefslogtreecommitdiffstats
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules4205
1 files changed, 4205 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 000000000..bfcbfdf8f
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,4205 @@
+#!/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 (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" \
+ -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: