#!/usr/bin/make -f

VERSION = $(shell dpkg-parsechangelog | awk '/^Version: / { print $$2 }' | sed -e 's|^.*:||' -e 's|-.*$$||')

UPSTREAM_VERSION = $(strip $(shell grep '^TOOLS_VERSION' configure.ac | sed 's,.*=",,;s,",,'))

%:
	dh ${@} --with autotools_dev,dkms,autoreconf,systemd

override_dh_autoreconf:
	cp configure.ac configure.ac.autoreconf
	cp modules/linux/dkms.sh modules/linux/dkms.sh.autoreconf
	sed -i 's,$(UPSTREAM_VERSION),$(VERSION),g' configure.ac
	sed -i 's,$(UPSTREAM_VERSION),$(VERSION),g' modules/linux/dkms.sh
	dh_autoreconf

override_dh_autoreconf_clean:
	dh_autoreconf_clean
	if [ -f configure.ac.autoreconf ]; then \
	    mv configure.ac.autoreconf configure.ac ;\
	fi
	if [ -f modules/linux/dkms.sh.autoreconf ]; then \
	    mv modules/linux/dkms.sh.autoreconf modules/linux/dkms.sh ;\
	fi

override_dh_auto_configure:
	dh_auto_configure -- \
			--prefix=/usr \
			--libdir=\$${prefix}/lib \
			--without-kernel-modules \
			--with-pic \
			--without-xmlsecurity --without-xerces \
			CFLAGS="-fPIC -Wno-deprecated-declarations $(CFLAGS)" \
			CUSTOM_PROCPS_NAME=procps \
			CXXFLAGS='-std=gnu++11'
	find . -name Makefile -exec sed -i '/.*CPPFLAGS.*/s,-std=c++11,,' '{}' \;

override_dh_auto_install:
	dh_auto_install -- DESTDIR=$(CURDIR)/debian/open-vm-tools

	if [ -e debian/open-vm-tools/etc/pam.d/vmtoolsd-x64 ]; \
	then \
		sed -i -e "s|lib64|lib|g" debian/open-vm-tools/etc/pam.d/vmtoolsd-x64; \
		mv debian/open-vm-tools/etc/pam.d/vmtoolsd-x64 debian/open-vm-tools/etc/pam.d/vmtoolsd; \
	fi

	# permissions
	chmod 0644 debian/*/etc/pam.d/*
	chmod 4755 debian/*/usr/bin/vmware-user-suid-wrapper

	install -D -m 0755 debian/local/vmxnet.hook debian/open-vm-tools-dkms/usr/share/initramfs-tools/hooks/vmxnet
	install -D -m 0644 debian/local/xautostart.conf debian/open-vm-tools-desktop/etc/vmware-tools/xautostart.conf
	install -D -m 0644 debian/local/tools.conf debian/open-vm-tools/etc/vmware-tools/tools.conf

	install -D -m 0644 debian/local/run-vmblock\\x2dfuse.mount debian/open-vm-tools-desktop/lib/systemd/system/run-vmblock\\x2dfuse.mount

	# open-vm-tools-dev
	mkdir -p debian/open-vm-tools-dev/usr/share/doc/open-vm-tools
	mv debian/open-vm-tools/usr/share/doc/open-vm-tools/api debian/open-vm-tools-dev/usr/share/doc/open-vm-tools
	mkdir -p debian/open-vm-tools-dev/usr/lib
	mv \
	    debian/open-vm-tools/usr/lib/*.a \
	    debian/open-vm-tools/usr/lib/*.so \
	    debian/open-vm-tools/usr/lib/pkgconfig \
	    debian/open-vm-tools-dev/usr/lib
	mv debian/open-vm-tools/usr/include debian/open-vm-tools-dev/usr


	# open-vm-tools-dkms
	mkdir -p debian/open-vm-tools-dkms/usr/src
	sh modules/linux/dkms.sh . debian/open-vm-tools-dkms/usr/src
	find debian/open-vm-tools-dkms/usr/src -name COPYING | xargs rm -f
	find debian/open-vm-tools-dkms/usr/src -name "Makefile*" | xargs chmod 0755

	# removing useless files
	rm -f debian/open-vm-tools/usr/lib/*.la
	rm -f debian/open-vm-tools/usr/lib/open-vm-tools/plugins/*/*.la
	rm -rf debian/open-vm-tools/usr/share/open-vm-tools/tests

	# mount(8) calls the program as /sbin/mount.vmhgfs
	mv debian/open-vm-tools/usr/sbin/mount.vmhgfs debian/open-vm-tools/sbin/

	# moving open-vm-tools-desktop files
	mkdir -p debian/open-vm-tools-desktop/usr/lib/open-vm-tools/plugins
	mv debian/open-vm-tools/usr/lib/open-vm-tools/plugins/vmusr debian/open-vm-tools-desktop/usr/lib/open-vm-tools/plugins

	mkdir -p debian/open-vm-tools-desktop/usr/bin
	mv debian/open-vm-tools/usr/bin/vmware-user-suid-wrapper debian/open-vm-tools-desktop/usr/bin

	mkdir -p debian/open-vm-tools-desktop/etc/xdg/autostart
	mv debian/open-vm-tools/etc/xdg/autostart/vmware-user.desktop debian/open-vm-tools-desktop/etc/xdg/autostart
	rm -rf debian/open-vm-tools/etc/xdg

	# fix dkms folder, upstream fails on it sometimes...
	if ! test -d debian/open-vm-tools-dkms/usr/src/open-vm-tools-$(VERSION); then \
	    mv debian/open-vm-tools-dkms/usr/src/open-vm-tools-* debian/open-vm-tools-dkms/usr/src/open-vm-tools-$(VERSION) ; \
	fi

override_dh_builddeb:
	dh_builddeb -- -Zxz

override_dh_dkms:
	sed 's,DEBIAN_VERSION,$(VERSION),g' debian/open-vm-tools-dkms.dkms.in > debian/open-vm-tools-dkms.dkms
	dh_dkms -popen-vm-tools-dkms -V $(VERSION)

override_dh_fixperms:
	dh_testroot
	find debian/open-vm-tools/etc -type f -print0 | xargs -0 chmod ugo-x
	chmod ugo+x debian/open-vm-tools/etc/vmware-tools/scripts/vmware/*
	chmod ugo+x debian/open-vm-tools/etc/vmware-tools/vm-support
	chmod ugo+x debian/open-vm-tools/etc/vmware-tools/*-vm-default

	dh_fixperms -Xvmware-user-suid-wrapper

override_dh_systemd_start:
	dh_systemd_start
	sed -i 's,run-vmblock-fuse,run-vmblock\\\\x2dfuse,g' debian/*.debhelper

