File Coverage

lib/CPANPLUS/Dist/Deb/Constants.pm
Criterion Covered Total %
statement 184 313 58.7
branch 0 82 0.0
condition 0 37 0.0
subroutine 61 61 100.0
pod n/a
total 245 493 49.7


line stmt bran cond sub pod time code
1             package CPANPLUS::Dist::Deb::Constants;
2              
3 3     3   16 use strict;
  3         6  
  3         121  
4 3     3   16 use CPANPLUS::Error;
  3         12  
  3         178  
5 3     3   17 use CPANPLUS::Internals::Constants;
  3         5  
  3         1739  
6              
7 3     3   30 use IPC::Cmd qw[can_run];
  3         15  
  3         166  
8 3     3   16 use File::Spec;
  3         6  
  3         189  
9 3     3   19 use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
  3         41  
  3         33  
10              
11 3     3   1581 use vars qw[$VERSION @EXPORT];
  3         5  
  3         178  
12              
13 3     3   16 use base 'Exporter';
  3         5  
  3         569  
14 3     3   19 use Package::Constants;
  3         5  
  3         639  
15             $VERSION = '0.01';
16             @EXPORT = Package::Constants->list( __PACKAGE__ );
17              
18 0 0       0 use constant DEB_BASE_DIR => sub { my $conf = shift or return;
19 0   0     0 my $perl = shift || $^X;
20 0         0 require CPANPLUS::Internals::Utils;
21 0         0 return File::Spec->catdir(
22             $conf->get_conf('base'),
23             CPANPLUS::Internals::Utils
24             ->_perl_version(perl => $perl),
25             $conf->_get_build('distdir'),
26             'debian',
27             );
28 3     3   20 };
  3         5  
  3         317  
29              
30 0         0 use constant DEB_DEBIAN_DIR => sub { File::Spec->catfile( @_,
31             'debian' )
32 3     3   15 };
  3         6  
  3         286  
33 0         0 use constant DEB_CHANGELOG => sub { File::Spec->catfile( @_,
34             DEB_DEBIAN_DIR->(), 'changelog' )
35 3     3   15 };
  3         5  
  3         263  
36 0         0 use constant DEB_COMPAT => sub { File::Spec->catfile( @_,
37             DEB_DEBIAN_DIR->(), 'compat' )
38 3     3   14 };
  3         12  
  3         148  
39 3         232 use constant DEB_SPEC_FILE_VERSION
40 3     3   14 => 4;
  3         28  
41            
42 0         0 use constant DEB_CONTROL => sub { File::Spec->catfile( @_,
43             DEB_DEBIAN_DIR->(), 'control' )
44 3     3   15 };
  3         15  
  3         335  
45 0         0 use constant DEB_RULES => sub { File::Spec->catfile( @_,
46             DEB_DEBIAN_DIR->(), 'rules' )
47 3     3   16 };
  3         9  
  3         327  
48 0         0 use constant DEB_COPYRIGHT => sub { File::Spec->catfile( @_,
49             DEB_DEBIAN_DIR->(), 'copyright' )
50 3     3   15 };
  3         4  
  3         378  
51 0         0 use constant DEB_README => sub { File::Spec->catfile( @_,
52             DEB_DEBIAN_DIR->(),
53             'README.Debian' )
54 3     3   16 };
  3         5  
  3         337  
55              
56              
57 3         245 use constant DEB_README_CONTENTS
58             => qq[
59              
60             Note that this debian package is automatically generated from it's CPAN
61             counterpart. By releasing a package to CPAN we assume the license
62             permits automatic repackaging, but we do not guarantee this is the case!
63             This package still adheres to the license as mentioned in the original
64             package, even if the provided copyright file for this package states a
65             different license.
66              
67             All packages presented here, or created by CPANPLUS::Dist::Deb in
68             general come without warranty or even fitness of use; use at your own
69             risk at your own discretion.
70              
71             If licenses are of major concern to you DO NOT USE THIS PACKAGE but
72             stick to the official debian mirrors instead!
73              
74 3     3   16 ];
  3         6  
