Compress man pages
[yaz-moved-to-github.git] / debian / rules
index 4344344..b1173f3 100755 (executable)
@@ -1,15 +1,17 @@
 #!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# GPL copyright 1997 to 1999 by Joey Hess.
+# 
+# Script for building YAZ from source to .deb-packages.
+#
+# Created by Morten Hendriksen <mgh@dbc.dk> based on sample
+# debhelper script from Joey Hess. GPL copyright 1997 to 1999 by Joey Hess.
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
 # This is the debhelper compatability version to use.
-export DH_COMPAT=1
+export DH_COMPAT=2
 
-export YAZ_WITH_SSL=1
-CONFIG_FLAGS=--enable-static --enable-shared --enable-tcpd --prefix=/usr
+CONFIG_FLAGS=--with-xml2=/usr --enable-static --enable-shared --enable-tcpd --prefix=/usr --with-openssl
 
 # Enable parallel builds if CONCURRENCY_LEVEL is set
 ifdef CONCURRENCY_LEVEL
@@ -18,43 +20,21 @@ else
 MCFLAGS=
 endif
 
-ifeq ($(YAZ_WITH_SSL),1)
-BUILD_SSL=1
-SSL_FLAGS=--with-openssl
-DEVEL_NAME=yaz-devel-ssl
-RUNTIME_NAME=yaz-runtime-ssl
-else
-SSL_FLAGS=
-DEVEL_NAME=yaz-devel
-RUNTIME_NAME=yaz-runtime
-endif
+YAZSRCDIR?=$(shell pwd)
 
-ifdef DEB_YAZ_USE_CVS
-YAZSRCDIR=$(shell pwd)
-YAZ_VERSION=$(shell date -r$(YAZSRCDIR)/CVS +"CVS%Y%m%d")
-else
-YAZSRCDIR=$(shell pwd)
-YAZ_VERSION=1.8
-endif
+# Local library path for linking with right dependencies
+LOCAL_LINK=-ldebian/libyaz/usr/lib
 
-configure: stamp-configure
-stamp-configure:
-ifeq ($(BUILD_SSL),1)
-       cat debian/control.templ | sed -e "s/@YAZ_RUNTIME@/yaz-runtime-ssl/g; s/@YAZ_DEVEL@/yaz-devel-ssl/g; s/@YAZ_VERSION@/$(YAZ_VERSION)/g" > debian/control
-else
-       cat debian/control.templ | sed -e "s/@YAZ_RUNTIME@/yaz-runtime/g; s/@YAZ_DEVEL@/yaz-devel/g; s/@YAZ_VERSION@/$(YAZ_VERSION)/g" > debian/control
-endif
-       touch stamp-configure
+$(YAZSRCDIR)/configure: $(YAZSRCDIR)/configure.in
+       cd $(YAZSRCDIR); sh buildconf.sh
+
+stamp-configure: $(YAZSRCDIR)/configure
        dh_testdir
 
        -rm -rf build
        mkdir build
-       cd build; $(YAZSRCDIR)/configure $(CONFIG_FLAGS) $(SSL_FLAGS)
-
-ifdef DEB_YAZ_USE_CVS
-       @echo "Now configured for using YAZ-CVS checkout with datestamp $(YAZ_VERSION)"
-endif
-
+       cd build; $(YAZSRCDIR)/configure $(CONFIG_FLAGS)
+       touch stamp-configure
 
 build: stamp-build
 stamp-build: stamp-configure
@@ -66,19 +46,14 @@ stamp-build: stamp-configure
        touch stamp-build
 
 clean:
-ifeq ($(BUILD_SSL),1)
-       cat debian/control.templ | sed -e "s/@YAZ_RUNTIME@/yaz-runtime-ssl/g; s/@YAZ_DEVEL@/yaz-devel-ssl/g; s/@YAZ_VERSION@/$(YAZ_VERSION)/g" > debian/control
-else
-       cat debian/control.templ | sed -e "s/@YAZ_RUNTIME@/yaz-runtime/g; s/@YAZ_DEVEL@/yaz-devel/g; s/@YAZ_VERSION@/$(YAZ_VERSION)/g" > debian/control
-endif
        dh_testdir
        #dh_testroot
        -rm -f stamp-*
        -rm -rf build
 
        dh_clean
