#!/usr/bin/make -f

DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

%:
	dh $* --with autoreconf

override_dh_strip:
	dh_strip --dbg-package=heimdal-dbg

override_dh_makeshlibs:
	dh_makeshlibs -plibsl0-heimdal -- -c4
	dh_makeshlibs -plibkafs0-heimdal -- -c4
	dh_makeshlibs -plibgssapi3-heimdal -- -c4
	dh_makeshlibs -plibotp0-heimdal -- -c4
	dh_makeshlibs -plibkdc2-heimdal -V"libkdc2-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibasn1-8-heimdal -V"libasn1-8-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibheimbase1-heimdal -V"libheimbase1-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibhcrypto4-heimdal -V"libhcrypto4-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibhdb9-heimdal -V"libhdb9-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibhx509-5-heimdal -V"libhx509-5-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibkadm5srv8-heimdal -V"libkadm5srv8-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibkadm5clnt7-heimdal -V"libkadm5clnt7-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibkrb5-26-heimdal -V"libkrb5-26-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibheimntlm0-heimdal -V"libheimntlm0-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibroken18-heimdal -V"libroken18-heimdal (>= 1.4.0~git20110226.dfsg.2-1)" -- -c4
	dh_makeshlibs -plibwind0-heimdal -V"libwind0-heimdal (>= 1.4.0~git20110226.dfsg.1-1)" -- -c4

override_dh_auto_test:

override_dh_auto_configure:
	./configure $(shell dpkg-buildflags --export=configure) --libexecdir="\$${prefix}/sbin" \
	  --enable-shared \
	  --enable-shared \
	  --prefix=/usr \
	  --includedir="\$${prefix}/include" \
	  --with-openldap=/usr \
	  --with-sqlite3=/usr \
	  --enable-kcm \
	  --with-readline-include=/usr/include/editline \
	  --with-readline-lib=/usr/lib \
	  --with-hdbdir=/var/lib/heimdal-kdc \
	  --without-openssl \
	  --infodir="\$${prefix}/share/info" \
	  --datarootdir="\$${prefix}/share" \
	  --libdir="\$${prefix}/lib/${DEB_HOST_MULTIARCH}" \
	  --without-krb4

DESTDIR = $(CURDIR)/debian/tmp

overide_dh_fixperms:
	dh_fixperms
	# /var/lib/heimdal-kdc is 700
	chmod 700 debian/heimdal-kdc/var/lib/heimdal-kdc

