X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=debian%2Frules;h=f5232c22dc111094b24097149e3995c4733da336;hp=c260d652728e9c8c24ad676e7e109f800d848596;hb=2309bff1f17207f5952803760becd2390f7f8ea3;hpb=834b8cc2eae2f3ebf8256cacf8cc137bcc91c038 diff --git a/debian/rules b/debian/rules index c260d65..f5232c2 100755 --- a/debian/rules +++ b/debian/rules @@ -1,75 +1,171 @@ #!/usr/bin/make -f -# Debian rules for YAZ -# $Id: rules,v 1.2 2001-06-13 20:47:40 adam Exp $ +# +# Script for building YAZ from source to .deb-packages. # -# Modified from: -# Sample debian/rules file - for GNU Hello (1.3). -# Copyright 1994,1995 by Ian Jackson. -# I hereby give you perpetual unlimited permission to copy, -# modify and relicense this file, provided that you do not remove -# my name from the file itself. (I assert my moral right of -# paternity under the Copyright, Designs and Patents Act 1988.) -# This file may have to be extensively modified - -package=yaz -soversion=1.0.0 - -build: - $(checkdir) +# Created by Morten Hendriksen 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=2 + +YAZ_WITH_SSL?=1 +CONFIG_FLAGS=--enable-static --enable-shared --enable-tcpd --prefix=/usr + +# 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 +else +SSL_FLAGS= +endif + +YAZ_VERSION=1.9.1 +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:debian/yaz-ssl/usr/lib + +$(YAZSRCDIR)/configure: $(YAZSRCDIR)/configure.in + cd $(YAZSRCDIR); sh buildconf.sh + +configure: stamp-configure +stamp-configure: $(YAZSRCDIR)/configure + dh_testdir + + -rm -rf build mkdir build - cd build; ../configure --prefix=/usr --enable-shared - cd build; $(MAKE) CFLAGS=-O2 - cd build/doc; $(MAKE) CFLAGS=-O2 - touch build + cd build; $(YAZSRCDIR)/configure $(CONFIG_FLAGS) $(SSL_FLAGS) + touch stamp-configure + +build: stamp-build +stamp-build: stamp-configure + dh_testdir + + # Add here commands to compile the package. + $(MAKE) -C build $(MCFLAGS) + + touch stamp-build clean: - $(checkdir) - rm -rf build - rm -rf *~ debian/tmp debian/*~ debian/files* debian/substvars - -binary-indep: checkroot build - $(checkdir) -# There are no architecture-independent files to be uploaded -# generated by this package. If there were any they would be -# made here. - -binary-arch: checkroot build - $(checkdir) - rm -rf debian/tmp - install -d debian/tmp/DEBIAN\ - -d debian/tmp/usr/share/doc/$(package) - install -m 755 debian/postinst debian/prerm debian/tmp/DEBIAN - install -m 644 debian/shlibs debian/tmp/DEBIAN - cd build; $(MAKE) prefix=`pwd`/../debian/tmp/usr install - if test -f doc/yaz.txt; then \ - install -m 644 doc/*.html doc/*.ps doc/*.txt debian/tmp/usr/share/doc/$(package); \ - else \ - install -m 644 build/doc/*.html build/doc/*.ps build/doc/*.txt debian/tmp/usr/share/doc/$(package); \ - fi - gzip debian/tmp/usr/share/doc/$(package)/*.ps - gzip debian/tmp/usr/share/doc/$(package)/*.txt - cp debian/copyright debian/tmp/usr/share/doc/$(package)/. - cp debian/changelog debian/tmp/usr/share/doc/$(package)/changelog.Debian - cp CHANGELOG debian/tmp/usr/share/doc/$(package)/changelog - strip --strip-debug debian/tmp/usr/lib/*.a - strip --strip-unneeded debian/tmp/usr/lib/lib*.so.$(soversion) - cp debian/shlibs debian/shlibs.local - dpkg-shlibdeps debian/tmp/usr/bin/yaz-client debian/tmp/usr/bin/yaz-ztest - dpkg-gencontrol - chown -R root.root debian/tmp - chmod -R g-ws debian/tmp - dpkg --build debian/tmp .. - -define checkdir - test -f debian/rules -endef - -# Below here is fairly generic really - -binary: binary-indep binary-arch - -checkroot: - $(checkdir) - test root = "`whoami`" - -.PHONY: binary binary-arch binary-indep clean checkroot + dh_testdir + #dh_testroot + -rm -f stamp-* + -rm -rf build + + dh_clean + -rm -rf debian/yaz-runtime debian/yaz-ssl debian/yaz-devel \ + debian/with-ssl debian/*.debhelper debian/substvars debian/shlibs.yaz-* + +install: stamp-install +stamp-install: stamp-build + dh_testdir + dh_testroot + dh_clean -k -a + dh_installdirs -a + + # Add here commands to install the package into debian/tmp. + -mkdirhier debian/tmp/usr + $(MAKE) -C build install prefix=`pwd`/debian/tmp/usr + + 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 + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +ifeq ($(YAZ_WITH_SSL),1) + dh_movefiles -p yaz-ssl usr/bin/*ssl usr/lib/libyazssl* +endif + dh_movefiles -p yaz-devel usr/share/aclocal usr/lib/*.a usr/lib/*.la usr/lib/*.so usr/include + dh_movefiles -p yaz-runtime usr/lib usr/share/yaz usr/bin + dh_installexamples -p yaz-devel + + cp LICENSE debian/copyright + cp CHANGELOG changelog + dh_installdocs --all README TODO changelog debian/copyright + + dh_installchangelogs + dh_link + dh_strip + dh_compress -a + dh_fixperms -a + + dh_installdeb -p yaz-runtime + dh_installdeb -p yaz-devel + dh_undocumented -p yaz-runtime yaz-client.1 yaz-comp.1 yaz-config.1 yaz-ztest.1 zoomsh.1 + 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 + chmod 644 debian/yaz-runtime/DEBIAN/shlibs + dh_shlibdeps -p yaz-runtime $(LOCAL_LINK) +ifeq ($(YAZ_WITH_SSL),1) + dh_installdeb -p yaz-ssl + dh_undocumented -p yaz-ssl yaz-client-ssl.1 yaz-ztest-ssl.1 + echo "libyazssl 1 yaz-ssl" >> debian/yaz-ssl/DEBIAN/shlibs + chmod 644 debian/yaz-ssl/DEBIAN/shlibs + dh_shlibdeps -p yaz-ssl $(LOCAL_LINK) + cat debian/postinst >> debian/yaz-ssl/DEBIAN/postinst +endif + # Ugh Ugly hack + cat debian/postinst >> debian/yaz-runtime/DEBIAN/postinst + + dh_gencontrol -p yaz-runtime + dh_md5sums -p yaz-runtime + + dh_gencontrol -p yaz-devel + dh_md5sums -p yaz-devel + +ifeq ($(YAZ_WITH_SSL),1) + dh_gencontrol -p yaz-ssl + dh_md5sums -p yaz-ssl +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 +ifeq ($(YAZ_WITH_SSL),1) + dh_builddeb -p yaz-ssl +endif + + +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