#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS=hardening=+all

debver = $(shell LC_ALL=C dpkg-parsechangelog | grep '^Version:' | cut -d ' ' -f 2,2 )
upstreamver = $(shell echo $(debver) | cut -d '-' -f 1,1 )
buildid = $(shell cat ../../BUILD-ID)

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    MAKEFLAGS += -j$(NUMJOBS)
endif

# if this package is built in an i386 build environment on an amd64 host,
# a toolchain file is required so cmake uses the right CMAKE_SYSTEM_PROCESSOR
CMAKE_SYSTEM_PROCESSOR = $(shell  cmake --system-information | grep CMAKE_SYSTEM_PROCESSOR | cut -d'"' -f2)
DEB_TARGET_ARCH = $(shell dpkg --print-architecture)
export CMAKE_TOOLCHAIN := ""
ifeq ($(DEB_TARGET_ARCH), i386)
ifeq ($(CMAKE_SYSTEM_PROCESSOR), x86_64)
    export CMAKE_TOOLCHAIN := "-DCMAKE_TOOLCHAIN_FILE=$(CURDIR)/debian/i386-toolchain.cmake"
endif
endif

# one ring to rule them all ...
%:
	dh $@ --with python3

# Any changes here should be synchronized with changes
# to ../rpm/condor.spec

override_dh_auto_configure:
	dh_auto_configure -- \
		$(CMAKE_TOOLCHAIN) \
		-DBUILDID:STRING="$(buildid)"\
		-DBUILD_TESTING:BOOL=ON \
		-DCMAKE_SKIP_RPATH:BOOL=ON \
		-DPACKAGEID:STRING="$(debver)"\
		-DCONDOR_PACKAGE_BUILD:BOOL=ON \
		-DCMAKE_INSTALL_PREFIX:PATH=/


override_dh_auto_build: docs/build
	dh_auto_build --parallel
	# The tests don't get built eventhough was asked for them
	(cd obj-*; make tests)
	# post-fixing things that have to be done due to changes introduced by
	# repackaging
	# 1. rebuild java stuff
	#cd src/condor_starter.V6.1 && javac *.java
	#cp src/condor_chirp/*.java src/condor_chirp/chirp/java/client/
	#$(MAKE) -C src/condor_chirp/chirp/java/client/
	#cp src/condor_chirp/chirp/java/client/Chirp.jar src/condor_chirp/


override_dh_shlibdeps:
	dh_shlibdeps -l$(CURDIR)/debian/tmp/usr/lib/ -l$(CURDIR)/debian/tmp/usr/lib/condor --dpkg-shlibdeps-params=--ignore-missing-info


docs/build:
	mkdir -p $@
	$(MAKE) -C docs man
	mkdir -p $@/man
	mv docs/_build/man/* $@/man


override_dh_auto_install:
	dh_auto_install
	rm -rf debian/tmp/etc/rc.d
	mkdir --mode 0755 debian/tmp/etc/blahp
	for batch_system in condor kubernetes lsf nqs pbs sge slurm; do \
		mv debian/tmp/usr/libexec/blahp/$${batch_system}_local_submit_attributes.sh debian/tmp/etc/blahp/; \
		ln -s ../../../etc/blahp/$${batch_system}_local_submit_attributes.sh \
			debian/tmp/usr/libexec/blahp/$${batch_system}_local_submit_attributes.sh; \
	done
	# tar up the tests
	(cd obj-*; make tests-tar-pkg)
	find debian/tmp|sort > /tmp/files
	find obj-*|sort > /tmp/obj
	mv obj-*/condor_tests-*.tar.gz debian/tmp/usr/lib/condor/condor_tests-$(upstreamver).tar.gz
	# Remove extranenous files
	rm debian/tmp/usr/share/doc/condor/LICENSE
	rm debian/tmp/usr/share/doc/condor/README


override_dh_fixperms-arch:
	dh_fixperms
	chmod a-x debian/condor/usr/libexec/condor/interactive.sub
	chmod a-x debian/condor/usr/libexec/condor/ce-audit.so
	chmod a-x debian/condor/usr/libexec/condor/libclassad_python_user.*.so


override_dh_install-arch:
	dh_install
	# fix permissions
	# remove duplicate that is also installed as a config file
	rm -f debian/condor/usr/libexec/condor/linux-kernel-tuning
	# move etc/bash_completion.d/ to usr/share/bash-completion/completions
	mkdir -p debian/condor/usr/share/bash-completion/completions
	mv debian/condor/etc/bash_completion.d/* debian/condor/usr/share/bash-completion/completions
	rmdir debian/condor/etc/bash_completion.d


override_dh_auto_clean:
	dh_auto_clean
	# clean up our own mess
	#-find $(CURDIR) -name '*.class' -delete -o -name '*.jar' -delete
	#-rm src/condor_chirp/chirp/java/client/*.java
	# clean leftovers of upstream clean run
	-rm src/condor_tests/list*
	-rm src/condor_examples/condor.boot.debian \
		src/condor_examples/condor_config.patched
	-rm src/condor_tests/Condor.pm src/condor_tests/CondorPersonal.pm \
		src/condor_tests/CondorTest.pm src/condor_tests/CondorUtils.pm \
		src/condor_tests/batch_test.pl \
		src/condor_tests/condor_credmon_oauth_dummy
	-rm src/condor_utils/param_info.c
	# docs
	$(MAKE) -C docs clean
	-rm -f docs/condor-*-Manual.tar
	-rm -rf docs/just-man-pages
	-rm -rf docs/build


override_dh_installdocs:
	dh_installdocs
	for html in `find debian -name "*.html"` ; do \
	    sed -i \
		-e 's#https://maxcdn.bootstrapcdn.com/bootstrap/[^/]*/css/bootstrap.min.css#file:///usr/share/javascript/bootstrap/css/bootstrap.min.css#' \
		-e 's#https://maxcdn.bootstrapcdn.com/bootstrap/.*/js/bootstrap.min.js#file:///usr/share/javascript/bootstrap/js/bootstrap.min.js#' \
		-e 's#[htps:]*//code.jquery.com/jquery-[^/]*\.min\.js#file:///usr/share/javascript/jquery/jquery.min.js#' \
		$${html} ; \
	done

# PDF come in dedicated doc package -- no compression
override_dh_compress:
	dh_compress -X.pdf


override_dh_installinit:
	dh_installinit -pcondor --onlyscripts --noscripts


override_dh_strip:
	dh_strip --dbg-package=condor-dbg

override_dh_auto_test:

