]> Kevux Git Server - fll/tag
0.5.6
object a4c2c5aa2bf0b4abc27f313f0651ff80dd78d363
authorKevin Day <thekevinday@gmail.com>
Sun, 24 Oct 2021 21:11:37 +0000 (16:11 -0500)
This is a Development Release for 0.6.x.

The primary focus of the 0.5.6 release is updates and bugfixes.

There are considerable improvements in the controller program that better enables it to operate as an init program.
The fake program has seen some improvements and bugfixes.
There are significant changes and improvements to the execute functions.
New status codes added, breaking previous ABI and API.

Of particular note are the execute changes.
The return status from a child process is not being returned and the forked process has no way of getting this value.
To solve this, the execute functions are re-written to enable returning special error codes on exit of the child process.
This value can then get picked up by the appropriate waitpid() call.
Only a 8-bits are available for this as per POSIX so a special subset of status codes exclusive to the execute process are now provided.

The formatted print functions still need additional work.

This brings in new functionality:
- Allow controller program to operate directly as "init program" by default.
- Controller Program should support uninterruptable and define default behavior.
- Enable config.h, config.c, and config.cpp support in package generation.
- Support "pid" and "show" entry settings in the controller program.
- Several new status codes (breaking API and ABI with 0.5.5 release and earlier).
- Implement timeout setting support in the controller program.
- Support "rerun" in controller program to re-run processes after exit or error, such as "agetty".
- The fake program now supports additional build settings:
  - libraries_shared
  - libraries_static
  - build_sources_headers_shared
  - build_sources_headers_static
  - build_sources_library_shared
  - build_sources_library_static
  - build_sources_program_shared
  - build_sources_program_static
  - flags_library_shared
  - flags_library_static
  - flags_program_shared
  - flags_program_static
  - defines_library_shared
  - defines_library_static
  - defines_program_shared
  - defines_program_static
- Add controlling terminal support to the execute functions to allow the controller program "init" to avoid messages like: "bash: cannot set terminal process group (-1): Not a tty" and "bash: no job control in this shell".
- The controller program now supports "session new", "session same", "with session_new", and "with session_same" to utilize the controlling terminal support.

The summary of fixes and improvements.
- Add missing parameter in firewall help and tweak spaces.
- Some projects should be using '%Q' and not '%S'.
- Fix problems exposed by testing the "init" program, including formatted print regressions.
- Controller program print locking issues and fix delimits cache issue.
- Incorrectly setting interrupt failure during exit.
- Improve pid file handling logic in the controller program, avoiding the need for the process_pid variable.
- Several formatted print regressions.
- Controller program environment should only be reset when specified, even if empty.
- Controller program infinite loop on invalid entry file and related printing problems.
- Make fl_execute_into() slightly more consistent with fl_execute_program(), adding environment processing.
- Formatted prints are pulling additional var_arg, resulting in a segfault.
- Conversion functions should not be considering the decimal '.' (0x2e) to be a number as the conversion functions are for whole numbers only.
- Fix number handling in the controller program.
- The rule for devices is "devices" and not "dev" in the controller program setting files.
- Execute functions and controller program changes, addressing return codes.
- Refactor fll_error_print_t to fl_print_t.
- Refactor old f_file_t output strategy to the newer fl_print_t output strategy.
- Refactor coding practices to utilize "_s" and "_d" in the macros (a major API change).
- Refactor the fake program setting "flags_all" to "flags" and "defines_all" to "defines".
- Move the fake program's hardcoded indexer arguments into a new setting "build_indexer_arguments".
- Fix regression where the example bzip fakefile build fails.
- Bootstrap build script should understand static and shared being built.
- Fix problem where "require" is not properly trigger an error in the controller program.
- The package script shouldn't be setting up the build settings to install config.h.

Remaining planned changes for preparing 0.5.x branch for 0.6.x:
- Finish writing UTF-8 support for existing functionality.
- Finish the "controller" program, which is another part of the non-systemd init design.
- Tweak "Controller" to have an "init" like behavior, but only for a custom program called "init", otherwise operate as a more generic controller.
- Write the "control" program, which is intended to interact with the "controller" program.
- Review FSS and IKI standards for consistency in both specification and implementation.
- Bring "firewall" up to date.
- Cleanup existing code, getting the style back in sync for a stable release.
- Review and fix some inconsistencies in the design that would influence the API.
- Update Featureless Make to fully handle creating parent paths.
- Update Featureless Make to support overriding settings using program parameters.
- Update documentation.

The status of programs (level_3):
- byte_dump: working.
- controller: in progress.
- fake: working.
- firewall: working, outdated.
- fss_basic_list_read: working.
- fss_basic_list_write: working.
- fss_basic_read: working.
- fss_basic_write: working.
- fss_embedded_list_read: working.
- fss_embedded_list_write: working.
- fss_extended_list_read: working.
- fss_extended_list_write: working.
- fss_extended_read: working.
- fss_extended_write: working.
- fss_status_code: working.
- iki_read: working.
- iki_write: working.
- status_code: working.
-----BEGIN PGP SIGNATURE-----

iQJKBAABCgA0FiEEOMmjWkrZvuwTmrWMdukDOW2tCoMFAmF1zBUWHHRoZWtldmlu
ZGF5QGdtYWlsLmNvbQAKCRB26QM5ba0Kg3HiD/9a8S3tbHm/364skWva48ct3l8N
x6sOaE1UyGSo07VZT/vXbovfG6O+gfc0lv/SlWygZzV2ySP7oYvzltSR+9oyFWN7
5SUE3BLeBO+gsCWZYYc7VuK1TPo/okSSa9rN/LWs1RV4eY3Ds/CtlJ2jzkoi/ylE
gt6/LtysxenQms1Zs7BUnUIuqVXOESD/IBoX6nMvCGIIrdmfHYETtWrQKhdeI+0u
Oyr8cNwf78lFdnZJAFZwHlNP6MvxSf7VLMRlmDaYC3VFrikyNh2lGgzy2k1OxSY5
O+eZobM93IaEUDXSwykQiSP/gHaCmXAoqVz6GtYB2geebFlUxraHYbzTmCKLGXlD
QE3bsvzCSViM7O4e150yhr1dE5VM5yOZEDojj84SsiwTqY8tV6h5X/o80UPyx7Ow
DStLLD4J1KXjvyNp57Kdhl2djYIGLlYdjMb397iq90hVZ3zd6cH1d8Cc3/47sL5G
BvQy7VPyj9jetvfHbCdba15AZ9lJuuEA/3375kNgH0Jq6P82iHKx6wpNbk5QLNiJ
/09dV3zOh3scl0brl0hm04DTjTkatBtRAlN2GpZoV5XUCCcXFgblF5exPyKwMCiP
ghozEEBLy3s9LdEA/WxdDg4Smanj6qUyve6rm5ql+JJ8KIl6O36RE1mVYqajip5A
F+VJM7lvgKnP3Itz7Q==
=1jeq
-----END PGP SIGNATURE-----