#!/usr/bin/make -f

include /usr/share/dpkg/pkg-info.mk

export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_STRIP = -Wl,-Bsymbolic-functions

CONFIGURE_OPTS :=	-DCMAKE_BUILD_TYPE=Release \
					-DTANGO_OMNI_BASE=/usr \
					-DTSD_JAVA=OFF \
					-DTDB_DATABASE_SCHEMA=OFF \
					-DDB_SCRIPTS=ON \
					-DTSD_TAC=ON \
					-DTANGO_USE_TELEMETRY=ON \
					-DCMAKE_MODULE_PATH=/usr/lib/$(DEB_BUILD_GNU_TYPE)/cmake/opentelemetry-cpp/

# TODO: handle/remove --disable-jpegmmx

# sphinxdoc is available only when building the arch-all packages
WITH_SPHINXDOC = $(shell if [ -x /usr/bin/dh_sphinxdoc ]; then echo "--with sphinxdoc"; fi)

%:
	dh $@ $(WITH_SPHINXDOC)

# TODO: migrate this target to support cmake
# for trixie (with tango 9.4), this is not super imporant, since 9.3 and 9.4 DBs are compatible
sql:
	dh_auto_configure -- $(CONFIGURE_OPTS)
	# use this target to generate the dbconfig-common upgrade script once the debian/changelog is ok
	cp cppserver/database/update_db_from_9.2.5_to_9.3.4.sql debian/dbconfig-common/data/tango-db/upgrade/mysql/$(DEB_VERSION_UPSTREAM)
	$(MAKE) distclean

override_dh_auto_configure:
	dh_auto_configure -- $(CONFIGURE_OPTS)

override_dh_auto_build-indep:
	$(MAKE) -C doc/src/ html

override_dh_auto_install-arch:
	dh_auto_install --destdir="$(CURDIR)/debian/tmp/"
	# install dbconfig-common scripts
	install -d debian/tmp/usr/share/dbconfig-common/data/tango-db/install
	install -p -m 644 debian/tmp/usr/share/tango/db/create_db.sql debian/tmp/usr/share/dbconfig-common/data/tango-db/install/mysql
	install -d debian/tmp/usr/share/
	cp -r debian/dbconfig-common debian/tmp/usr/share
	install -d debian/tmp/usr/lib/tango
	cp debian/tango-starter-register-helper debian/tmp/usr/lib/tango

	# install scripts used during the configuration
	install -d debian/tmp/usr/share/tango-db

override_dh_auto_install-indep:
	# move the built documentation before installing
	# TODO: why?
	-cp -r doc/src/build/html doc/
	install -d debian/tmp/usr/share/doc/tango
	install -d debian/tmp/usr/share/doc/tango/idl/
	-cp -r doc/html debian/tmp/usr/share/doc/tango/

	# install the tango home dir
	install -d debian/tmp/var/lib/tango

override_dh_install:
	# libtango10
	dh_install -p libtango10 usr/lib/*/libtango.so.*

	# libtango-dev
	dh_install -p libtango-dev usr/include/tango/*
	dh_install -p libtango-dev usr/include/tango/idl
	dh_install -p libtango-dev usr/include/tango.idl usr/include/tango/idl/
	dh_install -p libtango-dev usr/lib/*/libtango*.so
	dh_install -p libtango-dev usr/lib/*/pkgconfig/tango.pc
	dh_install -p libtango-dev usr/lib/*/pkgconfig/tangoidl.pc

	# libtango-doc
	dh_install -p libtango-doc usr/share/doc/tango/html
	dh_install -p libtango-doc usr/share/doc/tango

	# libtango-tools
	dh_install -p libtango-tools usr/bin/tango_admin usr/bin

	# tango-common
	dh_install -p tango-common var/lib/tango

	# tango-db
	dh_install -p tango-db usr/bin/Databaseds usr/lib/tango
	dh_install -p tango-db usr/share/tango-db
	dh_install -p tango-db usr/share/dbconfig-common
	dh_install -p tango-db usr/share/tango/db/create_db_tables.sql usr/share/tango-db/
	dh_install -p tango-db usr/share/tango/db/migrate_db_tables_innodb.sql usr/share/tango-db/
	dh_install -p tango-db usr/share/tango/db/stored_proc.sql usr/share/tango-db/

	dh_install -p tango-db usr/share/tango/db/my.cnf usr/share/tango-db/

	# tango-starter
	dh_install -p tango-starter usr/bin/Starter usr/lib/tango
	dh_install -p tango-starter usr/lib/tango/tango-starter-register-helper usr/lib/tango/

	# tango-accesscontrol
	dh_install -p tango-accesscontrol usr/bin/TangoAccessControl usr/lib/tango
	# TODO: ship this? (if yes, need to be removed from debian/not-installed
	# dh_install -p tango-accesscontrol usr/bin/tango_wpa

	# tango-test
	dh_install -p tango-test usr/bin/TangoTest usr/lib/tango

	dh_install -X.la

	find debian/tmp -name *.cmake -delete

override_dh_installinit:
	# the tango-accesscontrol device must be started after the tango-db.
	dh_installinit -ptango-accesscontrol --update-rcd-params="defaults 25"
	# the tango-starter device must be started after the tango-db and the tango-accesscontrol.
	dh_installinit -ptango-starter --update-rcd-params="defaults 30"
	dh_installinit -a -Ntango-accesscontrol -Ntango-starter

# Aucun test nécessaire pour la documentation
override_dh_auto_test-indep:
