#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 2001 by Mikael Andersson
# Stolen from heimdal (0.4c)

upstream_version=1.1

# Stolen from open-ldap 1.2.11
# the dbs rules
TAR_DIR := krb4-${upstream_version}
#include debian/scripts/dbs-build.mk
include /usr/share/dbs/dbs-build.mk

libacl_version=`ls $(BUILD_TREE)/lib/acl/.libs/libacl.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libacl_major=`ls $(BUILD_TREE)/lib/acl/.libs/libacl.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

libcom_err_version=`ls $(BUILD_TREE)/lib/com_err/.libs/libcom_err.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libcom_err_major=`ls $(BUILD_TREE)/lib/com_err/.libs/libcom_err.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

libkadm_version=`ls $(BUILD_TREE)/lib/kadm/.libs/libkadm.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libkadm_major=`ls $(BUILD_TREE)/lib/kadm/.libs/libkadm.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

libkafs_version=`ls $(BUILD_TREE)/lib/kafs/.libs/libkafs.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libkafs_major=`ls $(BUILD_TREE)/lib/kafs/.libs/libkafs.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

libkdb_version=`ls $(BUILD_TREE)/lib/kdb/.libs/libkdb.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libkdb_major=`ls $(BUILD_TREE)/lib/kdb/.libs/libkdb.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

libkrb_version=`ls $(BUILD_TREE)/lib/krb/.libs/libkrb.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libkrb_major=`ls $(BUILD_TREE)/lib/krb/.libs/libkrb.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

libotp_version=`ls $(BUILD_TREE)/lib/otp/.libs/libotp.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libotp_major=`ls $(BUILD_TREE)/lib/otp/.libs/libotp.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

libroken_version=`ls $(BUILD_TREE)/lib/roken/.libs/libroken.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libroken_major=`ls $(BUILD_TREE)/lib/roken/.libs/libroken.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

#libsl_version=`ls $(BUILD_TREE)/lib/sl/.libs/libsl.so.* | \
# awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
#libsl_major=`ls $(BUILD_TREE)/lib/sl/.libs/libsl.so.* | \
# awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`

