#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
-
+#
+# (c) 2002-2016 Roland Rosenfeld <roland@debian.org>
+#
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
+#export DH_OPTIONS=-v
-# 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)
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DEBDIR=`pwd`/debian/privoxy
-OPTIMIZE=
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- OPTIMIZE=-O0
-else
- OPTIMIZE=-O2
-endif
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
+%:
+ dh $@ --with autotools_dev --with systemd
+override_dh_auto_configure:
autoheader
autoconf
- env CFLAGS="$(OPTIMIZE) -g" \
- ./configure --prefix=/usr --sysconfdir=/etc \
- --mandir=/usr/share/man $(WITHDEBUG)
-
- touch configure-stamp
-
-build: build-stamp
-build-stamp: configure-stamp
- dh_testdir
-
+ dh_auto_configure -- \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --enable-zlib \
+ --enable-no-gifs \
+ --enable-external-filters \
+ --with-docbook=/usr/share/sgml/docbook/stylesheet/dsssl/modular
+
+override_dh_auto_build:
$(MAKE)
-
-# backup formatted upstream documentation:
- for x in text webserver pdf; do \
- if [ ! -d doc/$$x.dist ]; then \
- cp -a doc/$$x doc/$$x.dist; \
- fi; \
- done
- for x in INSTALL README privoxy.1; do \
- if [ ! -f $$x.dist ]; then \
- cp -a $$x $$x.dist; \
- fi; \
- done
-
- (cd doc/source; $(MAKE) pdf)
- (cd doc/source; $(MAKE) all)
-
- touch build-stamp
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- -$(MAKE) clean
- -$(MAKE) distclean
- rm -f privoxy
- rm -f configure config.h GNUmakefile
- rm -f doc/source/ldp.dsl
+# preserve auto build documentation from source package:
+ tar cf debian/doc.tar README INSTALL AUTHORS doc/source doc/webserver
+ env -u LANG LC_ALL=C.UTF-8 $(MAKE) dok
+ rm -f doc/webserver/user-manual/*.bak
+ env -u LANG LC_ALL=C.UTF-8 $(MAKE) man
+
+override_dh_auto_clean:
+# restore auto build documentation from source package:
+ [ ! -f debian/doc.tar ] || tar xf debian/doc.tar
+ rm -f debian/doc.tar
+ find doc/source -name \*.html | xargs -r rm -f
+ [ ! -f GNUmakefile ] || $(MAKE) clean
+ [ ! -f GNUmakefile ] || $(MAKE) distclean
+ rm -f configure config.h GNUmakefile
+ rm -f privoxy.8
rm -rf obj
rm -f ActivityConsole.jar
rm -f src/java/org/privoxy/activityconsole/*.class
+ rm -f doc/source/ldp.dsl
+ rm -rf doc/source/temp
+ dh_clean -Xrc.privoxy.orig
-# restore formatted upstream documentation:
- for x in text webserver pdf; do \
- if [ -d doc/$$x.dist ]; then \
- rm -rf doc/$$x; \
- mv doc/$$x.dist doc/$$x; \
- fi; \
- done
- for x in INSTALL README privoxy.1; do \
- if [ -f $$x.dist ]; then \
- rm -f $$x; \
- mv $$x.dist $$x; \
- fi; \
- done
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
-
+override_dh_auto_install:
install -m 0755 privoxy $(DEBDIR)/usr/sbin/privoxy
-
- sed -e 's/^\(\(trust\|proxy\)-info-url\|admin-address\)/#\1/' \
- -e 's/^\(enable-\(edit-actions\|remote-toggle\)\)[ ]*1/\1 0/' \
- -e 's#^confdir .*#confdir /etc/privoxy#' \
- -e 's#^logdir .*#logdir /var/log/privoxy#' \
- -e 's%^#\(user-manual\).*%\1 /usr/share/doc/privoxy/user-manual%' \
- -e 's/\(Sample Configuration File for Privoxy\).*/\1/' \
- -e 's/Id: config,v.*/Id: config,v $$/' \
- < config > $(DEBDIR)/etc/privoxy/config
+ sed -e 's/\(Sample Configuration File for Privoxy\).*/\1/;' \
+ -e 's/\$$Id: config,v.*/Id: config,v/' < config \
+ > $(DEBDIR)/usr/share/privoxy/config
install -m 0644 default.action $(DEBDIR)/etc/privoxy/default.action
- install -m 0644 standard.action $(DEBDIR)/etc/privoxy/standard.action
+ install -m 0644 match-all.action $(DEBDIR)/etc/privoxy/match-all.action
install -m 0644 user.action $(DEBDIR)/etc/privoxy/user.action
+ install -m 0644 regression-tests.action \
+ $(DEBDIR)/etc/privoxy/regression-tests.action
install -m 0644 default.filter $(DEBDIR)/etc/privoxy/default.filter
+ install -m 0644 user.filter $(DEBDIR)/etc/privoxy/user.filter
install -m 0644 trust $(DEBDIR)/etc/privoxy/trust
+ install -m 0755 tools/privoxy-log-parser.pl \
+ $(DEBDIR)/usr/bin/privoxy-log-parser
+ pod2man tools/privoxy-log-parser.pl \
+ > $(DEBDIR)/usr/share/man/man1/privoxy-log-parser.1
+
+ install -m 0755 tools/privoxy-regression-test.pl \
+ $(DEBDIR)/usr/bin/privoxy-regression-test
+ pod2man tools/privoxy-regression-test.pl \
+ > $(DEBDIR)/usr/share/man/man1/privoxy-regression-test.1
+
cp -r templates $(DEBDIR)/etc/privoxy/
rm -f $(DEBDIR)/etc/privoxy/templates/*~
rm -rf $(DEBDIR)/etc/privoxy/templates/CVS
+# Remove CVS tags and trailing spaces from config files:
+ find $(DEBDIR)/etc/privoxy -type f \
+ | xargs grep -l '\$$[A-Z][^$$]*:[^$$]*\$$' \
+ | while read f; do \
+ sed -e 's/\$$\(Id: [^$$]*,v\)[^$$]*\$$/\1/' \
+ -e 's/\$$\(Source: [^$$]*\)\$$/\1/' \
+ -e 's/\$$\(Log: [^$$]*\)\$$/\1/' \
+ -e 's/ *$$//' < $$f > $$f.new; \
+ mv -f $$f.new $$f; \
+ done
-# 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_installdebconf
+override_dh_installdocs:
dh_installdocs -XCVS
(cd $(DEBDIR)/usr/share/doc/privoxy/; \
mv privoxy-index.html index.html)
- dh_installexamples
- dh_installmenu
- dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
- dh_installinit
- dh_installcron
- dh_installman
- dh_installinfo
-# dh_undocumented
- dh_installchangelogs ChangeLog
- dh_link
- dh_strip
- dh_compress -Xpdf
- dh_fixperms
-# dh_makeshlibs
- dh_installdeb
-# dh_perl
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
+ (cd $(DEBDIR)/usr/share/doc/privoxy/user-manual; ln -s '../p_doc.css')
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
+override_dh_perl:
+# We only need perl-base:
+ dh_perl -d