75              
76            
77 0         0 use constant DEB_ARCHITECTURE => sub { my $arch =
78             `dpkg-architecture -qDEB_BUILD_ARCH`;
79 0         0 chomp $arch; return $arch;
  0         0  
80 3     3   17 };
  3         5  
  3         171  
81              
82 3     3   16 use constant DEB_DH_PERL_OPTS => sub { use Config;
  3         5  
  3         223  
83 0         0 return join " ", $Config{sitelib},
84             $Config{sitearch};
85 3     3   19 };
  3         13  
  3         159  
86              
87 3     3   15 use constant DEB_SITEBIN_DIR => sub { use Config;
  3         5  
  3         153  
88 0         0 return $Config{installsitebin};
89 3     3   15 };
  3         5  
  3         310  
90              
91             use constant DEB_INSTALL_SITEBIN
92 0 0       0 => sub { my $loc = shift or return;
93 0 0       0 return $loc eq 'site'
94             ? 'INSTALLSCRIPT=' .
95             DEB_SITEBIN_DIR->()
96             : '';
97 3     3   103 };
  3         5  
  3         313  
98              
99 0         0 use constant DEB_MAKEMAKERFLAGS => sub { my $pre = shift;
100 0 0       0 my $loc = $pre ? 'site' : 'vendor';
101 0         0 return "INSTALLDIRS=$loc ".
102             DEB_INSTALL_SITEBIN->($loc);
103 3     3   15 };
  3         5  
  3         424  
104              
105 0         0 use constant DEB_BUILDFLAGS => sub { my $pre = shift;
106 0 0       0 my $loc = $pre ? 'site' : 'vendor';
107 0         0 return "installdirs=$loc ";
108 3     3   47 };
  3         7  
  3         225  
109              
110              
111 0   0     0 use constant DEB_DISTDIR_PREFIX => sub { my $pre = shift || '';
112 0         0 my $dir = $pre . 'lib';
113 0         0 return $dir;
114 3     3   14 };
  3         6  
  3         600  
115              
116 0 0       0 use constant DEB_DISTDIR => sub { my $dist = shift or return;
117 0   0     0 my $pre = shift || '';
118 0         0 my ($l) =
119             $dist->parent->package_name =~ /^(.)/;
120            
121 0         0 return File::Spec->catdir(
122             qw[main pool],
123             DEB_DISTDIR_PREFIX->($pre),
124             lc($l),
125             $dist->status->package_name
126             );
127 3     3   17 };
  3         4  
  3         419  
128              
129              
130 0         0 use constant DEB_BIN_BUILDPACKAGE
131             => sub {my $p = can_run('dpkg-buildpackage');
132 0 0       0 unless( $p ) {
133 0         0 error(loc(
134             "Could not find '%1' in your ".
135             "path --unable to generate ".
136             "debian archives",
137             'dpkg-buildpackage' ));
138 0         0 return;
139             }
140 0         0 return $p;
141 3     3   15 };
  3         5  
  3         299  
142              
143             ### leave out all .a and .so files
144             ### all properly shell escaped ;(
145 3         958 use constant DEB_DPKG_SOURCE_IGNORE
146             #=> '-i\(\?i:.\*.\(\?:so\|a\$\)\)';
147 3     3   115 => '-i.s?[oa]';
  3         6  
148              
149 0 0       0 use constant DEB_PACKAGE_NAME => sub {my $mod = shift or return;
150 0   0     0 my $pre = shift || '';
151 0         0 my $pkg = lc $mod->package_name;
152            
153             ### remove any weird '.|_pm' notations
154             ### in the pkg name
155 0         0 $pkg =~ s/(\.|_)pm//gi;
156            
157 0         0 my $deb = $pre . 'lib' .
158             $pkg . '-perl';
159            
160 0         0 $deb =~ s/[_+]/-/g; # no _ or + allowed!
161            
162             ### strip double leading 'lib'
163 0         0 $deb =~ s/^(${pre}lib)lib/$1/;
164            
165             ### strip trailing '-perl-perl' unless
166             ### module name actually ends
167             ### in 'perl'
168 0 0       0 $deb =~ s/-perl-perl$/-perl/
169             unless $mod->module =~ /perl$/i;
170            
171 0         0 return $deb;
172 3     3   22 };
  3         6  
  3         467  
173            
174             use constant DEB_ORIG_PACKAGE_NAME
175 0 0       0 => sub { my $mod = $_[0] or return;
176 0         0 DEB_PACKAGE_NAME->( @_ ) . '_' .
177             $mod->package_version . '.orig.' .
178             $mod->package_extension;
179 3     3   18 };
  3         3  
  3         186  
180              
181 3         325 use constant DEB_DEFAULT_PACKAGE_VERSION
182 3     3   16 => 1;
  3         7  
183            
184 0 0       0 use constant DEB_VERSION => sub {my $mod = shift or return;
185 0   0     0 my $ver = shift ||
186             DEB_DEFAULT_PACKAGE_VERSION;
187 0         0 return $mod->package_version .
188             '-' . $ver;
189 3     3   13 };
  3         6  
  3         299  
190 3 0   3   15 use constant DEB_RULES_ARCH => sub { return shift() ? 'any' : 'all'; };
  3         3  
  3         786  
  0         0  
191 0 0       0 use constant DEB_DEB_FILE_NAME => sub {my $mod = shift() or return;
192 0 0       0 my $dir = shift() or return;
193 0   0     0 my $pre = shift() || '';
194 0 0       0 my $xs = shift() ? 1 : 0;
195 0 0       0 my $ver = @_ ? shift() : undef;
196            
197 0 0       0 my $arch = $xs
198             ? DEB_ARCHITECTURE->()
199             : DEB_RULES_ARCH->();
200              
201 0         0 my $name = join '_',
202             DEB_PACKAGE_NAME->($mod, $pre),
203             DEB_VERSION->($mod, $ver),
204             $arch .'.deb';
205 0         0 return File::Spec->catfile(
206             $dir, $name
207             );
208 3     3   17 };
  3         4  
  3         201  
209              
210 3     3   16 use constant DEB_METAFILE_PROGRAM => sub { can_run('apt-ftparchive') };
  3         5  
  3         191  
  0         0  
211 3     3   14 use constant DEB_METAFILE_SOURCES => 'sources';
  3         6  
  3         135  
212 3     3   14 use constant DEB_METAFILE_SOURCES_FILE => 'Sources.gz';
  3         7  
  3         128  
213 3     3   15 use constant DEB_METAFILE_PACKAGES => 'packages';
  3         16  
  3         137  
214 3     3   15 use constant DEB_METAFILE_PACKAGES_FILE => 'Packages.gz';
  3         6  
  3         213  
215 3     3   16 use constant DEB_DEFAULT_RELEASE => 'unstable';
  3         7  
  3         716  
216              
217             use constant DEB_OUTPUT_METAFILE
218 0 0       0 => sub { my $type = shift or return;
219 0 0       0 my $path = shift or return;
220 0   0     0 my $rel = shift ||
221             DEB_DEFAULT_RELEASE;
222              
223             ### sources.gz file
224 0 0       0 if( $type eq DEB_METAFILE_SOURCES ) {
    0          
225 0         0 return File::Spec->catfile(
226             $path, 'dists', $rel,
227             'main', 'source',
228             DEB_METAFILE_SOURCES_FILE
229             );
230            
231             ### packages.gz file
232             } elsif( $type eq
233             DEB_METAFILE_PACKAGES
234             ) {
235 0         0 return File::Spec->catfile(
236             $path, 'dists', $rel, 'main',
237             'binary-'.DEB_ARCHITECTURE->(),
238             DEB_METAFILE_PACKAGES_FILE
239             );
240            
241             ### dont know what you wanted
242             } else {
243 0         0 return;
244             }
245 3     3   20 };
  3         5  
  3         329  
246            
247            
248            
249 3     3   16 use constant DEB_LICENSE_GPL => '/usr/share/common-licenses/GPL';
  3         8  
  3         325  
