1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
#! /usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
# These are locations of quilt stuff
export QUILT_PATCHES=$(shell pwd)/debian/patches
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_BUILD_ARCH_OS ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
# set the number of build jobs
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
JOBS:=-j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) --with-random=/dev/urandom
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif
DO_TEST=no
ifeq (${DEB_BUILD_GNU_TYPE},${DEB_HOST_GNU_TYPE})
ifneq (${DEB_BUILD_ARCH},m68k)
ifneq (${DEB_BUILD_ARCH_OS},kfreebsd)
ifneq (${DEB_BUILD_ARCH_OS},knetbsd)
ifneq (${DEB_BUILD_ARCH_OS},hurd)
DO_TEST=yes
endif
endif
endif
endif
endif
SHLIBS_VERSION=7.16.2-1
# this will catch miss-linking. (e.g. undefined symbols)
LDFLAGS = -Wl,-z,defs
CONFIGURE_ARGS = $(CROSS) --prefix=/usr --mandir=/usr/share/man --disable-dependency-tracking --enable-ipv6 --enable-ldaps --with-lber-lib=lber --enable-manual --enable-versioned-symbols
# this is still not ready
# --enable-ares
# this fixes the ldap warning of dpkg-shlibdebs, but we dont want that.
# --with-ldap-lib=/usr/lib/libldap_r.so
ifneq (${DEB_BUILD_ARCH_OS},hurd)
CONFIGURE_ARGS += --with-gssapi=/usr
endif
build: build-stamp
#configure-stamp: DH_OPTIONS=
configure-stamp:
dh_testdir
mkdir -p debian/build debian/build-gnutls
quilt push -a
# pop the last patch which must be gnutls
quilt pop
tar -cf - --exclude=debian --exclude=.pc . | tar -xf - -C debian/build
# push the last patch which must be gnutls
quilt push
tar -cf - --exclude=debian --exclude=.pc . | tar -xf - -C debian/build-gnutls
for flavour in build build-gnutls; do \
(cd debian/$$flavour && libtoolize --automake --copy --force && aclocal-1.9 -I m4 && automake-1.9 && autoconf) \
done
cd debian/build && ./configure ${CONFIGURE_ARGS} --with-ca-path=/etc/ssl/certs
cd debian/build-gnutls && ./configure ${CONFIGURE_ARGS} --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt --without-ssl --with-gnutls --without-libssh2
touch configure-stamp
#build-stamp: DH_OPTIONS=
build-stamp: configure-stamp
dh_testdir
${MAKE} $(JOBS) -C debian/build
${MAKE} $(JOBS) -C debian/build-gnutls
ifeq (${DO_TEST},yes)
-${MAKE} -C debian/build test
-${MAKE} -C debian/build-gnutls test
endif
touch build-stamp
clean:
dh_testdir
dh_testroot
-quilt pop -a
rm -rf build-stamp configure-stamp debian/build debian/build-gnutls debian/tmp-gnutls
dh_clean debian/shlibs.local
#install: DH_OPTIONS=
install: build-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
${MAKE} -C debian/build DESTDIR=$(shell pwd)/debian/tmp install
${MAKE} -C debian/build-gnutls DESTDIR=$(shell pwd)/debian/tmp-gnutls install
dh_install -plibcurl3-gnutls -plibcurl4-gnutls-dev --sourcedir=debian/tmp-gnutls
dh_install -Nlibcurl3-gnutls -Nlibcurl4-gnutls-dev --sourcedir=debian/tmp
install -m 644 debian/libcurl3-gnutls.lintian-overrides debian/libcurl3-gnutls/usr/share/lintian/overrides/libcurl3-gnutls
install -m 644 debian/libcurl3.lintian-overrides debian/libcurl3/usr/share/lintian/overrides/libcurl3
for i in `find debian/lib* -name "lib*.la"`; do echo "removing dependency_libs from $$i"; sed -i -e "/dependency_libs/ s/'.*'/''/" $$i; done
# Build architecture-independent files here.
#binary-indep: DH_OPTIONS=-i
binary-indep: build-stamp install
# We have nothing to do here.
# Build architecture-dependent files here.
#binary-arch: DH_OPTIONS=-a
binary-arch: build-stamp install
dh_testdir
dh_testroot
dh_installdocs
for package in libcurl4-openssl-dev libcurl4-gnutls-dev; do \
install -m 644 docs/libcurl/libcurl.m4 debian/$${package}/usr/share/aclocal; \
for doc_ext in html pdf; do \
install -m 644 docs/*.$${doc_ext} debian/$${package}/usr/share/doc/$${package}/$${doc_ext}; \
install -m 644 docs/libcurl/*.$${doc_ext} debian/$${package}/usr/share/doc/$${package}/$${doc_ext}/libcurl; \
done; \
done
dh_installman
dh_installexamples
dh_installchangelogs CHANGES
dh_link
dh_strip -Nlibcurl3 -Nlibcurl3-gnutls
dh_strip -plibcurl3 -plibcurl3-gnutls --dbg-package=libcurl3-dbg
dh_compress
dh_fixperms
echo "libcurl 4 libcurl3 (>= $(SHLIBS_VERSION))" > debian/shlibs.local
dh_makeshlibs -plibcurl3 -V "libcurl3 (>= $(SHLIBS_VERSION))"
dh_makeshlibs -plibcurl3-gnutls -V "libcurl3-gnutls (>= $(SHLIBS_VERSION))"
dh_installdeb
dh_shlibdeps
dh_md5sums
dh_gencontrol
dh_builddeb
binary: binary-indep binary-arch
.PHONY: binary binary-arch binary-indep build clean install
|