diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2013-07-14 00:05:49 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2013-07-14 00:05:49 +0400 |
commit | 97d4d87685ee1e32ba347120a91798289f492ea7 (patch) | |
tree | 00087b5846cd009695a88a87db536f9f3aad4f7c | |
parent | f853ba73ce17151aa0a8a75b94fd629cc89c1cea (diff) | |
download | dh-smf-97d4d87685ee1e32ba347120a91798289f492ea7.tar.gz |
Install debian/pkg.smf/*
-rwxr-xr-x | dh_smf | 75 |
1 files changed, 66 insertions, 9 deletions
@@ -82,15 +82,72 @@ instances of the same text to be added to maintainer scripts. =cut -init(options => { - "r" => \$dh{R_FLAG}, - "no-restart-on-upgrade" => \$dh{R_FLAG}, - "no-start" => \$dh{NO_START}, - "R|restart-after-upgrade" => \$dh{RESTART_AFTER_UPGRADE}, -}); - -foreach my $package (@{$dh{DOPACKAGES}}) { - my $tmp=tmpdir($package); +# Same as pkgfile in /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm, +# but -f => -d +sub pkgdir { + my $package = shift; + my $filename = shift; + + if ( defined $dh{NAME} ) { + $filename = "$dh{NAME}.$filename"; + } + + # First, check for files ending in buildarch and buildos. + my $match; + foreach my $file ( glob("debian/$package.$filename.*") ) { + next if !-d $file; + next if $dh{IGNORE} && exists $dh{IGNORE}->{$file}; + if ( $file eq "debian/$package.$filename." . buildarch() ) { + $match = $file; + + # buildarch files are used in preference to buildos files. + last; + } + elsif ( $file eq "debian/$package.$filename." . buildos() ) { + $match = $file; + } + } + return $match if defined $match; + + my @try = ("debian/$package.$filename"); + if ( $package eq $dh{MAINPACKAGE} ) { + push @try, "debian/$filename"; + } + + foreach my $file (@try) { + if ( -d $file + && ( !$dh{IGNORE} || !exists $dh{IGNORE}->{$file} ) ) + { + return $file; + } + + } + + return ""; +} + +init( + options => { + "r" => \$dh{R_FLAG}, + "no-restart-on-upgrade" => \$dh{R_FLAG}, + "no-start" => \$dh{NO_START}, + "R|restart-after-upgrade" => \$dh{RESTART_AFTER_UPGRADE}, + } +); + +foreach my $package ( @{ $dh{DOPACKAGES} } ) { + my $tmp = tmpdir($package); + print "\$tmp = $tmp\n"; + + my $smf = pkgdir( $package, 'smf' ); + print "\$smf = $smf\n"; + if ( $smf ne '' && !$dh{'ONLYSCRIPTS'} ) { + my $svcdir = "$tmp/lib/svc"; + if ( !-d "$svcdir" ) { + doit( "install", "-d", "$svcdir" ); + } + complex_doit("cp -a -v -f $smf/* $svcdir/"); + } } =head1 SEE ALSO |