~ubuntu-branches/debian/sid/ncurses/sid-200908151543

« back to all changes in this revision

Viewing changes to debian/rules

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Baumann
  • Date: 2008-12-14 21:06:00 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20081214210600-2rdjwvpplgvh3zeb
Tags: 5.7+20081213-1
MergingĀ upstreamĀ versionĀ 5.7+20081213.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
# This file has gone through many maintainers.  Mostly rewritten
3
3
# by Daniel Jacobowitz.
4
4
 
 
5
include /usr/share/dpatch/dpatch.make
 
6
 
5
7
# This has to be exported to make some magic below work.
6
8
export DH_OPTIONS
7
9
 
8
10
# These are important since this is a library package
9
11
soname=5
10
 
vername=5.5
11
 
sodepver = (>= 5.4-5)
 
12
vername=5.7
 
13
sodepver = (>= 5.6+20071006-3)
12
14
 
13
15
# Name our packages
14
16
package-base=ncurses-base
17
19
package-lib-32=lib32ncurses$(soname)
18
20
package-lib-64=lib64ncurses$(soname)
19
21
package-libw=libncursesw$(soname)
 
22
package-libw-32=lib32ncursesw$(soname)
20
23
package-dev=libncurses$(soname)-dev
21
24
package-dev-32=lib32ncurses$(soname)-dev
22
25
package-dev-64=lib64ncurses$(soname)-dev
23
26
package-devw=libncursesw$(soname)-dev
 
27
package-devw-32=lib32ncursesw$(soname)-dev
24
28
package-dbg=libncurses$(soname)-dbg
25
29
package-dbgw=libncursesw$(soname)-dbg
26
30
package-term=ncurses-term
34
38
objdir-32=$(srcdir)/obj-32
35
39
objdir-64=$(srcdir)/obj-64
36
40
wobjdir=$(srcdir)/obj-wide
 
41
wobjdir-32=$(srcdir)/obj-wide-32
37
42
objdir-debug=$(srcdir)/obj-debug
38
43
wobjdir-debug=$(srcdir)/obj-wide-debug
39
44
 
64
69
 
65
70
ifeq ($(DEB_HOST_ARCH),amd64)
66
71
build_32_target = i486-$(DEB_HOST_GNU_SYSTEM)
67
 
build_32 = build-32
 
72
build_32 = build-32 build-wide-32
68
73
lib32 = /emul/ia32-linux/lib
69
74
usr_lib32 = /emul/ia32-linux/usr/lib
70
75
endif
71
76
 
72
77
ifeq ($(DEB_HOST_ARCH),ppc64)
73
78
build_32_target = powerpc-$(DEB_HOST_GNU_SYSTEM)
74
 
build_32 = build-32
 
79
build_32 = build-32 build-wide-32
75
80
lib32 = /lib32
76
81
usr_lib32 = /usr/lib32
77
82
endif
95
100
                --with-mmask-t='long' \
96
101
                --disable-termcap \
97
102
                --with-default-terminfo-dir=/etc/terminfo \
98
 
                --with-terminfo-dirs="/etc/terminfo:/lib/terminfo:/usr/share/terminfo"
 
103
                --with-terminfo-dirs="/etc/terminfo:/lib/terminfo:/usr/share/terminfo" \
 
104
                --with-ticlib
99
105
 
100
106
ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
101
107
CONFARGS += --with-build-cc=gcc --host=$(DEB_HOST_GNU_TYPE)
110
116
        s/screen s/screen-bce s/screen-s s/screen-w s/sun v/vt100 v/vt102 \
111
117
        v/vt220 v/vt52 x/xterm x/xterm-debian x/xterm-xfree86 x/xterm-color \
112
118
        x/xterm-mono x/xterm-r5 x/xterm-r6 x/xterm-vt220 \
 
119
        x/xterm-256color s/screen-256color s/screen-256color-bce \
113
120
        w/wsvt25 w/wsvt25m E/Eterm E/Eterm-color
114
121
 
115
122
# Blacklist terminfo entries shipped by other Debian packages so that we do
117
124
badterminfo = 5/5250 b/bterm i/iterm i/iterm-am i/iterm-color \
118
125
        j/jfbterm k/kon l/linux-5250 m/mlterm
119
126
 
120
 
# QUILT_STAMPFN: stamp file to use
121
 
QUILT_STAMPFN   ?= debian/stamp-patched
122
 
 
123
 
# QUILT_PATCH_DIR: where the patches live
124
 
QUILT_PATCH_DIR ?= debian/patches
125
 
 
126
127
# The ncurses configure test won't work when cross compiling (e.g. for
127
128
# 64 bit libraries), so force the libgpm soname to the correct value.
128
 
export cf_cv_gpm_soname=libgpm.so.1
 
129
export cf_cv_gpm_soname=libgpm.so.2
129
130
 
130
 
$(objdir)/config.status: $(QUILT_STAMPFN)
 
131
$(objdir)/config.status: patch
131
132
        test -d $(objdir) || mkdir $(objdir)
132
133
        cd $(objdir) && CFLAGS="$(CFLAGS)" $(srcdir)/configure \
133
134
                $(CONFARGS) \
134
135
                --with-install-prefix=$(fulltempdir) \
135
136
                --enable-overwrite
136
137
 
137
 
$(objdir-32)/config.status: $(QUILT_STAMPFN)
 
138
$(objdir-32)/config.status: patch
138
139
        test -d $(objdir-32) || mkdir $(objdir-32)
139
140
 
140
141
        cd $(objdir-32) && CFLAGS="$(CFLAGS)" CC="gcc -m32" \
147
148
                --with-install-prefix=$(fulltempdir) \
148
149
                --enable-overwrite --libdir=$(usr_lib32)
149
150
 
150
 
$(objdir-64)/config.status: $(QUILT_STAMPFN)
 
151
$(objdir-64)/config.status: patch
151
152
        test -d $(objdir-64) || mkdir $(objdir-64)
152
153
 
153
154
        # Force necessary configure checks which do not work when
164
165
                --with-install-prefix=$(fulltempdir) \
165
166
                --enable-overwrite --libdir=/usr/lib64
166
167
 
167
 
$(objdir-debug)/config.status: $(QUILT_STAMPFN)
 
168
$(objdir-debug)/config.status: patch
168
169
        test -d $(objdir-debug) || mkdir $(objdir-debug)
169
170
        cd $(objdir-debug) && \
170
171
                CFLAGS="$(CFLAGS) -DTRACE" $(srcdir)/configure \
172
173
                --with-install-prefix=$(fulltempdir) \
173
174
                --enable-overwrite
174
175
 
175
 
$(wobjdir)/config.status: $(QUILT_STAMPFN)
 
176
$(wobjdir)/config.status: patch
176
177
        test -d $(wobjdir) || mkdir $(wobjdir)
177
178
        cd $(wobjdir) && CFLAGS="$(CFLAGS)" $(srcdir)/configure \
178
179
                $(CONFARGS) \
179
180
                --with-install-prefix=$(fulltempdir) \
180
181
                --disable-overwrite --enable-widec
181
182
 
182
 
$(wobjdir-debug)/config.status: $(QUILT_STAMPFN)
 
183
$(wobjdir-debug)/config.status: patch
183
184
        test -d $(wobjdir-debug) || mkdir $(wobjdir-debug)
184
185
        cd $(wobjdir-debug) && \
185
186
                CFLAGS="$(CFLAGS) -DTRACE" $(srcdir)/configure \
187
188
                --with-install-prefix=$(fulltempdir) \
188
189
                --disable-overwrite --enable-widec
189
190
 
 
191
$(wobjdir-32)/config.status: patch
 
192
        test -d $(wobjdir-32) || mkdir $(wobjdir-32)
 
193
 
 
194
        cd $(wobjdir-32) && CFLAGS="$(CFLAGS)" CC="gcc -m32" \
 
195
                BUILD_CC="gcc" BUILD_CPPFLAGS="-D_GNU_SOURCE" CXX="g++ -m32" \
 
196
                $(srcdir)/configure \
 
197
                $(CONFARGS) \
 
198
                --build=$(DEB_BUILD_GNU_TYPE) \
 
199
                --host=$(build_32_target) \
 
200
                --without-gpm \
 
201
                --with-install-prefix=$(fulltempdir) \
 
202
                --disable-overwrite --enable-widec \
 
203
                --libdir=$(usr_lib32)
 
204
 
 
205
 
190
206
build: build-normal build-wide build-debug build-wide-debug \
191
207
        $(build_64) $(build_32)
192
208
 
212
228
        cd $(wobjdir) && $(MAKE)
213
229
        touch $@
214
230
 
 
231
build-wide-32: $(wobjdir-32)/config.status
 
232
        cd $(wobjdir-32) && $(MAKE)
 
233
        touch $@
 
234
 
215
235
build-wide-debug: $(wobjdir-debug)/config.status
216
236
        cd $(wobjdir-debug) && $(MAKE)
217
237
        touch $@
224
244
        rm -rf $(objdir-32)
225
245
        rm -rf $(objdir-64)
226
246
        rm -rf $(wobjdir)
 
247
        rm -rf $(wobjdir-32)
227
248
        rm -rf $(objdir-debug)
228
249
        rm -rf $(wobjdir-debug)
229
250
        rm -f build-normal build-wide build-debug build-wide-debug \
231
252
        rm -f debian/shlibs.local
232
253
        dh_clean
233
254
 
234
 
patch: $(QUILT_STAMPFN)
235
 
$(QUILT_STAMPFN):
236
 
        # quilt exits with 2 as return when there was nothing to do. 
237
 
        # That's not an error here (but it's usefull to break loops in crude scripts)
238
 
        QUILT_PATCHES=$(QUILT_PATCH_DIR) quilt push -a || test $$? = 2
239
 
        touch $(QUILT_STAMPFN)
240
 
 
241
 
unpatch:
242
 
        QUILT_PATCHES=$(QUILT_PATCH_DIR) quilt pop -a -R || test $$? = 2 
243
 
        rm -rf .pc $(QUILT_STAMPFN)
244
 
 
245
255
install: DH_OPTIONS=
246
256
install: build
247
257
        # Generate proper debhelper files for so-named packages
248
258
        dh_testdir
249
259
        dh_testroot
250
 
        dh_clean -k
 
260
        dh_prep
251
261
        dh_installdirs -s
252
262
        dh_installdirs -i
253
263
 
254
264
ifneq ($(build_32),)
255
265
        $(MAKE) -C $(objdir-32) install.libs
 
266
        $(MAKE) -C $(wobjdir-32) install.libs
256
267
        test -d $(tempdir)$(lib32) || mkdir $(tempdir)$(lib32)
257
268
        mv $(tempdir)$(usr_lib32)/libncurses.so.$(vername) $(tempdir)$(lib32)/
258
269
        mv $(tempdir)$(usr_lib32)/libncurses.so.$(soname) $(tempdir)$(lib32)/
 
270
        mv $(tempdir)$(usr_lib32)/libncursesw.so.$(vername) $(tempdir)$(lib32)/
 
271
        mv $(tempdir)$(usr_lib32)/libncursesw.so.$(soname) $(tempdir)$(lib32)/
 
272
        mv $(tempdir)$(usr_lib32)/libtic.so.$(vername) $(tempdir)$(lib32)/
 
273
        mv $(tempdir)$(usr_lib32)/libtic.so.$(soname) $(tempdir)$(lib32)/
259
274
endif
260
275
 
261
276
ifneq ($(build_64),)
263
278
        test -d $(tempdir)/lib64 || mkdir $(tempdir)/lib64
264
279
        mv $(tempdir)/usr/lib64/libncurses.so.$(vername) $(tempdir)/lib64/
265
280
        mv $(tempdir)/usr/lib64/libncurses.so.$(soname) $(tempdir)/lib64/
 
281
        mv $(tempdir)/usr/lib64/libtic.so.$(vername) $(tempdir)/lib64/
 
282
        mv $(tempdir)/usr/lib64/libtic.so.$(soname) $(tempdir)/lib64/
266
283
endif
267
284
 
268
 
        # Install into our base directory 
 
285
        mkdir -p $(tempdir)/etc
 
286
 
 
287
        # Install into our base directory
269
288
        GZIP='-9' $(MAKE) -C $(objdir-debug) install
270
289
        $(MAKE) -C $(wobjdir-debug) install.libs
271
290
 