250 3         131 use constant DEB_LICENSE_ARTISTIC
251 3     3   17 => '/usr/share/common-licenses/Artistic';
  3         5  
252              
253 3     3   16 use constant DEB_URGENCY => 'urgency=low';
  3         6  
  3         208  
254 3     3   15 use constant DEB_DEBHELPER => 'debhelper (>= 4.0.2)';
  3         4  
  3         189  
255              
256             ### since this will be installed in a versioned dir, we depend on at least
257             ### this version of perl (all older perls paths will be included automatically
258             ### by perl, unless you explicilty undefined 'inc_version_list' as a config
259             ### argument
260             use constant DEB_THIS_PERL_DEPENDS
261 3     3   17 => sub { use Config;
  3         4  
  3         158  
262 3     3   16 "perl (>= $Config{version})" };
  3         6  
  3         205  
  3         208  
263 3         9 use constant DEB_PERL_DEPENDS => '${perl:Depends}, ${misc:Depends}, ' .
264 3     3   15 DEB_THIS_PERL_DEPENDS->();
  3         5  
265              
266            
267 3         520 use constant DEB_STANDARDS_VERSION
268 3     3   15 => '3.6.1';
  3         72  
269              
270 3         259 use constant DEB_STANDARD_COPYRIGHT_PERL =>
271             "This library is free software; you can redistribute it and/or modify\n" .
272             "it under the same terms as Perl itself (GPL or Artistic license).\n\n" .
273             "On Debian systems the complete text of the GPL and Artistic\n" .
274             "licenses can be found at:\n\t" .
275 3     3   18 DEB_LICENSE_GPL . "\n\t" . DEB_LICENSE_ARTISTIC;
  3         5  
276              
277 3         736 use constant DEB_REPLACE_PERL_CORE
278 3     3   16 =>"perl-modules, perl-base, perl";
  3         15  
279              
280              
281 0 0       0 use constant DEB_FIND_DOCS => sub { my $dir = shift or return;
282            
283 0         0 my $dh;
284 0 0       0 unless( opendir $dh, $dir ) {
285 0         0 error(loc("Could not open dir %1",
286             $dir));
287 0         0 return;
288             }
289            
290 0         0 my @docs = grep /README|TODO|BUGS|
291             NEWS|ANNOUNCE/ix,
292             readdir $dh;
293            
294             ### return relative path!
295 0         0 return @docs;
296 3     3   18 };
  3         6  
  3         551  
297              
298 0 0       0 use constant DEB_FIND_CHANGELOG => sub { my $dir = shift or return;
299            
300 0         0 my $dh;
301 0 0       0 unless( opendir $dh, $dir ) {
302 0         0 error(loc("Could not open dir %1",
303             $dir));
304 0         0 return;
305             }
306            
307 0         0 my ($log) = grep /^change(s|log)$/i,
308             readdir $dh;
309            
310             ### return relative path!
311 0         0 return $log;
312 3     3   17 };
  3         6  
  3         889  
313              
314 0         0 use constant DEB_GET_RULES_CONTENT =>
315             sub {my $self = shift;
316 0   0     0 my $pre = shift || '';
317 0   0     0 my $has_xs = shift || 0;
318 0   0     0 my $verbose = shift || 0;
319 0         0 my $dist = $self->status->dist;
320 0         0 my $distdir = $dist->status->distdir;
321 0         0 my $inst =
322             $self->status->installer_type;
323              
324 0 0       0 my $sub = $inst eq INSTALLER_BUILD
    0          
    0          
325             ? $has_xs
326             ? 'DEB_RULES_BUILD_XS_CONTENT'
327             : 'DEB_RULES_BUILD_NOXS_CONTENT'
328             : $has_xs
329             ? 'DEB_RULES_MM_XS_CONTENT'
330             : 'DEB_RULES_MM_NOXS_CONTENT';
331              
332 0         0 msg(loc("Using rule set '%1'", $sub),
333             $verbose);
334            
335 0         0 my $docs = join ' ', DEB_FIND_DOCS->(
336             $distdir );
337 0         0 my $log = DEB_FIND_CHANGELOG->(
338             $distdir );
339              
340 0 0       0 my $loc = $pre ? 'site' : 'vendor';
341             ### returns a coderef to a coderef
342 0         0 my $code = __PACKAGE__->can($sub);
343 0         0 return $code->()->($self, $loc,
344             $docs, $log );
345 3     3   17 };
  3         7  
  3         1131  
