#!/usr/bin/make -f
# -*- makefile -*-

# Disable ceph dependent packages for architectures without java
# This list should match the Build-Depends exclusions for ceph libraries
# in debian/control
ifneq ($(filter $(DEB_HOST_ARCH),hppa hurd-i386 kfreebsd-i386 kfreebsd-amd64),)
CEPH = OFF
N = -Nlibxrdcephposix0 -Nxrootd-ceph-plugins
else
CEPH = ON
N =
endif

# Link with libatomic on some 32-bit architectures
# See debian/patches/0001-Add-latomic-if-needed.patch
ifneq ($(filter $(DEB_HOST_ARCH),armel m68k mips mipsel powerpc powerpcspe sh4),)
ATOMIC_LIB = -latomic
else
ATOMIC_LIB =
endif

%:
	dh $@ --with python3 --with sphinxdoc $(N)

override_dh_auto_configure:
	dh_auto_configure -- \
		-DWITH_OPENSSL3:BOOL=ON \
		-DXRDCEPH_SUBMODULE:BOOL=$(CEPH) \
		-DXRDCLHTTP_SUBMODULE:BOOL=ON \
		-DATOMIC_LIB:STRING=$(ATOMIC_LIB) \
		-DPYTHON_EXECUTABLE:PATH=/usr/bin/python3

override_dh_auto_build:
	dh_auto_build
	doxygen Doxyfile
	LD_LIBRARY_PATH=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/src/XrdCl:$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/src \
	PYTHONPATH=$$(cd obj-$(DEB_HOST_GNU_TYPE)/bindings/python/build/lib.* ; pwd) \
	make -C bindings/python/docs html

override_dh_auto_clean:
	dh_auto_clean
	rm -rf doxydoc
	rm -rf bindings/python/docs/build

override_dh_auto_install:
	dh_auto_install

	rm -f debian/tmp/usr/lib/*/libXrdCephPosix.so

	# Service unit files
	mkdir -p debian/tmp/usr/lib/systemd/system
	install -m 644 packaging/common/xrootd@.service debian/tmp/usr/lib/systemd/system
	install -m 644 packaging/common/xrootd@.socket debian/tmp/usr/lib/systemd/system
	install -m 644 packaging/common/xrdhttp@.socket debian/tmp/usr/lib/systemd/system
	install -m 644 packaging/common/cmsd@.service debian/tmp/usr/lib/systemd/system
	install -m 644 packaging/common/frm_xfrd@.service debian/tmp/usr/lib/systemd/system
	install -m 644 packaging/common/frm_purged@.service debian/tmp/usr/lib/systemd/system
	mkdir -p debian/tmp/usr/lib/tmpfiles.d
	install -m 644 packaging/rhel/xrootd.tmpfiles debian/tmp/usr/lib/tmpfiles.d/xrootd.conf

	# Server config
	mkdir -p debian/tmp/etc/xrootd
	install -m 644 -p packaging/common/xrootd-clustered.cfg \
	    debian/tmp/etc/xrootd/xrootd-clustered.cfg
	install -m 644 -p packaging/common/xrootd-standalone.cfg \
	    debian/tmp/etc/xrootd/xrootd-standalone.cfg
	install -m 644 -p packaging/common/xrootd-filecache-clustered.cfg \
	    debian/tmp/etc/xrootd/xrootd-filecache-clustered.cfg
	install -m 644 -p packaging/common/xrootd-filecache-standalone.cfg \
	    debian/tmp/etc/xrootd/xrootd-filecache-standalone.cfg
	sed 's!/usr/lib64/!!' packaging/common/xrootd-http.cfg > \
	    debian/tmp/etc/xrootd/xrootd-http.cfg

	# Client config
	mkdir -p debian/tmp/etc/xrootd/client.plugins.d
	install -m 644 -p packaging/common/client.conf \
	    debian/tmp/etc/xrootd/client.conf
	sed 's!/usr/lib/!!' packaging/common/client-plugin.conf.example > \
	    debian/tmp/etc/xrootd/client.plugins.d/client-plugin.conf.example
	sed 's!/usr/local/lib/!!' src/XrdClHttp/config/http.client.conf.example > \
	    debian/tmp/etc/xrootd/client.plugins.d/xrdcl-http-plugin.conf

	chmod 644 debian/tmp/usr/share/xrootd/utils/XrdCmsNotify.pm
	sed 's!/usr/bin/env perl!/usr/bin/perl!' -i \
	    debian/tmp/usr/share/xrootd/utils/netchk \
	    debian/tmp/usr/share/xrootd/utils/XrdCmsNotify.pm \
	    debian/tmp/usr/share/xrootd/utils/XrdOlbMonPerf

	sed 's!/usr/bin/env bash!/bin/bash!' -i \
	    debian/tmp/usr/bin/xrootd-config

	mkdir -p debian/tmp/etc/xrootd/config.d

	mkdir -p debian/tmp/var/log/xrootd
	mkdir -p debian/tmp/var/spool/xrootd

	mkdir -p debian/tmp/etc/logrotate.d
	install -m 644 -p packaging/common/xrootd.logrotate \
	    debian/tmp/etc/logrotate.d/xrootd

	# Documentation
	mkdir -p debian/tmp/usr/share/doc/xrootd
	cp -pr doxydoc/html debian/tmp/usr/share/doc/xrootd
	cp -pr bindings/python/docs/build/html debian/tmp/usr/share/doc/xrootd/python
