AboutSummaryRefsLogTreeCommitDiffStats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* Merge system-wide Vixie cron updates.Dale Mellor2023-03-181-1/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | I don't believe that anyone should be running system-wide cron processes these days (the attack surface is rather large), but should use separate per-user or per-service mcron daemon processes. But mcron is advertised as a drop-in Vixie replacement, so we should do what we can to make it safe in this use case. I've performed a basic vetting of the changes against vandalism, but haven't verified the correctness of the code or done any checking; the changes are being accepted on the basis that almost anything is an improvement on what currently exists.
| * crontab-access: replace with wrapper, rename to crontab-access-real.ulfvonbelow2023-03-181-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wrapper has two purposes: 1. Not being a script, thereby eliminating the issues with setuid scripts. 2. Purging the environment. crontab-access-real has no need for any environment variables to do its work, so to prevent tampering with dynamic linker, libc, or guile, we may as well just unset them all. This wrapper does introduce a requirement for a C compiler. Ideally it would be conditional based on whether the wrapper is even going to be built, but autoconf doesn't like that one bit. Someone with more experience with autotools should sort that out. In the meantime I guess anyone wanting to build without a C compiler being present is going to have to edit configure.ac and re-run bootstrap. * src/crontab-access.in: renamed to src/crontab-access-real.in * src/crontab-access.c.in: new file, wrapper for crontab-access-real. * Makefile.am: inform about crontab-access.c.in and name change to crontab-access-real. Put crontab-access-real in libexecdir.
| * config.scm.in: rename to config.scm.in.in, substitute from Makefile.ulfvonbelow2023-03-181-1/+1
| | | | | | | | | | | | * src/mcron/config.scm.in: renamed to config.scm.in.in. (config-sbin-dir): new variable. * Makefile.am: substitute in config.scm.in.
* | The GUILE_PKG M4 macro no longer takes any arguments.Dale Mellor2023-03-151-1/+1
|/ | | | * configure.ac: small alteration as described
* Lose hope of running against guile 2.2 or earlier.Dale Mellor2022-07-071-1/+1
| | | | | | | | | | We have previously allowed versions 2.0 and 2.2 to get past the configure stage, but all versions of guile before 3.0 have in fact failed to compile the code due to syntax errors for some time now. * build-aux/guix.scm: package depends on guile@3 * configure.ac: only look for guile version 3 * src/mcron/base.scm: drop allowance for old-fashioned (version 2.0) select
* updating for next releasev1.2.1atsb2021-08-051-1/+1
|
* updates for latest autoconfatsb2021-04-071-15/+9
|
* fixes for ubuntu 20.4v1.2.0atsb2020-08-131-0/+2
|
* build: Remove C specific Guile configuration stepMathieu Lirzin2020-05-171-5/+0
| | | | * configure.ac: Remove unecessary PKG_CHECK_MODULES invocation.
* build: Detect guile M4 macro expansion errorsMathieu Lirzin2020-05-171-1/+8
| | | | | | | | This ensures that the absence of 'pkg-config' or 'guile' M4 macros expansion do not pass the bootstrap step. * configure.ac: Allow or forbid some M4 macros patterns in the generated 'configure' script.
* prepare version 1.2.0atsb2020-04-221-1/+1
|
* project: banish need for C compilerDale Mellor2020-04-201-31/+24
| | | | | | | | | | This patch gets rid of the thin veneer that we currently have around the three executables. This was done for historical reasons (circa 2003 Guile couldnʼt deal with process signals and forks). In fact these problems were fixed many moons ago, and there is now no need for it. The project becomes 100% Guile! Many files are affected; interested coders should use the GIT repository to understand the details of all the changes.
* preparing 1.1.4v1.1.4atsb2020-04-121-1/+1
|
* build: Support Guile 3.0.Ludovic Courtès2020-02-271-2/+2
| | | | * configure.ac: Add "3.0" to 'GUILE_PKG'.
* prepared files for 1.1.3v1.1.3atsb2019-11-171-1/+1
|
* final push for 1.1.2v1.1.2Adam Bilbrough2018-11-261-4/+1
|
* build: Add '--with-sendmail' configure option宋文武2018-10-071-20/+10
| | | | | | | | | | | | 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.
* build: Add "maint.mk"Mathieu Lirzin2018-03-261-0/+6
| | | | | | * maint.mk: New maintainer-only Makefile fragment. * Makefile.am: Include it. * configure.ac: Substitute "maint.mk" content when it exists.
* build: Check non-standard C functions at configure timeMathieu Lirzin2018-03-231-0/+6
| | | | * configure.ac: Check 'argp_parse' and 'asprintf' presence.
* maint: Update copyright yearsMathieu Lirzin2018-03-201-1/+1
|
* build: Support 'make installcheck'Mathieu Lirzin2018-03-201-1/+1
| | | | | | | * configure.ac: Pass 'std-options' to AM_INIT_AUTOMAKE to check that the "--help" and "--version" options can be passed to installed programs. * Makefile.am (installcheck-local): New rule which checks the programs presence and configuration.
* build: Handle all programs names transformationsMathieu Lirzin2018-03-201-8/+0
| | | | | | | | | | | | Previously only prepending a prefix was handled when installing 'crontab'. Using the 'transform' Make macro allows the installation process to support generic transformations as defined by the '--program-suffix' and '--program-transform-name' configure options. * configure.ac: Don't substitue '@real_program_prefix@'. * Makefile.am (fpp): Remove. (transform_exe): New macro. [MULTI_USER] (install-exec-hook): Use it when installing 'crontab'.
* build: Reverse '--disable-multi-user' effectMathieu Lirzin2018-03-191-1/+1
| | | | | | | | This fixes a bug where the '--disable-multi-user' was actually having the reverse effect of installing 'cron' and 'crontab'. * configure.ac: Reverse equality test when setting 'MULTI_USER' Automake conditional.
* maint: Remove obsolete configure checksMathieu Lirzin2018-03-191-18/+0
| | | | | | * configure.ac: Don't check for 'sed' and 'cp' programs which are considered portable. Don't check for 'head' and 'which' programs which are not required.
* Replace generic C wrapper with individual programsMathieu Lirzin2017-09-281-1/+1
| | | | | | | | | | | * 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.
* wrapper: Move 'wrap_env_path' to a new 'utils' module.Mathieu Lirzin2017-09-281-0/+2
| | | | | | | | | * 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'.
* build: Remove "--enable-debug" configure optionMathieu Lirzin2017-09-281-14/+0
| | | | | | | | | | | 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.
* build: Remove "maintainer-mode" configure option.Mathieu Lirzin2017-09-281-4/+0
| | | | * configure.ac: Remove "maintainer-mode" configure option.
* build: Replace "--enable-no-vixie-clobber" with "--disable-multi-user".Mathieu Lirzin2017-09-281-12/+6
| | | | | | | | | | | | | | | | * 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.
* build: Rename variables for Guile install directories.Mathieu Lirzin2017-09-281-5/+0
| | | | | | | | | | * 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.
* build: Support Guile 2.2.Mathieu Lirzin2017-09-281-11/+14
| | | | | | * configure.ac: Use 'GUILE_PKG' and 'GUILE_PROGS'. Remove explicit Guile version check and check for 'guild'. Honor $GUILE_EFFECTIVE_VERSION in 'moduledir'.
* maint: Generate version number.Mathieu Lirzin2016-12-281-1/+4
| | | | | | | | | | * 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.
* maint: Reformat copyright notices and copying permission statements.Mathieu Lirzin2016-12-281-22/+19
|
* build: Rename 'mcron.c' to 'wrapper.c'.Mathieu Lirzin2016-12-281-1/+1
| | | | | | | * 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.
* build: Define PACKAGE_LOAD_PATH in Makefile.Mathieu Lirzin2016-12-011-3/+1
| | | | | | | | | | | | 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.
* build: Use Automake warnings.Mathieu Lirzin2016-12-011-1/+1
| | | | | | | * 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.
* job-specifier: range: Add tests.Mathieu Lirzin2016-12-011-0/+1
| | | | | | | | | | * 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.
* 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-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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: Support VPATH builds.Mathieu Lirzin2016-05-071-3/+7
| | | | | | | | | | | | | | | | | | 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-071-3/+2
| | | | | | | | | | * 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.
* build: Enable silent rules by default.Mathieu Lirzin2016-05-071-0/+1
| | | | | | | | * 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-071-2/+10
| | | | | | | | | | * 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-071-4/+0
| | | | | | | | | | | | | | | | 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.
* 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-071-0/+1
| | | | | * configure.ac (AC_CONFIG_AUX_DIR): Set it to 'build-aux'. * .gitignore: Adapt to it.
* build: Fix build of the manual.Mathieu Lirzin2016-05-071-2/+5
| | | | | | | | | | * 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.
* Add maintainer-mode option to configure, to pacify Debian.Dale Mellor2014-05-251-0/+4
|
* Juggled build infrastructure to make mcron.1 man page properly.Dale Mellor2014-05-251-3/+5
|
* Now runs (only) against guile-2.0.1.0.7Dale Mellor2014-04-281-17/+4
|