summaryrefslogtreecommitdiff
path: root/dh_installcron
diff options
context:
space:
mode:
Diffstat (limited to 'dh_installcron')
-rwxr-xr-xdh_installcron89
1 files changed, 89 insertions, 0 deletions
diff --git a/dh_installcron b/dh_installcron
new file mode 100755
index 00000000..5e5851c1
--- /dev/null
+++ b/dh_installcron
@@ -0,0 +1,89 @@
+#!/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<dh_installcron> [S<B<debhelper options>>] [B<--name=>I<name>]
+
+=head1 DESCRIPTION
+
+B<dh_installcron> is a debhelper program that is responsible for installing
+cron scripts.
+
+=head1 FILES
+
+=over 4
+
+=item debian/I<package>.cron.daily
+
+=item debian/I<package>.cron.weekly
+
+=item debian/I<package>.cron.monthly
+
+=item debian/I<package>.cron.hourly
+
+=item debian/I<package>.cron.d
+
+Installed into the appropriate F<etc/cron.*/> directory in the package
+build directory.
+
+=back
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<--name=>I<name>
+
+Look for files named F<debian/package.name.cron.*> and install them as
+F<etc/cron.*/name>, instead of using the usual files and installing them
+as the package name.
+
+=back
+
+=cut
+
+init();
+
+# PROMISE: DH NOOP WITHOUT cron.hourly cron.daily cron.weekly cron.monthly cron.d
+
+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<debhelper(7)>
+
+This program is a part of debhelper.
+
+=head1 AUTHOR
+
+Joey Hess <joeyh@debian.org>
+
+=cut