Age | Commit message (Collapse) | Author | Files |
|
|
|
|
|
|
|
* NEWS: Document changes.
* doc/pies.texi: Document changes.
* src/cmdline.opt: New option --list-shutdown-sequence
* src/comp.c (compute_shutdown_sequence)
(component_shutdown_list,components_list_shutdown_sequence)
(components_shutdown_sequence_numbers): New functions.
(component_config_commit): Compute shutdown sequences for
each component.
* src/pies.c: Handle the --list-shutdown-sequence option.
* src/pies.h (component) <shutdown_seqno>: New field.
(components_list_shutdown_sequence)
(components_shutdown_sequence_numbers): New prototypes.
* src/progman.c (progman_gc): Rewrite.
(progman_stop): Rewrite.
* tests/shdnseq.at: New test.
* tests/sigwait.c: Take options -n and -f FILE.
Open file in append mode. Lock it before writing.
* tests/Makefile.am: Add new test.
* tests/testsuite.at: Include new test.
|
|
* NEWS: Document changes.
* doc/pies.texi: Document changes.
* src/comp.c (component_create): Initialize sigterm field.
* src/pies.h (component): New field: sigterm.
* src/pies.c (strtosignum): New function.
(create_action): Use strtosignum.
(_cb_signal): New callback.
(component_keywords): New keyword "sigterm".
* src/progman.c (prog_sigterm): New function.
(link_prog, progman_cleanup)
(progman_stop_component): Use prog_sigterm.
(print_status): Change semantics of expect_term: it means termination
signal, if not 0.
* tests/sigterm.at: New test.
* tests/sigwait.c: New test program.
* tests/Makefile.am: Add new test.
(noinst_PROGRAMS): Add sigwait.
* tests/testsuite.at: Include new test.
|
|
|
|
* NEWS: Update.
* configure.ac: Version 1.7.91
* grecs: pull 2d75be5
* src/pies.c (main): Clear children_op flag immediately after testing it.
The intent is to avoid accidentally clearing bits that might have been set
when processing (in particular - PIES_CHLD_CLEANUP). Note, that this
generalizes 3b52d3d8.
|
|
* grecs: Upgrade to 03044f768f.
* lib/pp.c (pp_add_option): Don't insert grecs_preprocessor
at the begiinig yet.
(pp_command_line): Insert grecs_preprocessor at the beginning of
the resulting string. This way the --preprocessor option is
honored even if it appears after any -I or -D options in the
command line.
* src/cmdline.opt (pies_help_hook): Remove unused variable.
* configure.ac: Version 1.7.90.
* NEWS: Update.
* src/progman.c (prog_start): Minor unrelated fix
|
|
|
|
|
|
|
|
The installation directory for pp-setup can be set at configure time
using the --with-pp-setup option. To disable installing it, use
--without-pp-setup.
* NEWS: Raise patchlevel.
* configure.ac (DEFAULT_INCLUDE_PATH): New variable.
(PIES_INCDIR): New substitution variable.
New option --with-pp-setup.
* grecs: Pull 7427077b98.
* src/Makefile.am (DEFAULT_VERSION_INCLUDE_DIR)
(DEFAULT_INCLUDE_DIR): Replace by DEFAULT_INCLUDE_PATH.
Install pp-setup conditionally.
* src/cmdline.opt (pies_help_hook): Print include path.
Fix arguments to grecs_find_include_file.
* src/pies.c (config_init): Use DEFAULT_INCLUDE_PATH to
initialize include path.
* src/piesctl.c: Likewise.
|
|
|
|
* lib/envop.c (environ_free): Free the env block itself.
(envop_cmp): New function.
* lib/envop.h (envop_cmp): New proto.
* src/comp.c (argvcmp): Fix segmentation fault that occurred when
both a and b were NULL.
(component_match): Compare command, envop, and umask.
|
|
|
|
|
|
* NEWS: Document changes.
* doc/pies.texi: Document changes.
* src/cmdline.opt: Don't set preprocessor if DEFAULT_PREPROCESSOR
is NULL.
* src/piesctl-cl.opt: New options: --preprocessor,
--no-preprocessor.
* src/piesctl.c (parse_config): If either client.url or
default_url is set in the program-specific config, use it
and don't parse pies.conf. This is consistent with the
documented behavior.
(main): Initialize grecs_preprocessor.
|
|
* configure.ac: Report selected preprocessor.
Version 1.5.90.
* doc/Makefile.am: Don't distribute gendocs.pl and gendocs_template
* grecs: Upgrade.
* lib/pp.c (pp_command_line): Use the grecs_preprocessor variable
instead of DEFAULT_PREPROCESSOR macro.
* src/cmdline.opt: New options: --preprocessor and --no-preprocessor.
Report the preprocessor command and setup file when called with --help.
* src/pies.c (config_init): Initialize grecs_preprocessor.
* NEWS: Document changes.
* doc/pies.texi: Document new options.
* tests/accept.at: Invoke pies with --no-preprocessor.
* tests/builtin.at: Likewise.
* tests/control.at: Likewise.
* tests/cyclic.at: Likewise.
* tests/env.at: Likewise.
* tests/envglobal.at: Likewise.
* tests/expandenv.at: Likewise.
* tests/inet.at: Likewise.
* tests/maxinst.at: Likewise.
* tests/passfd.at: Likewise.
* tests/redirect.at: Likewise.
* tests/respawn.at: Likewise.
* tests/ret-exec.at: Likewise.
* tests/ret-notify.at: Likewise.
* tests/shell.at: Likewise.
* tests/shutdown.at: Likewise.
* tests/startup.at: Likewise.
|
|
|
|
|
|
|
|
* NEWS: Update.
* doc/pies.texi: Document the global env statement.
* src/pies.c: Modify "env" callbacks to expect a envop_t **
as modifiable target.
Introduce global env statement.
* tests/envglobal.at: New test.
* tests/Makefile.am: Add new file.
|
|
* NEWS: Change wording a bit.
* src/progman.c (redirect_to_file): Close and deregister the
descriptor on error and EOF.
* src/syslog.c (pies_log_tag): Rename to log_tag.
(reopen_logger): Use PIES_LOG_DEV if log_dev is NULL.
(pies_syslog_set_dev): Free previously allocated log_tag (if any).
|
|
* src/syslog.c (pies_syslog_set_dev): Fix the return value.
|
|
1.4.96
* lib/closefds.c [HAVE_FUNC_PROC_PIDINFO] (close_fds_sys): Fix
algorithm.
* src/pies.c (cb_syslog_dev): New callback. Handle "dev" using it.
(main): Don't close fd 2 before restarting.
* src/pies_syslog.h (pies_syslog_set_dev): New proto.
* src/progman.c (prog_start,run_command): Don't close necessary fds.
* src/syslog.c (pies_log_dev): Mark as static.
(pies_syslog_set_dev): New function.
|
|
* NEWS: Version 1.4.95
* configure.ac: Likewise.
* doc/ctl.texi: Fix formatting of JSON selectors. @deffn is
unable to handle them properly.
* doc/pies.texi: Minor changes.
* src/progman.c (open_redirector): Minor change to avoid
spurious varning.
* src/syslog.c: Assume conservative value instead of unportable
HOST_NAME_MAX.
|
|
* NEWS: Update.
* doc/pies.texi: Update.
* src/pies.h (component): Remove the facility field.
* src/comp.c: Likewise.
* configure.ac: Select interface to use to close fds (imported from
mailutils).
* lib/closefds.c: New file (imported from mailutils).
* lib/Makefile.am: Add closefds.c
* lib/libpies.h (pies_close_fds): New proto.
* src/pies.c: Use pies_close_fds
* src/progman.c: Likewise.
|
|
|
|
|
|
|
|
* NEWS: Update.
* doc/pies.texi: Document the expandenv flag.
* src/comp.c (component_finish): Warn if both "shell" and "expandenv"
are used together.
Expand command to argc/argv only unless the CF_EXPANDENV flag is given.
* src/pies.c (str_to_cf): New flag: expandenv
* src/pies.h (CF_EXPANDENV): New define.
* src/prog.h (struct prog): New member: argv.
* src/progman.c (destroy_prog): Free argv.
(prog_start_prologue): Expand the command line taking into account
the current environment if CF_EXPANDENV flag is given. Otherwise,
copy the component argv to the prog.
(prog_execute): Use prog->v.p.argv
* tests/Makefile.am: Add expandenv.at
* tests/testsuite.at: Likewise.
* tests/expandenv.at: New file.
|
|
Use modified Floyd-Warshall algorithm for cyclic dependecy detection.
The computed next vertex indices are used when reporting the cycles
found.
This fixes dead loops that occurred in earlier versions when trying to
report cycles. One of inputs that caused such behavior is used as a
new test in cyclic.at.
* src/depmap.c: Rewrite using modified Floyd-Warshall algorithm.
(depmap_cycle_detect,depmap_path_free): New functions.
* src/comp.c (report_cyclic_dependency): Take struct depmap_path *
as argument.
(component_build_depmap): Use depmap_cycle_detect to detect cyclic
dependencies.
(depmap_dump): Special handling for zero-sized depmap.
* tests/cyclic.at: Add new test.
* src/pies.h (depmap_dim, depmap_free)
(depmap_cycle_detect,depmap_path_free): New protos.
* NEWS: Document changes.
|
|
|
|
* lib/envop.c: Include sys/types.h (for ssize_t).
* src/pies.c (is_docker,no_init_option,init_detect): New functions.
(main): Call init_detect.
* src/utmp.c: Additional cpp magic to determine WTMPX_FILE and UTMPX_FILE.
* NEWS: Document the changes.
* doc/pies.texi: Likewise. Also, fix improper node name (inetd.conf).
* configure.ac: Version 1.4.91
|
|
* NEWS: Version 1.4.90
* configure.ac: Version 1.4.90
* src/pies.c (main): When running with PID 1, install a minimal
SIGCHLD handler before parsing configuration files.
|
|
|
|
|
|
|
|
It no longer requires an argument. The correct syntax is
env {
clear;
}
|
|
|
|
* NEWS: Document the "env" statement and the PIES_MASTER_PID
environment variable.
Version 1.3.91
* configure.ac: Version 1.3.91
* doc/pies.texi: Document the new "env" statement syntax. Provide
instructions on how to convert legacy "env" statement to the new
form.
* lib/envop.c (environ_unset): Take reference value as argument.
If supplied, unset the variable only if its value matches the
reference one.
* lib/envop.h (environ_unset): Change proto.
* src/pies.c (parse_legacy_env): Minor changes.
(_cb_env_unset): Allow to specify value.
* src/progman.c (run_command): Define PIES_MASTER_PID.
* tests/env.at: Check the legacy env syntax.
* tests/envop.at: Additional checks.
|
|
The new flag "shell" instructs pies to run the command marked with it
as '/bin/sh -c $command'. Alternative shell can be supplied ising the
'program' statement.
This is useful if the command line uses shell-specific features (command
or variable expansion, redirection, pipes, etc.)
This commit also fixes a bug in the 'env' statement handling: a single
argument with embedded whitespaces was undergoing word splitting and
thus incorrectly handled as multiple arguments.
* NEWS: Document changes.
* doc/pies.texi: Likewise.
* src/comp.c (component_free): Free command.
(component_finish): Split command into argv/argc as directed by the
CF_SHELL flag.
* src/pies.c (_cb_command): Remove. Functionality moved to
component_finish().
(_cb_env): Bugfix. Don't split arguments.
* src/pies.h (CF_SHELL): New flag.
(component) <command>: New member.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Add new tests.
* tests/aux/respawn: Change default timeout to 1 second.
* tests/respawn.at: Minor change.
* tests/shell.at: New test.
|
|
|
|
|
|
|
|
|
|
|
|
* grecs: Upgrade.
* src/pies.h: Fix include paths.
* src/piesctl.c: Likewise.
* NEWS: Document changes.
* doc/pies.texi: Likewise.
|
|
|
|
|