aboutsummaryrefslogtreecommitdiff
path: root/NEWS
AgeCommit message (Collapse)AuthorFiles
2023-07-30Version 1.18.90Sergey Poznyakoff1
2023-01-22Update copyright yearsSergey Poznyakoff1
2022-08-13Version 1.8release-1.8Sergey Poznyakoff1
2022-08-06Fix component shutdown.Sergey Poznyakoff1
* 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.
2022-08-04Configurable termination signalSergey Poznyakoff1
* 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.
2022-07-07Version 1.7.92Sergey Poznyakoff1
2022-05-31Don't lose SIGCHLD handler during config reloadSergey Poznyakoff1
* 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.
2022-01-17Fix configuration preprocessingSergey Poznyakoff1
* 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
2022-01-02Version 1.7release-1.7Sergey Poznyakoff1
2022-01-02Update copyright yearSergey Poznyakoff1
2021-07-07Version 1.6release-1.6Sergey Poznyakoff1
2021-06-09Make preprocessor include path configurable.Sergey Poznyakoff1
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.
2021-06-03Version 1.5.83Sergey Poznyakoff1
2021-06-03Fix reloading of the configuration files.Sergey Poznyakoff1
* 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.
2021-05-09Version 1.5.92Sergey Poznyakoff1
2021-03-10Version 1.5.91Sergey Poznyakoff1
2021-02-12Fix preprocessor use and config file precedence in piesctlSergey Poznyakoff1
* 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.
2021-02-03External preprocessor can be selected when building the package and at runtime.Sergey Poznyakoff1
* 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.
2021-01-06Update copyright yearsSergey Poznyakoff1
2020-12-14Version 1.5release-1.5Sergey Poznyakoff1
2020-12-09Version 1.4.97Sergey Poznyakoff1
2020-12-08Global env statement.Sergey Poznyakoff1
* 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.
2020-12-08Improve syslog redirectionSergey Poznyakoff1
* 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).
2020-12-07BugfixSergey Poznyakoff1
* src/syslog.c (pies_syslog_set_dev): Fix the return value.
2020-12-07Fix changing of the syslog dev. Fix bugs in closing unnecessary fds. Version ↵Sergey Poznyakoff1
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.
2020-12-07Version 1.4.95Sergey Poznyakoff1
* 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.
2020-12-05Remove the component.facility keyword. Update the docs.Sergey Poznyakoff1
* 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.
2020-12-02Version 1.4.94Sergey Poznyakoff1
2020-12-02Fix reporting of the argv over the control interface (improves c0f4c3b99b)Sergey Poznyakoff1
2020-12-02Version 1.4.92Sergey Poznyakoff1
2020-12-02New component flag: expandenvSergey Poznyakoff1
* 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.
2020-10-18Fix cyclic dependecy detection and reporting.Sergey Poznyakoff1
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.
2020-10-17Update copyright yearsSergey Poznyakoff1
2020-10-17Automatically detect if pies is started from dockerSergey Poznyakoff1
* 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
2020-10-12Make sure exited preprocessor gets cleaned up when running with PID 1.Sergey Poznyakoff1
* 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.
2019-07-02Version 1.4release-1.4Sergey Poznyakoff1
2019-06-12Version 1.3.92Sergey Poznyakoff1
2019-06-07Implement additional env.eval statementSergey Poznyakoff1
2019-06-06Change syntax of the env.clear statement.Sergey Poznyakoff1
It no longer requires an argument. The correct syntax is env { clear; }
2019-06-03Minor fixesSergey Poznyakoff1
2019-06-03Finish the env re-implementationSergey Poznyakoff1
* 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.
2019-05-31Provide an option to run commands via sh -cSergey Poznyakoff1
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.
2019-05-28Document startup and shutdown componentsSergey Poznyakoff1
2019-05-23Update NEWSSergey Poznyakoff1
2019-05-20Document the --no-init option. Raise version number to 1.3.90Sergey Poznyakoff1
2017-01-02Happy GNU YearSergey Poznyakoff1
2016-10-01Version 1.3release-1.3Sergey Poznyakoff1
2016-07-16Don't concatenate adjacent strings in configuration files.Sergey Poznyakoff1
* grecs: Upgrade. * src/pies.h: Fix include paths. * src/piesctl.c: Likewise. * NEWS: Document changes. * doc/pies.texi: Likewise.
2016-03-15version 1.2.94Sergey Poznyakoff1
2016-03-15Update NEWS and READMESergey Poznyakoff1

Return to:

Send suggestions and report system problems to the System administrator.