| Commit message (Expand) | Author | Age | Files | Lines |
* | Replace generic C wrapper with individual programs...* src/wrapper.c: Delete.
* src/crontab.c: New file.
* src/mcron.c: Likewise.
* src/cron.c: Likewise.
* configure.ac: Adapt 'AC_CONFIG_DIR' to use "src/mcron.c".
* Makefile.am (bin_crontab_SOURCES, bin_cron_SOURCES)
(bin_mcron_SOURCES): Use new files.
(bin_cron_CPPFLAGS, bin_mcron_CPPFLAGS, bin_crontab_CPPFLAGS): Delete.
| Mathieu Lirzin | 2017-09-28 | 5 | -28/+113 |
* | wrapper: Move 'wrap_env_path' to a new 'utils' module....* src/wrapper.c: Move 'wrap_env_path' to ...
* src/utils.h: ... here. New module.
* src/utils.c: New file.
* configure.ac: Use AC_PROG_RANLIB and AM_PROG_AR.
* Makefile.am (noinst_LIBRARIES, src_libmcron_a_SOURCES): New variables.
(LDADD): Add 'src/libmcron.a'.
| Mathieu Lirzin | 2017-09-28 | 6 | -26/+83 |
* | build: Remove "--enable-debug" configure option...Unlike C code where debugging impose the "-g" compilation flags. This
debugging option only affects Guile code, so using an environment variable
works better since it doesn't impose to recompile Mcron or to edit
"config.scm".
* configure.ac: Remove "--enable-debug" configure option.
* src/mcron/config.scm.in (config-debug): Use MCRON_DEBUG environment variable
to trigger the debug mode at runtime.
| Mathieu Lirzin | 2017-09-28 | 2 | -15/+8 |
* | build: Remove "maintainer-mode" configure option....* configure.ac: Remove "maintainer-mode" configure option.
| Mathieu Lirzin | 2017-09-28 | 1 | -4/+0 |
* | build: Replace "--enable-no-vixie-clobber" with "--disable-multi-user"....* configure.ac: Define "--disable-multi-user" option instead of
"--enable-no-vixie-clobber".
* Makefile.am (install-exec-hook) [MULTI_USER]: Only set crontab setuid bit.
(bin_PROGRAMS): Keep only 'mcron' by default.
(bin_PROGRAMS) [MULTI_USER]: Add 'crontab'
(sbin_PROGRAMS) [MULTI_USER]: Add 'cron'.
(noinst_PROGRAMS) [!MULTI_USER]: Add 'cron' and 'crontab'.
(dist_man_MANS): Move 'crontab.1' and 'cron.8' ...
(extra_mans): here. New variable.
(dist_man_MANS) [MULTI_USER]: Add it.
(all-local) [!MULTI_USER]: New target. Depend on it.
(EXTRA_DIST) [!MULTI_USER]: Distribute it.
(MAINTAINERCLEANFILES): Clean it.
| Mathieu Lirzin | 2017-09-28 | 2 | -35/+27 |
* | build: Separate "Makefile.am" into more sections....* Makefile.am: Add "Installation", "Distribution", "Test suite",
"Programs", and "Guile modules" sections.
| Mathieu Lirzin | 2017-09-28 | 1 | -28/+50 |
* | build: Add 'bootstrap' script....* bootstrap: New file.
* Makefile.am (EXTRA_DIST): Add it.
| Mathieu Lirzin | 2017-09-28 | 2 | -0/+6 |
* | Add (mcron core) module....This module is an alias for (mcron base) module. This modules is added to
keep backward compatibility with Mcron 1.x.
| Mathieu Lirzin | 2017-09-28 | 2 | -0/+35 |
* | base: Add 'run-job' procedure....* src/mcron/base.scm (run-jobs): Delete.
(run-job): New procedure.
(run-job-loop): Use it.
| Mathieu Lirzin | 2017-09-28 | 1 | -31/+20 |
* | job-specifier: Remove dependency on SRFI-26....* src/mcron/job-specifier.scm (range): Use plain lambda instead of 'cut' and
'cute'.
| Mathieu Lirzin | 2017-09-28 | 1 | -3/+6 |
* | build: Install '.go' files under LIBDIR....* Makefile.am (compiled_modules): New variable.
(bin_mcron_DEPENDENCIES, bin_cron_DEPENDENCIES)
(bin_crontab_DEPENDENCIES): Use it.
(guilesitegodir, pkgmodulegodir, pkgmodulego_DATA)
(pkgscriptgodir, pkgscriptgo_DATA): New variables
(pkgmodule_DATA): Remove compiled modules.
(pkgscript_DATA): Delete.
(DISTCLEANFILES, CLEANFILES): Update.
| Mathieu Lirzin | 2017-09-28 | 1 | -14/+15 |
* | build: Don't generate '.version' file....* Makefile.am (.version): Remove target which has no use.
(EXTRA_DIST): Adapt.
(BUILT_SOURCES): Delete.
* .gitignore: Update.
| Mathieu Lirzin | 2017-09-28 | 2 | -6/+0 |
* | build: Rename variables for Guile install directories....* configure.ac (moduledir, mcronmoduledir): Rename to ...
* Makefile.am (guilesitedir, pkgmoduledir): ... these.
(dist_mcronmodule_DATA, mcronmodule_DATA, mcronscriptdir)
(dist_mcronscript_DATA, mcronscript_DATA): Rename to ...
(dist_pkgmodule_DATA, pkgmodule_DATA, pkgscriptdir, dist_pkgscript_DATA)
(pkgscript_DATA): ... these.
(modules): Adapt.
| Mathieu Lirzin | 2017-09-28 | 2 | -14/+13 |
* | build: Support Guile 2.2....* configure.ac: Use 'GUILE_PKG' and 'GUILE_PROGS'. Remove explicit Guile
version check and check for 'guild'. Honor $GUILE_EFFECTIVE_VERSION in
'moduledir'.
| Mathieu Lirzin | 2017-09-28 | 1 | -11/+14 |
* | build: Define PACKAGE_LOAD_COMPILED_PATH macro....* Makefile.am (AM_CPPFLAGS): Define PACKAGE_LOAD_COMPILED_PATH macro.
* src/wrapper.c (main): Use it.
| Mathieu Lirzin | 2017-09-27 | 2 | -2/+6 |
* | wrapper: Avoid 'scm_c_eval_string' usage....* src/wrapper.c (wrap_env_path): New function.
(main): Use it.
(inner_main): Let 'wrap_env_path' set the environment variables.
Don't use 'scm_c_eval_string' when calling 'main' procedure.
* Makefile.am (AM_CPPFLAGS): Define _GNU_SOURCE for 'asprintf'.
| Mathieu Lirzin | 2017-09-27 | 2 | -13/+41 |
* | Merge branch 'devel' | Mathieu Lirzin | 2017-09-27 | 42 | -2094/+3629 |
|\ |
|
| * | build: Use portable substitution references....* Makefile.am (bin_mcron_DEPENDENCIES, bin_cron_DEPENDENCIES)
(bin_crontab_DEPENDENCIES, mcronmodule_DATA, mcronscript_DATA)
(CLEANFILES): Use portable substitution references.
| Mathieu Lirzin | 2016-12-28 | 1 | -6/+6 |
| * | build: Add "build-aux/guix.scm"....* build-aux/guix.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
| Mathieu Lirzin | 2016-12-28 | 2 | -0/+67 |
| * | build: Move executable to "bin" directory....* Makefile.am (bin_PROGRAMS, sbin_PROGRAMS): Prepend "bin/" to every program.
(mcron_SOURCES, mcron_CPPFLAGS, mcron_DEPENDENCIES): Rename to ...
(bin_mcron_SOURCES, bin_mcron_CPPFLAGS, bin_mcron_DEPENDENCIES): ... this.
(cron_SOURCES, cron_CPPFLAGS, cron_DEPENDENCIES): Rename to ...
(bin_cron_SOURCES, bin_cron_CPPFLAGS, bin_cron_DEPENDENCIES): ... this.
(crontab_SOURCES, crontab_CPPFLAGS, crontab_DEPENDENCIES): Rename to ...
(bin_crontab_SOURCES, bin_crontab_CPPFLAGS, bin_crontab_DEPENDENCIES):
($(srcdir)/doc/cron.8, $(srcdir)/doc/crontab.1, $(srcdir)/doc/mcron.1): Update
prerequisite.
* build-aux/pre-inst-env.in (PATH): Use "bin" directory.
* .gitignore: Update.
| Mathieu Lirzin | 2016-12-28 | 3 | -18/+18 |
| * | maint: Generate version number....* build-aux/git-version-gen: New script.
* configure.ac (AC_INIT): Use it.
(AC_REQUIRE_AUX_FILE): Distribute it.
* Makefile.am (.version): New target.
(BUILT_SOURCES, EXTRA_DIST): Add it.
(dist-hook): Generate ".tarball-version".
* .gitignore: Update.
| Mathieu Lirzin | 2016-12-28 | 4 | -2/+240 |
| * | base: find-next-jobs: Use functional style....* src/mcron/base.scm (find-next-jobs): Rewrite it using functional
style. Add docstring.
| Mathieu Lirzin | 2016-12-28 | 1 | -40/+29 |
| * | vixie-specification: Do not use 'and-let*'....* src/mcron/vixie-specification.scm (parse-vixie-environment): Use
'and=>' instead of 'and-let*'
| Mathieu Lirzin | 2016-12-28 | 1 | -6/+3 |
| * | all: Gather module imports....* src/mcron/base.scm: Gather module imports.
* src/mcron/redirect.scm: Likewise.
* src/mcron/vixie-specification.scm: Likewise.
* src/mcron/vixie-time.scm: Likewise.
| Mathieu Lirzin | 2016-12-28 | 4 | -37/+26 |
| * | utils: Remove unneeded 'stdin->string' procedure....* src/mcron/utils.scm: Re-export 'read-string'.
(stdin->string): Delete.
* src/mcron/scripts/crontab.scm (main): Use 'read-string' instead.
* src/mcron/scripts/mcron.scm (process-user-file): Likewise.
| Mathieu Lirzin | 2016-12-28 | 3 | -10/+4 |
| * | utils: for-each-file: Use named let....* src/mcron/utils.scm (for-each-file): Use named 'let' instead of 'do'.
| Mathieu Lirzin | 2016-12-28 | 1 | -3/+6 |
| * | build: Rename (mcron main) to (mcron utils)....* src/mcron/main.scm: Rename to ...
* src/mcron/utils.scm: ... this.
* src/mcron/scripts/cron.scm: Adapt.
* src/mcron/scripts/crontab.scm: Likewise.
* src/mcron/scripts/mcron.scm: Likewise.
* Makefile.am (dist_mcronmodule_DATA): Likewise.
| Mathieu Lirzin | 2016-12-28 | 5 | -6/+6 |
| * | maint: Delete BUGS....* BUGS: Delete.
* Makefile.am (EXTRA_DIST): Adapt.
* README: Likewise.
| Mathieu Lirzin | 2016-12-28 | 3 | -25/+7 |
| * | maint: Update AUTHORS....* AUTHORS: Add 'Sergey Poznyakoff' and 'Mathieu Lirzin'.
| Mathieu Lirzin | 2016-12-28 | 1 | -18/+3 |
| * | maint: Reformat copyright notices and copying permission statements. | Mathieu Lirzin | 2016-12-28 | 11 | -215/+218 |
| * | build: Rename 'mcron.c' to 'wrapper.c'....* src/mcron.c: Rename to ...
* src/wrapper.c: ... this.
* Makefile.am (mcron_SOURCES, cron_SOURCES, crontab_SOURCES): Adapt to it.
* configure.ac (AC_CONFIG_SRCDIR): Likewise.
| Mathieu Lirzin | 2016-12-28 | 3 | -7/+6 |
| * | base: Rewrite 'run-job-loop'....* src/mcron/base.scm (run-job-loop): Use #:optional keyword argument, and
'match'.
| Mathieu Lirzin | 2016-12-28 | 1 | -44/+33 |
| * | job-specifier: Use #:optional keyword argument....* src/mcron/job-specifier.scm (next-year, next-year-from, next-month)
(next-month-from, next-day, next-day-from, next-hour, next-hour-from)
(next-minute, next-minute-from, next-second, next-second-from): Use #:optional
keyword argument.
(maybe-args): Remove unneeded procedure.
| Mathieu Lirzin | 2016-12-28 | 1 | -26/+28 |
| * | 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 |