Add LSB compliance to init.d script (INIT INFO and status).
[privoxy.git] / debian / rules
index a8c0f0a..d30d495 100755 (executable)
@@ -1,13 +1,12 @@
 #!/usr/bin/make -f
+#
+# (C) 2002-2006 Roland Rosenfeld <roland@debian.org>, based on
 # Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
+# This file is public domain software, originally written by Joey Hess. 
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-# This is the debhelper compatibility version to use.
-export DH_COMPAT=3
-
 # 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)
@@ -15,61 +14,71 @@ DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
 DEBDIR=`pwd`/debian/privoxy
 
-CFLAGS="-O2"
-WITHDEBUG=""
-ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -g
-       WITHDEBUG="--with-debug"
+OPTIMIZE=
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+        OPTIMIZE=-O0
+else
+        OPTIMIZE=-O2
 endif
 
-configure: configure-stamp
-configure-stamp:
+build: build-stamp
+build-stamp: patch-stamp
        dh_testdir
 
        autoheader
        autoconf
-       env CFLAGS=$(CFLAGS) WDUMP=w3m \
+       env CFLAGS="$(OPTIMIZE) -g" \
                ./configure --prefix=/usr --sysconfdir=/etc \
                --mandir=/usr/share/man $(WITHDEBUG) \
                --with-docbook=/usr/share/sgml/docbook/stylesheet/dsssl/modular
-
-       touch configure-stamp
-
-build: build-stamp
-build-stamp: configure-stamp 
-       dh_testdir
-
        $(MAKE)
-       $(MAKE) dok-devel dok-user dok-faq
+#       create missing doc/pdf directory if necessary:
+       [ -d doc/pdf ] || mkdir doc/pdf
+       $(MAKE) dok-pdf
+       $(MAKE) dok
+       env -u LANG $(MAKE) man
+       $(MAKE) man2html
+
+#      remove trailing whitespaces:
+       for x in developer-manual user-manual faq; do \
+               sed -e 's/[     ]*$$//' < doc/text/$$x.txt > doc/text/$$x.nws;\
+               mv -f doc/text/$$x.nws doc/text/$$x.txt; \
+       done
 
        touch build-stamp
 
-clean:
+clean: clean1 unpatch
+clean1:
        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 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
+#      rm -rf doc/pdf
 
-       dh_clean
+       dh_clean -Xrc.privoxy.orig
 
-install: build
+install: build-stamp
        dh_testdir
        dh_testroot
-       dh_clean -k
+       dh_clean -k -Xrc.privoxy.orig
        dh_installdirs
 
        install -m 0755 privoxy $(DEBDIR)/usr/sbin/privoxy
 
-       sed -e 's/^\(\(trust\|proxy\)-info-url\|admin-address\)/#\1/'  \
-           -e 's#^confdir \.#confdir /etc/privoxy#' \
-           -e 's#^logdir \.#logdir /var/log/privoxy#' \
-               < config > $(DEBDIR)/etc/privoxy/config
+       install -m 644 config $(DEBDIR)/etc/privoxy/config
        install -m 0644 default.action $(DEBDIR)/etc/privoxy/default.action
+       install -m 0644 global.action $(DEBDIR)/etc/privoxy/global.action
        install -m 0644 standard.action $(DEBDIR)/etc/privoxy/standard.action
        install -m 0644 user.action $(DEBDIR)/etc/privoxy/user.action
        install -m 0644 default.filter $(DEBDIR)/etc/privoxy/default.filter
@@ -79,17 +88,29 @@ install: build
        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
+binary-indep: build-stamp install
 # We have nothing to do by default.
 
 # Build architecture-dependent files here.
-binary-arch: build install
+binary-arch: build-stamp install
        dh_testdir
        dh_testroot
 #      dh_installdebconf       
        dh_installdocs -XCVS
+       (cd $(DEBDIR)/usr/share/doc/privoxy/; \
+        mv privoxy-index.html index.html)
        dh_installexamples
        dh_installmenu
        dh_installlogrotate
@@ -104,7 +125,7 @@ binary-arch: build install
        dh_installchangelogs ChangeLog
        dh_link
        dh_strip
-       dh_compress
+       dh_compress -Xpdf
        dh_fixperms
 #      dh_makeshlibs
        dh_installdeb
@@ -114,5 +135,17 @@ binary-arch: build install
        dh_md5sums
        dh_builddeb
 
+patch: patch-stamp
+patch-stamp:
+       dpatch apply-all
+       touch patch-stamp
+       #dpatch call-all -a=pkg-info >patch-stamp
+
+unpatch:
+       dpatch deapply-all
+       rm -rf patch-stamp debian/patched
+
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
+
+.PHONY: build clean binary-indep binary-arch binary install patch unpatch \
+       clean1