Monday, December 30, 2013

man-pages-3.55 is released

I've released man-pages-3.55. 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.

This changes in man-pages-3.55 consist mainly of various smaller fixes to a wide range of pages. Other than that, Vince Weaver continued his frequent updates to the perf_event_open(2) page, and Peng Haitao continued noting the thread-safety of various functions (in all, nearly 150 man pages now contain information on thread-safety, thanks to Peng Haitao's work).

Monday, September 23, 2013

man-pages-3.54 is released

I've released man-pages-3.54. 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.

This changes in man-pages-3.54 consist mainly of various smaller fixes to a wide range of pages. Other than that, several more pages add information on thread-safety, thanks to the ongoing work of Peng Haitao.

Linux/UNIX System Programming course, Munich, October 2013

I will be running another iteration of my Linux/UNIX System Programming course in Munich, Germany, during the week of 21-25 October 2013. The course is intended for programmers developing system-level, embedded, or network applications for Linux and UNIX systems, or programmers porting such applications from other operating systems (e.g., Windows) to Linux or UNIX. Among the topics covered in the course are low-level file I/O, signals, timers, creating processes and executing programs, programming with POSIX threads, interprocess communication (pipes, FIFOs, message queues, semaphores, shared memory), and network programming using sockets. You can expect to work fairly hard (and also learn a lot) during the week

For detailed information about the content of the course, prerequisites, and other details, see http://man7.org/training/.

In addition to course materials, all participants will receive a copy of my book, The Linux Programming Interface.

The course will be priced (lower than usual) at 2000 euro plus VAT, and the class size will be kept quite small (I've yet to determine if the maximum will be 6 or 8). If you are interested in the course, please email me at training@man7.org and I'll send you information for course registration. Questions regarding the course can be sent to the same address.

Thursday, August 8, 2013

man-pages-3.53 is released

I've released man-pages-3.53. 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.

Aside from a number of minor improvements and fixes to various pages, notable changes in man-pages-3.53 include the following:

  • A new restart_syscall(2) page documents the restart_syscall() system call. 
  • The open(2) page adds documentation of the O_PATH flag. Various other pages add documentation of the associated AT_EMPTY_PATH flag.
  • A number of improvements have been made to the perf_event_open(2) (thanks once again to Vince Weaver), ptrace(2) (thanks once again to Denys Vlasenko), and ld.so(8) pages.
  • Various pages add information on thread-safety, thanks to the ongoing work of Peng Haitao.

Tuesday, July 9, 2013

man-pages-3.52 is released

I've released man-pages-3.52. 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.

Aside from a number of minor improvements and fixes to various pages, the notable changes in man-pages-3.52 are the following:

  • Various pages that formerly lacked the information now have a note under RETURN VALUE that errno is set on error.
  • Peng Haitao has submitted patches to around 50 pages that note functions that are thread-safe or thread-unsafe. For this purpose, the man-pages add a new section, ATTRIBUTES, as described in the man-pages(7) manual page. Peng Haitao's substantial work is ongoing, and more pages will add this information in the future.

Orange tree, Christchurch

Wednesday, May 22, 2013

More man pages now rendered at man7.org

As detailed in this blog post, I've expanded the set of man pages rendered in HTML at http://man7.org/linux/man-pages/ to include pages in addition to those provided by the man-pages project. This change has several purposes. One main purpose is to provide a up-to-date and regularly updated HTML renderings of these man pages. (Most online man page renderings are out-of-date to some extent--in some cases, extremely out of date.) The other main purpose is to provide information on where to report bugs in each man page. To this end, each HTML rendering includes a COLOPHON that describes the origin of the page, notes the date when it was extracted, and provides information on where to report bugs in the page. (The man-pages project has already done this since December 2007, with the result that many more man page bugs are nowadays reported.)

Currently, man pages from nearly 40 projects are rendered, raising the number of pages rendered at man7.org from around 950 to around 1750. The projects that I have so far included have a bias that matches my interests: man-pages, projects related to low-level C and system programming (e.g., the ACL and extended attribute libraries), toolchain projects (e.g., gcc, gdb, Git, coreutils, binutils, util-linux), and other relevant tools (kmod, strace, ltrace, procps, expect) and tools relevant to manual pages (e.g., groff, man-db). The full list of projects and the corresponding man pages that are rendered can be found in the man pages by project index. I'm open to adding further projects to the rendered set, if they seem relevant. If you think there is a project that should be added, take a look at this blog post.

Tuesday, April 30, 2013

man-pages-3.51 is released

I've released man-pages-3.51. 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.

This is a relatively small release that has various fixes across a number of pages. Among the more notable changes in man-pages-3.51 are the following:

  • Documentation of various /proc interfaces was added in a number of pages.
  • Various architecture-specific details were added to the syscall(1) and clone(2) pages.

Saturday, March 16, 2013

man-pages-3.50 is released

I've released man-pages-3.50. 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.

This is a relatively small release; the notable changes in man-pages-3.50 are as follows:

  • I've rewritten the canonicalize_file_name(3) manual page, adding quite a bit more detail.
  • I've updated and added several details to what was a rather outdated ioperm(2) manual page.
  • The syscalls(2) page now includes the kernel version in which all system calls were added.
  • Elie de Brauwer added descriptions for various ioctl() interfaces for /dev/random in the random(4) page.

Friday, March 15, 2013

man-pages-3.49 is released

I've released man-pages-3.49. 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.

There are no content changes in this release: it consists purely of changes to comments inside the source of every manual page, in order to arrange the copyright and license sections into a standard order. The intent is to make it easier for scripts to parse the manual page sources to obtain the copyright and license of a page. For more details, see the changelog.

Tuesday, March 12, 2013

man-pages-3.48 is released

I've released man-pages-3.48. 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.

As well as many small fixes to various pages, the major changes in man-pages-3.48 are as follows:

  • A new getunwind(2) manual page, written by Marcela Maslanova, documents the IA-64-specific system call of the same name. This page, as well as all of the other new pages in this release, come from the Red Hat downstream man pages project.
  • A new perfmonctl(2) page, written by Ivana Varekova, documents the IA-64-specific system call of the same name.
  • Two new pages by Ulrich Drepper, gai.conf(5) and nss(5), document configuration files of the same name.
  • The clock_getres(2) page adds descriptions of the new clocks CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE, and CLOCK_BOOT_TIME. Thanks to Cyril Hrubis.
  • The ptrace(2) page adds descriptions pf the new commands PTRACE_GETREGSET, PTRACE_SETREGSET, and PTRACE_SEIZE. Thanks to Denys Vlasenko.

Thursday, March 7, 2013

HTML man-pages on kernel.org now redirect to man7.org

While things were repaired following the 2011 kernel.org break in, it ceased to be possible to update the HTML man pages renderings that I have for a few years maintained there. So I started placing updated renderings on my own domain, man7.org. Even after the kernel.org infrastructure was fully restored, it was still somewhat cumbersome to update 2000+ HTML pages at that location, so I subsequently continued to update the renderings at only man7.org.

Notwithstanding the fact that they are now significantly out of date, the kernel.org renderings have continued to see a lot of traffic. For that reason, I've asked the kernel.org admins to set redirects from the URLs on kernel.org to equivalent URLs on man7.org. All old links should just work; please let me know if there are any breakages.

Thursday, February 14, 2013

man-pages-3.47 is released

I've released man-pages-3.47. 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.

As well as many small fixes to various pages, the major changes in man-pages-3.47 are as follows:

  • A new perf_event_open(2) by Vincent Weaver documents the system call of the same name.
  • A new pthread_setname_np(3) page documents the pthread_setname_np() and pthread_getname_np() library functions.
  • A new sln(8) page document the sln command provided by glibc.
  • Several Red Hat downstream patches were merged.
  • Various section 2 pages add SEE ALSO entries that refer to related commands in the util-linux package.


185 Empty Chairs, Christchurch

Sunday, February 3, 2013

man-pages-3.46 is released

I've released man-pages-3.46. 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.

Aside from many small fixes to a wide range of pages, the main changes in man-pages-3.46 are as follows:

  • A new kcmp(2) by Cyrill Gorcunov documents the system call of the same name.
  • The init_module(2) page adds documentation of the finit_module() system call that was added in Linux 3.8.
  • The prctl(2) pages adds documentation for the PR_SET_PTRACER and PR_GET_TID_ADDRESS commands.
Canberra sunset