~ubuntu-branches/ubuntu/trusty/globus-gssapi-gsi/trusty

« back to all changes in this revision

Viewing changes to debian/rules

  • Committer: Bazaar Package Importer
  • Author(s): Mattias Ellert
  • Date: 2009-04-18 20:17:33 UTC
  • Revision ID: james.westby@ubuntu.com-20090418201733-vvbcyclnbqpu2doe
Tags: 5.9-3
* Initial release (Closes: #514471).
* Rebuilt to correct libltdl dependency.
* Preparing for other 64bit platforms than amd64.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/make -f
 
2
# -*- makefile -*-
 
3
 
 
4
DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 
5
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
6
 
 
7
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
 
8
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
 
9
MAKEFLAGS += -j$(NUMJOBS)
 
10
endif
 
11
 
 
12
include /usr/share/quilt/quilt.make
 
13
 
 
14
name = globus-gssapi-gsi
 
15
_name = globus_gssapi_gsi
 
16
version = 5.9
 
17
soname = 4
 
18
 
 
19
INSTALLDIR = $(CURDIR)/debian/tmp
 
20
 
 
21
_prefix = /usr
 
22
_bindir = $(_prefix)/bin
 
23
_sbindir = $(_prefix)/sbin
 
24
_libdir = $(_prefix)/lib
 
25
_datadir = $(_prefix)/share
 
26
_mandir = $(_datadir)/man
 
27
_docdir = $(_datadir)/doc
 
28
 
 
29
DEB_BUILD_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU)
 
30
 
 
31
ifneq (, $(filter $(DEB_HOST_ARCH_CPU), amd64 alpha ia64 s390x ppc64 sparc64))
 
32
flavor = gcc64pthr
 
33
else
 
34
flavor = gcc32pthr
 
35
endif
 
36
 
 
37
sed: sed-stamp
 
38
        :
 
39
 
 
40
sed-stamp:
 
41
        dh_testdir
 
42
 
 
43
        for f in `find . ! -path */.pc/* -name Makefile.am` ; do \
 
44
          sed -e 's!^flavorinclude_HEADERS!include_HEADERS!' \
 
45
              -e 's!\(lib[a-zA-Z_]*\)_$$(GLOBUS_FLAVOR_NAME)\.la!\1.la!g' \
 
46
              -e 's!^\(lib[a-zA-Z_]*\)___GLOBUS_FLAVOR_NAME__la_!\1_la_!' \
 
47
            < $$f > $$f.new ; \
 
48
          mv $$f.new $$f ; \
 
49
        done
 
50
 
 
51
        sed -e "s!<With_Flavors!<With_Flavors ColocateLibraries=\"no\"!" \
 
52
                < pkgdata/pkg_data_src.gpt.in > pkgdata/pkg_data_src.gpt.in.new
 
53
        mv pkgdata/pkg_data_src.gpt.in.new pkgdata/pkg_data_src.gpt.in
 
54
 
 
55
        touch $@
 
56
 
 
57
unsed:
 
58
        dh_testdir
 
59
 
 
60
        if [ -e sed-stamp ] ; then \
 
61
          for f in `find . ! -path */.pc/* -name Makefile.am` ; do \
 
62
            sed -e 's!^include_HEADERS!flavorinclude_HEADERS!' \
 
63
                -e 's!\(lib[a-zA-Z_]*\)\.la!\1_$$(GLOBUS_FLAVOR_NAME).la!g' \
 
64
                -e 's!^\(lib[a-zA-Z_]*\)_la_!\1___GLOBUS_FLAVOR_NAME__la_!' \
 
65
              < $$f > $$f.new ; \
 
66
            mv $$f.new $$f ; \
 
67
          done ; \
 
68
        fi
 
69
 
 
70
        sed -e "s!<With_Flavors ColocateLibraries=\"no\"!<With_Flavors!" \
 
71
                < pkgdata/pkg_data_src.gpt.in > pkgdata/pkg_data_src.gpt.in.new
 
72
        mv pkgdata/pkg_data_src.gpt.in.new pkgdata/pkg_data_src.gpt.in
 
73
 
 
74
        rm -f sed-stamp
 
75
 
 
76
configure: configure-stamp
 