316
335
        test -d $(tempdir)/lib || mkdir $(tempdir)/lib
317
336
        mv $(tempdir)/usr/lib/libncurses.so.$(vername) $(tempdir)/lib/
318
337
        mv $(tempdir)/usr/lib/libncurses.so.$(soname) $(tempdir)/lib/
 
338
        mv $(tempdir)/usr/lib/libtic.so.$(vername) $(tempdir)/lib/
 
339
        mv $(tempdir)/usr/lib/libtic.so.$(soname) $(tempdir)/lib/
319
340
        mv $(tempdir)/usr/lib/libncursesw.so.$(vername) $(tempdir)/lib/
320
341
        mv $(tempdir)/usr/lib/libncursesw.so.$(soname) $(tempdir)/lib/
 
342
        mv $(tempdir)/usr/lib/libticw.so.$(vername) $(tempdir)/lib/
 
343
        mv $(tempdir)/usr/lib/libticw.so.$(soname) $(tempdir)/lib/
321
344
 
322
345
        # Move ncurses-base terminfo entries to /lib/terminfo.  Also create
323
 
        # compatibility symlinks from /usr/share/terminfo to /lib/terminfo. 
 
346
        # compatibility symlinks from /usr/share/terminfo to /lib/terminfo.
324
347
        # The library doesn't need these, and third party applications
325
348
        # shouldn't either, but running applications may not reload
326
349
        # libncurses; in particular, the upgrade can hork running "screen"
343
366
        # We keep the libncurses shared library in /lib.
344
367
        ln -sf /lib/libncurses.so.$(soname) debian/$(package-dev)/usr/lib/libncurses.so
345
368
        ln -sf /lib/libncursesw.so.$(soname) debian/$(package-devw)/usr/lib/libncursesw.so
 
369
        ln -sf /lib/libtic.so.$(soname) debian/$(package-dev)/usr/lib/libtic.so
 
370
        ln -sf /lib/libticw.so.$(soname) debian/$(package-devw)/usr/lib/libticw.so
346
371
ifneq ($(build_32),)
347
372
        # Since the 32-bit libraries live in /emul, we can use a relative
348
373
        # symlink.
349
 
        ln -sf ../../lib/libncurses.so.$(soname) debian/$(package-dev-32)$(usr_lib32)/libncurses.so
 
374
        ln -sf /lib32/libncurses.so.$(soname) debian/$(package-dev-32)$(usr_lib32)/libncurses.so
 
375
        ln -sf /lib32/libncursesw.so.$(soname) debian/$(package-devw-32)$(usr_lib32)/libncursesw.so
 
376
        ln -sf /lib32/libtic.so.$(soname) debian/$(package-dev-32)$(usr_lib32)/libtic.so
350
377
endif
351
378
ifneq ($(build_64),)
352
379
        ln -sf /lib64/libncurses.so.$(soname) debian/$(package-dev-64)/usr/lib64/libncurses.so
 
380
        ln -sf /lib64/libtic.so.$(soname) debian/$(package-dev-64)/usr/lib64/tic.so
353
381
endif
354
382
 
355
383
        # By tradition, we provide -lcurses and -ltermcap.
363
391
binary-arch: build install
364
392
        dh_testdir
365
393
        dh_testroot
366
 
        dh_installdocs -s -N$(package-bin) \
367
 
                -N$(package-dbg) -N$(package-dbgw) \
368
 
                debian/FAQ
369
 
        dh_installchangelogs -s -N$(package-bin) \
370
 
                -N$(package-dbg) -N$(package-dbgw) \
371
 
                NEWS
 
394
        dh_installdocs -s debian/FAQ
 
395
        dh_installchangelogs -s NEWS
372
396
        dh_installexamples -s
373
397
 
374
 
        mkdir -p debian/$(package-bin)/usr/share/doc
375
 
        mkdir -p debian/$(package-dbg)/usr/share/doc
376
 
        mkdir -p debian/$(package-dbgw)/usr/share/doc
377
 
        ln -s $(package-lib) \
378
 
                debian/$(package-bin)/usr/share/doc/$(package-bin)
379
 
        ln -s $(package-dev) \
380
 
                debian/$(package-dbg)/usr/share/doc/$(package-dbg)