346              
347              
348             use constant DEB_RULES_MM_NOXS_CONTENT =>
349             sub {
350 0         0 my $self = shift;
351 0 0       0 my $loc = shift or return;
352 0   0     0 my $docs = shift || '';
353 0   0     0 my $changes = shift || '';
354 0         0 my $dh_opts = DEB_DH_PERL_OPTS->();
355            
356 0 0       0 my $inst_docs = "\t-dh_installdocs" .
357             ($docs ? " $docs" : '');
358 0 0       0 my $inst_changes = "\t-dh_installchangelogs" .
359             ($changes ? " $changes" : '');
360            
361             ### EU::MM doesn't have an 'installsitescript'
362             ### directive.. it just tosses everything in
363             ### 'installscript' which is /usr/bin/ which
364             ### is WRONG. M::B actually does the right
365             ### thing here....
366 0         0 my $bindir = DEB_INSTALL_SITEBIN->($loc);
367            
368 0         0 return q[#!/usr/bin/make -f
369             # Uncomment this to turn on verbose mode.
370             #export DH_VERBOSE=1
371              
372             # If set to a true value then MakeMaker's prompt function will
373             # always return the default without waiting for user input.
374             export PERL_MM_USE_DEFAULT=1
375              
376             PACKAGE=$(shell dh_listpackages)
377              
378             ifndef PERL
379             PERL = /usr/bin/perl
380             endif
381              
382             TMP =$(CURDIR)/debian/tmp
383              
384              
385             build: build-stamp
386             build-stamp:
387             dh_testdir
388              
389             touch build-stamp
390              
391             clean:
392             dh_testdir
393             dh_testroot
394              
395             dh_clean -d
396             rm -f build-stamp install-stamp
397              
398             install: install-stamp
399             install-stamp: build-stamp
400             dh_testdir
401             dh_testroot
402             dh_clean -d -k
403              
404             $(MAKE) install DESTDIR=$(TMP) PREFIX=/usr
405             @find . -type f | grep '/perllocal.pod$$' | xargs rm -f
406              
407             dh_movefiles /usr
408              
409             touch install-stamp
410              
411             binary-arch:
412             # We have nothing to do by default.
413              
414             binary-indep: build install
415             dh_testdir
416             dh_testroot
417              
418             ] . qq[
419              
420             ### doc/changelog install lines
421             $inst_docs
422             $inst_changes
423              
424             ]. q[
425              
426             dh_perl ] . $dh_opts . q[
427             dh_link
428             dh_compress
429             dh_fixperms
430             dh_installdeb
431             dh_gencontrol
432             dh_md5sums
433             dh_builddeb
434              
435             source diff:
436             @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
437              
438             binary: binary-indep binary-arch
439             .PHONY: build clean binary-indep binary-arch binary
440              
441             ];
442 3     3   17 };
  3         10  
  3         785  
