diff debian/rules @ 522:8cc0598b0b9a maemo

- Split into separate debs
author Matt Johnston <matt@ucc.asn.au>
date Tue, 18 Nov 2008 12:53:48 +0000
parents 8c2d2edadf2a
children 4ff1bf0345c9 b0668a7f76d9
line wrap: on
line diff
--- a/debian/rules	Tue Nov 18 12:53:39 2008 +0000
+++ b/debian/rules	Tue Nov 18 12:53:48 2008 +0000
@@ -13,7 +13,7 @@
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
   CFLAGS +=-O0
 else
-  CFLAGS +=-O2
+  CFLAGS +=-Os
 endif
 
 CONFFLAGS =
@@ -23,8 +23,6 @@
   CC =diet -v -Os gcc -nostdinc
 endif
 
-DIR =$(shell pwd)/debian/dropbear
-
 patch: deb-checkdir patch-stamp
 patch-stamp:
 	for i in `ls -1 debian/diff/*.diff || :`; do \
@@ -45,7 +43,8 @@
 	$(MAKE) CC='$(CC)' LD='$(CC)'
 	touch build-stamp
 
-clean: deb-checkdir deb-checkuid
+clean: DIR=$(shell pwd)/debian/dropbear
+clean: deb-checkdir deb-checkuid 
 	test ! -r Makefile || $(MAKE) distclean
 	rm -f libtomcrypt/Makefile libtommath/Makefile
 	test ! -e patch-stamp || \
@@ -54,22 +53,21 @@
 	  done
 	rm -f patch-stamp build-stamp config.log config.status
 	rm -rf '$(DIR)'
+	rm -rf '$(DIR)'-client
+	rm -rf '$(DIR)'-server
+	rm -rf '$(DIR)'-common
+	rm -rf '$(DIR)'-scp
 	rm -f debian/files debian/substvars debian/copyright changelog
 
-install: deb-checkdir deb-checkuid build-stamp
-	rm -rf '$(DIR)'
+install-server: DIR=$(shell pwd)/debian/dropbear-server
+install-server: deb-checkdir deb-checkuid config.status 
+	rm -f '$(DIR)'
+	$(MAKE) clean
+	$(MAKE) CC='$(CC)' LD='$(LD)' PROGRAMS=dropbear dropbear
 	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
@@ -77,7 +75,105 @@
 	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
