]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installcron
r478: * dh_gencontrol: Work around very strange hurd semantics
[debhelper.git] / dh_installcron
index 7db8cdc6a5d8d34a46452b5b1610e7b41f7b5c90..9813f6e080d44199ec3e2e6b442490eac9061355 100755 (executable)
@@ -1,20 +1,58 @@
-#!/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
+
+  dh_installcron [debhelper options]
+
+=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, and debian/package.cron.d are installed.
+
+=cut
+
+init();
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+       my $tmp=tmpdir($package);
+       foreach my $type (qw{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/$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/$package");
+       }
+}
+
+=head1 SEE ALSO
+
+L<debhelper(1)>
+
+This program is a part of debhelper.
+
+=head1 AUTHOR
+
+Joey Hess <joeyh@debian.org>
+
+=cut