443              
444             use constant DEB_RULES_MM_XS_CONTENT
445             => sub {
446 0         0 my $self = shift;
447 0 0       0 my $loc = shift or return;
448 0   0     0 my $docs = shift || '';
449 0   0     0 my $changes = shift || '';
450 0         0 my $dh_opts = DEB_DH_PERL_OPTS->();
451            
452 0 0       0 my $inst_docs = "\t-dh_installdocs" .
453             ($docs ? " $docs" : '');
454 0 0       0 my $inst_changes = "\t-dh_installchangelogs" .
455             ($changes ? " $changes" : '');
456              
457            
458             ### EU::MM doesn't have an 'installsitescript'
459             ### directive.. it just tosses everything in
460             ### 'installscript' which is /usr/bin/ which
461             ### is WRONG. M::B actually does the right
462             ### thing here....
463 0         0 my $bindir = DEB_INSTALL_SITEBIN->($loc);
464            
465 0         0 return q[#!/usr/bin/make -f
466             # Uncomment this to turn on verbose mode.
467             #export DH_VERBOSE=1
468              
469             # If set to a true value then MakeMaker's prompt function will
470             # always return the default without waiting for user input.
471             export PERL_MM_USE_DEFAULT=1
472              
473             PACKAGE=$(shell dh_listpackages)
474              
475             ifndef PERL
476             PERL = /usr/bin/perl
477             endif
478              
479             TMP =$(CURDIR)/debian/tmp
480              
481             build: build-stamp
482             build-stamp:
483             dh_testdir
484              
485             touch build-stamp
486              
487             clean:
488             dh_testdir
489             dh_testroot
490              
491             dh_clean -d
492             rm -f build-stamp install-stamp
493              
494             install: install-stamp
495             install-stamp:
496             dh_testdir
497             dh_testroot
498             dh_clean -d -k
499              
500             $(MAKE) install DESTDIR=$(TMP) PREFIX=/usr
501             -find . -type f | grep '/perllocal.pod$$' | xargs rm -f
502            
503             dh_movefiles /usr
504              
505             touch install-stamp
506              
507             # Build architecture-independent files here.
508             binary-indep: build install
509             # We have nothing to do by default.
510              
511             # Build architecture-dependent files here.
512             binary-arch: build install
513             dh_testdir
514             dh_testroot
515              
516             ] . qq[
517              
518             ### doc/changelog install lines
519             $inst_docs
520             $inst_changes
521              
522             ]. q[
523              
524             dh_installexamples
525             dh_link
526             dh_compress
527             dh_fixperms
528             dh_makeshlibs
529             dh_installdeb
530             dh_perl ] . $dh_opts . q[
531             dh_shlibdeps
532             dh_gencontrol
533             dh_md5sums
534             dh_builddeb
535              
536             source diff:
537             @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
538              
539             binary: binary-indep binary-arch
540             .PHONY: build clean binary-indep binary-arch binary
541              
542             ];
543 3     3   16 };
  3         7  
  3         739  
544              
545             use constant DEB_RULES_BUILD_NOXS_CONTENT => sub {
546 0         0 my $self = shift;
547 0 0       0 my $loc = shift or return;
548 0   0     0 my $docs = shift || '';
549 0   0     0 my $changes = shift || '';
550 0         0 my $dh_opts = DEB_DH_PERL_OPTS->();
551            
552 0 0       0 my $inst_docs = "\t-dh_installdocs" .
553             ($docs ? " $docs" : '');
554 0 0       0 my $inst_changes = "\t-dh_installchangelogs" .
555             ($changes ? " $changes" : '');
556              
557 0         0 return q[#!/usr/bin/make -f
558             # Uncomment this to turn on verbose mode.
559             #export DH_VERBOSE=1
560              
561             # If set to a true value then MakeMaker's prompt function will
562             # always return the default without waiting for user input.
563             export PERL_MM_USE_DEFAULT=1
564              
565             PACKAGE=$(shell dh_listpackages)
566              
567             ifndef PERL
568             PERL = /usr/bin/perl
569             endif
570              
571             BUILD = ./Build
572             TMP =$(CURDIR)/debian/tmp
573              
574              
575             build: build-stamp
576             build-stamp:
577             dh_testdir
578              
579             touch build-stamp
580              
581             clean:
582             dh_testdir
583             dh_testroot
584              
585             dh_clean -d
586             rm -f build-stamp install-stamp
587              
588             install: install-stamp
589             install-stamp: build-stamp
590             dh_testdir
591             dh_testroot
592             dh_clean -d -k
593              
594             $(PERL) $(BUILD) install destdir=$(TMP)
595             -find . -type f | grep '/perllocal.pod$$' | xargs rm -f
596              
597             # due to a bug in M::B, the .packlist file is written to
598             # the wrong directory, causing file conflicts:
599             # http://rt.cpan.org/Ticket/Display.html?id=18162
600             # remove it for now
601             -find . -type f | grep '/.packlist$$' | xargs rm -f
602            
603             dh_movefiles /usr
604              
605             touch install-stamp
606              
607             binary-arch:
608             # We have nothing to do by default.
609              
610             binary-indep: build install
611             dh_testdir
612             dh_testroot
613              
614             ] . qq[
615              
616             ### doc/changelog install lines
617             $inst_docs
618             $inst_changes
619              
620             ]. q[
621              
622             dh_perl ] . $dh_opts . q[
623             dh_link
624             dh_compress
625             dh_fixperms
626             dh_installdeb
627             dh_gencontrol
628             dh_md5sums
629             dh_builddeb
630              
631             source diff:
632             @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
633              
634             binary: binary-indep binary-arch
635             .PHONY: build clean binary-indep binary-arch binary
636              
637             ];
638 3     3   32 };
  3         5  
  3         974  
