mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
2034c48f33
svn:r5056
198 lines
6.7 KiB
Makefile
Executable File
198 lines
6.7 KiB
Makefile
Executable File
#!/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)
|
|
LOCALHOST_IP ?= $(shell getent hosts localhost | awk '{print $$1}')
|
|
|
|
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
|
|
@if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then echo; echo; echo; echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Will ignore result of testsuite. Please fix your system/chroot."; echo "######################################################################"; echo; echo; echo; echo; echo "Note: 'getent hosts localhost' should return '127.0.0.1 localhost'"; echo; fi
|
|
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 \
|
|
if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then \
|
|
echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Will ignore result of testsuite. Please fix your system/chroot."; echo "######################################################################"; echo; echo; \
|
|
echo "src/or/test || true"; \
|
|
src/or/test || true; \
|
|
else \
|
|
echo "src/or/test"; \
|
|
src/or/test; \
|
|
fi; \
|
|
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
|
|
|
|
install -d -m 755 $(CURDIR)/debian/tor-dbg/usr/share/doc
|
|
ln -s tor $(CURDIR)/debian/tor-dbg/usr/share/doc/tor-dbg
|
|
|
|
|
|
# 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
|
|
# Change this for debhelper compatibility level 5 or later!
|
|
dh_strip --dbg-package=tor
|
|
dh_compress
|
|
dh_fixperms
|
|
dh_installdeb
|
|
dh_shlibdeps
|
|
dh_gencontrol
|
|
dh_md5sums
|
|
dh_builddeb
|
|
@if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then echo; echo; echo; echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Result of testsuite has been ignored. Please fix your system/chroot."; echo "######################################################################"; echo; echo; echo; echo; echo "Note: 'getent hosts localhost' should return '127.0.0.1 localhost'"; echo; fi
|
|
|
|
binary: binary-indep binary-arch
|
|
.PHONY: build clean binary-indep binary-arch binary install
|