Commit graph

264 commits

Author SHA1 Message Date
Mathieu Lirzin
6cd941e061 mcron: Use symbolic constants.
* mcron.c (main, react_to_terminal_signal): Use EXIT_SUCCESS and
EXIT_FAILURE macros instead of magic numbers.
2016-05-07 11:42:11 +02:00
Mathieu Lirzin
ba6613fe96 mcron: Add forward declarations.
* mcron.c: Reorder function definitions sequentially.
2016-05-07 11:42:11 +02:00
Mathieu Lirzin
b390063628 redirect: Use module (ice-9 regex).
* scm/mcron/redirect.scm: Use module (ice-9 regex) to prevent variables
'match:prefix', 'match:substring', and 'match:prefix' to be unbound.
2016-05-07 11:42:11 +02:00
Mathieu Lirzin
c925e9ad0d main: Remove obsolete Guile debug option.
* scm/mcron/main.scm (main): Remove obsolete invocation of
'debug-enable'.
2016-05-07 11:42:11 +02:00
Mathieu Lirzin
1712722a7b build: Enable silent rules by default.
* configure.ac (AM_SILENT_RULES): Use macro.
* makefile.am (doc/mcron.1): Use $(AM_V_HELP2MAN).
(AM_V_HELP2MAN, AM_V_HELP2MAN_, AM_V_HELP2MAN_): New variables.
* scm/mcron/makefile.am (.scm.go): Use $(AM_V_GUILEC).
(AM_V_GUILEC, AM_V_GUILEC_, AM_V_GUILEC_): New variables.
2016-05-07 11:42:11 +02:00
Mathieu Lirzin
3221c05720 build: Compile and install '.go' files.
* configure.ac: Set and substitute 'mcronmoduledir'.  Check for 'guild'
which requires Guile >= 2.0.7.  Use 'AC_CANONICAL_HOST'.
* scm/mcron/makefile.am (.scm.go): New target.
(MODULES, GEN_MODULES, GOBJECTS, CLEANFILES, SUFFIXES)
(dist_mcronmodule_DATA, mcronmodule_DATA): New variables.
(pkgdata_DATA, EXTRA_DIST): Remove variables.
* .gitignore: Adjust accordingly.
2016-05-07 11:42:11 +02:00
Mathieu Lirzin
3c903bfc80 main: Add (mcron main) module.
Remove 'ed' hack to eval content of scm/mcron/main.scm in the C wrapper.
Use proper libguile functions instead.

* scm/mcron/main.scm (mcron main): New module.
(show-version, show-package-information, show-help, main): Remove
extra newline characters in strings.
* mcron.c.template: Rename to ...
* mcron.c: ... this.
(inner_main): Set current module to (mcron main).
* makefile.ed: Delete file.
* configure.ac: Remove check for 'ed'.
* makefile.am: Adjust accordingly.
* .gitignore: Likewise.
2016-05-07 11:42:00 +02:00
Mathieu Lirzin
237c234f39 main: Add 'main' procedure.
* scm/mcron/main.scm (main): New Thunk.  Move remaining top-level
code to it.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
98d68831ba main: Add 'cron-file-descriptors' procedure.
* scm/mcron/main.scm (fd-list): Delete variable.
(cron-file-descriptors): New procedure.  Return a list instead of
mutating 'fd-list'.
(process-update-request): Add 'fdes-list' parameter.  Adapt caller by
using 'cron-file-descriptors' as an effective parameter.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
5e8f47fe44 main: Add docstrings.
* scm/mcron/main.scm (delete-run-file, mcron-error)
(process-files-in-system-directory, process-files-in-user-directory)
(process-update-request, process-user-file, regular-file?)
(stdin->string, valid-user): Turn comments into docstrings.
(command-type, options): Move comments inside the definitions.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
2947d84101 main: Make 'catch-mcron-error' macro hygienic.
* scm/mcron/main.scm (catch-mcron-error): Use 'define-syntax-rule'
instead of 'defmacro'.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
c8a1238396 main: Turn 'command-name' into a thunk.
* scm/mcron/main.scm (command-name): Turn into a thunk.
All callers changed.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
36161428fa main: Use 'when' and 'unless' special forms.
* scm/mcron/main.scm: Use 'when' and 'unless' special forms.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
f835793336 main: Import the modules all together.
* scm/mcron/main.scm: Gather module imports.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
7ed303705c build: Generate 'ChangeLog' upon 'make dist'.
* ChangeLog: Rename to ...
* ChangeLog.old: ... this.
* ChangeLog: New file.
* Makefile.am (gen_start_date): New variable.
(gen-ChangeLog, dist-hook): New targets.
(EXTRA_DIST): Add 'ChangeLog.old'.
* build-aux/gitlog-to-changelog: New file, from Gnulib.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
ee280d4efc build: Remove MAINTAINERCLEANFILES variable.
* makefile.am (MAINTAINERCLEANFILES): Delete unneeded variable.  Using
'git clean -xdf' is more reliable than 'make maintainer-clean'
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
f0feb586b7 maint: Augment TODO.
* TODO <Maybe in the near future>: Add items.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
cdd26d5b00 main: Add 'show-help' procedure.
* scm/mcron/main.scm (show-help): New procedure.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
8f136b3d67 main: Add 'show-package-information' procedure.
* scm/mcron/main.scm (show-package-information): New procedure.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
2dd8fa9d8f main: Add 'show-version' procedure.
* scm/mcron/main.scm (show-version): New procedure.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
607d5e060d build: Add package variables.
* scm/mcron/config.scm.in (config-package-name)
(configure-package-version, configure-package-url): New variables.
2016-05-07 11:32:19 +02:00
Mathieu Lirzin
940146bc90 doc: Include a copy of the GNU FDL.
* doc/fdl.texi: New file.
* doc/mcron.texi: Include it.
* makefile.am (doc_mcron_TEXINFOS): New variable.
2016-05-07 11:32:18 +02:00
Mathieu Lirzin
754d1d0176 maint: Fix package name and bug reports email address.
* configure.ac (AC_INIT): Fix package name and bug reports email
address.
2016-05-07 11:32:18 +02:00
Mathieu Lirzin
c43a9173e6 maint: Use 'build-aux' directory for auxiliary build tools.
* configure.ac (AC_CONFIG_AUX_DIR): Set it to 'build-aux'.
* .gitignore: Adapt to it.
2016-05-07 11:32:18 +02:00
Mathieu Lirzin
8f430594f4 build: Fix build of the manual.
* mcron.texinfo.in: Rename to ...
* doc/mcron.texi: ... this.
* doc/config.texi.in: New file.
* configure.ac: Adapt to it.
* makefile.am: Likewise.
* .gitignore: Likewise.
* README--git: Likewise.
2016-05-07 11:32:17 +02:00
Mathieu Lirzin
b3202cecf6 build: Add missing 'makefile.am'.
* scm/mcron/makefile.am: New file.
* .gitignore: Ignore 'mcron' only in the top-level directory.
2016-05-04 14:56:07 +02:00
Dale Mellor
c0a6eb14c2 Taken on board suggestions of Mathieu Lirzin as per e-mails to the bug-mcron@gnu.org mailing list around September 2015. 2015-10-22 06:59:21 +01:00
Dale Mellor
024027ae2d Have a new directory to get rid of with maintainer-clean. 2015-07-06 05:46:30 +01:00
Mathieu Lirzin
df4fa60a03 Fix package name and bug reports email address.
Conflicts:
	ChangeLog
	configure.ac
