view debian/rules @ 170:a62cb364f615

Read "y/n" response for fingerprints from /dev/tty directly so that dbclient will work with scp.
author Matt Johnston <matt@ucc.asn.au>
date Tue, 11 Jan 2005 16:17:03 +0000
parents 95f4bc4bcd58
children 743fce568f49 3ee0c2f85e1e
line wrap: on
line source

#!/usr/bin/make -f

#export DH_OPTIONS
DEB_HOST_GNU_TYPE ?=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

STRIP =strip
ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  STRIP =: nostrip
endif

CFLAGS =-Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
  CFLAGS +=-O0
else
  CFLAGS +=-O2
endif

CC =gcc
ifneq (,$(findstring diet,$(DEB_BUILD_OPTIONS)))
  CC =diet -v -Os gcc
endif

DIR=`pwd`/debian/dropbear

patch: deb-checkdir patch-stamp
patch-stamp:
#	no patches for now
#	for i in debian/diff/*.diff; do patch -p0 <$$i || exit 1; done
	touch patch-stamp

config.status: patch-stamp configure
	CFLAGS="$(CFLAGS)"' -DSFTPSERVER_PATH="\"/usr/lib/sftp-server\""' \
	  ./configure --host="$(DEB_HOST_GNU_TYPE)" \
	    --build="$(DEB_BUILD_GNU_TYPE)" --prefix=/usr \
	    --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info

build: deb-checkdir build-stamp
build-stamp: config.status
	$(MAKE) CC="$(CC)" LD="$(CC)"
	touch build-stamp

clean: deb-checkdir deb-checkuid
	-$(MAKE) distclean
#	test ! -e patch-stamp || \
#	  for i in debian/diff/*.diff; do patch -p0 -R <$$i; done
	rm -f patch-stamp build-stamp config.log config.status
	rm -rf "$(DIR)"
	rm -f debian/files debian/substvars debian/copyright changelog

install: deb-checkdir deb-checkuid build-stamp
	rm -rf "$(DIR)"
	install -d -m0755 "$(DIR)"/etc/dropbear
	# programs
	install -d -m0755 "$(DIR)"/usr/sbin
	install -m0755 dropbear "$(DIR)"/usr/sbin/dropbear
	install -d -m0755 "$(DIR)"/usr/bin
	install -m0755 dbclient "$(DIR)"/usr/bin/dbclient
	install -m0755 dropbearkey "$(DIR)"/usr/bin/dropbearkey
	install -d -m0755 "$(DIR)"/usr/lib/dropbear
	install -m0755 dropbearconvert \
	  "$(DIR)"/usr/lib/dropbear/dropbearconvert
	$(STRIP) -R .comment -R .note "$(DIR)"/usr/sbin/* \
	  "$(DIR)"/usr/bin/* "$(DIR)"/usr/lib/dropbear/*
	# init and run scripts
	install -d -m0755 "$(DIR)"/etc/init.d
	install -m0755 debian/dropbear.init "$(DIR)"/etc/init.d/dropbear
	install -m0755 debian/service/run "$(DIR)"/etc/dropbear/run
	install -d -m0755 "$(DIR)"/etc/dropbear/log
	install -m0755 debian/service/log "$(DIR)"/etc/dropbear/log/run
	ln -s /var/log/dropbear "$(DIR)"/etc/dropbear/log/main
	ln -s /var/run/dropbear "$(DIR)"/etc/dropbear/supervise
	ln -s /var/run/dropbear.log "$(DIR)"/etc/dropbear/log/supervise
	# man pages
	install -d -m0755 "$(DIR)"/usr/share/man/man8
	for i in dropbear.8 dropbearkey.8; do \
	  install -m644 $$i "$(DIR)"/usr/share/man/man8/ || exit 1; \
	done
	gzip -9 "$(DIR)"/usr/share/man/man8/*.8
	# copyright, changelog
	cat debian/copyright.in LICENSE >debian/copyright
	ln -s CHANGES changelog

binary-indep:

binary-arch: install dropbear.deb
	test "$(CC)" != 'gcc' || \
	  dpkg-shlibdeps "$(DIR)"/usr/sbin/* "$(DIR)"/usr/bin/* \
	    "$(DIR)"/usr/lib/dropbear/*
	dpkg-gencontrol -isp -pdropbear -P"$(DIR)"
	dpkg -b "$(DIR)" ..

binary: binary-arch binary-indep

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

include debian/implicit