summaryrefslogtreecommitdiffstats
path: root/dh_installcron
diff options
context:
space:
mode:
Diffstat (limited to 'dh_installcron')
-rwxr-xr-xdh_installcron88
1 files changed, 88 insertions, 0 deletions
diff --git a/dh_installcron b/dh_installcron
new file mode 100755
index 0000000..41786c3
--- /dev/null
+++ b/dh_installcron
@@ -0,0 +1,88 @@
+#!/usr/bin/perl
+
+=head1 NAME
+
+dh_installcron - install cron scripts into etc/cron.*
+
+=cut
+
+use strict;
+use warnings;
+use Debian::Debhelper::Dh_Lib;
+
+our $VERSION = DH_BUILTIN_VERSION;
+
+=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 cli-options()
+
+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) {
+ install_dir("$tmp/etc/cron.$type");
+ install_prog($cron,"$tmp/etc/cron.$type/".pkgfilename($package));
+ }
+ }
+ # Separate because this needs to be mode 644.
+ my $cron=pkgfile($package,"cron.d");
+ if ($cron) {
+ install_dir("$tmp/etc/cron.d");
+ install_file($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