diff options
author | Dale Mellor <mcron-lsfnyl@rdmp.org> | 2020-05-08 20:43:50 +0100 |
---|---|---|
committer | Dale Mellor <mcron-lsfnyl@rdmp.org> | 2022-07-07 22:06:44 +0100 |
commit | a0d493fa9be910187a00c6be1ccbf5ee50ffd040 (patch) | |
tree | bc8b005c3970d9b0f2debdcc005f72f3cd1ef6e6 /src/mcron.in | |
parent | 5fd0ccde5a4cff70299999f988e6b5166584814d (diff) | |
download | mcron-a0d493fa9be910187a00c6be1ccbf5ee50ffd040.tar.gz mcron-a0d493fa9be910187a00c6be1ccbf5ee50ffd040.tar.bz2 mcron-a0d493fa9be910187a00c6be1ccbf5ee50ffd040.zip |
Using proposed new Guile command-line-processor.
This is a pre-emptive delta which will make use of new facilities
in a future Guile for command-line option processing---a fuller
description will appear with later patches.
* src/{cron,crontab,mcron}.in: use new facility
* src/mcron/scripts/{cron,crontab,mcron}.scm: remove old option-scanning code
Diffstat (limited to 'src/mcron.in')
-rw-r--r-- | src/mcron.in | 56 |
1 files changed, 53 insertions, 3 deletions
diff --git a/src/mcron.in b/src/mcron.in index 07023f9..63b4814 100644 --- a/src/mcron.in +++ b/src/mcron.in @@ -2,10 +2,60 @@ -*- scheme -*- !# +;;;; mcron -- run jobs at scheduled times +;;; Copyright © 2003, 2012, 2020 Dale Mellor <mcron-lsfnyl@rdmp.org> +;;; Copyright © 2015, 2016, 2018 Mathieu Lirzin <mthl@gnu.org> +;;; +;;; This file is part of GNU Mcron. +;;; +;;; GNU Mcron is free software: you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation, either version 3 of the License, or +;;; (at your option) any later version. +;;; +;;; GNU Mcron is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Mcron. If not, see <http://www.gnu.org/licenses/>. + + (unless (getenv "MCRON_UNINSTALLED") (set! %load-path (cons "%modsrcdir%" %load-path)) (set! %load-compiled-path (cons "%modbuilddir%" %load-compiled-path))) -(use-modules (mcron scripts mcron) - (mcron utils)) -(catch-mcron-error (main)) +(use-modules (mcron scripts mcron) + (mcron utils) + (ice-9 command-line-processor)) + +(process-command-line (command-line) + application "mcron" + version "%VERSION%" + usage "[OPTIONS ...] [FILES ...]" + help-preamble + "Run unattended jobs according to instructions in the FILES... " + "(`-' for standard input), or use all the files in ~/.config/cron " + "(or the deprecated ~/.cron) with .guile or .vixie extensions.\n" + "Note that --daemon and --schedule are mutually exclusive." + option (--daemon -d "run as a daemon process") + option (--schedule=8 -s string->number + "display the next N (or 8) jobs that will be run," + "and then exit") + option (--stdin=guile short-i (λ (in) (or (string=? in "guile") + (string=? in "vixie"))) + "format of data passed as standard input or file " + "arguments, 'guile' or 'vixie' (default guile)") + option (--log -l "write log messages to standard output") + option (--log-format "(ice-9 format) format string for log messages") + option (--date-format "(srfi srfi-19) date format for log messages") + help-postamble + "Mandatory or optional arguments to long options are also mandatory or " + "optional for any corresponding short options." + bug-address "%PACKAGE_BUGREPORT%" + copyright "2003 - 2022 Free Software Foundation, Inc." + license GPLv3) + +(catch-mcron-error (main --daemon --schedule --stdin --log --log-format + --date-format --!)) |