X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=debian%2Frules;h=cde609f4e4c83420a558c02e1f9ec7c268cbe5e3;hp=c98e936ddf1bec663c90e043cd8270bbfed5d5e7;hb=782dc736e899db69b72d388a747623a78fc90b17;hpb=1cfbd69fb907cb908ea062ef66de1594b5d54858 diff --git a/debian/rules b/debian/rules index c98e936..cde609f 100755 --- a/debian/rules +++ b/debian/rules @@ -1,171 +1,109 @@ #!/usr/bin/make -f -# -# Script for building YAZ from source to .deb-packages. -# -# Created by Morten Hendriksen 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?=1 -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:debian/yaz-ssl/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-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 -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_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_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_md5sums -p yaz-runtime - dh_gencontrol -p yaz-runtime - - dh_md5sums -p yaz-devel - dh_gencontrol -p yaz-devel - -ifeq ($(YAZ_WITH_SSL),1) - dh_md5sums -p yaz-ssl - dh_gencontrol -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 - + 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