Modify entries for bc(1), calendar(1), and getlocalbase(3)

Match the style of the other entries in this document.
This commit is contained in:
Stefan Eßer 2021-02-27 23:58:07 +01:00
parent 096183a715
commit e6c3288d6b

View file

@ -103,6 +103,15 @@ This section covers changes and additions to userland applications, contributed
[[userland-programs]]
=== Userland Application Changes
The {{< manpage "calendar" "1" >}} utility got back support for nested C pre-processor conditionals and gains support for the C++ comment syntax in addition to the C syntax. gitref:19b5c307548[repository=src]
The {{< manpage "calendar" "1" >}} utility has been modified to consistently print dates according to the locale of the invoking user, not the possibly varying locales of included files. gitref:f1560bd080a[repository=src]
The {{< manpage "calendar" "1" >}} utility has been fixed to use the correct paths for included files if invoked with the -a option. gitref:19b5c307548[repository=src]
The {{< manpage "calendar" "1" >}} utility does no longer install data files other than calendar.freebsd.
The data files are now provided by the deskutils/calendar-data port. gitref:d20d6550187[repository=src]
The {{< manpage "daemon" "8" >}} utility now supports the `-H` flag, which causes it to catch SIGHUP and re-open the syslog file received, so log rotation from {{< manpage "newsyslog" "8">}} works properly. gitref:4cd407ec933[repository=src]
The {{< manpage "daemon" "8" >}} utility no longer blocks SIGTERM during the restart delay. gitref:09a3675d961[repository=src]
@ -123,38 +132,13 @@ The manual page for the {{< manpage "inetd" "8" >}} utility now includes an exam
The {{< manpage "inetd" "8" >}} utility now includes comments for all examples. gitref:26a4a61a285[repository=src]
==== calendar: Restore calendar file condition parsing
The calendar program used to invoke the traditional C pre-processor to process include files and conditional sections of the data files.
This had to be changed when the traditional C pre-processor was removed from FreeBSD, and a simple pre-processor was implemented within the calendar program itself.
The calendar program in FreeBSD-13 restores the condition and comment processing to the level provided by the C pre-processor and offers the following features:
- Support `#undef` to cancel a prior `#define`
- `#ifdef`, `#ifndef`, `#else`, and `#endif` are supported and can be nested
- `#include` is now processed using the calendar owner's home directory (not the invoking user's home directory, fixes `calendar -a`)
- Support for C and C++ style comments
Dates are now always displayed according to the locale of the invoking user, not the (optional) locales specified in the calendar files.
This prevents printing mixed date formats depending on the locales specified in each of the data files.
The calendar data files that used to be distributed with earlier version of FreeBSD have been moved to the package:deskutils/calendar-data[] port respectively the calendar-data package, with the exception of the FreeBSD committer data file, which has been kept.
[[userland-contrib]]
=== Contributed Software
==== contrib/bc: New implementation of the bc and dc programs
This implementation of the `bc` and `dc` programs offers a number of advantages over the previous versions in the FreeBSD base system:
- They do not depend on external large number functions (i.e. no dependency on OpenSSL or any other large number library).
- They implements all features found in GNU bc/dc (with the exception of the forking of sub-processes, which the author of this version considers as a security issue).
- They are significantly faster than the current code in base (more than 2 orders of magnitude in some of my tests, e.g. for 12345^100000).
- They should be fully compatible with all features and the behavior of the current implementations in FreeBSD.
- They support POSIX message catalogs and come with localized messages in Chinese, Dutch, English, French, German, Japanese, Polish, Portugueze, and Russian.
- They offer very detailed manual pages that provide far more information than the current ones.
The previous implementation is still available in FreeBSD-13 and can be selected instead of the new one by the build option `WITHOUT_GH_BC`.
The {{< manpage "bc" "1" >}} and {{< manpage "dc" "1" >}} utilities have been replaced by the version developed by Gavin D. Howard.
The new versions do not depend on an external large number library, offer GNU bc extensions, are much faster than and fix POSIX compliance issues of the programs they replace.
They support POSIX message catalogs and come with localized messages in Chinese, Dutch, English, French, German, Japanese, Polish, Portugueze, and Russian.
The previous implementation is still available in FreeBSD-13 and can be selected instead of the new one by the build option `WITHOUT_GH_BC`. gitref:c41fef90a7d[repository=src]
[[userland-deprecated-programs]]
=== Deprecated Applications
@ -163,14 +147,7 @@ The previous implementation is still available in FreeBSD-13 and can be selected
[[userland-libraries]]
=== Runtime Libraries and API
==== getlocalbase() function
A function has been added to libutil to provide applications with a standard way to determine the path prefix for files installed by ports and packages.
This function will return the value of the environment variable `LOCALBASE` if it has been defined.
Else the value of the {{< manpage "sysctl" "8" >}} variable `user.localbase` is returned, which has a default value of `__PATH_LOCALBASE` ([.filename]#/usr/local#, unless changed in [.filename]#paths.h#).
Shell scripts can directly use the environment variable `LOCALBASE` or `sysctl user.localbase` for this purpose.
The {{< manpage "getlocalbase" "3" >}} function has been added to libutil to retrieve the LOCALBASE path in a standard way. gitref:30d21d27953[repository=src]
[[kernel]]
== Kernel