-	# man pages
+	install -d -m0755 '$(DIR)'/usr/share/man/man8
+	for i in dropbear.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
+	test -r changelog || ln -s CHANGES changelog
+	$(STRIP) -R .comment -R .note '$(DIR)'/usr/sbin/*
+
+	install -d -m0755 '$(DIR)'/DEBIAN
+	test '$(CC)' != 'gcc' || \
+	  dpkg-shlibdeps '$(DIR)'/usr/sbin/* \
+	    '$(DIR)'/usr/lib/dropbear/*
+	dpkg-gencontrol -isp -pdropbear-server -P'$(DIR)'
+	dpkg -b '$(DIR)' ..
+
+install-client: DIR=$(shell pwd)/debian/dropbear-client
+install-client: deb-checkdir deb-checkuid config.status 
+	rm -f '$(DIR)'
+	$(MAKE) clean
+	$(MAKE) CC='$(CC)' LD='$(LD)' PROGRAMS=dbclient dbclient
+	install -d -m0755 '$(DIR)'/usr/bin
+	install -m0755 dbclient '$(DIR)'/usr/bin/dbclient
+	install -d -m0755 '$(DIR)'/usr/share/man/man1
+	install -m644 dbclient.1 '$(DIR)'/usr/share/man/man1/
+	gzip -9 '$(DIR)'/usr/share/man/man1/*.1
+	$(STRIP) -R .comment -R .note '$(DIR)'/usr/bin/* 
+
+	install -d -m0755 '$(DIR)'/DEBIAN
+	test '$(CC)' != 'gcc' || \
+	  dpkg-shlibdeps  '$(DIR)'/usr/bin/*
+	dpkg-gencontrol -isp -pdropbear-client -P'$(DIR)'
+	dpkg -b '$(DIR)' ..
+
+install-common: DIR=$(shell pwd)/debian/dropbear-common
+install-common: deb-checkdir deb-checkuid config.status 
+	rm -f '$(DIR)'
+	$(MAKE) clean
+	$(MAKE) CC='$(CC)' LD='$(LD)' PROGRAMS="dropbearkey dropbearconvert" MULTI=1
+	install -d -m0755 '$(DIR)'/usr/bin
+	install -d -m0755 '$(DIR)'/usr/lib/dropbear
+	install -m0755 dropbearmulti \
+	  '$(DIR)'/usr/lib/dropbear/dropbearmulti
+	ln -s ../lib/dropbear/dropbearmulti '$(DIR)'/usr/bin/dropbearkey
+	ln -s dropbearmulti '$(DIR)'/usr/lib/dropbear/dropbearconvert
+	install -d -m0755 '$(DIR)'/usr/share/man/man8
+	for i in dropbearkey.8; do \
+	  install -m644 $$i '$(DIR)'/usr/share/man/man8/ || exit 1; \
+	done
+	gzip -9 '$(DIR)'/usr/share/man/man8/*.8
+	$(STRIP) -R .comment -R .note \
+	  '$(DIR)'/usr/bin/* '$(DIR)'/usr/lib/dropbear/*
+
+	install -d -m0755 '$(DIR)'/DEBIAN
+	test '$(CC)' != 'gcc' || \
+	  dpkg-shlibdeps '$(DIR)'/usr/bin/*  '$(DIR)'/usr/lib/dropbear/*
+	dpkg-gencontrol -isp -pdropbear-common -P'$(DIR)'
+	dpkg -b '$(DIR)' ..
+
+install-scp: DIR=$(shell pwd)/debian/dropbear-scp
+install-scp: deb-checkdir deb-checkuid config.status 
+	rm -f '$(DIR)'
+	$(MAKE) clean
+	$(MAKE) CC='$(CC)' LD='$(LD)' PROGRAMS="scp" scp 
+	install -d -m0755 '$(DIR)'/usr/bin
+	install -m0755 scp '$(DIR)'/usr/bin/scp
+	$(STRIP) -R .comment -R .note '$(DIR)'/usr/bin/*
+
+	install -d -m0755 '$(DIR)'/DEBIAN
+	test '$(CC)' != 'gcc' || \
+	  dpkg-shlibdeps '$(DIR)'/usr/bin/* 
+	dpkg-gencontrol -isp -pdropbear-scp -P'$(DIR)'
+	dpkg -b '$(DIR)' ..
+
+install-multi: DIR=$(shell pwd)/debian/dropbear
+install-multi: deb-checkdir deb-checkuid config.status 
+	rm -f '$(DIR)'
+	$(MAKE) clean
+	$(MAKE) CC='$(CC)' LD='$(LD)' PROGRAMS="dropbearkey dropbearconvert scp dropbear dbclient" MULTI=1
+	install -d -m0755 '$(DIR)'/etc/dropbear
+	# programs
+	install -d -m0755 '$(DIR)'/usr/bin
+	install -d -m0755 '$(DIR)'/usr/sbin
+	install -d -m0755 '$(DIR)'/usr/lib/dropbear
+	install -m0755 dropbearmulti \
+	  '$(DIR)'/usr/lib/dropbear/dropbearmulti
+	ln -s ../lib/dropbear/dropbearmulti '$(DIR)'/usr/bin/dropbearkey
+	ln -s ../lib/dropbear/dropbearmulti '$(DIR)'/usr/bin/dbclient
+	ln -s ../lib/dropbear/dropbearmulti '$(DIR)'/usr/bin/scp
+	ln -s ../lib/dropbear/dropbearmulti '$(DIR)'/usr/sbin/dropbear
+	ln -s dropbearmulti '$(DIR)'/usr/lib/dropbear/dropbearconvert
+	# 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
 	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; \
@@ -86,19 +182,21 @@
 	install -d -m0755 '$(DIR)'/usr/share/man/man1
 	install -m644 dbclient.1 '$(DIR)'/usr/share/man/man1/
 	gzip -9 '$(DIR)'/usr/share/man/man1/*.1
-	# copyright, changelog
-	cat debian/copyright.in LICENSE >debian/copyright
-	test -r changelog || ln -s CHANGES changelog
+	$(STRIP) -R .comment -R .note '$(DIR)'/usr/sbin/* \
+	  '$(DIR)'/usr/bin/* '$(DIR)'/usr/lib/dropbear/*
 
-binary-indep:
-
-binary-arch: install dropbear.deb
+	install -d -m0755 '$(DIR)'/DEBIAN
 	test '$(CC)' != 'gcc' || \
 	  dpkg-shlibdeps '$(DIR)'/usr/sbin/* '$(DIR)'/usr/bin/* \
 	    '$(DIR)'/usr/lib/dropbear/*
 	dpkg-gencontrol -isp -pdropbear -P'$(DIR)'
 	dpkg -b '$(DIR)' ..
 
+install: install-client install-server install-common install-multi install-scp
+binary-indep:
+
+binary-arch: install dropbear.deb
+
 binary: binary-arch binary-indep
 
 .PHONY: patch build clean install binary-indep binary-arch binary