77
        :
 
78
 
 
79
configure-stamp: patch sed
 
80
        dh_testdir
 
81
 
 
82
        /usr/share/globus/globus-bootstrap.sh
 
83
 
 
84
        for f in config.sub config.guess ; do \
 
85
          if [ -e /usr/share/misc/$$f -a ! -e $$f.dist ] ; then \
 
86
            mv $$f $$f.dist ; \
 
87
            cp -f /usr/share/misc/$$f $$f ; \
 
88
          fi ; \
 
89
        done
 
90
 
 
91
        ./configure \
 
92
           --host=$(DEB_HOST_GNU_TYPE) \
 
93
           --build=$(DEB_BUILD_GNU_TYPE) \
 
94
           --prefix=$(_prefix) \
 
95
           --mandir='$${datadir}/man' \
 
96
           --infodir='$${datadir}/info' \
 
97
           --with-flavor=$(flavor) \
 
98
           --enable-doxygen
 
99
 
 
100
        # Workaround for bug in very old automake
 
101
        tr '\n' '~' < Makefile | sed 's/~\( bootstrap\)/\1/' | tr '~' '\n' \
 
102
          > Makefile.new
 
103
        mv Makefile.new Makefile
 
104
 
 
105
        touch $@
 
106
 
 
107
build: build-stamp
 
108
        :
 
109
 
 
110
build-stamp: configure
 
111
        dh_testdir
 
112
 
 
113
        $(MAKE)
 
114
 
 
115
        touch $@
 
116
 
 
117
clean: cleanup unpatch
 
118
        :
 
119
 
 
120
cleanup: unsed
 
121
        dh_testdir
 
122
        dh_testroot
 
123
 
 
124
        if [ -r Makefile ] ; then $(MAKE) distclean ; fi
 
125
 
 
126
        for f in config.sub config.guess ; do \
 
127
          if [ -e $$f.dist ] ; then \
 
128
            mv -f $$f.dist $$f ; \
 
129
          fi ; \
 
130
        done
 
131
 
 
132
        # Remove autogenerated files
 
133
 
 
134
        rm -f aclocal.m4
 
135
        rm -f configure
 
136
        rm -f config.guess
 
137
        rm -f config.sub
 
138
        rm -f ltmain.sh
 
139
        rm -f mkinstalldirs
 
140
 
 
141
        rm -f doxygen/Doxyfile*
 
142
        rm -f doxygen/Makefile.am
 
143
        rm -f pkgdata/Makefile.am
 
