#!/usr/bin/make -f
-#
-# 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.
+# -*- 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
-# This is the debhelper compatability version to use.
-export DH_COMPAT=2
+# Force compat level four
+export DH_COMPAT=4
-YAZ_WITH_SSL?=0
-CONFIG_FLAGS=--enable-static --enable-shared --enable-tcpd --prefix=/usr
+# 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)
-# Enable parallel builds if CONCURRENCY_LEVEL is set
-ifdef CONCURRENCY_LEVEL
-MCFLAGS=-j$(CONCURRENCY_LEVEL)
-else
-MCFLAGS=
-endif
-ifeq ($(YAZ_WITH_SSL),1)
-export BUILD_SSL=1
-SSL_FLAGS=--with-openssl
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
else
-SSL_FLAGS=
+ CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+ INSTALL_PROGRAM += -s
endif
-YAZ_VERSION=1.8.6
-YAZSRCDIR?=$(shell pwd)
-# If this is not IndexData's release, then it is a cvs-checkout. Go cheat!
-# YAZ_VERSION:=$(YAZ_VERSION)-$(shell date -r$(YAZSRCDIR)/CVS +"CVS%Y%m%d")
-export YAZ_VERSION
-
-# Local library path for linking with right dependencies
-LOCAL_LINK=-ldebian/yaz-runtime/usr/lib/
-
-$(YAZSRCDIR)/configure: $(YAZSRCDIR)/configure.in
- cd $(YAZSRCDIR); sh buildconf.sh
-configure: stamp-configure
-stamp-configure: $(YAZSRCDIR)/configure
+config.status: configure
dh_testdir
+ # Add here commands to configure the package.
+ CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --enable-shared --enable-static --enable-tcpd --with-xslt --with-gnutls --with-icu
- -rm -rf build
- mkdir build
- cd build; $(YAZSRCDIR)/configure $(CONFIG_FLAGS) $(SSL_FLAGS)
- touch stamp-configure
-build: stamp-build
-stamp-build: stamp-configure
+build: build-stamp
+build-stamp: config.status
dh_testdir
# Add here commands to compile the package.
- $(MAKE) -C build $(MCFLAGS)
+ $(MAKE)
- touch stamp-build
+ touch build-stamp
clean:
dh_testdir
- #dh_testroot
- -rm -f stamp-*
- -rm -rf build
+ dh_testroot
+ rm -f build-stamp
- dh_clean
- -rm -rf debian/yaz-runtime debian/yaz-runtime-ssl debian/yaz-devel \
- debian/with-ssl debian/*.debhelper debian/substvars debian/shlibs.yaz-*
+ # Add here commands to clean up after the build process.
+ -$(MAKE) distclean
+ifneq "$(wildcard /usr/share/misc/config.sub)" ""
+ -cp -f /usr/share/misc/config.sub config.sub
+endif
+ifneq "$(wildcard /usr/share/misc/config.guess)" ""
+ -cp -f /usr/share/misc/config.guess config.guess
+endif
+
+ dh_clean
-install: stamp-install
-stamp-install: stamp-build
+install: build
dh_testdir
dh_testroot
- dh_clean -k -a
- dh_installdirs -a
+ dh_clean -k
+ dh_installdirs
- # Add here commands to install the package into debian/tmp.
- -mkdirhier debian/tmp/usr
- $(MAKE) -C build install prefix=`pwd`/debian/tmp/usr
+ # Add here commands to install the package into debian/tmp
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
- touch stamp-install
# Build architecture-independent files here.
binary-indep: build install
- dh_testdir
- dh_testroot
- dh_installdocs -p yaz-doc doc/
- 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
+# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
- dh_movefiles -p yaz-devel usr/share/aclocal usr/lib/*.a usr/include usr/bin
- dh_movefiles -p yaz-runtime usr/lib usr/share/yaz
- dh_installexamples -p yaz-devel
-
- dh_installdocs --all README TODO LICENSE CHANGELOG debian/copyright
- mv debian/yaz-runtime/usr/share/doc/yaz-runtime/CHANGELOG debian/yaz-runtime/usr/share/doc/yaz-runtime/changelog
- mv debian/yaz-devel/usr/share/doc/yaz-devel/CHANGELOG debian/yaz-devel/usr/share/doc/yaz-devel/changelog
-
- dh_installchangelogs
+ cp LICENSE debian/copyright
+ dh_installdocs -A README
+ dh_installchangelogs
+ dh_installexamples
+ mv debian/tmp/usr/share/doc/yaz debian/tmp/usr/share/doc/yaz-doc
+ dh_install
+# dh_installmenu
+# dh_installdebconf
+# dh_installlogrotate
+# dh_installemacsen
+# dh_installpam
+# dh_installmime
+# dh_installinit
+# dh_installcron
+# dh_installinfo
+ dh_installman
dh_link
dh_strip
- dh_compress -a
- dh_fixperms -a
-
- dh_installdeb -p yaz-runtime
- dh_installdeb -p yaz-devel
-
- dh_shlibdeps -p yaz-runtime $(LOCAL_LINK) -- debian/yaz-runtime/usr/lib/*.so
- dh_shlibdeps -p yaz-devel $(LOCAL_LINK) -- debian/yaz-devel/usr/bin/*
-
- dh_undocumented -p yaz-devel yaz-client.1 yaz-comp.1 yaz-config.1 yaz-ztest.1 zoomsh.1
-ifeq ($(YAZ_WITH_SSL),1)
- dh_undocumented -p yaz-devel yaz-client-ssl.1 yaz-ztest-ssl.1
- echo "libyaz 1 yaz-runtime-ssl" > debian/yaz-runtime/DEBIAN/shlibs
- echo "libyazthread 1 yaz-runtime-ssl" >> debian/yaz-runtime/DEBIAN/shlibs
- echo "libyazmalloc 1 yaz-runtime-ssl" >> debian/yaz-runtime/DEBIAN/shlibs
- echo "libyazssl 1 yaz-runtime-ssl" >> debian/yaz-runtime/DEBIAN/shlibs
- # Move doc dir
- mv debian/yaz-runtime/usr/share/doc/yaz-runtime debian/yaz-runtime/usr/share/doc/yaz-runtime-ssl
- mv debian/yaz-devel/usr/share/doc/yaz-devel debian/yaz-devel/usr/share/doc/yaz-devel-ssl
-else
- echo "libyaz 1 yaz-runtime" > debian/yaz-runtime/DEBIAN/shlibs
- echo "libyazthread 1 yaz-runtime" >> debian/yaz-runtime/DEBIAN/shlibs
- echo "libyazmalloc 1 yaz-runtime" >> debian/yaz-runtime/DEBIAN/shlibs
-endif
- chmod 644 debian/yaz-runtime/DEBIAN/shlibs
-
- # Ugh Ugly hack
- cat debian/postinst >> debian/yaz-runtime/DEBIAN/postinst
-
- dh_md5sums -p yaz-runtime
- dh_md5sums -p yaz-devel
-ifeq ($(YAZ_WITH_SSL),1)
- dh_gencontrol -p yaz-runtime -- -DPackage=yaz-runtime-ssl -DConflicts=yaz-runtime -DReplaces=yaz-runtime -DProvides=yaz-runtime
- dh_gencontrol -p yaz-devel -- -DPackage=yaz-devel-ssl -DConflicts=yaz-devel -DReplaces=yaz-devel
-else
- dh_gencontrol -p yaz-runtime
- dh_gencontrol -p yaz-devel
-endif
-
- # 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 -p yaz-runtime
- dh_builddeb -p yaz-devel
-
+ dh_compress
+ dh_fixperms
+# dh_perl
+# dh_python
+ dh_makeshlibs -V 'libyaz3 (>= 3.0.45)'
+ dh_installdeb
+ dh_shlibdeps -l debian/libyaz3/usr/lib
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install install-stamp configure
-
-yazrelease:
- # Conveniency target for building both SSL and non-ssl versions
- dh_testdir
- # Non-ssl version and source
- dpkg-buildpackage $(EXTRA_OPTS) -rfakeroot
- # SSL version
- -YAZ_WITH_SSL=1 dpkg-buildpackage $(EXTRA_OPTS) -rfakeroot -B
+.PHONY: build clean binary-indep binary-arch binary install