override_dh_auto_clean::
	[ ! -f Makefile ] || $(MAKE) clean
	# clean files not cleaned by make file
	rm -f appl/ftp/ftpd/ftpcmd.c
	rm -f appl/login/login-protos.h
	rm -f appl/rsh/limits_conf.c
	rm -f appl/rsh/login_access.c
	rm -f doc/heimdal.info
	rm -f doc/hx509.info
	rm -f kcm/kcm-protos.h
	rm -f kdc/kdc-private.h
	rm -f kdc/kdc-protos.h
	rm -f lib/asn1/asn1parse.c
	rm -f lib/asn1/asn1parse.h
	rm -f lib/asn1/der-private.h
	rm -f lib/asn1/der-protos.h
	rm -f lib/asn1/lex.c
	rm -f lib/com_err/snprintf.c
	rm -f lib/com_err/strlcpy.c
	rm -f lib/gssapi/krb5/gsskrb5-private.h
	rm -f lib/gssapi/ntlm/ntlm-private.h
	rm -f lib/gssapi/spnego/spnego-private.h
	rm -f lib/hdb/hdb-private.h
	rm -f lib/hdb/hdb-protos.h
	rm -f lib/hx509/hx509-private.h
	rm -f lib/hx509/hx509-protos.h
	rm -f lib/hx509/sel-gram.c
	rm -f lib/kadm5/kadm5-private.h
	rm -f lib/kadm5/kadm5-protos.h
	rm -f lib/krb5/krb5-private.h
	rm -f lib/krb5/krb5-protos.h
	rm -f lib/ntlm/heimntlm-protos.h
	rm -f lib/sl/slc-gram.c
	rm -f lib/sl/slc-gram.h
	rm -f lib/sl/slc-lex.c
	rm -f lib/wind/bidi_table.c
	rm -f lib/wind/bidi_table.h
	rm -f lib/wind/combining_table.c
	rm -f lib/wind/combining_table.h
	rm -f lib/wind/errorlist_table.c
	rm -f lib/wind/errorlist_table.h
	rm -f lib/wind/map_table.c
	rm -f lib/wind/map_table.h
	rm -f lib/wind/normalize_table.c
	rm -f lib/wind/normalize_table.h
	rm -f lib/wind/*.pyc

override_dh_install:
	/bin/mkdir -p "$(DESTDIR)/usr/share/info"
	mkdir -p debian/heimdal-multidev/usr/lib/$(DEB_HOST_MULTIARCH)/heimdal
	mv $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/*.a \
		debian/heimdal-multidev/usr/lib/$(DEB_HOST_MULTIARCH)/heimdal
	mv $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/*.so \
		debian/heimdal-multidev/usr/lib/$(DEB_HOST_MULTIARCH)/heimdal
	dh_install --sourcedir=$(DESTDIR) --list-missing
	# remove conflicting files
	rm -rf debian/heimdal-multidev/usr/include/heimdal/ss
	rm -f debian/heimdal-multidev/usr/include/heimdal/fnmatch.h
	# remove unwanted files
	rm -f debian/heimdal-multidev/usr/lib/heimdal/libss.a
	rm -f debian/heimdal-multidev/usr/lib/heimdal/libss.so
	rm -f debian/heimdal-multidev/usr/lib/heimdal/windc.so
	rm -f debian/heimdal-multidev/usr/lib/heimdal/windc.a
	# rewrite symlinks to symlinks to point directly to file
	for l in debian/heimdal-multidev/usr/lib/${DEB_HOST_MULTIARCH}/heimdal/*.so; do \
		ln -s -f ../`readlink $$l` $$l ; \
		done
	mkdir -p debian/heimdal-dev/usr/lib/${DEB_HOST_MULTIARCH}/heimdal
	for l in debian/heimdal-multidev/usr/lib/${DEB_HOST_MULTIARCH}/heimdal/*.so debian/heimdal-multidev/usr/lib/${DEB_HOST_MULTIARCH}/heimdal/*.a; do \
		ln -s heimdal/`basename $$l` debian/heimdal-dev/usr/lib/${DEB_HOST_MULTIARCH}/`basename $$l`; \
	done
	mv debian/heimdal-multidev/usr/bin/krb5-config \
	   debian/heimdal-multidev/usr/bin/krb5-config.heimdal
	mv debian/heimdal-multidev/usr/share/man/man1/krb5-config.1 \
	   debian/heimdal-multidev/usr/share/man/man1/krb5-config.heimdal.1
	install -m644 debian/extras/default debian/heimdal-kdc/etc/default/heimdal-kdc
	install -m644 lib/hdb/hdb.schema debian/heimdal-kdc/etc/ldap/schema/hdb.schema
	mv debian/heimdal-clients/usr/bin/telnet debian/heimdal-clients/usr/bin/ktelnet
	mv debian/heimdal-clients/usr/bin/ftp \
	   debian/heimdal-clients/usr/bin/kftp
	mv debian/heimdal-clients/usr/share/man/man1/telnet.1 \
	   debian/heimdal-clients/usr/share/man/man1/ktelnet.1
	mv debian/heimdal-clients/usr/share/man/man1/ftp.1 \
	   debian/heimdal-clients/usr/share/man/man1/kftp.1
	mv debian/heimdal-clients/usr/bin/rsh \
	   debian/heimdal-clients/usr/bin/krsh
	mv debian/heimdal-clients/usr/bin/rcp \
	   debian/heimdal-clients/usr/bin/krcp
	mv debian/heimdal-clients/usr/bin/pagsh \
	   debian/heimdal-clients/usr/bin/kpagsh
	mv debian/heimdal-clients/usr/bin/su debian/heimdal-clients/usr/bin/ksu
	mv debian/heimdal-clients/usr/share/man/man1/rsh.1 \
	   debian/heimdal-clients/usr/share/man/man1/krsh.1
	mv debian/heimdal-clients/usr/share/man/man1/rcp.1 \
	   debian/heimdal-clients/usr/share/man/man1/krcp.1
	mv debian/heimdal-clients/usr/share/man/man1/pagsh.1 \
	   debian/heimdal-clients/usr/share/man/man1/kpagsh.1
	mv debian/heimdal-clients/usr/share/man/man1/su.1 \
	   debian/heimdal-clients/usr/share/man/man1/ksu.1
	if [ -d debian/heimdal-docs ]; then \
	mv debian/heimdal-docs/usr/share/man/man5/krb5.conf.5 \
	   debian/heimdal-docs/usr/share/man/man5/krb5.conf.5heimdal; \
	rm -f debian/heimdal-docs/usr/share/info/dir; \
	fi
	for l in `find $(DESTDIR)/usr/include -type d -printf "%P\n"`; do \
		mkdir "debian/heimdal-dev/usr/include/$$l"; \
		done
	for l in `find $(DESTDIR)/usr/include -mindepth 1 -maxdepth 1 -type f -printf "%P\n"`; do \
		ln -s "heimdal/$$l" "debian/heimdal-dev/usr/include/$$l"; \
		done
	for l in `find $(DESTDIR)/usr/include -mindepth 2 -maxdepth 2 -type f -printf "%P\n"`; do \
		ln -s "../heimdal/$$l" "debian/heimdal-dev/usr/include/$$l"; \
		done
	# remove conflicting files
	rm -rf debian/heimdal-dev/usr/include/ss
	rm -f debian/heimdal-dev/usr/bin/mk_cmds
	rm -f debian/heimdal-dev/usr/include/fnmatch.h
	# remove unwanted files
	rm -f debian/heimdal-dev/usr/lib/libss.a
	rm -f debian/heimdal-dev/usr/lib/libss.la
	rm -f debian/heimdal-dev/usr/lib/libss.so
	rm -f debian/heimdal-dev/usr/lib/windc.la
	# remove libtool recursive linking mess
	sed -i "/dependency_libs/ s/'.*'/''/" debian/heimdal-dev/usr/lib/${DEB_HOST_MULTIARCH}/*.la
	sed -i "s/libdir=\$${exec_prefix}\/lib\/heimdal/libdir=\$${exec_prefix}\/lib\/${DEB_HOST_MULTIARCH}\/heimdal/" debian/heimdal-multidev/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/heimdal-gssapi.pc

get-orig-source::
	./debian/scripts/build-git-orig