144
        rm -f pkgdata/*.filelist
 
145
        rm -f pkgdata/*.gpt
 
146
        rm -f globus_automake*
 
147
        rm -rf autom4te.cache
 
148
 
 
149
        rm -rf doxygen/doc
 
150
 
 
151
        find . -name Makefile.in -exec rm {} ';'
 
152
 
 
153
        rm -f build-stamp configure-stamp
 
154
 
 
155
        dh_clean debian/*.install debian/copyright
 
156
 
 
157
install: build
 
158
        dh_testdir
 
159
        dh_testroot
 
160
        dh_clean -k
 
161
 
 
162
        $(MAKE) install DESTDIR=$(INSTALLDIR)
 
163
 
 
164
        # Remove libtool archives (.la files)
 
165
        test -d $(INSTALLDIR)$(_libdir) && \
 
166
        find $(INSTALLDIR)$(_libdir) -name 'lib*.la' -exec rm -v '{}' \;
 
167
 
 
168
        for l in $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/*.filelist ; do \
 
169
          grep -v 'lib.*\.la$$' < $$l > $$l.new ; \
 
170
          mv $$l.new $$l ; \
 
171
        done
 
172
 
 
173
        mkdir -p $(INSTALLDIR)$(_libdir)/pkgconfig
 
174
        /usr/share/globus/globus-gpt2pkg-config \
 
175
          pkgdata/pkg_data_$(flavor)_dev.gpt > \
 
176
          $(INSTALLDIR)$(_libdir)/pkgconfig/$(name).pc
 
177
 
 
178
        # Move documentation to default debian location
 
179
        mv $(INSTALLDIR)$(_docdir)/$(_name) \
 
180
          $(INSTALLDIR)$(_docdir)/lib$(name)-dev
 
181
        cat $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist \
 
182
          | sed s!doc/$(_name)!doc/lib$(name)-dev! > \
 
183
          $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist.new
 
184
        mv $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist.new \
 
185
          $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist
 
186
 
 
187
        rm -f $(INSTALLDIR)$(_mandir)/man3/deprecated.3
 
188
        cat $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist \
 
189
          | grep -v 'deprecated\.3' > \
 
190
          $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist.new
 
191
        mv $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist.new \
 
192
          $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist
 
193
 
 
194
        # Generate package filelists
 
195
 
 
196
        cat $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/$(flavor)_rtl.filelist \
 
197
          | sed s!^!debian/tmp$(_prefix)! > debian/lib$(name)$(soname).install
 
198
 
 
199
        cat $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/$(flavor)_dev.filelist \
 
200
          | sed s!^!debian/tmp$(_prefix)! > debian/lib$(name)-dev.install
 
201
 
 
202
        cat $(INSTALLDIR)$(_datadir)/globus/packages/$(_name)/noflavor_doc.filelist \
 
203
          | sed s!^!debian/tmp$(_prefix)! > debian/lib$(name)-doc.install
 
204
 
 
205
        echo debian/tmp$(_libdir)/pkgconfig/$(name).pc \
 
206
          >> debian/lib$(name)-dev.install
 
207
 
 
208
        if [ -r /usr/share/common-licenses/Apache-2.0 ] ; then \
 
209
          cp -p debian/copyright.short debian/copyright ; \
 
210
        else \
 
211
          cp -p debian/copyright.long debian/copyright ; \
 
212
        fi
 
213
 
 
214
binary-indep:
 
215
        :
 
216
 
 
217
binary-arch: build install
 
218
        dh_testdir
 
219
        dh_testroot
 
220
        mkdir -p debian/lib$(name)-doc$(_docdir)
 
221
        ln -s lib$(name)-dev debian/lib$(name)-doc$(_docdir)/lib$(name)-doc
 
222
        dh_installchangelogs
 
223
        dh_installdocs
 
224
        dh_install --fail-missing
 
225
        dh_installman
 
226
        dh_link
 
227
        dh_strip
 
228
        dh_compress -X .tag
 
229
        dh_fixperms
 
230
        dh_perl
 
231
        dh_makeshlibs
 
232
        dh_installdeb
 
233
        dh_shlibdeps -l debian/lib$(name)$(soname)/usr/lib
 
234
        dh_gencontrol
 
235
        dh_md5sums
 
236
        dh_builddeb
 
237
 
 
238
binary: binary-indep binary-arch
 
239
        :
 
240
 
 
241
get-orig-source:
 
242
        if [ -r $(name)_$(version).orig.tar.gz ] ; then \
 
243
          echo "$(name)_$(version).orig.tar.gz already exists." ; \
 
244
        else \
 
245
          if [ ! -r gt4.2.1-all-source-installer.tar.bz2 ] ; then \
 
246
            echo "Downloading Globus Toolkit release." ; \
 
247
            echo "This should be necessary only once for all globus packages." ; \
 
248
            wget -N http://www-unix.globus.org/ftppub/gt4/4.2.1/installers/src/gt4.2.1-all-source-installer.tar.bz2 ; \
 
249
          fi ; \
 
250
          echo "Extracting relevant parts of the Globus Toolkit release." ; \
 
251
          tar -xjf gt4.2.1-all-source-installer.tar.bz2 \
 
252
            gt4.2.1-all-source-installer/source-trees/gsi/gssapi/source ; \
 
253
          mv gt4.2.1-all-source-installer/source-trees/gsi/gssapi/source \
 
254
            $(name)-$(version) ; \
 
255
          echo "Packing it up again." ; \
 
256
          GZIP=-9 tar --exclude=CVS -czf $(name)_$(version).orig.tar.gz \
 
257
            $(name)-$(version) ; \
 
258
          echo "Cleaning up." ; \
 
259
          rm -rf gt4.2.1-all-source-installer $(name)-$(version) ; \
 
260
        fi
 
261
 
 
262
.PHONY: build clean binary-indep binary-arch binary install configure get-orig-source