#!/usr/bin/make -f

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

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

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
# for GDB
#CFLAGS += -O0 -ggdb3
# end
CFLAGS += -g -gdwarf-2 -fno-omit-frame-pointer
ifeq ($(DEB_HOST_ARCH),solaris-i386)
CFLAGS += -msave-args
endif
#ifeq ($(DEB_HOST_ARCH),solaris-sparc)
#endif

CFLAGS += -DDILOS
CFLAGS += -D_XPG4_2
CFLAGS += -D__EXTENSIONS__

CXXFLAGS += $(CFLAGS)
LDFLAGS += -liconv -lnsl

export CFLAGS CXXFLAGS LDFLAGS

%:
	dh ${@} --with autotools_dev,autoreconf --sourcedirectory=open-vm-tools
#	dh ${@} --with autotools_dev,dkms,autoreconf,systemd --sourcedirectory=open-vm-tools

override_dh_autoreconf:
	set -e; \
	    cd open-vm-tools ; \
	    cp configure.ac configure.ac.autoreconf ; \
	    sed -i 's,$(UPSTREAM_VERSION),$(VERSION),g' configure.ac
	dh_autoreconf --sourcedirectory=open-vm-tools

#	    cp modules/linux/dkms.sh modules/linux/dkms.sh.autoreconf ;\
#	    sed -i 's,$(UPSTREAM_VERSION),$(VERSION),g' modules/linux/dkms.sh

override_dh_autoreconf_clean:
	dh_autoreconf_clean 
	set -e ;\
	    cd open-vm-tools ; \
	    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 --sourcedirectory=open-vm-tools -- \
			--prefix=/usr \
			--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
			--without-kernel-modules \
			--with-pic \
			--without-xerces-c \
			--without-xerces \
			--without-xmlsec1 \
			--without-xmlsecurity \
			--without-x \
			--disable-tests \
			--disable-deploypkg \
			--disable-vgauth \
			--disable-grabbitmqproxy \
			CUSTOM_PROCPS_NAME=procps \
			CUSTOM_PROCPS_LIBS="-L/lib/64" \
			CFLAGS="-fPIC -Wno-deprecated-declarations $(CFLAGS)" \
			CXXFLAGS='-std=gnu++11'
	find . -name Makefile -exec sed -i '/.*CPPFLAGS.*/s,-std=c++11,,' '{}' \;


override_dh_auto_install:
	dh_auto_install --sourcedirectory=open-vm-tools -- 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
#	install -D -m 0644 debian/local/open-vm-tools-desktop.conf debian/open-vm-tools-desktop/usr/lib/modules-load.d/open-vm-tools-desktop.conf

	# 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/$(DEB_HOST_MULTIARCH)
	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/$(DEB_HOST_MULTIARCH)/
	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
#	cd open-vm-tools && 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
	# fix plugins on DIlOS
	mkdir -p debian/open-vm-tools/usr/lib/$(DEB_HOST_MULTIARCH)/open-vm-tools/plugins/$(DEB_HOST_MULTIARCH)
	if [ -d debian/open-vm-tools/usr/lib/$(DEB_HOST_MULTIARCH)/open-vm-tools/plugins/common ]; then \
		mv debian/open-vm-tools/usr/lib/$(DEB_HOST_MULTIARCH)/open-vm-tools/plugins/common \
		debian/open-vm-tools/usr/lib/$(DEB_HOST_MULTIARCH)/open-vm-tools/plugins/$(DEB_HOST_MULTIARCH)/ ; \
	fi
	if [ -d debian/open-vm-tools/usr/lib/$(DEB_HOST_MULTIARCH)/open-vm-tools/plugins/vmsvc ]; then \
		mv debian/open-vm-tools/usr/lib/$(DEB_HOST_MULTIARCH)/open-vm-tools/plugins/vmsvc \
		debian/open-vm-tools/usr/lib/$(DEB_HOST_MULTIARCH)/open-vm-tools/plugins/$(DEB_HOST_MULTIARCH)/ ; \
	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_enable:
#	dh_systemd_enable -popen-vm-tools
#	dh_systemd_enable -popen-vm-tools --name vgauth
#	dh_systemd_enable -popen-vm-tools-desktop run-vmblock\\x2dfuse.mount

#override_dh_systemd_start:
#	dh_systemd_start -popen-vm-tools
#	dh_systemd_start -popen-vm-tools-desktop -r --no-restart-after-upgrade run-vmblock\\x2dfuse.mount
#	sed -i 's,run-vmblock-fuse,run-vmblock\\\\x2dfuse,g' debian/*.debhelper

override_dh_installchangelogs:
	dh_installchangelogs ReleaseNotes.md

override_dh_md5sums-arch:
	dh_md5sums
	# remove broken \ escaping from md5sums
#	sed -i -e 's,^\\,,' -e 's,\\\\,\\,' debian/open-vm-tools-desktop/DEBIAN/md5sums