-       -rm -rf debian/yaz-runtime debian/yaz-runtime-ssl debian/yaz-devel \
-               debian/with-ssl debian/*.debhelper debian/substvars debian/shlibs.yaz-*
+       -rm -rf debian/libyaz debian/libyaz-dev \
+               debian/*.debhelper debian/substvars debian/shlibs.yaz-*
 
 install: stamp-install
 stamp-install: stamp-build
@@ -95,57 +70,80 @@ stamp-install: stamp-build
 
 # Build architecture-independent files here.
 binary-indep: build install
-# We have nothing to do by default.
+       dh_testdir
+       dh_testroot
+       dh_installdocs -p yaz-doc doc/*.html doc/*.pdf doc/*.png
+       dh_installchangelogs -p yaz-doc
+       dh_link -p yaz-doc
+       dh_strip -p yaz-doc
+       dh_compress -p yaz-doc
+       dh_fixperms -p yaz-doc
+       dh_gencontrol -p yaz-doc
+       dh_md5sums -p yaz-doc
+
+       dh_builddeb -p yaz-doc
 
 # Build architecture-dependent files here.
 binary-arch: build install
        dh_testdir
        dh_testroot
-       dh_movefiles -p $(DEVEL_NAME)  usr/share/aclocal usr/lib/*.a usr/include usr/bin
-       dh_movefiles -p $(RUNTIME_NAME) usr/lib usr/share/yaz
-       dh_installexamples -p $(DEVEL_NAME)
+       dh_movefiles -p libyaz-dev  usr/share/aclocal usr/lib/*.a usr/lib/*.la usr/lib/*.so usr/include usr/bin/yaz-config usr/bin/yaz-asncomp usr/share/yaz/ill usr/share/yaz/z39.50
+       dh_movefiles -p yaz usr/bin
+       dh_movefiles -p libyaz usr/lib usr/share/yaz/etc
+       dh_installexamples -p libyaz-dev
+
+       cp LICENSE debian/copyright
+       cp CHANGELOG changelog
+       dh_installdocs --all README TODO changelog debian/copyright
 
-       dh_installdocs -p yaz-doc doc/
-       dh_installdocs --all README TODO LICENSE CHANGELOG
        dh_installchangelogs
        dh_link
+
+       dh_installdeb -p libyaz
+       dh_installdeb -p libyaz-dev
+       dh_installdeb -p yaz
+
+       dh_installman -p libyaz-dev doc/yaz-config.8
+       dh_installman -p libyaz-dev doc/yaz-asncomp.1
+       dh_installman -p libyaz doc/yaz.7
+       dh_installman -p yaz doc/yaz-client.1 doc/yaz-ztest.8 doc/zoomsh.1
+       dh_installman -p yaz doc/yaz-client-ssl.1 doc/yaz-ztest-ssl.8
+
        dh_strip
        dh_compress -a
        dh_fixperms -a
 
-ifeq ($(BUILD_SSL),1)
-       dh_installdeb -a
-       #dh_makeshlibs -p $(RUNTIME_NAME) -V'libyaz 1 yaz-runtime-ssl' -V'libyazthread 1 yaz-runtime-ssl'
-       dh_shlibdeps -p $(RUNTIME_NAME) -- debian/$(RUNTIME_NAME)/usr/lib/*.so
-       dh_shlibdeps -p $(DEVEL_NAME) -- debian/$(DEVEL_NAME)/usr/bin/*
-       echo "libyaz 1 $(RUNTIME_NAME)" > debian/$(RUNTIME_NAME)/DEBIAN/shlibs
-       echo "libyazthread 1 $(RUNTIME_NAME)" >> debian/$(RUNTIME_NAME)/DEBIAN/shlibs
-       chmod 644 debian/$(RUNTIME_NAME)/DEBIAN/shlibs
+       echo "libyaz 2 libyaz (>= 2.0.2)" > debian/libyaz/DEBIAN/shlibs
+       echo "libyazthread 2 libyaz (>= 2.0.2)" >> debian/libyaz/DEBIAN/shlibs
+       echo "libyazmalloc 2 libyaz (>= 2.0.2)" >> debian/libyaz/DEBIAN/shlibs
+       echo "libyazssl 2 libyaz (>= 2.0.2)" >> debian/libyaz/DEBIAN/shlibs
+       chmod 644 debian/libyaz/DEBIAN/shlibs
+       dh_shlibdeps -p libyaz $(LOCAL_LINK) 
 
-#      dh_shlibdeps -a -- debian/yaz-runtime-ssl/usr/lib/*.so debian/yaz-runtime-ssl/usr/bin/*
-       dh_gencontrol -p $(DEVEL_NAME) -u-DDepends="$(RUNTIME_NAME)"
-       dh_gencontrol -p $(RUNTIME_NAME) -u-DConflicts=yaz-runtime
-       dh_gencontrol -a
+       dh_gencontrol -p libyaz
+       dh_md5sums -p libyaz
 
-else
-       dh_installdeb -a
+       dh_gencontrol -p libyaz-dev
+       dh_md5sums -p libyaz-dev
 
-       #dh_makeshlibs -p $(RUNTIME_NAME) -V'libyaz 1 yaz-runtime' -V'libyazthread 1 yaz-runtime'
-       dh_makeshlibs -p $(RUNTIME_NAME) 
-       dh_shlibdeps -a
+       dh_gencontrol -p yaz
+       dh_md5sums -p yaz
 
-       dh_gencontrol -a
-       dh_gencontrol -p $(RUNTIME_NAME) -u-DConflicts=yaz-runtime-ssl
-endif
-       dh_md5sums -a
        # Go kill those CVS-dirs before build
        -find debian/tmp -type d -name CVS | xargs rm -rf
        # For some reason it is necessary to remove empty-dirs in yaz-doc
        -rm -rf debian/tmp/usr/include debian/tmp/usr/share/aclocal debian/tmp/usr/lib debian/tmp/usr/bin \
                debian/tmp/usr/share/yaz
 
-       dh_builddeb
+       dh_builddeb -p libyaz
+       dh_builddeb -p libyaz-dev
+       dh_builddeb -p yaz
 
 
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install install-stamp
+.PHONY: build clean binary-indep binary-arch binary install install-stamp configure
+
+yazrelease:
+       # Conveniency target for building YAZ
+       dh_testdir
+       dpkg-buildpackage $(EXTRA_OPTS) -rfakeroot