| Commit message (Expand) | Author | Age | Files | Lines |
... | |
| * | job-specifier: Add %current-action-time parameter object....* src/mcron/job-specifier.scm (current-action-time): Rename to ...
(%current-action-time): ... this. Make it a parameter object.
(job, maybe-args): Adapt.
| Mathieu Lirzin | 2016-12-28 | 1 | -26/+21 |
| * | job-specifier: Rewrite 'bump-time'....* src/mcron/job-specifier.scm (bump-time): Use 'match'.
| Mathieu Lirzin | 2016-12-28 | 1 | -28/+27 |
| * | job-specifier: Use 'inf' thunk....* src/mcron/job-specifier.scm (%find-best-next): Call 'inf' thunk
instead of defining an arbitrary high integer.
(bump-time): Adapt to it.
| Mathieu Lirzin | 2016-12-01 | 1 | -6/+6 |
| * | build: Define PACKAGE_LOAD_PATH in Makefile....Previously PACKAGE_LOAD_PATH was set in config header which wasn't correctly
expanded due to the presence of ${prefix} in ${moduledir}. Let 'make' handle
the expansion.
* Makefile.am (AM_CPPFLAGS): New variable.
(cron_CPPFLAGS, crontab_CPPFLAGS, mcron_CPPFLAGS): Use it.
* configure.ac (PACKAGE_LOAD_PATH): Undefine it.
(AC_CONFIG_HEADER): Remove macro.
* src/mcron.c: Adapt to it.
| Mathieu Lirzin | 2016-12-01 | 3 | -7/+5 |
| * | build: Silence 'guild compile' output....* Makefile.am (devnull_verbose, devnull_verbose_, devnull_verbose_0):
New variables
(.scm.go): Use $(devnull_verbose).
| Mathieu Lirzin | 2016-12-01 | 1 | -1/+5 |
| * | build: Use Automake warnings....* configure.ac (AM_INIT_AUTOMAKE): Add more warnings.
* Makefile.am (AM_V_GUILEC, AM_V_GUILEC_, AM_V_GUILEC_0): Rename to ...
(guilec_verbose, guilec_verbose_, guilec_verbose_0): ... these. Make them
more portable. This follows an example from Automake manual.
| Mathieu Lirzin | 2016-12-01 | 2 | -5/+5 |
| * | doc: Generate a man page for every program....* Makefile.am (dist_man_MANS): Add 'cron' and 'crontab' man page.
Generate man pages in $(srcdir).
(MAINTAINERCLEANFILES, gen_man): New variables.
(AM_V_HELP2MAN, AM_V_HELP2MAN_, AM_V_HELP2MAN_0): Delete unneeded variables.
($(srcdir)/doc/crontab.1, $(srcdir)/doc/cron.8): New targets.
(doc/mcron.1): Rename to ...
($(srcdir)/doc/mcron.1)): ... this.
| Mathieu Lirzin | 2016-12-01 | 2 | -12/+27 |
| * | environment: modify-environment: Add tests....* tests/environment.scm: New test.
* Makefile.am (TESTS): Add it.
| Mathieu Lirzin | 2016-12-01 | 2 | -1/+42 |
| * | job-specifier: range: Add tests....* build-aux/test-driver.scm: New script.
* configure.ac (AC_REQUIRE_AUX_FILE): Add it.
* tests/job-specifier.scm: New test.
* Makefile.am (TEST_EXTENSIONS, AM_TESTS_ENVIRONMENT, SCM_LOG_DRIVER)
(TESTS): New variables.
(EXTRA_DIST): Update.
* .gitignore: Likewise.
| Mathieu Lirzin | 2016-12-01 | 5 | -1/+249 |
| * | build: Fix prerequisite for mcron man page....* Makefile.am (doc/mcron.1): Depend on the Guile script instead of the C
wrapper.
| Mathieu Lirzin | 2016-12-01 | 1 | -1/+1 |
| * | all: Separate programs in different executables....This improves readability and complies with the GNU Coding Standards by
making the behavior of the programs independent of the name used to
invoke them.
* src/mcron/scripts/cron.scm: New file.
* src/mcron/scripts/crontab.scm: Likewise.
* src/mcron/scripts/mcron.scm: Likewise.
* Makefile.am (dist_mcronmodule_DATA): Remove 'src/mcron/crontab.scm'.
(bin_PROGRAMS): Add 'crontab'.
(sbin_PROGRAMS): Add 'cron'.
(mcron_CFLAGS, mcron_LDADD): Rename to ...
(AM_CFLAGS, LDADD): ... these.
(cron_SOURCES, cron_CPPFLAGS, cron_DEPENDENCIES)
(crontab_SOURCES, crontab_CPPFLAGS, crontab_DEPENDENCIES)
(mcron_CPPFLAGS, mcronscriptdir, dist_mcronscript_DATA): New variables.
(modules): Redefine it in terms of other '_DATA' variables.
* src/mcron/crontab.scm: Remove file.
* src/mcron/main.scm (parse-args): New procedure.
(command-name, command-type, options): Remove.
(show-version): Adapt.
(show-help, process-files-in-system-directory, cron-file-descriptors)
(main, process-user-file, process-files-in-user-directory): Move
procedures in the new files.
* src/mcron.c (inner_main): Define the current module at compile time.
* TODO: Update.
* .gitignore: Likewise.
| Mathieu Lirzin | 2016-12-01 | 9 | -542/+589 |
| * | build: Install 'config.scm' file....* Makefile.am (mcronmodule_DATA): Add 'src/mcron/config.scm'.
(CLEANFILES): Don't clean it.
| Mathieu Lirzin | 2016-11-14 | 1 | -1/+4 |
| * | job-specifier: job: Add #:user keyword argument....* src/mcron/job-specifier.scm (job): Add #:user keyword argument.
* doc/mcron.texi (Job specification): Document it.
| Mathieu Lirzin | 2016-05-07 | 2 | -16/+21 |
| * | base: run-jobs: Ensure that the child process always terminates....* src/mcron/base.scm (run-jobs): Use 'dynamic-wind' instead of 'begin'.
| Ludovic Courtès | 2016-05-07 | 1 | -7/+11 |
| * | build: Use lowercase names for local variables....This helps distinguish variable names with a special Automake semantic.
* Makefile.am (MODULES): Rename to ...
(modules): ... this.
(mcronmodule_DATA, dist_mcronmodule_DATA): Adapt to it.
| Mathieu Lirzin | 2016-05-07 | 1 | -11/+11 |
| * | build: Remove GOBJECTS and GEN_MODULES variables....* Makefile.am (GOBJECTS, GEN_MODULES): Remove variables.
(mcronmodule_DATA, DISTCLEANFILES): Inline their contents.
(mcron_DEPENDENCIES, CLEANFILES): Use 'mcronmodule_DATA'.
| Mathieu Lirzin | 2016-05-07 | 1 | -12/+5 |
| * | base: Rename (mcron core) module to (mcron base)....The 'configure' script deletes the 'core.*' files. Having a file named
'base.scm' instead of 'core.scm' simplifies the build process without
changing the semantics.
* src/mcron/mcron-core.scm: Rename to ...
* src/mcron/base.scm: ... this.
All module users changed.
* Makefile.am (MODULES): Add 'src/mcron/base.scm'.
(CP): Remove variable.
(src/mcron/core.scm): Remove target.
(GEN_MODULES): Remove 'src/mcron/core.scm'.
(dist_mcronmodule_DATA): Remove 'src/mcron/mcron-core.scm'
* doc/mcron.texi: Adapt to name change.
* .gitignore: Update.
| Mathieu Lirzin | 2016-05-07 | 7 | -29/+23 |
| * | build: Use AC_CONFIG_SRCDIR safety check....* configure.ac (AC_CONFIG_SCRDIR): Set it to 'src/mcron.c'.
| Mathieu Lirzin | 2016-05-07 | 1 | -0/+1 |
| * | all: Rename 'scm' directory to 'src'....* scm/mcron/config.scm.in: Rename to ...
* src/mcron/config.scm.in: ... this.
* scm/mcron/crontab.scm: Rename to ...
* src/mcron/crontab.scm: ... this.
* scm/mcron/environment.scm: Rename to ...
* src/mcron/environment.scm: ... this.
* scm/mcron/job-specifier.scm: Rename to ...
* src/mcron/job-specifier.scm: ... this.
* scm/mcron/main.scm: Rename to ...
* src/mcron/main.scm: ... this.
* scm/mcron/mcron-core.scm: Rename to ...
* src/mcron/mcron-core.scm: ... this.
* scm/mcron/redirect.scm: Rename to ...
* src/mcron/redirect.scm: ... this.
* scm/mcron/vixie-specification.scm: Rename to ...
* src/mcron/vixie-specification.scm: ... this.
* scm/mcron/vixie-time.scm: Rename to ...
* src/mcron/vixie-time.scm: ... this.
* mcron.c: Rename to ...
* src/mcron.c: ... this.
* Makefile.am: Adapt to them.
* build-aux/pre-inst-env.in: Likewise.
* configure.ac (AC_CONFIG_FILES): Likewise.
(AC_CONFIG_HEADER): Set to 'src/config.h'.
* .gitignore: Update.
| Mathieu Lirzin | 2016-05-07 | 14 | -20/+20 |
| * | build: Do not auto-compile 'guild'....* Makefile.am (.scm.go): Set GUILE_AUTO_COMPILE to 0.
| Mathieu Lirzin | 2016-05-07 | 1 | -2/+3 |
| * | job-specifier: Add '%find-best-next' procedure....* scm/mcron/job-specifier.scm (find-best-next): Rename to ...
(%find-best-next): ... this. Rewrite it using a functional style.
All callers changed.
| Mathieu Lirzin | 2016-05-07 | 2 | -42/+33 |
| * | job-specifier: Rewrite 'range' procedure....* scm/mcron/job-specifier.scm (range): Use 'unfold'.
| Mathieu Lirzin | 2016-05-07 | 1 | -17/+8 |
| * | build: Fix 'distcheck' target failures....* Makefile.am (TEXI2DVI, DISTCLEANFILES, doc_mcron_TEXINFOS)
(nodist_doc_mcron_TEXINFOS): New variables. This fixes the build of the
dvi/pdf documentation.
| Mathieu Lirzin | 2016-05-07 | 1 | -0/+6 |
| * | build: Support VPATH builds....This allows using 'mcron' before it is installed without hardcoding the
local build environment in the executable.
* build-aux/pre-inst-env.in: New script.
* configure.ac (AC_CONFIG_FILES): Create it.
(AC_CONFIG_HEADER): Add 'config.h'.
(moduledir): New variable.
(PACKAGE_LOAD_PATH): new C preprocessor macro.
* mcron.c: Include "config.h".
(main): Don't overwrite Guile load paths.
(inner_main): Prepend Mcron modules load paths.
* Makefile.am (.scm.go, doc/mcron.1): Use 'pre-inst-env'.
(mcron_CFLAGS): Remove GUILE_LOAD_PATH macro.
(noinst_SCRIPTS): New variable.
* .gitignore: Update.
| Mathieu Lirzin | 2016-05-07 | 5 | -7/+59 |
| * | build: Use a non-recursive makefile....* configure.ac (AM_INIT_AUTOMAKE): Use 'subdir-objects' option.
(AC_CONFIG_FILES): Remove 'scm/mcron/makefile' and 'makefile'. Add
'Makefile'.
* makefile.am: Delete file. Move its content into ...
* scm/mcron/makefile.am: Likewise.
* Makefile.am: ... this. New file.
* .gitignore: Update.
| Mathieu Lirzin | 2016-05-07 | 5 | -170/+162 |
| * | core: Use SRFI-9 records for the job data structure....* scm/mcron/mcron-core.scm <job>: New record type. This Replaces a
vector data structure. All consumers changed.
| Mathieu Lirzin | 2016-05-07 | 1 | -47/+46 |
| * | main: Remove 'valid-user' procedure....* scm/mcron/main.scm (valid-user): Delete procedure.
(process-files-in-system-directory): Adjust accordingly by using a local
definition.
| Mathieu Lirzin | 2016-05-07 | 1 | -13/+7 |
| * | main: Add 'for-each-file' procedure....* scm/mcron/main.scm (for-each-file): New procedure.
(process-files-in-user-directory, process-files-in-system-directory):
Use it.
| Mathieu Lirzin | 2016-05-07 | 1 | -28/+33 |
| * | all: Add a custom indentation rule for 'mcron-error'....* .dir-locals.el: Define a custom indentation rule for 'mcron-error'.
* scm/mcron/crontab.scm: Use it.
* scm/mcron/job-specifier.scm: Likewise.
* scm/mcron/main.scm: Likewise.
* scm/mcron/vixie-specification.scm: Likewise.
| Mathieu Lirzin | 2016-05-07 | 5 | -33/+25 |
| * | maint: Define directory-local variables for Emacs....This configures Emacs automatically.
* .dir-locals.el: New file.
| Mathieu Lirzin | 2016-05-07 | 1 | -0/+7 |
| * | environment: Redefine 'modify-environment'....* scm/mcron/environment.scm (modify-environment): Add docstring.
Compute 'passwd:dir' and 'passwd:name' only once.
(impose-default-environment): Merge it into 'modify-environment'.
| Mathieu Lirzin | 2016-05-07 | 1 | -31/+23 |
| * | main: Remove unused 'regular-file?' procedure....* scm/mcron/main.scm (regular-file?): Delete procedure.
| Mathieu Lirzin | 2016-05-07 | 1 | -9/+0 |
| * | main: Improve 'process-user-file' definition....* scm/mcron/main.scm (process-user-file): Rename parameters 'file-path'
to 'file-name' and 'assume-guile' to 'guile-syntax?'. Capture
'guile-regexp' and 'vixie-regexp' bindings in the procedure scope.
(guile-file-regexp, vixie-file-regexp): Delete variables.
| Mathieu Lirzin | 2016-05-07 | 1 | -17/+15 |
| * | mcron: Mark local functions as static....* mcron.c (inner_main, react_to_terminal_signal, set_cron_signals):
Declare static.
| Mathieu Lirzin | 2016-05-07 | 1 | -6/+6 |
| * | mcron: Rework comments....* mcron.c: Rework comments.
| Mathieu Lirzin | 2016-05-07 | 1 | -37/+10 |
| * | mcron: Use symbolic constants....* mcron.c (main, react_to_terminal_signal): Use EXIT_SUCCESS and
EXIT_FAILURE macros instead of magic numbers.
| Mathieu Lirzin | 2016-05-07 | 1 | -2/+3 |
| * | mcron: Add forward declarations....* mcron.c: Reorder function definitions sequentially.
| Mathieu Lirzin | 2016-05-07 | 1 | -25/+28 |
| * | 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.
| Mathieu Lirzin | 2016-05-07 | 1 | -0/+1 |
| * | main: Remove obsolete Guile debug option....* scm/mcron/main.scm (main): Remove obsolete invocation of
'debug-enable'.
| Mathieu Lirzin | 2016-05-07 | 1 | -1/+0 |
| * | 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.
| Mathieu Lirzin | 2016-05-07 | 3 | -2/+15 |
| * | 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.
| Mathieu Lirzin | 2016-05-07 | 4 | -7/+58 |
| * | 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.
| Mathieu Lirzin | 2016-05-07 | 7 | -227/+153 |
| * | main: Add 'main' procedure....* scm/mcron/main.scm (main): New Thunk. Move remaining top-level
code to it.
| Mathieu Lirzin | 2016-05-07 | 1 | -137/+115 |
| * | 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.
| Mathieu Lirzin | 2016-05-07 | 1 | -31/+28 |
| * | 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.
| Mathieu Lirzin | 2016-05-07 | 1 | -61/+32 |
| * | main: Make 'catch-mcron-error' macro hygienic....* scm/mcron/main.scm (catch-mcron-error): Use 'define-syntax-rule'
instead of 'defmacro'.
| Mathieu Lirzin | 2016-05-07 | 1 | -13/+7 |
| * | main: Turn 'command-name' into a thunk....* scm/mcron/main.scm (command-name): Turn into a thunk.
All callers changed.
| Mathieu Lirzin | 2016-05-07 | 1 | -21/+18 |
| * | main: Use 'when' and 'unless' special forms....* scm/mcron/main.scm: Use 'when' and 'unless' special forms.
| Mathieu Lirzin | 2016-05-07 | 1 | -60/+57 |
| * | main: Import the modules all together....* scm/mcron/main.scm: Gather module imports.
| Mathieu Lirzin | 2016-05-07 | 1 | -21/+9 |
| * | 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.
| Mathieu Lirzin | 2016-05-07 | 4 | -165/+658 |