libss_version=`ls $(BUILD_TREE)/lib/sl/.libs/libss.so.* | \
 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
libss_major=`ls $(BUILD_TREE)/lib/sl/.libs/libss.so.* | \
 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`



# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

# This is the debhelper compatability version to use.
export DH_COMPAT=3

build: $(STAMP_DIR)/build-stamp 
$(STAMP_DIR)/build-stamp: $(patched)
	dh_testdir

#	chmod u+x missing
#	touch $(BUILD_TREE)/include/stamp-h.in
#	touch $(BUILD_TREE)/configure
#	touch $(BUILD_TREE)/aclocal.m4
#	cd $(BUILD_TREE) && CFLAGS=-DKRB4 ./configure --prefix=/usr --enable-shared
#	cd $(BUILD_TREE) && /usr/bin/libtoolize --force
#	cd $(BUILD_TREE) && /usr/bin/aclocal -I cf
	cd $(BUILD_TREE) && ./configure --prefix=/usr --enable-shared \
		 --with-readline 					\
		 --with-readline-include=/usr/include/readline \
		 --with-readline-lib=/usr/lib \
		 --with-hesiod 					\
		 --with-hesiod-include=/usr/include/ \
		 --with-hesiod-lib=/usr/lib \
		 --mandir=\$${prefix}/share/man \
		 --libexecdir=\$${prefix}/lib/kerberos4kth-servers \
		 --sysconfdir=/etc 					\
		 --libdir=\$${prefix}/lib				\
		 --sharedstatedir=/var					\
		 --localstatedir=/var					\
		 --infodir=\$${prefix}/share/info				\
		 --enable-shared					\
		 --program-transform-name='s/^k*/k/'			\
		 --disable-cat-manpages					\
		 --with-db-dir=/var/lib/kerberos			\
		 --with-cracklib=/usr/lib				\
		 --with-dictpath=/var/cache/cracklib/cracklib_dict	\
		 --with-mailspool=/var/spool/mail 

	# Add here commands to compile the package.
	$(MAKE) -C $(BUILD_TREE)

	touch $(STAMP_DIR)/build-stamp

clean:
	dh_testdir
	dh_testroot

	# Add here commands to clean up after the build process.
	rm -rf $(SOURCE_DIR) $(STAMP_DIR)
	#-$(MAKE) distclean

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/tmp.
	$(MAKE) -C $(BUILD_TREE) install prefix=`pwd`/debian/tmp/usr
#	$(MAKE) -C $(BUILD_TREE) install DESTDIR=`pwd`/debian/tmp

	# remove files that are installed latter
	rm -rf debian/tmp/usr/info
	rm -rf debian/tmp/usr/share/man/cat{1,3,5,8}

	# remove conflicting files
	rm debian/tmp/usr/include/glob.h
	rm debian/tmp/usr/share/man/man1/klogin.1

	# install missing files
#	mkdir -p debian/tmp/usr/lib/kerberos4kth-kdc
#	install -m755 extras/setconfig debian/tmp/usr/lib/kerberos4kth-kdc
	mkdir -p debian/tmp/usr/lib/kerberos4kth-servers
	mv debian/tmp/usr/bin/klogin debian/tmp/usr/lib/kerberos4kth-servers/login

	# move files to appropriate packages

	dh_movefiles -plibacl$(libacl_major)-kerberos4kth       \
		usr/lib/libacl.so.$(libacl_major)        \
		usr/lib/libacl.so.$(libacl_version)
# Provided by libcomerr1-heimdal
#	dh_movefiles -plibcomerr$(libcom_err_major)-kerberos4kth       \
#		usr/lib/libcom_err.so.$(libcom_err_major)        \
#		usr/lib/libcom_err.so.$(libcom_err_version)
	rm	debian/tmp/usr/lib/libcom_err.so?*


	dh_movefiles -plibkadm$(libkadm_major)-kerberos4kth       \
		usr/lib/libkadm.so.$(libkadm_major)        \
		usr/lib/libkadm.so.$(libkadm_version)
# Provided by libkafs0-heimdal
#	dh_movefiles -plibkafs$(libkafs_major)-kerberos4kth       \
#		usr/lib/libkafs.so.$(libkafs_major)        \
#		usr/lib/libkafs.so.$(libkafs_version)
	rm 	debian/tmp/usr/lib/libkafs?*

#	rm debian/tmp/usr/lib/libkafs.{so*,la,a}
#	rm debian/tmp/usr/include/kafs.h
#	rm debian/tmp/usr/share/man/man3/kafs.3
	dh_movefiles -plibkdb-$(libkdb_major)-kerberos4kth       \
		usr/lib/libkdb.so.$(libkdb_major)        \
		usr/lib/libkdb.so.$(libkdb_version)
	dh_movefiles -plibkrb-$(libkrb_major)-kerberos4kth       \
		usr/lib/libkrb.so.$(libkrb_major)        \
		usr/lib/libkrb.so.$(libkrb_version)

# Provided by libotp0-heimdal
#	dh_movefiles -plibotp$(libotp_major)-kerberos4kth       \
#		usr/lib/libotp.so.$(libotp_major)        \
#		usr/lib/libotp.so.$(libotp_version)
	rm	debian/tmp/usr/lib/libotp.so?*

# Provided by libroken9-heimdal
#	dh_movefiles -plibroken$(libroken_major)-kerberos4kth       \
#		usr/lib/libroken.so.$(libroken_major)        \
#		usr/lib/libroken.so.$(libroken_version)
	rm	debian/tmp/usr/lib/libroken.so?*

#	dh_movefiles -plibsl$(libsl_major)-kerberos4kth       \
#		usr/lib/libsl.so.$(libsl_major)        \
#		usr/lib/libsl.so.$(libsl_version)
	rm	debian/tmp/usr/lib/libsl.so?*
	rm 	debian/tmp/usr/include/sl.h

# Provided by libss0-heimdal
#	dh_movefiles -plibss$(libss_major)-kerberos4kth       \
#		usr/lib/libss.so.$(libss_major)        \
#		usr/lib/libss.so.$(libss_version)
	rm	debian/tmp/usr/lib/libss.so?*

	dh_movefiles 
	# remove empty directories.
	rmdir debian/tmp/usr/lib/kerberos4kth-servers
#	rmdir debian/tmp/usr/lib/kerberos4kth-kdc
	rmdir debian/tmp/usr/lib
	rmdir debian/tmp/usr/share/man/man{1,3,8}
	rmdir debian/tmp/usr/include/ss
	rmdir debian/tmp/usr/{bin,sbin}

#	Inconsistens between krb4's and heimdal's libroken.
	rm debian/kerberos4kth-dev-common/usr/lib/libroken.so
	#cp libroken.so kerberos4kth-dev-common/usr/lib/
	cd debian/kerberos4kth-dev-common/usr/lib/ && ln -s libroken.so.9.5.3 libroken.so
	cp debian/libroken.la debian/kerberos4kth-dev-common/usr/lib/

#Man page troubles
	rm debian/kerberos4kth-dev/usr/share/man/man3/arg_printusage.3

	# logrotate
	mkdir -p debian/kerberos4kth-kdc/var/lib/kerberos4kth-kdc
	mkdir -p debian/kerberos4kth-kdc/etc/logrotate.d
	install -m644 extras/logrotate debian/kerberos4kth-kdc/etc/logrotate.d/kerberos4kth-kdc
	# Create config files
	mkdir -p debian/kerberos4kth-kdc/etc/kerberos
	touch debian/kerberos4kth-kdc/etc/kerberos/admin_acl.add
	touch debian/kerberos4kth-kdc/etc/kerberos/admin_acl.get
	touch debian/kerberos4kth-kdc/etc/kerberos/admin_acl.mod
	touch debian/kerberos4kth-kdc/etc/kerberos/admin_acl.del


	# install done
	touch $(STAMP_DIR)/install-stamp

# Build architecture-independent files here.
binary-indep: build install
#	dh_testversion -i
	dh_testdir -i
	dh_testroot -i
	dh_installdebconf -i
	dh_installdocs -i
	dh_installdocs -pkerberos4kth-docs $(BUILD_TREE)/{NEWS,TODO}
	dh_installmenu -i
#	dh_installemacsen -i
#	dh_installpam -i
	dh_installinit -i
	dh_installcron -i
#	dh_installmanpages -i
	dh_installinfo -pkerberos4kth-docs $(BUILD_TREE)/doc/kth-krb.info
#	dh_undocumented -i
	dh_installchangelogs -i $(BUILD_TREE)/ChangeLog
	dh_link -i
	dh_strip -i
	dh_compress -i
	dh_fixperms -i
	dh_suidregister -i
	dh_installdeb -i
#	dh_perl -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

libl=`ls -d debian/lib*-kerberos4kth | perl -e 'while (<>) { chomp; push(@out,$$_); } print join(":",@out),"\n";'`
libs=`ls -d debian/lib*-kerberos4kth | perl -e 'while (<>) { chomp; push(@out,$$_); } print "-L",join(" -L",@out),"\n";'`

# Build architecture-dependent files here.
binary-arch: build install
#	dh_testversion -a
	dh_testdir -a
	dh_testroot -a
	dh_installdebconf -a
	dh_installdocs -a
#	dh_installexamples -pkerberos4kth-lib $(BUILD_TREE)/krb.conf
#	dh_installexamples -pkerberos4kth-kdc extras/kdc.conf
	dh_installmenu -a
#	dh_installemacsen -a
#	dh_installpam -a
	dh_installinit -a
	dh_installcron -a
	dh_installman -pkerberos4kth-clients \
		build-tree/krb4-1.1/kadmin/kadmin.8 \
		build-tree/krb4-1.1/kadmin/kpasswd.1 \
		build-tree/krb4-1.1/kadmin/ksrvutil.8

#	dh_undocumented -a
	dh_undocumented -pkerberos4kth-kip kip.1 
	dh_undocumented -pkerberos4kth-clients \
		kcompile_et.1 \
		kmk_cmds.1  \
		ksimple_client.1 \
		ksample_client.1 \
		ksample_server.8 \
		kstring2key.1 \
		kzrefresh.1	

	dh_installchangelogs -a $(BUILD_TREE)/ChangeLog
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	# You may want to make some executables suid here.
#	chmod 700 debian/kerberos4kth-kdc/var/lib/kerberos4kth-servers/kerberos
	dh_suidregister -a
	dh_makeshlibs -a -V
	dh_installdeb -a
#	dh_perl -a
	dh_shlibdeps -a -l${libl} -- ${libs}
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
