| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 | 
							- #!/usr/bin/make -f
 
- # -*- makefile -*-
 
- # Sample debian/rules that uses debhelper.
 
- # GNU copyright 1997 to 1999 by Joey Hess.
 
- # Uncomment this to turn on verbose mode.
 
- #export DH_VERBOSE=1
 
- # These are used for cross-compiling and for saving the configure script
 
- # from having to guess our platform (since we know it already)
 
- DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 
- DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
- CFLAGS = -Wall -g
 
- export PACKAGE=tor
 
- include /usr/share/dpatch/dpatch.make
 
- # Do not optimize the build with "noopt"
 
- ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
 
- 	CFLAGS += -O0
 
- else
 
- 	CFLAGS += -O2
 
- endif
 
- # Do not strip the binary with "nostrip"
 
- #ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
 
- #	INSTALL_PROGRAM += -s
 
- #endif
 
- # Prevent the design paper from being built with "nodoc"
 
- ifneq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
 
- 	BUILD_DOC = no
 
- endif
 
- # Prevent the unit tests from being run with "nocheck"
 
- ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
 
- 	RUN_TEST = no
 
- endif
 
- ifneq (,$(findstring notest,$(DEB_BUILD_OPTIONS)))
 
- 	RUN_TEST = no
 
- endif
 
- CONF_OPTIONS =
 
- # build against libdmalloc4 - it better be installed
 
- ifneq (,$(findstring with-dmalloc,$(DEB_BUILD_OPTIONS)))
 
- 	CONF_OPTIONS += --with-dmalloc
 
- endif
 
- configure: patch-stamp
 
- config.status: configure
 
- 	dh_testdir
 
- 	CFLAGS="$(CFLAGS)" ./configure \
 
- 		--host=$(DEB_HOST_GNU_TYPE) \
 
- 		--build=$(DEB_BUILD_GNU_TYPE) \
 
- 		--prefix=/usr \
 
- 		--mandir=\$${prefix}/share/man \
 
- 		--infodir=\$${prefix}/share/info \
 
- 		--localstatedir=/var \
 
- 		--sysconfdir=/etc \
 
- 		$(CONF_OPTIONS)
 
- build: build-stamp
 
- build-stamp:  config.status
 
- 	dh_testdir
 
- 	$(MAKE)
 
- 	@echo
 
- 	@echo
 
- 	# Running unit tests
 
- 	if [ "$(RUN_TEST)" != "no" ]; then \
 
- 		src/or/test; \
 
- 	else \
 
- 		echo -e "\n\nSkipping unittests\n\n"; \
 
- 	fi
 
- 	@echo
 
- 	# XXX
 
- 	# So, gs-gpl on s390 is broken (#321435) and fails to properly build
 
- 	# .pdf files from .fig files using fig2dev.  Therefore we ship them
 
- 	# until this bug is fixed.
 
- 	#
 
- 	# of course we can always give it a try
 
- 	#
 
- 	# the hexdumps were built using something like
 
- 	#   perl -e 'while (<>) { print unpack ("H*", $_); }' interaction.pdf | fold > hexdump-interaction.pdf
 
- 	if [ "$(DEB_BUILD_GNU_TYPE)" = "s390-linux-gnu" ]; then \
 
- 		cd doc/design-paper; \
 
- 		fig2dev -L pdf cell-struct.fig cell-struct.pdf || \
 
- 			( echo "** Using shipped pdf file because fig2dev failed"; \
 
- 			  perl -e 'while (<>) { chomp; print pack ("H*", $$_); }' ../../debian/hexdump-cell-struct.pdf > cell-struct.pdf ); \
 
- 		fig2dev -L pdf interaction.fig interaction.pdf || \
 
- 			( echo "** Using shipped pdf file because fig2dev failed"; \
 
- 			  perl -e 'while (<>) { chomp; print pack ("H*", $$_); }' ../../debian/hexdump-interaction.pdf > interaction.pdf ); \
 
- 	fi
 
- 	# XXX ends
 