381
 
        ln -s $(package-devw) \
382
 
                debian/$(package-dbgw)/usr/share/doc/$(package-dbgw)
383
 
#ifneq ($(build_32),)
384
 
        #ln -s $(package-dev) \
385
 
        #       debian/$(package-dbgw)/usr/share/doc/$(package-dev-32)
386
 
        #ln -s $(package-lib) \
387
 
        #       debian/$(package-dbgw)/usr/share/doc/$(package-lib-32)
388
 
#endif
389
 
#ifneq ($(build_64),)
390
 
        #ln -s $(package-dev) \
391
 
        #       debian/$(package-dbgw)/usr/share/doc/$(package-dev-64)
392
 
        #ln -s $(package-lib) \
393
 
        #       debian/$(package-dbgw)/usr/share/doc/$(package-lib-64)
394
 
#endif
395
 
 
396
398
        dh_strip -s -X$(package-dbg) -X$(package-dbgw)
397
399
        dh_compress -s
398
400
        dh_fixperms -s
400
402
        dh_makeshlibs -p$(package-libw) -V "$(package-libw) $(sodepver)"
401
403
ifneq ($(build_32),)
402
404
        dh_makeshlibs -p$(package-lib-32) -V "$(package-lib-32) $(sodepver)"
 
405
        dh_makeshlibs -p$(package-libw-32) -V "$(package-libw-32) $(sodepver)"
403
406
endif
404
407
ifneq ($(build_64),)
405
408
        dh_makeshlibs -p$(package-lib-64) -V "$(package-lib-64) $(sodepver)"
416
419
        dh_shlibdeps -p$(package-lib-32) \
417
420
                -l$(lib32):$(usr_lib32):debian/$(package-lib-32)$(lib32):debian/$(package-lib-32)$(usr_lib32) \
418
421
                -- -L$(shell pwd)/debian/shlibs.dummy
 
422
        dh_shlibdeps -p$(package-libw-32) \
 
423
                -l$(lib32):$(usr_lib32):debian/$(package-libw-32)$(lib32):debian/$(package-libw-32)$(usr_lib32) \
 
424
                -- -L$(shell pwd)/debian/shlibs.dummy
419
425
endif
420
426
 
421
427
ifneq ($(build_64),)
435
441
          debian/$(package-libw)/DEBIAN/shlibs > debian/shlibs.local
436
442
 
437
443
        dh_shlibdeps -s -N$(package-lib) -N$(package-libw) \
438
 
                -N$(package-lib-32) -N$(package-lib-64) \
 
444
                -N$(package-lib-32) -N$(package-libw-32) -N$(package-lib-64) \
439
445
                -ldebian/$(package-lib)/lib:debian/$(package-lib)/usr/lib:debian/$(package-libw)/usr/lib
440
446
 
441
447
        dh_gencontrol -s
442
448
        dh_installdeb -s
 
449
        dh_md5sums -s
443
450
        dh_builddeb -s
444
451
 
445
452
binary-indep: DH_OPTIONS=-i
447
454
        dh_testdir
448
455
        dh_testroot
449
456
 
450
 
        # Do not install documentation, just symlinks.
451
 
        #       dh_installdocs
452
 
        #       dh_installchangelogs NEWS
453
 
        mkdir -p debian/$(package-base)/usr/share/doc
454
 
        mkdir -p debian/$(package-term)/usr/share/doc
455
 
        ln -s $(package-lib) \
456
 
                debian/$(package-base)/usr/share/doc/$(package-base)
457
 
        ln -s $(package-lib) \
458
 
                debian/$(package-term)/usr/share/doc/$(package-term)
459
 
 
 
457
        dh_installdocs
 
458
        dh_installchangelogs NEWS
460
459
        dh_compress -i
461
460
        dh_fixperms -i
462
461
        dh_gencontrol -i
463
462
        dh_installdeb -i
 
463
        dh_md5sums -i
464
464
        dh_builddeb -i
465
465
 
466
 
# Below here is fairly generic really
467
 
 
468
 
checkroot:
469
 
        test root = "`whoami`"
470
 
 
471
 
.PHONY: binary diff clean checkroot patch install
 
466
.PHONY: binary diff clean patch install