AboutSummaryRefsLogTreeCommitDiffStats
Commit message (Collapse)AuthorAgeFilesLines
...
| * base: run-jobs: Ensure that the child process always terminates.Ludovic Courtès2016-05-071-7/+11
| | | | | | | | * src/mcron/base.scm (run-jobs): Use 'dynamic-wind' instead of 'begin'.
| * build: Use lowercase names for local variables.Mathieu Lirzin2016-05-071-11/+11
| | | | | | | | | | | | | | | | 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.
| * build: Remove GOBJECTS and GEN_MODULES variables.Mathieu Lirzin2016-05-071-12/+5
| | | | | | | | | | | | * Makefile.am (GOBJECTS, GEN_MODULES): Remove variables. (mcronmodule_DATA, DISTCLEANFILES): Inline their contents. (mcron_DEPENDENCIES, CLEANFILES): Use 'mcronmodule_DATA'.
| * base: Rename (mcron core) module to (mcron base).Mathieu Lirzin2016-05-077-29/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * build: Use AC_CONFIG_SRCDIR safety check.Mathieu Lirzin2016-05-071-0/+1
| | | | | | | | * configure.ac (AC_CONFIG_SCRDIR): Set it to 'src/mcron.c'.
| * all: Rename 'scm' directory to 'src'.Mathieu Lirzin2016-05-0714-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * build: Do not auto-compile 'guild'.Mathieu Lirzin2016-05-071-2/+3
| | | | | | | | * Makefile.am (.scm.go): Set GUILE_AUTO_COMPILE to 0.
| * job-specifier: Add '%find-best-next' procedure.Mathieu Lirzin2016-05-072-42/+33
| | | | | | | | | | | | * scm/mcron/job-specifier.scm (find-best-next): Rename to ... (%find-best-next): ... this. Rewrite it using a functional style. All callers changed.
| * job-specifier: Rewrite 'range' procedure.Mathieu Lirzin2016-05-071-17/+8
| | | | | | | | * scm/mcron/job-specifier.scm (range): Use 'unfold'.
| * build: Fix 'distcheck' target failures.Mathieu Lirzin2016-05-071-0/+6
| | | | | | | | | | | | * Makefile.am (TEXI2DVI, DISTCLEANFILES, doc_mcron_TEXINFOS) (nodist_doc_mcron_TEXINFOS): New variables. This fixes the build of the dvi/pdf documentation.
| * build: Support VPATH builds.Mathieu Lirzin2016-05-075-7/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * build: Use a non-recursive makefile.Mathieu Lirzin2016-05-075-170/+162
| | | | | | | | | | | | | | | | | | | | * 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.
| * core: Use SRFI-9 records for the job data structure.Mathieu Lirzin2016-05-071-47/+46
| | | | | | | | | | * scm/mcron/mcron-core.scm <job>: New record type. This Replaces a vector data structure. All consumers changed.
| * main: Remove 'valid-user' procedure.Mathieu Lirzin2016-05-071-13/+7
| | | | | | | | | | | | * scm/mcron/main.scm (valid-user): Delete procedure. (process-files-in-system-directory): Adjust accordingly by using a local definition.
| * main: Add 'for-each-file' procedure.Mathieu Lirzin2016-05-071-28/+33
| | | | | | | | | | | | * scm/mcron/main.scm (for-each-file): New procedure. (process-files-in-user-directory, process-files-in-system-directory): Use it.
| * all: Add a custom indentation rule for 'mcron-error'.Mathieu Lirzin2016-05-075-33/+25
| | | | | | | | | | | | | | | | * .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.
| * maint: Define directory-local variables for Emacs.Mathieu Lirzin2016-05-071-0/+7
| | | | | | | | | | | | This configures Emacs automatically. * .dir-locals.el: New file.
| * environment: Redefine 'modify-environment'.Mathieu Lirzin2016-05-071-31/+23
| | | | | | | | | | | | * scm/mcron/environment.scm (modify-environment): Add docstring. Compute 'passwd:dir' and 'passwd:name' only once. (impose-default-environment): Merge it into 'modify-environment'.
| * main: Remove unused 'regular-file?' procedure.Mathieu Lirzin2016-05-071-9/+0
| | | | | | | | * scm/mcron/main.scm (regular-file?): Delete procedure.
| * main: Improve 'process-user-file' definition.Mathieu Lirzin2016-05-071-17/+15
| | | | | | | | | | | | | | * 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.
| * mcron: Mark local functions as static.Mathieu Lirzin2016-05-071-6/+6
| | | | | | | | | | * mcron.c (inner_main, react_to_terminal_signal, set_cron_signals): Declare static.
| * mcron: Rework comments.Mathieu Lirzin2016-05-071-37/+10
| | | | | | | | * mcron.c: Rework comments.
| * mcron: Use symbolic constants.Mathieu Lirzin2016-05-071-2/+3
| | | | | | | | | | * mcron.c (main, react_to_terminal_signal): Use EXIT_SUCCESS and EXIT_FAILURE macros instead of magic numbers.
| * mcron: Add forward declarations.Mathieu Lirzin2016-05-071-25/+28
| | | | | | | | * mcron.c: Reorder function definitions sequentially.
| * redirect: Use module (ice-9 regex).Mathieu Lirzin2016-05-071-0/+1
| | | | | | | | | | * scm/mcron/redirect.scm: Use module (ice-9 regex) to prevent variables 'match:prefix', 'match:substring', and 'match:prefix' to be unbound.
| * main: Remove obsolete Guile debug option.Mathieu Lirzin2016-05-071-1/+0
| | | | | | | | | | * scm/mcron/main.scm (main): Remove obsolete invocation of 'debug-enable'.
| * build: Enable silent rules by default.Mathieu Lirzin2016-05-073-2/+15
| | | | | | | | | | | | | | | | * 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.
| * build: Compile and install '.go' files.Mathieu Lirzin2016-05-074-7/+58
| | | | | | | | | | | | | | | | | | | | * 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.
| * main: Add (mcron main) module.Mathieu Lirzin2016-05-077-227/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * main: Add 'main' procedure.Mathieu Lirzin2016-05-071-137/+115
| | | | | | | | | | * scm/mcron/main.scm (main): New Thunk. Move remaining top-level code to it.
| * main: Add 'cron-file-descriptors' procedure.Mathieu Lirzin2016-05-071-31/+28
| | | | | | | | | | | | | | | | * 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.
| * main: Add docstrings.Mathieu Lirzin2016-05-071-61/+32
| | | | | | | | | | | | | | | | * 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.
| * main: Make 'catch-mcron-error' macro hygienic.Mathieu Lirzin2016-05-071-13/+7
| | | | | | | | | | * scm/mcron/main.scm (catch-mcron-error): Use 'define-syntax-rule' instead of 'defmacro'.
| * main: Turn 'command-name' into a thunk.Mathieu Lirzin2016-05-071-21/+18
| | | | | | | | | | * scm/mcron/main.scm (command-name): Turn into a thunk. All callers changed.
| * main: Use 'when' and 'unless' special forms.Mathieu Lirzin2016-05-071-60/+57
| | | | | | | | * scm/mcron/main.scm: Use 'when' and 'unless' special forms.
| * main: Import the modules all together.Mathieu Lirzin2016-05-071-21/+9
| | | | | | | | * scm/mcron/main.scm: Gather module imports.
| * build: Generate 'ChangeLog' upon 'make dist'.Mathieu Lirzin2016-05-074-165/+658
| | | | | | | | | | | | | | | | | | | | * 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.
| * build: Remove MAINTAINERCLEANFILES variable.Mathieu Lirzin2016-05-071-4/+0
| | | | | | | | | | * makefile.am (MAINTAINERCLEANFILES): Delete unneeded variable. Using 'git clean -xdf' is more reliable than 'make maintainer-clean'
| * maint: Augment TODO.Mathieu Lirzin2016-05-071-0/+9
| | | | | | | | * TODO <Maybe in the near future>: Add items.
| * main: Add 'show-help' procedure.Mathieu Lirzin2016-05-071-28/+22
| | | | | | | | * scm/mcron/main.scm (show-help): New procedure.
| * main: Add 'show-package-information' procedure.Mathieu Lirzin2016-05-071-5/+12
| | | | | | | | * scm/mcron/main.scm (show-package-information): New procedure.
| * main: Add 'show-version' procedure.Mathieu Lirzin2016-05-071-17/+18
| | | | | | | | * scm/mcron/main.scm (show-version): New procedure.
| * build: Add package variables.Mathieu Lirzin2016-05-071-0/+4
| | | | | | | | | | * scm/mcron/config.scm.in (config-package-name) (configure-package-version, configure-package-url): New variables.
| * doc: Include a copy of the GNU FDL.Mathieu Lirzin2016-05-073-1/+512
| | | | | | | | | | | | * doc/fdl.texi: New file. * doc/mcron.texi: Include it. * makefile.am (doc_mcron_TEXINFOS): New variable.
| * maint: Fix package name and bug reports email address.Mathieu Lirzin2016-05-071-1/+1
| | | | | | | | | | * configure.ac (AC_INIT): Fix package name and bug reports email address.
| * maint: Use 'build-aux' directory for auxiliary build tools.Mathieu Lirzin2016-05-072-0/+8
| | | | | | | | | | * configure.ac (AC_CONFIG_AUX_DIR): Set it to 'build-aux'. * .gitignore: Adapt to it.
| * build: Fix build of the manual.Mathieu Lirzin2016-05-076-66/+79
| | | | | | | | | | | | | | | | | | | | * 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.
| * build: Add missing 'makefile.am'.Mathieu Lirzin2016-05-042-1/+16
| | | | | | | | | | * scm/mcron/makefile.am: New file. * .gitignore: Ignore 'mcron' only in the top-level directory.
* | Revert "Add missing 'makefile.am'."Mathieu Lirzin2017-09-273-23/+1
| | | | | | | | This reverts commit 2039060a1de3cca3aa3e9a1035ce08b430ff5ea6.
* | Revert "Fix build of the manual."Mathieu Lirzin2017-09-277-87/+65
| | | | | | | | This reverts commit e6a94adeb3384cb883f49ec5a4cc589df6b40d10.