- 	if [ "$(BUILD_DOC)" != "no" ]; then \
 
- 		make -C doc/design-paper tor-design.ps tor-design.pdf || \
 
- 		( echo -e "*\n*\n*\n*"; \
 
- 		  echo "* Building some docs failed, perhaps because you did not install the"; \
 
- 		  echo "* declared build dependencies and then used -o with dpkg-buildpackage."; \
 
- 		  echo "*"; \
 
- 		  echo "* If you want to skip this part, you can set nodoc in DEB_BUILD_OPTIONS" ; \
 
- 		  echo "* and start the build again.  DEB_BUILD_OPTIONS=nodoc dpkg-buildpackage.."; \
 
- 		  echo -e "*\n*\n*\n*"; \
 
- 		  false ); \
 
- 	else \
 
- 		echo -e "\n\nSkipping tor-design.{ps,pdf}\n\n"; \
 
- 	fi
 
- 	touch build-stamp
 
- clean: unpatch
 
- 	dh_testdir
 
- 	dh_testroot
 
- 	rm -f build-stamp
 
- 	-$(MAKE) distclean
 
- 	dh_clean
 
- install: build
 
- 	dh_testdir
 
- 	dh_testroot
 
- 	dh_clean -k
 
- 	dh_installdirs
 
- 	$(MAKE) install DESTDIR=$(CURDIR)/debian/tor
 
- 	# move tor to where it belongs
 
- 	mv $(CURDIR)/debian/tor/etc/tor/torrc.sample $(CURDIR)/debian/tor/etc/tor/torrc
 
- 	mv $(CURDIR)/debian/tor/usr/bin/tor $(CURDIR)/debian/tor/usr/sbin/tor
 
- 	install -d $(CURDIR)/debian/tor/usr/share/man/man8
 
- 	mv $(CURDIR)/debian/tor/usr/share/man/man1/tor.1 $(CURDIR)/debian/tor/usr/share/man/man8/tor.8
 
- 	install -m 755 contrib/torify $(CURDIR)/debian/tor/usr/bin
 
- 	install -m 644 contrib/torify.1 $(CURDIR)/debian/tor/usr/share/man/man1
 
- 	install -m 644 contrib/tor-tsocks.conf $(CURDIR)/debian/tor/etc/tor
 
- 	install -m 644 debian/tor.lintian-override $(CURDIR)/debian/tor/usr/share/lintian/overrides/tor
 
- 	dh_link usr/share/man/man8/tor.8 usr/share/man/man5/torrc.5
 
- 	rm -f $(CURDIR)/debian/tor/usr/bin/tor-control.py
 
- # Build architecture-independent files here.
 
- binary-indep: build install
 
- # We have nothing to do by default.
 
- # Build architecture-dependent files here.
 
- binary-arch: build install
 
- 	dh_testdir
 
- 	dh_testroot
 
- 	dh_installchangelogs ChangeLog
 
- 	dh_installdocs
 
- 	if [ "$(BUILD_DOC)" != "no" ]; then \
 
- 		install -m 644 doc/design-paper/tor-design.ps  $(CURDIR)/debian/tor/usr/share/doc/tor/; \
 
- 		install -m 644 doc/design-paper/tor-design.pdf $(CURDIR)/debian/tor/usr/share/doc/tor/; \
 
- 	fi
 
- 	dh_installexamples
 
- #	dh_install
 
- #	dh_installdebconf
 
- 	dh_installlogrotate
 
- #	dh_installemacsen
 
- #	dh_installmime
 
- 	dh_installinit
 
- #	dh_installcron
 
- 	dh_installman
 
- 	dh_link
 
- 	#dh_strip
 
- 	dh_compress
 
- 	dh_fixperms
 
- 	dh_installdeb
 
- 	dh_shlibdeps
 
- 	dh_gencontrol
 
- 	dh_md5sums
 
- 	dh_builddeb
 
- binary: binary-indep binary-arch
 
- .PHONY: build clean binary-indep binary-arch binary install 
 
 
  |