| Commit message (Expand) | Author | Age | Files | Lines |
... | |
* | base: Call 'child-cleanup' when 'select' returns an empty set....Previously, on Guile >= 2.2, we'd lose this opportunity to call
'child-cleanup', possibly leaving zombies behind us.
* src/mcron/base.scm (run-job-loop): Define 'select*'. Don't expect
'select*' to throw upon EINTR or EAGAIN.
| Ludovic Courtès | 2020-02-27 | 1 | -14/+26 |
* | build: Support Guile 3.0....* configure.ac: Add "3.0" to 'GUILE_PKG'.
| Ludovic Courtès | 2020-02-27 | 1 | -2/+2 |
* | Add missing #include directives....<libguile.h> in Guile 2.x used to include these, but this is no longer
the case with 3.0.
* src/cron.c, src/mcron.h: Include <string.h>.
* src/utils.c: Include <stdio.h>.
| Ludovic Courtès | 2020-02-27 | 3 | -0/+3 |
* | prepared files for 1.1.3v1.1.3 | atsb | 2019-11-17 | 3 | -2/+10 |
* | maint: Add Efraim Flashner to the authors...* AUTHORS: Add Efraim Flashner.
| Mathieu Lirzin | 2019-04-07 | 1 | -0/+1 |
* | build: Update guix.scm...* build-aux/guix.scm: Inherit from mcron.
<arguments>: Remove extra 'bootstrap phase.
<inputs>: Build with guile@2.2.
<native-inputs>: Add tzdata for tests.
Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
| Efraim Flashner | 2019-04-07 | 1 | -8/+5 |
* | doc: Fix “Every second Sunday” example...* doc/mcron.texi (Every second Sunday): If the first day of the month is
Sunday, then the second Sunday of the month is seven days later not
eight.
| Adam Tack | 2019-02-11 | 1 | -1/+1 |
* | final push for 1.1.2v1.1.2 | Adam Bilbrough | 2018-11-26 | 10 | -757/+2 |
* | version 1.1.2...* NEWS: Record release date.
| Adam Bilbrough | 2018-11-26 | 1 | -1/+1 |
* | maint: Add 宋文武 to the authors...* AUTHORS: Add 宋文武.
| Mathieu Lirzin | 2018-10-07 | 1 | -0/+1 |
* | build: Add '--with-sendmail' configure option...This allows users to configure the Mail Transfert Agent (MTA) of their
choice.
* configure.ac: Add '--with-sendmail' option.
(SENDMAIL): Default to 'sendmail -t'.
* NEWS: Announce it.
* src/mcron/redirect.scm (with-mail-out): Assume the MTA is reading the
message for recipients.
* build-aux/guix.scm: Remove 'which' from the native-inputs.
| 宋文武 | 2018-10-07 | 4 | -26/+22 |
* | maint: Post-release administrivia...* NEWS: Add header line for next release.
* .prev-version: Record previous version.
| Mathieu Lirzin | 2018-04-08 | 2 | -1/+4 |
* | version 1.1.1...* NEWS: Record release date.
v1.1.1 | Mathieu Lirzin | 2018-04-08 | 1 | -1/+1 |
* | maint: Update "maint.mk"...* maint.mk (gpg_key_ID, gnu_rel_host, noteworthy_changes)
(gnu_ftp_host-alpha, gnu_ftp_host-beta)
(gnu_ftp_host-stable): New macros.
(release, upload, web-manual, web-manual-update): New rules.
| Mathieu Lirzin | 2018-04-08 | 1 | -0/+63 |
* | maint: Update README...* README: Do not include the version number. Refer to "HACKING" when
"INSTALL" is not available. Tell about the "--disable-multi-user"
configure option.
| Mathieu Lirzin | 2018-04-08 | 1 | -18/+19 |
* | maint: Update NEWS...* NEWS: Update.
| Mathieu Lirzin | 2018-04-08 | 1 | -1/+4 |
* | vixie-time: Refactor 'parse-vixie-time'...* src/mcron/vixie-time.scm (parse-vixie-time): Use 'match' to avoid
complex 'car' and 'cdr' usage.
| Mathieu Lirzin | 2018-04-08 | 1 | -68/+63 |
* | vixie-time: Refactor 'interpolate-weekdays'...* src/mcron/vixie-time.scm (interpolate-weekdays): Avoid mutation and
add 'range-wday' inner procedure.
| Mathieu Lirzin | 2018-04-08 | 1 | -18/+11 |
* | tests: Add "tests/vixie-time.scm"...* tests/vixie-time.scm: New test.
* Makefile.am (TESTS): Add it.
| Mathieu Lirzin | 2018-04-08 | 2 | -1/+120 |
* | vixie-time: Adapt to '%find-best-next' possible infinite result...This is a follow up to commit ae6deb8ea23570c02a7b575a53bba37048aab59f.
* src/mcron/vixie-time.scm (increment-time-component): Check if
'%find-best-next' returns '+inf.0' not 9999.
| Mathieu Lirzin | 2018-04-01 | 1 | -10/+13 |
* | utils: Check 'show-version' and 'show-package-information'...* tests/utils.scm ("show-package-information")
("show-version"): New tests.
| Mathieu Lirzin | 2018-03-27 | 1 | -0/+18 |
* | utils: Remove 'parse-args'...It seems that it is not useful to catch 'misc-error exception when
calling 'getopt-long'. Since 'parse-args' purpose was only to catch
this particular error, it can be deleted.
* src/mcron/utils.scm (parse-args): Remove.
| Mathieu Lirzin | 2018-03-27 | 3 | -13/+5 |
* | job-specifier: Check 'job'...* tests/job-specifier.scm ("job: procedure timeproc")
("job: list timeproc", "job: string timeproc", "job: list action")
("job: invalid string timeproc", "job: invalid timeproc")
("job: procedure action", "job: string action")
("job: user name"): New tests.
| Mathieu Lirzin | 2018-03-27 | 1 | -0/+37 |
* | job-specifier: Box 'configuration-user' global variable...* src/mcron/job-specifier.scm (configuration-user): Box it using
SRFI-111 to be explicit about the mutability of this object.
(job): Adapt.
(set-configuration-user): Adapt and use 'get-user'.
* tests/job-specifier.scm ("set-configuration-user: passwd entry")
("set-configuration-user: invalid uid", "set-configuration-user: uid")
("set-configuration-user: invalid spec")
("set-configuration-user: name"): New tests.
| Mathieu Lirzin | 2018-03-27 | 2 | -6/+50 |
* | job-specifier: Check 'next-...' procedures...* tests/job-specifier.scm ("next-year", "next-month", "next-day")
("next-hour", "next-minute", "next-second"): New tests.
("next-hour-from"): Remove.
| Mathieu Lirzin | 2018-03-27 | 1 | -3/+36 |
* | job-specifier: Fix typo "implement" => "implementation"...* src/mcron/job-specifier.scm (%find-best-next): Fix typo.
| Mathieu Lirzin | 2018-03-27 | 1 | -1/+2 |
* | base: Check how child processes are handled...* tests/base.scm ("run-job: basic"): Check the number of children too.
("child-cleanup: one", "update-number-children!: set value"): New tests.
| Mathieu Lirzin | 2018-03-26 | 1 | -6/+23 |
* | job-specifier: Adapt 'bump-time' to 'next-...-from' procedures...This is a follow-up to commit 913e3c65e4f56476e8ac69f4892cf92c125751ec.
Since 'next-...-from' procedures now uses an '#:optional' argument
instead of a dotted optional arguments list, 'bump-time' doesn't need to
unwrap VALUE-LIST anymore.
* src/mcron/job-specifier.scm (bump-time): Pass VALUE-LIST directly to
'%find-best-next'.
* tests/job-specifier.scm ("next-hour-from"): New test.
* NEWS: Update.
Reported-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Lirzin | 2018-03-26 | 3 | -15/+19 |
* | job-specifier: Preserve '%find-best-next' arguments exactness...The behavior of the 'min' procedure which converts its parameters to
inexact numbers when at least one of them is inexact was causing
'%find-best-next' to always return real numbers.
* src/mcron/job-specifier.scm (%find-best-next): Preserve the exactness
of numbers in NEXT-LIST.
* tests/job-specifier.scm ("%find-best-next: exact"): New test.
Reported-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Lirzin | 2018-03-26 | 2 | -3/+16 |
* | maint: Replace "build-aux/gnu-fetch" with 'fetch' maintainer rule...Fetching third-party files inside a make rule is convenient and less
error prone since 'make' has access to '$srcdir'.
* build-aux/gnu-fetch: Delete.
* maint.mk (WGET, git_sv_host, sv_git_am, sv_git_gl)
(fetchfiles): New macros.
(fetch): New target.
* HACKING <Updating auxilary scripts>: Update instructions.
| Mathieu Lirzin | 2018-03-26 | 3 | -98/+44 |
* | build: Add "maint.mk"...* maint.mk: New maintainer-only Makefile fragment.
* Makefile.am: Include it.
* configure.ac: Substitute "maint.mk" content when it exists.
| Mathieu Lirzin | 2018-03-26 | 3 | -0/+32 |
* | maint: Document how to get code coverage reports...* HACKING <Code coverage>: New section.
| Mathieu Lirzin | 2018-03-25 | 1 | -0/+8 |
* | maint: Update files from upstream with "build-aux/gnu-fetch"...* build-aux/test-driver.scm: Update.
| Mathieu Lirzin | 2018-03-25 | 1 | -9/+28 |
* | utils: It's 2018!...* src/mcron/utils.scm (show-version): Update copyright.
| Mathieu Lirzin | 2018-03-25 | 1 | -1/+1 |
* | utils: Check 'mcron-error'...* tests/utils.scm ("mcron-error: exit code", "mcron-error: output")
("mcron-error: output no-exit", "mcron-error: only stderr"): New tests.
| Mathieu Lirzin | 2018-03-25 | 1 | -1/+43 |
* | tests: Add "tests/utils.scm"...* tests/utils.scm: New test.
* Makefile.am (TESTS): Add it.
| Mathieu Lirzin | 2018-03-25 | 2 | -1/+53 |
* | maint: Update files from upstream with "build-aux/gnu-fetch"...* build-aux/gitlog-to-changelog: Update.
* build-aux/test-driver.scm: Likewise.
| Mathieu Lirzin | 2018-03-24 | 2 | -65/+92 |
* | maint: Add "build-aux/gnu-fetch" script....* build-aux/gnu-fetch: New script for fetching auxilary scripts
maintained in other GNU repositories.
* HACKING: Document how to run it.
| Mathieu Lirzin | 2018-03-24 | 2 | -1/+104 |
* | tests: Remove unused schedule stubs...* tests/base.scm ("number-children: init")
("update-number-children!: 1+", "update-number-children!: 1-"): Remove
'let' form defining the schedule stub.
| Mathieu Lirzin | 2018-03-24 | 1 | -13/+12 |
* | environment: Check configuration environment...* tests/environment.scm ("current-environment-mods-copy: empty")
("current-environment-mods: init", "append-environment-mods: basic")
("append-environment-mods: twice", "clear-environment-mods: effect")
("current-environment-mods-copy: basic"): New tests.
| Mathieu Lirzin | 2018-03-24 | 1 | -1/+54 |
* | environment: Refactor configuration environment handling...* src/mcron/environment.scm (current-environment-mods): Rename to ...
(%current-environment-mods): ... this. Box it using SRFI-111 to be
explicit about the mutability of this object.
(get-current-environment-mods-copy, clear-environment-mods)
(append-environment-mods): New '#:ENVIRON' argument.
| Mathieu Lirzin | 2018-03-24 | 1 | -35/+38 |
* | base: Check 'run-job'...* tests/base.scm ("run-job: basic"): New test.
| Mathieu Lirzin | 2018-03-24 | 1 | -0/+16 |
* | base: Box 'number-children'...* src/mcron/base.scm (number-children): Box it using SRFI-111 to be
explicit about the mutability of this object.
(update-number-children!): New procedure.
(run-job, child-cleanup): Use it.
* tests/base.scm ("update-number-children!: 1+")
("number-children: init", "update-number-children!: 1-"): New tests.
| Mathieu Lirzin | 2018-03-24 | 2 | -6/+47 |
* | base: Rewrite 'child-cleanup'...* src/mcron/base.scm (child-cleanup): Use recursion instead of 'do'.
| Mathieu Lirzin | 2018-03-24 | 1 | -6/+6 |
* | utils: Add 'get-user'...* src/mcron/utils.scm (get-user): New procedure.
* src/mcron/job-specifier.scm (job): Use it.
* src/mcron/base.scm (remove-user-jobs): Likewise.
| Mathieu Lirzin | 2018-03-24 | 3 | -8/+17 |
* | base: Rewrite 'find-next-jobs' docstring....* src/mcron/base.scm (find-next-jobs): Don't explain the detail of
implementation in the docstring.
| Mathieu Lirzin | 2018-03-24 | 1 | -15/+4 |
* | tests: Add "tests/base.scm"...* tests/base.scm: New test.
* Makefile.am (TESTS): Add it.
| Mathieu Lirzin | 2018-03-24 | 2 | -0/+152 |
* | base: Add '<schedule>' record data type...Reifying the notion of a schedule helps reasoning about the code.
Passing a schedule as an argument to related procedures allows writing
simpler unit tests.
* src/mcron/base.scm(<schedule>): New record data type.
(make-schedule, schedule-user, set-schedule-user!)
(schedule-system, set-schedule-system!)
(schedule-current, set-schedule-current!): New procedures.
(system-job-list, user-job-list, configuration-source): Replace those
global variables with ...
(%global-schedule): ... this global <schedule> instance.
* src/mcron/base.scm (use-system-job-list, use-user-job-list)
(remove-user-jobs, clear-system-jobs, add-job, find-next-jobs)
(display-schedule, run-job-loop): Add '#:SCHEDULE' keyword argument.
* doc/mcron.texi (The base module): Update documentation.
| Mathieu Lirzin | 2018-03-24 | 2 | -71/+87 |
* | build: Check non-standard C functions at configure time...* configure.ac: Check 'argp_parse' and 'asprintf' presence.
| Mathieu Lirzin | 2018-03-23 | 1 | -0/+6 |
* | job-specifier: Use 'simple-format'...* src/mcron/job-specifier.scm (job): Use 'simple-format' instead of
'with-output-to-string'.
| Mathieu Lirzin | 2018-03-23 | 1 | -4/+3 |