3 # Script for building YAZ from source to .deb-packages.
5 # Created by Morten Hendriksen <mgh@dbc.dk> based on sample
6 # debhelper script from Joey Hess. GPL copyright 1997 to 1999 by Joey Hess.
8 # Uncomment this to turn on verbose mode.
11 # This is the debhelper compatability version to use.
15 CONFIG_FLAGS=--enable-static --enable-shared --enable-tcpd --prefix=/usr
17 # Enable parallel builds if CONCURRENCY_LEVEL is set
18 ifdef CONCURRENCY_LEVEL
19 MCFLAGS=-j$(CONCURRENCY_LEVEL)
24 ifeq ($(YAZ_WITH_SSL),1)
26 SSL_FLAGS=--with-openssl
32 YAZSRCDIR?=$(shell pwd)
33 # If this is not IndexData's release, then it is a cvs-checkout. Go cheat!
34 # YAZ_VERSION:=$(YAZ_VERSION)-$(shell date -r$(YAZSRCDIR)/CVS +"CVS%Y%m%d")
37 # Local library path for linking with right dependencies
38 LOCAL_LINK=-ldebian/yaz-runtime/usr/lib:debian/yaz-ssl/usr/lib
40 $(YAZSRCDIR)/configure: $(YAZSRCDIR)/configure.in
41 cd $(YAZSRCDIR); sh buildconf.sh
43 configure: stamp-configure
44 stamp-configure: $(YAZSRCDIR)/configure
49 cd build; $(YAZSRCDIR)/configure $(CONFIG_FLAGS) $(SSL_FLAGS)
53 stamp-build: stamp-configure
56 # Add here commands to compile the package.
57 $(MAKE) -C build $(MCFLAGS)
68 -rm -rf debian/yaz-runtime debian/yaz-ssl debian/yaz-devel \
69 debian/with-ssl debian/*.debhelper debian/substvars debian/shlibs.yaz-*
71 install: stamp-install
72 stamp-install: stamp-build
78 # Add here commands to install the package into debian/tmp.
79 -mkdirhier debian/tmp/usr
80 $(MAKE) -C build install prefix=`pwd`/debian/tmp/usr
84 # Build architecture-independent files here.
85 binary-indep: build install
88 dh_installdocs -p yaz-doc doc/
89 dh_installchangelogs -p yaz-doc
92 dh_compress -p yaz-doc
93 dh_fixperms -p yaz-doc
94 dh_gencontrol -p yaz-doc
97 dh_builddeb -p yaz-doc
99 # Build architecture-dependent files here.
100 binary-arch: build install
103 ifeq ($(YAZ_WITH_SSL),1)
104 dh_movefiles -p yaz-ssl usr/bin/*ssl usr/lib/libyazssl*
106 dh_movefiles -p yaz-devel usr/share/aclocal usr/lib/*.a usr/lib/*.la usr/lib/*.so usr/include
107 dh_movefiles -p yaz-runtime usr/lib usr/share/yaz usr/bin
108 dh_installexamples -p yaz-devel
110 cp LICENSE debian/copyright
111 cp CHANGELOG changelog
112 dh_installdocs --all README TODO changelog debian/copyright
120 dh_installdeb -p yaz-runtime
121 dh_installdeb -p yaz-devel
122 dh_undocumented -p yaz-runtime yaz-client.1 yaz-comp.1 yaz-config.1 yaz-ztest.1 zoomsh.1
123 echo "libyaz 1 yaz-runtime" > debian/yaz-runtime/DEBIAN/shlibs
124 echo "libyazthread 1 yaz-runtime" >> debian/yaz-runtime/DEBIAN/shlibs
125 echo "libyazmalloc 1 yaz-runtime" >> debian/yaz-runtime/DEBIAN/shlibs
126 chmod 644 debian/yaz-runtime/DEBIAN/shlibs
127 dh_shlibdeps -p yaz-runtime $(LOCAL_LINK)
128 ifeq ($(YAZ_WITH_SSL),1)
129 dh_installdeb -p yaz-ssl
130 dh_undocumented -p yaz-ssl yaz-client-ssl.1 yaz-ztest-ssl.1
131 echo "libyazssl 1 yaz-ssl" >> debian/yaz-ssl/DEBIAN/shlibs
132 chmod 644 debian/yaz-ssl/DEBIAN/shlibs
133 dh_shlibdeps -p yaz-ssl $(LOCAL_LINK)
134 cat debian/postinst >> debian/yaz-ssl/DEBIAN/postinst
137 cat debian/postinst >> debian/yaz-runtime/DEBIAN/postinst
139 dh_gencontrol -p yaz-runtime
140 dh_md5sums -p yaz-runtime
142 dh_gencontrol -p yaz-devel
143 dh_md5sums -p yaz-devel
145 ifeq ($(YAZ_WITH_SSL),1)
146 dh_gencontrol -p yaz-ssl
147 dh_md5sums -p yaz-ssl
149 # Go kill those CVS-dirs before build
150 -find debian/tmp -type d -name CVS | xargs rm -rf
151 # For some reason it is necessary to remove empty-dirs in yaz-doc
152 -rm -rf debian/tmp/usr/include debian/tmp/usr/share/aclocal debian/tmp/usr/lib debian/tmp/usr/bin \
153 debian/tmp/usr/share/yaz
155 dh_builddeb -p yaz-runtime
156 dh_builddeb -p yaz-devel
157 ifeq ($(YAZ_WITH_SSL),1)
158 dh_builddeb -p yaz-ssl
162 binary: binary-indep binary-arch
163 .PHONY: build clean binary-indep binary-arch binary install install-stamp configure
166 # Conveniency target for building both SSL and non-ssl versions
168 # Non-ssl version and source
169 dpkg-buildpackage $(EXTRA_OPTS) -rfakeroot
171 -YAZ_WITH_SSL=1 dpkg-buildpackage $(EXTRA_OPTS) -rfakeroot -B