X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installcron;h=409b59ea742892a3e201d6ed2ad337a848226555;hb=94f711ab1af4966a8c1099578752cddb0345e3db;hp=7db8cdc6a5d8d34a46452b5b1610e7b41f7b5c90;hpb=2cfd4c9cda59e11e29df58152fea76c1cfc696f6;p=debhelper.git diff --git a/dh_installcron b/dh_installcron index 7db8cdc..409b59e 100755 --- a/dh_installcron +++ b/dh_installcron @@ -1,20 +1,71 @@ -#!/bin/sh -e -# -# Install cron scripts into the appropriate places. - -PATH=debian:$PATH:/usr/lib/debhelper -source dh_lib - -for PACKAGE in $DH_DOPACKAGES; do - TMP=`tmpdir $PACKAGE` - EXT=`pkgext $PACKAGE` - - for type in daily weekly monthly; do - if [ -e debian/${EXT}cron.$type ]; then - if [ ! -d debian/$TMP/etc/cron.$type ]; then - doit "install -o root -g root -d debian/$TMP/etc/cron.$type" - fi - doit "install debian/${EXT}cron.$type debian/$TMP/etc/cron.$type/$PACKAGE" - fi - done -done +#!/usr/bin/perl -w + +=head1 NAME + +dh_installcron - install cron scripts into etc/cron.* + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B [S>] [B<--name=>I] + +=head1 DESCRIPTION + +dh_installcron is a debhelper program that is responsible for installing +cron scripts into etc/cron.*/ in package build directories. The files +debian/package.cron.daily, debian/package.cron.weekly, +debian/package.cron.monthly, debian/package.cron.hourly, and +debian/package.cron.d are installed. + +=head1 OPTIONS + +=over 4 + +=item B<--name=>I + +Look for files named debian/package.name.cron.* and install them as +etc/cron.*/name, instead of using the usual files and installing them +as the package name. + +=back + +=cut + +init(); + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + foreach my $type (qw{hourly daily weekly monthly}) { + my $cron=pkgfile($package,"cron.$type"); + if ($cron) { + if (! -d "$tmp/etc/cron.$type") { + doit("install","-o",0,"-g",0,"-d","$tmp/etc/cron.$type"); + } + doit("install",$cron,"$tmp/etc/cron.$type/".pkgfilename($package)); + } + } + # Seperate because this needs to be mode 644. + my $cron=pkgfile($package,"cron.d"); + if ($cron) { + if (! -d "$tmp/etc/cron.d") { + doit("install","-o",0,"-g",0,"-d","$tmp/etc/cron.d"); + } + doit("install","-m",644,$cron,"$tmp/etc/cron.d/".pkgfilename($package)); + } +} + +=head1 SEE ALSO + +L + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess + +=cut