diff options
117 files changed, 5816 insertions, 2530 deletions
@@ -31 +31,2 @@ m4 stamp-h1 +/tmp diff --git a/Makefile.am b/Makefile.am index e741602..8a4338c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,3 @@ # This file is part of GNU Pies. -# Copyright (C) 2008-2020 Sergey Poznyakoff +# Copyright (C) 2008-2023 Sergey Poznyakoff # @@ -1,10 +1,143 @@ -GNU Pies NEWS -- history of user-visible changes. 2020-10-17 +GNU Pies NEWS -- history of user-visible changes. 2023-07-30 See the end of file for copying conditions. -Please send Pies bug reports to <bug-pies@gnu.org> or -<bug-pies@gnu.org.ua> +Please send Pies bug reports to <bug-pies@gnu.org>. -Version 1.4.91 (git) +Version 1.8.90 (git) -* Detect if pies is started from docker. +* return-code statement accepts negations + +Negated status codes or signal numbers can appear in the argument +list to the "return-code" command. The syntax is: + + !0 any status code except 0 + !EX_OK same as above + !SIGQUIT any signal except SIGQUIT + !SIG+10 any signal except 10 + +For example, the following statement: + + return-code (!0, !SIGHUP, !SIGQUIT) { + notify root; + } + +will notify root user if the program exits with any status, except 0 +or gets terminated with any signal, except SIGHUP and SIGQUIT. + + +Version 1.8, 2022-08-13 + +* New configuration keywords + +** sigterm SIG + +Available for use in "component" sections. This statement defines +signal which pies should send to the running component instance in +order to terminate it. Defaults to SIGTERM. + +* Fix the component shutdown sequence + +The shutdown sequence is determined taking into account dependencies +between components, so that all dependent components are stopped +before their prerequisite components. + +* Fallback log file + +Fallback log file is a place where pies writes out of band log messages, +i.e. messages about not being able to open syslog socket or send logs +to it. Regular log messages are diverted to this file if syslog was +requested, but cannot be used because of a permanent error. + +* Bugfixes + +** Fix piesctl config reload + +** Fix configuration preprocessing. + +** Varios fixes in REST API server. + +Version 1.7, 2022-01-02 + +* Changes in configuration preprocessing + +** Each included file is preprocessed separately. + +The built-in preprocessor is removed. The #include and #include_once +statements are now regular configuration statements. Any files +included as a result of #include or #include_once are preprocessed +separately. This differs from prior versions, were all includes were +expanded first, the obtained material passed to the m4 and the +resulting output was then parsed. + +This means that: + +1. The mess with two preprocessors (built-in and external) is now +gone. + +2. Macros defined in a source file don't pollute the namespace of +another sources. + +3. Error locations can be accurately determined. + +4. Preprocessor can emit forceful diagnostics (see below) to properly +identify erroneous or otherwise suspicious constructs. + +** The `pp-setup' file is gone. + +By default, the preprocessor is started as `m4 -s -P' with additional +set of -I options and eventual -D or -U options if these are used in +the command line of pies. Apart from this, no additional set up is +performed. + +** The precedence of -I options is fixed + +The -I options are placed in the m4 command line before the options +that configure the default search path. + +* New forceful diagnostics statements + +** #warning "TEXT" + +Emits warning. + +** #error "TEXT" + +Emits error message. Further parsing continues, but will end with +failure. + +** #abend "TEXT" + +Emits error message and stops further processing immediately. + +If `#error' or `#abend' is encountered, the effect is the same +as if syntax error has been detected. If it occurs at pies +startup, the program will terminate abnormally. If it occurs as +part of the reload sequence in a running instance of pies, the +configuration file will be rejected and old configuration will remain +in effect. + +Version 1.6, 2021-07-07 + +* Selecting preprocessor from the command line. + +Two command line options are provided to select the preprocessor to +use instead of the default m4. The --preprocessor=COMMAND option +instructs pies to use COMMAND as preprocessor. The --no-preprocessor +option disables the use of the external preprocessor. + +The new command line options are available both in pies and in the +client program piesctl. + +* piesctl: fix order in which configuration files are examined + +As stated in the documentation, program-specific configuration +file piesctl.conf takes precedence over pies.conf. + +* Fix reloading of the configuration files. + +* Fix compilation with --disable-sysvinit + +Version 1.5, 2020-12-14 + +* Detect if pies is started from docker @@ -17,2 +150,51 @@ properly. +* Fix cyclic dependency detection + +* New component flag: expandenv + +The "expandenv" flag instructs pies to parse the command line +and to expand any references to environment variables within it +as the Bourne shell would have done it. This allows for expanding +the environment variables without the overhead of actually running +the shell. + +This flag is incompatible with the "shell" flag. When both are used, +the preference is given to "shell" and a warning message to that +effect is issued. + +* Component standard stream redirection rewritten from scratch + +In particular, redirecting stdout/stderr to syslog no longer requires +starting an auxiliar process. + +* The component.facility configuration statement is withdrawn + +To specify a particular facility, use the fully qualified +facility.priority argument to the stdout or stderr statement, e.g.: + + stderr syslog local1.err; + +* New configuration statement syslog.dev + +The statement configures the socket to communicate with the syslog +daemon. Its argument is either the file name of the local socket +or the IP[:PORT] specification, e.g. + + syslog { + dev 172.31.255.252; + } + +* Global env section + +The "env" section appearing in global context modifies the environment +for the main pies process. This modified environment will be +inherited by all processes started by pies in the course of its normal +operation. + +* New control endpoint /alive + +HTTP response to GET /alive/PROG reflects the current state of the +component PROG: 200 if it is running, 503 if not, and 404 if there's +no such component. + @@ -217,3 +399,3 @@ Copyright information: -Copyright (C) 2009-2020 Sergey Poznyakoff +Copyright (C) 2009-2023 Sergey Poznyakoff @@ -74,3 +74,3 @@ Send bug reports to <bug-pies@gnu.org.ua>. -Copyright (C) 2009-2020 Sergey Poznyakoff +Copyright (C) 2009-2023 Sergey Poznyakoff diff --git a/README-hacking b/README-hacking index 8b58436..2871ed1 100644 --- a/README-hacking +++ b/README-hacking @@ -57,3 +57,3 @@ For more information about `bootstrap', run `bootstrap --help'. -Copyright (C) 2008-2020 Sergey Poznyakoff +Copyright (C) 2008-2023 Sergey Poznyakoff @@ -1,3 +1,3 @@ # This file is part of Mailfromd. -*- autoconf -*- -# Copyright (C) 2009-2020 Sergey Poznyakoff +# Copyright (C) 2009-2023 Sergey Poznyakoff # diff --git a/am/proctitle.m4 b/am/proctitle.m4 index 9fff12f..73afd87 100644 --- a/am/proctitle.m4 +++ b/am/proctitle.m4 @@ -1,3 +1,3 @@ dnl This file |