2015-07-06 05:28:14 +01:00
Dale Mellor
eca341bd82 Remove derived doc/mcron.1 with maintainer-clean. 2015-07-05 08:59:31 +01:00
Mathieu Lirzin
e6a94adeb3 Fix build of the manual. 2015-07-04 07:00:52 +01:00
Mathieu Lirzin
2039060a1d Add missing 'makefile.am'. 2015-07-04 07:00:18 +01:00
Dale Mellor
bc38f2add2 Add maintainer-mode option to configure, to pacify Debian. 2014-05-25 17:21:00 +01:00
Dale Mellor
998f7eeaef Correction in 'make clean' rules. 2014-05-25 17:18:04 +01:00
Dale Mellor
d69a2b91ac Distribute the minimal man page in case the builder hasn't get help2man. 2014-05-25 15:08:45 +01:00
Dale Mellor
c0ba5c6036 Juggled build infrastructure to make mcron.1 man page properly. 2014-05-25 14:57:37 +01:00
Dale Mellor
c45e7c447b Now runs (only) against guile-2.0. 2014-04-28 13:03:28 +01:00
Dale Mellor
bd5a58ac2f Look for user configuration files in $XDG_CONFIG_HOME (default to ~/.config/cron) as well as ~/.cron. 2012-02-04 14:33:02 +00:00
Dale Mellor
0115be5d13 Unified copyright notices in minor files, removed immutable page covers from texinfo file. 2010-06-19 21:52:22 +01:00
Dale Mellor
cff1b7effa Added .gitignore. 2010-06-13 17:01:22 +01:00
Dale Mellor
5fead83069 Leave info/dir around; the Debian package has a patch to remove it. 2010-06-13 16:58:46 +01:00
Dale Mellor
be34829b1b Fixed up makefile to provide rule to create man page (not done automatically), and to remove any installed info/dir files. 2010-06-13 11:02:25 +01:00
Dale Mellor
a5e51bfa85 Make sure $DESTDIR pervades the makefile. 2010-06-13 04:32:51 +01:00
Dale Mellor
03e95be5d6 Bumped version number to 1.0.5. 2010-06-13 03:52:35 +01:00
Dale Mellor
323033546d Added --enable-no-vixie-clobber to configure.ac. 2010-06-13 03:49:39 +01:00
Dale Mellor
f76377aa37 Removed makefile dependence on mkinstalldirs, which was supplied by an earlier version of automake. 2010-06-12 22:57:55 +01:00
Dale Mellor
9fe5fddf30 Added a simple man page using help2man (the generation is _not_ automatic through the makefile). 2010-06-12 22:39:20 +01:00
Dale Mellor
0cbb22fd19 Made NEWS about the savannah GIT repository. 2010-06-12 20:54:14 +01:00
Dale Mellor
6c34d042b9 Upgrade to GPLv3 and bump version to 1.0.4. 2010-06-12 20:53:51 +01:00
Dale Mellor
3094f9b791 Allow files named on command line to have arbitrary names (assume guile input format). 2010-06-12 20:53:36 +01:00