Friday, January 24, 2014

man-pages-3.57 is released

I've released man-pages-3.57. The release tarball is available on kernel.org. The browsable online pages can be found on man7.org. The Git repository for man-pages is available on kernel.org.

Among the more notable changes in man-pages-3.57 are the following:

  • The open(2) manual page adds documentation of the O_TMPFILE flag, which provides a race-free method of creating unnamed temporary files. Such temporary files can, if desired, later be linked into the filesystem using linkat(2), after  being populated and adjusted to have to have the desired filesystem attributes (ownership, permissions, etc.). Thanks to Andy Lutomirski for providing the basis for that documentation.
  • Vince weaver continues doing good work updating the perf_event_open(2) manual page, this time adding (with the help of Andi Kleen) documentation of the PERF_SAMPLE_TRANSACTION operation added in Linux 3.13.
  • Andrey Vagin added documentation of the PTRACE_PEEKSIGINFOPTRACE_GETSIGMASK, and PTRACE_SETSIGMASK operations to the ptrace(2) manual page.
  • Eliezer Tamir added documentation of the SO_BUSY_POLL socket option to the socket(7) manual page.
  • I added documentation of the TCP_USER_TIMEOUT and TCP_CONGESTION socket options to the tcp(7) manual page.
  • Peng Haitao continued adding notes on thread-safety to various manual pages.
In addition, smaller improvements and fixes have been made to many other pages.

Wednesday, January 22, 2014

Announcing POSIX.1-2013 man pages for Linux

The manual pages produced by the Linux man-pages project attempt to document deviations between Linux behavior and the POSIX.1 standard. However, the pages are no substitute for the standard itself.

In 2004, the IEEE and The Open Group decided to grant permission to the  Linux man-pages project to distribute parts of the then-current version of POSIX.1 in manual page format. That decision provided an extremely valuable resource for Linux programmers who wanted to write applications that are portable across UNIX systems. Evidence of that value has been demonstrated by regular requests in the last few years that the project should update its copy of the POSIX manual pages to the latest version provided by The Austin Group (the umbrella group that works on development of the POSIX.1 standard).

We are pleased to announce that, once again, the IEEE and The Open Group have kindly granted the Linux man-pages permission to distribute extracts from the latest version of the POSIX.1 standard:

IEEE Std 1003.1, 2013 Edition, Standard for Information Technology--Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, Copyright (C) 2013 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group.
(For those curious about the "2013" designation, this is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.)

Thanks to some excellent scripting work by Felix Janda, the source files supplied by IEEE and The Open Group have been cleanly converted to  "man" format. The result is that portions of the standard are now
made available for easy reference  as (1139!) manual pages. Those pages are divided into three sections:
  • Section 0p = POSIX headers (specifications for header files)
  • Section 1p = POSIX utilities (i.e., specifications shell commands)
  • Section 3p = POSIX functions (specifications for functions)
Tarballs containing the pages can be found at https://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-2013-a.tar.gz and https://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-2013-a.tar.xz

Finally, please note that all pages carry the following disclaimer:
In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.unix.org/online.html.

Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html.

Saturday, January 11, 2014

man-pages-3.56 is released

I've released man-pages-3.56. The release tarball is available on kernel.org. The browsable online pages can be found on man7.org. The Git repository for man-pages is available on kernel.org.

Among the more notable changes in man-pages-3.56 are the following:

  • A new vdso(7) page by Mike Frysinger explains many details of the virtual DSO that the Linux kernel maps into each user process.
  • The man-pages(7) adds a STYLE GUIDE section that provides a number of style guidelines specific to man pages.
  • Thanks to an idea and patch from David Malcolm, the dangerous gets(3) function (which is removed in the C11 standard) is documented alone in its own man page, rather than sitting in a man page with a number of otherwise safe functions (the functions now placed in the new fgetc(3) man page).
  • Willem de Bruijn has added documentation of a number of socket options to the packet(7) man page.

In addition, smaller improvements and fixes have been made to many other pages.