639              
640             use constant DEB_RULES_BUILD_XS_CONTENT => sub {
641 0           my $self = shift;
642 0 0         my $loc = shift or return;
643 0   0       my $docs = shift || '';
644 0   0       my $changes = shift || '';
645 0           my $dh_opts = DEB_DH_PERL_OPTS->();
646            
647 0 0         my $inst_docs = "\t-dh_installdocs" .
648             ($docs ? " $docs" : '');
649 0 0         my $inst_changes = "\t-dh_installchangelogs" .
650             ($changes ? " $changes" : '');
651              
652 0           return q[#!/usr/bin/make -f
653             # Uncomment this to turn on verbose mode.
654             #export DH_VERBOSE=1
655              
656             # If set to a true value then MakeMaker's prompt function will
657             # always return the default without waiting for user input.
658             export PERL_MM_USE_DEFAULT=1
659              
660             PACKAGE=$(shell dh_listpackages)
661              
662             ifndef PERL
663             PERL = /usr/bin/perl
664             endif
665              
666             TMP =$(CURDIR)/debian/tmp
667              
668             BUILD = ./Build
669              
670              
671             build: build-stamp
672             build-stamp:
673             dh_testdir
674              
675             touch build-stamp
676              
677             clean:
678             dh_testdir
679             dh_testroot
680            
681             # Delete any .o files explicitly *just* to be safe
682             -find . -name \*.o -print0 | xargs -r0 rm -f
683              
684              
685             dh_clean -d
686             rm -f build-stamp install-stamp
687              
688             install: install-stamp
689             install-stamp:
690             dh_testdir
691             dh_testroot
692             dh_clean -d -k
693              
694             # Add here commands to install the package into debian/tmp.
695             $(PERL) $(BUILD) install destdir=$(TMP)
696             -find . -type f | grep '/perllocal.pod$$' | xargs rm -f
697              
698             # due to a bug in M::B, the .packlist file is written to
699             # the wrong directory, causing file conflicts:
700             # http://rt.cpan.org/Ticket/Display.html?id=18162
701             # remove it for now
702             -find . -type f | grep '/.packlist$$' | xargs rm -f
703              
704             dh_movefiles /usr
705              
706             touch install-stamp
707              
708             # Build architecture-independent files here.
709             binary-indep: build install
710             # We have nothing to do by default.
711              
712             # Build architecture-dependent files here.
713             binary-arch: build install
714             dh_testdir
715             dh_testroot
716              
717             ] . qq[
718              
719             ### doc/changelog install lines
720             $inst_docs
721             $inst_changes
722              
723             ]. q[
724             dh_installexamples
725             dh_link
726             dh_compress
727             dh_fixperms
728             dh_makeshlibs
729             dh_installdeb
730             dh_perl ] . $dh_opts . q[
731             dh_shlibdeps
732             dh_gencontrol
733             dh_md5sums
734             dh_builddeb
735              
736             source diff:
737             @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
738              
739             binary: binary-indep binary-arch
740             .PHONY: build clean binary-indep binary-arch binary
741              
742             ];
743 3     3   16 };
  3         5  
  3         262  
744              
745             1;