man


Log

Author Commit Date CI Message
Guillem Jover be4aced4 2024-02-11T23:55:40 build: Make almost all exposed interfaces use the new ABI selection Explicitly select what to include as part of the target ABI, instead of letting autoconfiguration potentially break ABI if the system grows functionality provided by the library. Make almost all the library selectable per target. Do not install manual pages for interfaces not included in the library. Control inclusion of symbols in map file via pre-processor macros, and move the comments describing the ABI selection to configure.ac. For now the header files are included as is and filtered through pre-processor conditionals. Eventually they might get switched to be autogenerated at build time.
Guillem Jover 99739877 2024-02-14T04:59:44 build: Rename ABI selection variables from need_ to abi_ This should make the purpose of these variables more clear.
Guillem Jover a81d0b71 2024-02-11T23:55:40 build: Sort variables and their contents in automake files This should make it easier to add new entries, and find them afterwards.
Guillem Jover f8cb9d8b 2024-02-20T03:57:37 build: Remove space before shell redirection This makes it more clear what the redirection applies to.
Guillem Jover 9fab225f 2024-02-17T05:25:01 Split errc family of functions from err ones On most systems the err family of functions is already present, but are missing the errc family of functions, which are also present on some other systems. Splitting them into separate files will make it easer to conditionally include one or the other.
Guillem Jover 461f10ac 2024-02-17T03:07:58 Sync strtoi()/strtou() implementations from NetBSD These contain the fixes to the error handling logic. In NetBSD the manual page for strtou.3 is generated from the strtoi.3 manual page applying some substitutions, the problem is that the cross-references are then lost. We will still keep them separate. Reported-by: Alejandro Colomar <alx@kernel.org>
Guillem Jover 10920c30 2024-02-12T00:06:56 build: Make name_from_id man pages conditional instead of id_from_name The code is only making the name_from_id function conditional, and assumes id_from_name are always to be included, so we need to match the logic for the man page inclusion.
Guillem Jover 97b0fe84 2024-01-08T23:57:45 man: Mention that funopen() can be made available on musl As musl got fopencookie() implemented in 1.1.19, the funopen() function can also be provided there. Note this in the documentation.
Guillem Jover e87ae3be 2024-01-08T23:40:31 man: Fix manual page references When referring to another manual page and their section number, we need to use Xr instead of Fn, otherwise the section number is interpreted as a function argument. For functions provided by libbsd itself we should be using the 3bsd section instead of 3.
Guillem Jover 9275d134 2024-01-08T23:39:19 man: Add closefrom(), strlcpy() and strlcat() as superseded functions These were missing from the list of functions provided by some libc implementation.
Guillem Jover 304a1f83 2024-01-08T23:37:43 doc: Use macOS to refer to the operating system This is the correct spelling, instead of capitalizing it.
Guillem Jover df116b55 2024-01-07T17:43:12 Adjust strlcpy() and strlcat() per glibc adoption These functions were added in glibc 2.38, in anticipation of POSIX adopting them too. Closes: #26
Guillem Jover 9d3e59a0 2023-10-10T01:53:32 man: Use VARIANTS instead of ALTERNATIVES in libbsd(7) Using alternatives seems confusing in this context.
Guillem Jover f02562d6 2023-10-10T01:52:37 man: Markup function references with Xr instead of Fn These references had man page sections in them, so using Fn meant that these appeared as function arguments.
Guillem Jover 73b25a8f 2023-04-23T02:04:47 build: Sort entries alphabetically
Guillem Jover 5434ba16 2023-04-23T02:05:04 build: Conditionalize wcslcpy() and wcslcat() functions on macOS These functions are provided by the system libc.
Guillem Jover dc1bd1a2 2023-04-23T02:00:10 build: Conditionalize only id-from-name functions not the entire pwcache On macOS the name-from-id functions are present, but not the id-from-name ones, so we want to provide those instead of suppressing the entire file.
Guillem Jover edc746ea 2023-04-22T22:47:10 build: Conditionalize getprogname()/setprogname on macOS These functions are provided by the system libc, so there is no need for us to provide them.
Guillem Jover 21d12b02 2023-04-04T23:59:05 build: On macOS do not build functions provided by the system We have never built before on macOS, so we can exclude all the functions that are currently provided in the system. Closes: #1 Closes: !3
Guillem Jover bc65806c 2023-04-06T23:05:27 build: Select whether to include funopen() in the build system This makes sure we include it when expected, alongside the man pages, and the test cases, and do not accidentally break the ABI if the system starts providing such interface.
Guillem Jover ff46386f 2023-03-29T02:32:37 man: Add HISTORY section to arc4random(3bsd)
Guillem Jover 4c6da577 2023-03-29T02:28:52 man: Switch arc4random(3bsd) man page from OpenBSD to NetBSD This gets rid of the last BSD-4-clause licensed file in the project. The man page will probably need to be adapted to the current implementation, but that can be done piecemeal afterwards. Closes: #7
Guillem Jover 5962e03c 2023-03-03T01:27:31 man: Fix BSD and glibc versions The versions used in the BSD macros are unknown, so they emit warnings, extend or reduce them to use the two digit form. Correct the glibc version when closefrom(3) got introduced.
Guillem Jover 59a21c7f 2023-02-20T00:11:10 man: Update STANDARDS and HISTORY sections Include BSD versions when functions were introduced. Add mention whether these are BSD extensions.
Guilherme Janczak 23377191 2022-12-07T04:06:37 man: Prune unneeded <sys/types.h> include in setproctitle(3) FreeBSD first declared the function in unistd.h in 2000: https://cgit.freebsd.org/src/commit/include/unistd.h?id=9feac5c21886 No other #include line was needed to use the function, but the man page unnecessarily instructed users to include sys/types.h until 2022-11-29: https://cgit.freebsd.org/src/commit/?id=5b6f0a5012e9bc37dcb32b57b41e2443a46da620 libbsd first declared the function in unistd.h in 2010 with commit 3fed78e5b08f78256e533788b4bcd6502b0949d7 and inherited the bug from FreeBSD's man page. No need to do anything for backwards compat. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover e5089628 2022-11-23T23:31:54 build: Do not require funopen() to be ported This function cannot be easily and (more importantly) correctly ported without cooperation from the libc stdio layer. We already document that users should be prepared to have the function not available on some platforms and that they should ideally switch their code to other more portable and better interfaces. Instead of making the build fail, and requiring porters to add exceptions for something that most probably cannot be ported correctly anyway, simply print a warning and let it build. This will not be a regression because on those systems libbsd would have never been built before. Prompted-by: Jens Finkhaeuser <jens@finkhaeuser.de>
Guillem Jover 00b538ff 2022-11-23T23:28:34 build: Terminate lists in variables with «# EOL» This means we can add a trailing «\» to every element, so that they can be removed without requiring modification of other lines, and can be easily sorted. Replace the old usage of $(nil) which could possibly end up with junk added if such variable is ever defined, in the environment.
Guillem Jover 3538d38f 2022-10-06T03:59:33 man: Discourage using the library in non-overlay mode This makes code using it non-portable, and requires the namespeced headers from libbsd, instead of any generic system headers. It also requires more code changes than the overlay mode.
Guillem Jover 28298ac0 2022-10-05T01:35:08 doc: Switch references from pkg-config to pkgconf The former used to be the reference implementation, but it has been stagnant to the point of not showing much signs of life. Switch to the currently active and more complete implementation for references.
Guillem Jover f4baceb8 2022-08-03T03:05:52 man: Rewrite gerprogname(3bsd) from scratch This gets rid of one of the last man pages with a BSD-4-clause license.
Guillem Jover f35c5458 2022-08-03T02:21:16 man: Lowercase man page title While using fully uppercase man page titles has been the usual convention for a very long time, it is rather ugly and something that some other projects are switching away from.
Guillem Jover b466b14a 2022-08-03T01:23:09 man: Document that some arc4random(3) functions are now in glibc 2.36
Guillem Jover 1f6a48b2 2022-08-03T02:03:05 Sync arc4random(3) implementation from OpenBSD Closes: #12
Guillem Jover c9c78fdf 2022-04-04T11:49:52 man: Use -compact also for alternative functions in libbsd(7) The other function lists use the compact mode, let's be uniform about this.
Guillem Jover f7465b93 2022-03-30T22:56:43 man: Document when functions were added to musl in libbsd(7) The explicit_bzero(3) and reallocarray(3) functions are also present on musl libc, mention it in the superseded section.
Guillem Jover 7aed0edf 2021-12-02T00:35:05 man: Add missing comma in .Dd for tree(3) Reported-by: Thorsten Glaser <tg@mirbsd.de>
Guillem Jover fafcc397 2021-11-30T04:00:54 man: Update tree(3) man page from OpenBSD This man page has a BSD-3-clause-author license instead of the old BSD-4-clause license.
Guillem Jover 428be9e0 2021-10-07T23:08:42 man: Fix .Nx macro usage Its arguments are used as version numbers, so we need continue the content on the next line.
Guillem Jover 731b0a77 2021-08-17T02:59:59 build: Detect sed at configure time Check whether sed is available and use the implementation matching the requirements via the SED variable.
Guillem Jover d563a174 2021-02-18T23:38:30 man: Call the libbsd-ctor library by its name instead of bsd-ctor
Guillem Jover 785cf9d1 2021-02-18T23:38:30 man: Fix pkg-config(1) references in libbsd(7) man page
Faidon Liambotis 46760262 2021-02-07T20:47:00 Update <sys/queue.h> from FreeBSD This brings <sys/queue.h> to the most up-to-date version from FreeBSD, incorporating 18 commits from the past 5 years (2015-02-24 - 2021-01-25): $ git log --oneline 9090a24aed70..8d55837dc133 sys/sys/queue.h share/man/man3/queue.3 Only minimal changes compared to the FreeBSD version have been applied (queue.3 -> queue.3bsd, _LIBBSD_ prefix). [guillem@hadrons.org: Remove reference to kernel mode in man page. ] Closes: !12 Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 18ebabf2 2021-02-07T10:56:51 man: Update libbsd(7) man page with updates in 0.11.0
Guillem Jover 847e682f 2021-02-07T00:09:30 Use libmd hashing function implementations instead of embedding our own This splits the implementation responsibilities, and reduces embedded code copies, which was one of the driving points with this project to start with, so it's nice to give a good example.
Guillem Jover 37a9b56c 2021-02-06T23:43:12 Import pwcache module from OpenBSD
Guillem Jover 45dd5229 2021-02-07T01:27:51 man: Remove empty line in reallocarray(3bsd) Warned-by: lintian Fixes: commit 01f0d1ea1e71f1018a009ebd9203dd48e6d90c45
Faidon Liambotis 01f0d1ea 2020-12-31T12:46:03 Add recallocarray() and freezero() from OpenBSD Add recallocarray(), introduced in OpenBSD 6.1, and freezero(), introduced in OpenBSD 6.2. The former is imported as-is from OpenBSD, while the latter is the non-malloc-internal branch of the same code (and also the OpenSSH portable variant). Both of these originated in OpenBSD, but have also been implemented by IllumOS, cf. https://www.illumos.org/issues/8546 Documentation for these functions is in malloc(3) upstream, the relevant parts of which were previously imported in reallocarray(3bsd). Update reallocarray(3bsd) with the changes that were introduced since, and add the relevant bits for recallocarray() and freezero(), plus aliases. [guillem@hadrons.org: Update copyright in COPYING. ] Closes: !10 Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover eac4ce0c 2020-09-20T03:30:20 man: Add a timespec(3bsd) alias to timeval(3bsd) Even though man-pages project now includes man pages for system data types, we still include these for any other system that does not have them, to provide a self-contained project with code and documentation.
Guillem Jover 5ecff0c9 2020-09-16T23:41:28 man: Add missing LIBRARY section
Guillem Jover 59f6a956 2019-08-12T23:25:20 man: Add missing doc-operating-system-NetBSD string variable Fixes: commit 99320b9168ffb0112def1a712e8d59441d1b46d9.
Guillem Jover 3aaedb12 2019-06-15T14:33:32 nlist: Check whether the nl argument is not NULL This prevents programming errors. Reported-by: Daniel Hodson <daniel@elttam.com.au> Based-on-patch-by: Daniel Hodson <daniel@elttam.com.au> Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 2c754f43 2019-07-31T03:49:43 man: Add man page sections to function references Signed-off-by: Guillem Jover <guillem@hadrons.org>
Sebastian ee4d2497 2019-03-10T10:03:12 man: Fix typo Closes: !5 Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 8d2afa3a 2019-07-31T03:49:24 man: Fix typos Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover e9f6faf3 2019-07-31T03:02:38 man: Replace references to a.out(5) with elf(5) The a.out(5) support in nlist(3) got removed some time ago, and there is now only elf(5) support. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 99320b91 2019-06-13T23:43:57 man: Define doc-operating-system-NetBSD string variables This way we do not depend on the installed groff being new enough. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 71c710e9 2019-06-13T23:42:49 man: Use major.minor version for .Nx macros The macro only recognizes this version form, and not just major alone. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 21f4052c 2019-06-13T23:36:09 man: Add doc-str-Lb-libbsd aliases for str-Lb-libbsd groff(1) has changed the internal layout for the .Lb doc strings, but to preserve backwards compatibility we cannot simply rename them, we need to create new aliases so that these will work with old and new macros. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Jakub Wilk a8531ad0 2018-05-22T13:08:56 man: Fix comma splice Signed-off-by: Guillem Jover <guillem@hadrons.org>
Jakub Wilk c4b0fd2c 2018-05-22T13:08:55 man: Fix name of the function injected by libbsd-ctor Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 3cabf46b 2018-05-21T03:15:59 Deprecate fgetwln() This function has the same problems as fgetln() which is already marked as deprecated.
Guillem Jover 6f68c930 2018-05-21T00:22:38 Switch strtonum() implementation from strtoll() to strtoi() Import from NetBSD.
Guillem Jover 2d7de186 2018-05-21T03:09:05 Update vis/unvis modules from NetBSD
Guillem Jover 3efad641 2018-05-21T01:56:33 Update readpassphrase() from OpenBSD
Guillem Jover 21edbb4f 2018-05-21T00:31:15 Update fmtcheck() from NetBSD
Guillem Jover facbddb6 2018-05-20T19:18:18 Update pidfile module from FreeBSD Use EINVAL instead of EDOOFUS. Add a missing synopsis for pidfile_fileno() in the man page. Move the definition of struct pidfh from libutil.h into pidfile.c following upstream change.
Guillem Jover e13b1a33 2018-05-21T00:20:49 Import strtoi() and strtou() functions from NetBSD
Guillem Jover 993828d8 2018-05-21T01:11:46 Add flopenat() function from FreeBSD
Guillem Jover 22fbd623 2017-09-02T19:55:50 Handle several functions now being provided by glibc We mention that these are now superseded by the glibc implementations, make the headers cope with already declared functions on glibc-based systems, and document this in the man pages.
Guillem Jover b4f7c065 2017-08-05T13:42:56 man: Document on what other BSDs arc4random(3) is present
Guillem Jover 9532cb39 2017-06-23T05:59:35 man: Update man page sections in titles and references We have moved all man pages to section 3bsd, let's do the same for the page title, and in all the references for uniformity and to avoid confusions. Fixes: https://bugs.freedesktop.org/101545
Guillem Jover a4dd754c 2017-06-22T04:58:09 man: Ship and install libbsd(7) Fixes: https://bugs.freedesktop.org/101543
Guillem Jover 0071b979 2017-06-05T05:43:26 Import <sys/time.h> for some of its macros Fixes: https://bugs.freedesktop.org/94320
Guillem Jover ab5db68b 2017-06-19T03:02:32 build: Add missing \ at end of line Fixes: commit 934b7a0ccbdc60313102f153eadc2f46853a505b
Guillem Jover c74ca099 2017-06-07T22:46:07 man: Use .In intead of .Fd macros for includes
Guillem Jover ba9e2a5a 2017-06-05T06:33:47 man: Add new libbsd(7) library overview man page
Guillem Jover 6a5a5158 2017-06-07T05:00:34 man: Add missing man pages This adds man pages for byteorder(3), errc(3) and fpurge(3), including all their aliases.
Guillem Jover 934b7a0c 2017-06-05T06:32:36 man: Add missing aliases
Guillem Jover f20e6972 2017-06-05T06:43:22 man: Move all man pages to section 3bsd This should guarantee that even if the system provides or will provide native implementations of these functions, we will not have file conflicts.
Guillem Jover e86c1b5f 2016-02-14T09:00:57 man: Fix ungrammatical construct Warned-by: lintian
Guillem Jover 874a0e51 2015-09-23T19:39:47 Update arc4random module from OpenBSD and LibreSSL Rework arc4random_stir() and arc4random_addrandom() code over the new internal API, and documentation in the man page. Adapt the code to the local build system. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85827
Guillem Jover f3b11554 2015-11-30T19:32:48 man: Rename funopen.3 to funopen.3bsd to avoid clash with funtools The funtools project ships a man page with the same, name. And although it mith probably make more sense to rename the man page there, as BSD systems will certainly not do so, this is the easiest and fastest way to avoid a file conflict.
Guillem Jover 45443583 2015-09-23T19:37:37 Add explicit_bzero() function from OpenBSD
Guillem Jover c7e01e98 2014-11-01T00:22:28 Sync queue(3) from FreeBSD Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85147
Guillem Jover 53d989a2 2014-12-13T21:28:36 Switch fparseln() implementation from fgetln() to getline()
Guillem Jover a6fe103c 2014-10-31T17:29:54 Add new man page for reallocarray(3) Import man page from OpenBSD. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85622
Guillem Jover 02b55488 2014-08-12T12:32:34 Use stdint integer types instead of BSD legacy ones
Guillem Jover 36aca8c0 2014-06-26T21:43:55 Add stringlist module from NetBSD
Guillem Jover e8f93003 2014-06-26T21:32:11 Add getbsize() function Import code from DragonFlyBSD and man page from FreeBSD.
Guillem Jover f41fdcf1 2013-10-21T05:07:56 Add funopen() function This is a wrapper over the glibc fopencookie() function. We diverge from the FreeBSD, OpenBSD and DragonFlyBSD declarations, because seekfn() there wrongly uses fpos_t, assuming it's an integral type, and any code using that on a system where fpos_t is a struct (such as GNU-based systems or NetBSD) will fail to build. In which case, as the code has to be modified anyway, we might just as well use the correct declaration.
Guillem Jover c5b95902 2013-07-11T12:25:54 Move setproctitle() automatic initialization to its own library The automatic initialization cannot be part of the main shared library, because there is no thread-safe way to change the environ global variable. This is not a problem if the initializaion happens just at program load time, but becomes one if the shared library is directly or indirectly dlopen()ed during the execution of the program, which could have either kept references to the old environ or could change it in some other thread. This has been observed for example on systems using Samba NSS modules. To avoid any other possible fallout, the constructor is split into a new static library that needs to be linked explicitly into programs using setproctitle(). As an additional safety measure the pkg-config linker flags will mark the program as not allowing to be dlopen()ed so that we avoid the problem described above. Reported-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=66679
Guillem Jover 30349f89 2013-05-25T15:35:39 Update radixsort module from NetBSD Merge some interesting changes.
Guillem Jover 96a2dae3 2013-05-25T15:31:45 Update setmode module from NetBSD Merge some interesting changes.
Guillem Jover a97ce513 2012-11-23T21:19:45 Add new fgetwln() function Man page taken from FreeBSD.
Strake ee0489eb 2012-08-07T08:44:30 Add new fparseln() function Taken from NetBSD. [guillem@hadrons.org: - Import from NetBSD instead of FreeBSD to get a 3-clause BSD license, instead of a 4-clause one. - Define compatibility macros. - Change library from libc to libbsd and header in man page. - Add copyright information to COPYING. - Add symbol to map file. ] Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 1be0bdb2 2012-11-25T21:13:38 Add new strnstr() function Taken from FreeBSD.
Guillem Jover ff0d700d 2012-11-23T17:16:43 Add new wcslcat() and wcslcpy() functions Taken from FreeBSD.
Guillem Jover 444bd1fb 2012-06-21T10:16:14 man: Use minus signs and hyphens consistently Any string that can be copy & pasted into a terminal, for example, needs to correctly use minus signs (escaped dashes), instead of the default hyphen.
Guillem Jover 1d69ae1c 2012-06-04T05:47:26 man: Recode flopen(3) to UTF-8 Spotted-by: Eric Smith <eric@brouhaha.com>
Guillem Jover 1b5b1cd5 2012-04-24T04:20:58 Move mdX.3 man page to section 3bsd This makes sure there will be no collisions on systems where a mdX.3 provided by a third party is already present.