- Add man-suid-bins.tar.bz2 and uuname.1 to document suid binaries

(submitted through bug #196352).
- Add man-pages-2.51-sched_setaffinity.patch, fixing the prototypes.
- Remove sccs-related man pages.
- Add man-pages-2.55-syscalls-2.6.9.patch, updating syscalls.2 to kernel
    version 2.6.9.
- Add man-pages-2.55-clone2.patch; s/clone2/__&/, clone2 is not exported.
- Add man-pages-2.55-signal.patch; SIGRTMIN is not constant.
This commit is contained in:
Štěpán Kasal 2007-06-20 13:33:55 +00:00
parent 50b7d1c3b8
commit e12ffa774d
7 changed files with 861 additions and 22 deletions

View File

@ -2,3 +2,4 @@ man-pages-extralocale.tar.bz2
man2.tar.gz
man2_sys2.1.tar.gz
man-pages-2.55.tar.bz2
man-suid-bins.tar.bz2

View File

@ -0,0 +1,49 @@
diff -urpN man-pages-2.55.kasal/man2/clone.2 man-pages-2.55/man2/clone.2
--- man-pages-2.55.kasal/man2/clone.2 2007-06-19 16:07:34.000000000 +0200
+++ man-pages-2.55/man2/clone.2 2007-06-19 16:06:10.000000000 +0200
@@ -34,7 +34,7 @@
.\"
.TH CLONE 2 2007-06-01 "Linux 2.6" "Linux Programmer's Manual"
.SH NAME
-clone \- create a child process
+clone, __clone2 \- create a child process
.SH SYNOPSIS
.nf
.B #include <sched.h>
@@ -43,6 +43,11 @@ clone \- create a child process
.BI " int " flags ", void *" "arg" ", ... "
.BI " /* pid_t *" pid ", struct user_desc *" tls \
", pid_t *" ctid " */ );"
+
+.BI "int __clone2(int (*" fn ")(void *), void *" child_stack_base ,
+.BI " size_t " stack_size ", int " flags ", void *" arg ", ..."
+.BI " /* pid_t *" pid ", struct user_desc *" tls \
+", pid_t *" ctid " */ );"
.fi
.SH DESCRIPTION
.BR clone ()
@@ -661,15 +666,14 @@ should not be called through vsyscall, b
On IA-64, a different system call is used:
.nf
-.BI "int clone2(int (*" "fn" ")(void *), "
-.BI " void *" child_stack_base ", size_t " stack_size ,
-.BI " int " flags ", void *" "arg" ", ... "
-.BI " /* pid_t *" pid ", struct user_desc *" tls \
+.BI "int __clone2(int (*" fn ")(void *), void *" child_stack_base ,
+.BI " size_t " stack_size ", int " flags ", void *" arg ", ..."
+.BI " /* pid_t *" pid ", struct user_desc *" tls \
", pid_t *" ctid " */ );"
.fi
.PP
The
-.BR clone2 ()
+.BR __clone2 ()
system call operates in the same way as
.BR clone (),
except that
diff -urpN man-pages-2.55.kasal/man2/__clone2.2 man-pages-2.55/man2/__clone2.2
--- man-pages-2.55.kasal/man2/__clone2.2 1970-01-01 01:00:00.000000000 +0100
+++ man-pages-2.55/man2/__clone2.2 2007-06-19 16:06:10.000000000 +0200
@@ -0,0 +1 @@
+.so man2/clone.2

View File

@ -0,0 +1,41 @@
The situation is that though the kernel SIGRTMIN is still 32 on most
platforms, glibs defines SIGRTMIN and SIGRTMAX as functions calls.
Currently, SIGRTMIN is 34, but the man page may not mention it; the
value can change with a new build of glibc (even though the binary of
the caller has not changed).
[Thanks to Jakub Jelinek, for explaining this to me.]
--- man-pages-2.55/man7/signal.7.sig 2007-05-12 15:12:02.000000000 +0200
+++ man-pages-2.55/man7/signal.7 2007-06-20 13:21:12.000000000 +0200
@@ -34,8 +34,10 @@
.\" 2004-12-03, Modified mtk, added notes on RLIMIT_SIGPENDING
.\" 2006-04-24, mtk, Added text on changing signal dispositions,
.\" signal mask, and pending signals.
+.\" 2007-06-19, Stepan Kasal (skasal@redhat.com), modified
+.\" description of real-time signals
.\"
-.TH SIGNAL 7 2002-06-13 "Linux 2.4.18" "Linux Programmer's Manual"
+.TH SIGNAL 7 2007-06-19 "Linux 2.6" "Linux Programmer's Manual"
.SH NAME
signal \- list of available signals
.SH DESCRIPTION
@@ -226,13 +228,13 @@
.SS "Real-time Signals"
Linux supports real-time signals as originally defined in the POSIX.1b
real-time extensions (and now included in POSIX.1-2001).
-Linux supports 32 real-time signals, numbered from 32
-.RB ( SIGRTMIN )
-to 63
-.RB ( SIGRTMAX ).
-(Programs should always refer to real-time signals using notation
+Linux supports real-time signals numbered from
+.BR SIGRTMIN " to " SIGRTMAX .
+Programs should always refer to real-time signals using notation
.BR SIGRTMIN +n,
-since the range of real-time signal numbers varies across Unix systems.)
+since the range of real-time signal numbers depends on Linux kernel version
+and on libc build.
+And, of course, it varies across other Unix systems.
.PP
Unlike standard signals, real-time signals have no predefined meanings:
the entire set of real-time signals can be used for application-defined

View File

@ -0,0 +1,691 @@
--- man-pages-2.55/man2/socketcall.2.kasal 2006-12-27 04:55:15.000000000 +0100
+++ man-pages-2.55/man2/socketcall.2 2007-06-14 21:18:48.000000000 +0200
@@ -23,7 +23,10 @@
.\" USA.
.\"
.\" Modified Tue Oct 22 22:11:53 1996 by Eric S. Raymond <esr@thyrsus.com>
-.TH SOCKETCALL 2 1995-04-15 "Linux 1.2.4" "Linux Programmer's Manual"
+.\" 2007-06-14, Stepan Kasal <skasal@redhat.com>
+.\" -- update for 2.6.9 (add recvmsg, sendmsg)
+.\"
+.TH SOCKETCALL 2 2007-06-14 "Linux 2.6.9" "Linux Programmer's Manual"
.SH NAME
socketcall \- socket system calls
.SH SYNOPSIS
@@ -53,7 +56,9 @@
.BR listen (2),
.BR recv (2),
.BR recvfrom (2),
+.BR recvmsg (2),
.BR send (2),
+.BR sendmsg (2),
.BR sendto (2),
.BR setsockopt (2),
.BR shutdown (2),
--- man-pages-2.55/man2/syscalls.2.kasal 2007-04-13 00:42:49.000000000 +0200
+++ man-pages-2.55/man2/syscalls.2 2007-06-18 16:25:38.000000000 +0200
@@ -1,6 +1,7 @@
.\" Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl)
.\" Modifications for 2.2 and 2.4 Copyright (C) 2002 Ian Redfern
.\" <redferni@logica.com>
+.\" Modifications for 2.6.9 Copyright (C) 2007 Red Hat, Inc.
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
@@ -22,19 +23,22 @@
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
-.TH SYSCALLS 2 2002-01-07 "Linux 2.4" "Linux Programmer's Manual"
+.\" Modified 2007-06-14 by Stepan Kasal <skasal@redhat.com>
+.\" -- wrote script syscalls.sh
+.\" -- update for 2.6.9
+.\"
+.TH SYSCALLS 2 2007-06-14 "Linux 2.6" "Linux Programmer's Manual"
.SH NAME
none \- list of all system calls
.SH SYNOPSIS
-Linux 2.4 system calls.
+Linux 2.6 system calls.
.SH DESCRIPTION
The system call is the fundamental interface between an application
and the Linux kernel.
-As of Linux 2.4.17, there are 1100 system calls
-listed in
-.IR /usr/src/linux/include/asm-*/unistd.h .
-This man page lists those that are common to most platforms.
+As of Linux 2.6.9, there are 945 system calls;
+this man page lists those that are common to most platforms.
+.\" Use syscalls.sh when updating to a newer kernel.
_llseek(2),
_newselect(2),
_sysctl(2),
@@ -42,81 +46,121 @@
access(2),
acct(2),
adjtimex(2),
-afs_syscall,
+afs\%_syscall(2),
alarm(2),
bdflush(2),
bind(2),
-break,
+break(2),
brk(2),
-cacheflush(2),
capget(2),
capset(2),
chdir(2),
chmod(2),
-chown(2), chown32,
+chown(2),
+chown32(2),
chroot(2),
+clock\%_get\%res(2),
+clock\%_get\%time(2),
+clock\%_nanosleep(2),
+clock\%_set\%time(2),
clone(2),
close(2),
connect(2),
creat(2),
-create_module(2),
-delete_module(2),
+create\%_module(2),
+delete\%_module(2),
dup(2),
dup2(2),
+epoll\%_create(2),
+epoll\%_ctl(2),
+epoll\%_wait(2),
execve(2),
exit(2),
+exit\%_group(2),
+fadvise64(2),
+fadvise64\%_64(2),
fchdir(2),
fchmod(2),
-fchown(2), fchown32,
-fcntl(2), fcntl64,
+fchown(2),
+fchown32(2),
+fcntl(2),
+fcntl64(2),
fdatasync(2),
+fget\%xattr(2),
+flistxattr(2),
flock(2),
fork(2),
-fstat(2), fstat64,
+fremovexattr(2),
+fset\%xattr(2),
+fstat(2),
+fstat64(2),
fstatfs(2),
+fstatfs64(2),
fsync(2),
-ftime,
-ftruncate(2), ftruncate64,
+ftime(2),
+ftruncate(2),
+ftruncate64(2),
+futex(2),
get\%_kernel\%_syms(2),
get\%cwd(2),
-get\%dents(2), get\%dents64,
-get\%egid(2), get\%egid32,
-get\%euid(2), get\%euid32,
-get\%gid(2), get\%gid32,
-get\%groups(2), get\%groups32,
+get\%dents(2),
+get\%dents64(2),
+get\%egid(2),
+get\%egid32(2),
+get\%euid(2),
+get\%euid32(2),
+get\%gid(2),
+get\%gid32(2),
+get\%groups(2),
+get\%groups32(2),
get\%itimer(2),
-get\%pagesize(2),
get\%peername(2),
-get\%pmsg,
get\%pgid(2),
get\%pgrp(2),
get\%pid(2),
+get\%pmsg(2),
get\%ppid(2),
get\%priority(2),
-get\%resgid(2), get\%resgid32,
-get\%resuid(2), get\%resuid32,
+get\%resgid(2),
+get\%resgid32(2),
+get\%resuid(2),
+get\%resuid32(2),
get\%rlimit(2),
get\%rusage(2),
get\%sid(2),
get\%sockname(2),
get\%sockopt(2),
-get\%tid,
-get\%timeofday(2),
-get\%uid(2), get\%uid32,
-gtty,
-idle,
-init_module(2),
+get\%tid(2),
+get\%time\%of\%day(2),
+get\%uid(2),
+get\%uid32(2),
+get\%xattr(2),
+gtty(2),
+idle(2),
+init\%_module(2),
+io\%_cancel(2),
+io\%_destroy(2),
+io\%_get\%events(2),
+io\%_set\%up(2),
+io\%_submit(2),
ioctl(2),
-io\%perm(2),
-iopl(2),
+ioperm(2),
ipc(2),
kill(2),
-lchown(2), lchown32,
+lchown(2),
+lchown32(2),
+lget\%xattr(2),
link(2),
listen(2),
-lock,
+listxattr(2),
+llistxattr(2),
+lock(2),
+lookup\%_dcookie(2),
+lremovexattr(2),
lseek(2),
-lstat(2), lstat64,
+lset\%xattr(2),
+lstat(2),
+lstat64(2),
madvise(2),
mincore(2),
mkdir(2),
@@ -124,11 +168,21 @@
mlock(2),
mlockall(2),
mmap(2),
-modify_ldt(2),
+mmap2(2),
mount(2),
mprotect(2),
-mpx,
+mpx(2),
+mq\%_get\%setattr(2),
+mq\%_notify(2),
+mq\%_open(2),
+mq\%_timedreceive(2),
+mq\%_timedsend(2),
+mq\%_unlink(2),
mremap(2),
+msgctl(2),
+msgget(2),
+msgrcv(2),
+msgsnd(2),
msync(2),
munlock(2),
munlockall(2),
@@ -136,70 +190,97 @@
nanosleep(2),
nfsservctl(2),
nice(2),
-oldfstat, oldlstat, oldolduname, oldstat, oldumount, olduname,
+oldlstat(2),
open(2),
pause(2),
personality(2),
-phys,
pipe(2),
-pivot_root(2),
+pivot\%_root(2),
poll(2),
prctl(2),
-pread(2),
-prof, profil,
+pread64(2),
+prof(2),
+profil(2),
ptrace(2),
-putpmsg,
-pwrite(2),
-query_module(2),
+putpmsg(2),
+pwrite64(2),
+query\%_module(2),
quotactl(2),
read(2),
-readahead,
+readahead(2),
readdir(2),
readlink(2),
readv(2),
reboot(2),
-recv(2), recvfrom(2), recvmsg(2),
+recv(2),
+recvfrom(2),
+recvmsg(2),
+remap\%_file\%_pages(2),
+removexattr(2),
rename(2),
+restart\%_syscall(2),
rmdir(2),
-rt_sigaction,
-rt_sigpending,
-rt_sigprocmask,
-rt_sigqueueinfo,
-rt_sigreturn,
-rt_sigsuspend,
-rt_sigtimedwait,
-sched_\%get_\%priority_max(2),
-sched_\%get_\%priority_min(2),
-sched_\%get\%param(2),
-sched_\%get\%scheduler(2),
-sched_\%rr_\%get_\%interval(2),
-sched_\%set\%param(2),
-sched_\%set\%scheduler(2),
-sched_\%yield(2),
-security,
+rt_sig\%action(2),
+rt_sig\%pending(2),
+rt_sig\%procmask(2),
+rt_sig\%queueinfo(2),
+rt_sig\%return(2),
+rt_sig\%suspend(2),
+rt_sig\%timedwait(2),
+sched\%_get\%_priority\%_max(2),
+sched\%_get\%_priority\%_min(2),
+sched\%_get\%affinity(2),
+sched\%_get\%param(2),
+sched\%_get\%scheduler(2),
+sched\%_rr\%_get\%_interval(2),
+sched\%_set\%affinity(2),
+sched\%_set\%param(2),
+sched\%_set\%scheduler(2),
+sched\%_yield(2),
select(2),
+semctl(2),
+semget(2),
+semop(2),
+semtimedop(2),
+send(2),
sendfile(2),
-send(2), sendmsg(2), sendto(2),
+sendfile64(2),
+sendmsg(2),
+sendto(2),
+set\%_tid\%_address(2),
set\%domainname(2),
-set\%fsgid(2), set\%fsgid32,
-set\%fsuid(2), set\%fsuid32,
-set\%gid(2), set\%gid32,
-set\%groups(2), set\%groups32,
+set\%fsgid(2),
+set\%fsgid32(2),
+set\%fsuid(2),
+set\%fsuid32(2),
+set\%gid(2),
+set\%gid32(2),
+set\%groups(2),
+set\%groups32(2),
set\%hostname(2),
set\%itimer(2),
set\%pgid(2),
set\%priority(2),
-set\%regid(2), set\%regid32,
-set\%resgid(2), set\%resgid32,
-set\%resuid(2), set\%resuid32,
-set\%reuid(2), set\%reuid32,
+set\%regid(2),
+set\%regid32(2),
+set\%resgid(2),
+set\%resgid32(2),
+set\%resuid(2),
+set\%resuid32(2),
+set\%reuid(2),
+set\%reuid32(2),
set\%rlimit(2),
set\%sid(2),
set\%sockopt(2),
-set\%timeofday(2),
-set\%uid(2), set\%uid32,
-setup(2),
-sgetmask(2),
+set\%time\%of\%day(2),
+set\%uid(2),
+set\%uid32(2),
+set\%xattr(2),
+sget\%mask(2),
+shmat(2),
+shmctl(2),
+shmdt(2),
+shmget(2),
shutdown(2),
sigaction(2),
sigaltstack(2),
@@ -211,11 +292,13 @@
socket(2),
socketcall(2),
socketpair(2),
-ssetmask(2),
-stat(2), stat64,
+sset\%mask(2),
+stat(2),
+stat64(2),
statfs(2),
+statfs64(2),
stime(2),
-stty,
+stty(2),
swapoff(2),
swapon(2),
symlink(2),
@@ -223,51 +306,80 @@
sysfs(2),
sysinfo(2),
syslog(2),
+tgkill(2),
time(2),
+timer\%_create(2),
+timer\%_delete(2),
+timer\%_get\%overrun(2),
+timer\%_get\%time(2),
+timer\%_set\%time(2),
times(2),
-truncate(2), truncate64,
-ulimit,
+tkill(2),
+truncate(2),
+truncate64(2),
+uget\%rlimit(2),
+ulimit(2),
umask(2),
umount(2),
+umount2(2),
uname(2),
unlink(2),
uselib(2),
ustat(2),
utime(2),
+utimes(2),
vfork(2),
vhangup(2),
-vm86(2),
-vm86old,
wait4(2),
waitpid(2),
write(2),
writev(2).
-Of the above, 9 are obsolete, namely
-getrlimit, oldfstat, oldlstat, oldolduname, oldstat, olduname,
-readdir, select and vm86old
-(see also
-.BR obsolete (2)),
-and 15 are unimplemented in the standard kernel, namely
-afs_syscall, break, ftime, getpmsg, gtty, idle, lock, mpx, phys,
-prof, profil, putpmsg, security, stty and ulimit (see also
-.BR unimplemented (2)).
+Of the above, 5 are not implemented in standard kernel, reserved for future
+or special use, namely
+afs_syscall,
+getpmsg,
+putpmsg,
+kexec_load,
+vserver.
+.
+For example, the getpmsg and putpmsg calls are for kernels patched to support streams, and
+may never be in the standard kernel.
+.
+Another 12 system calls are unimplemented obsolete calls, namely
+break,
+create_module,
+ftime,
+get_kernel_syms,
+gtty,
+lock,
+mpx,
+prof,
+profil,
+stty,
+sys_query_module,
+ulimit.
+.
However,
.BR ftime (3),
-.BR profil (3)
+.BR profil (3),
and
.BR ulimit (3)
exist as library routines.
-The slot for phys is in use since 2.1.116 for umount;
+.
+Another unimplemented obsolete system call was phys;
+but its slot is in use since 2.1.116 for umount, so
phys will never be implemented.
-The getpmsg and putpmsg calls are for
-kernels patched to support streams, and may never be in the standard
-kernel.
-The security call is for future use.
+.
+(See also
+.BR obsolete (2)
+and
+.BR unimplemented (2).)
+
Roughly speaking, the code belonging to the system call
with number __NR_xxx defined in
-.I /usr/include/asm/unistd.h
+.I /usr/include/asm-*/unistd.h
can be found in the kernel source in the routine
.IR sys_xxx ().
(The dispatch table for i386 can be found in
@@ -279,16 +391,16 @@
proprietary OS emulation, such as parisc, sparc, sparc64 and alpha,
there are many additional system calls; mips64 also contains a full
set of 32-bit system calls.
-Below the details for Linux 2.4.17.
The defines __NR_oldstat and __NR_stat refer to the routines
-sys_stat() and sys_newstat(), and similarly for
+.IR sys_stat "() and " sys_newstat (),
+and likewise for
.I fstat
and
.IR lstat .
Similarly, the defines __NR_oldolduname, __NR_olduname and
-__NR_uname refer to the routines sys_olduname(), sys_uname()
-and sys_newuname().
+__NR_uname refer to the routines
+.IR sys_olduname "(), " sys_uname "(), and " sys_newuname ().
Thus, __NR_stat and __NR_uname have always referred to the latest
version of the system call, and the older ones are for backward
compatibility.
@@ -316,7 +428,7 @@
superseded by sys_getdents().
On many platforms, including i386, socket calls are all multiplexed
-through socketcall() and System V IPC calls through ipc().
+through socketcall(2) and System V IPC calls through ipc(2).
On newer platforms that only have 64-bit file access and 32-bit uids
(e.g. alpha, ia64, s390x) there are no *64 or *32 calls.
@@ -328,3 +440,4 @@
*32 calls were added for kernel 2.4, as were the new versions of
getrlimit and mmap, and the new calls pivot_root, mincore, madvise,
security, gettid and readahead.
+The security call is no longer present in 2.6 kernels.
--- man-pages-2.55/man2/ipc.2.kasal 2007-05-12 11:06:04.000000000 +0200
+++ man-pages-2.55/man2/ipc.2 2007-06-14 20:47:47.000000000 +0200
@@ -23,7 +23,10 @@
.\" USA.
.\"
.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
-.TH IPC 2 1995-04-15 "Linux 1.2.4" "Linux Programmer's Manual"
+.\" 2007-06-14, Stepan Kasal <skasal@redhat.com>
+.\" -- update for 2.6.9 (add semtimedop)
+.\"
+.TH IPC 2 2007-06-14 "Linux 2.6.9" "Linux Programmer's Manual"
.SH NAME
ipc \- System V IPC system calls
.SH SYNOPSIS
@@ -55,6 +58,7 @@
.BR semctl (2),
.BR semget (2),
.BR semop (2),
+.BR semtimedop (2),
.BR shmat (2),
.BR shmctl (2),
.BR shmdt (2),
--- man-pages-2.55/scripts/syscalls.sh.kasal 2007-06-18 16:30:54.000000000 +0200
+++ man-pages-2.55/scripts/syscalls.sh 2007-06-18 16:40:30.000000000 +0200
@@ -0,0 +1,136 @@
+#!/bin/sh
+#
+# This script examines Linux source tree and prints a summary about
+# the system calls.
+#
+# Copyright (C) 2007 Red Hat, Inc.
+#
+# Written by Stepan Kasal <skasal@redhat.com>
+#
+# This script is free software; Red Hat, Inc. gives unlimited
+# permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# The root of the source tree:
+#src_tree=/usr/src/linux
+src_tree=linux-2.6.9
+
+export LC_ALL=C
+
+awk '
+BEGIN {
+ # First, remove "#define ":
+ re_define = "^[[:blank:]]*#[[:blank:]]*define[[:blank:]]+"
+
+ # the remaining definition of a symbol:
+ re_sym1 = "([_[:alnum:]]+)[[:blank:]].*$"
+
+ # a general symbol:
+ re_symbol = re_define re_sym1
+
+ # a socket symbol in include/linux/net.h:
+ re_sys_symbol = re_define "SYS_" re_sym1
+
+ # a special variant for syscall number definitions:
+ re_nr = re_define "__NR_" re_sym1
+
+ # a special case of the previous, a redefine:
+ # Note: in linux 2.6.9, this matches only the "_exit" alias to "exit".
+ re_nr_redefine = re_define "__NR_([_[:alnum:]]+)[[:blank:]]+__NR_[_[:alnum:]]+.*$"
+}
+
+# net.h -- socket defines:
+FILENAME ~ /\/net\.h$/ && $0 ~ re_sys_symbol {
+ symbol = gensub(re_sys_symbol, "\\1", 1)
+ socket_syscall[tolower(symbol)]
+}
+
+# ipc.h defines:
+FILENAME ~ /\/ipc\.h$/ && $0 ~ re_symbol {
+ symbol = gensub(re_symbol, "\\1", 1)
+
+ # A comment appearing in several include/asm-*/ipc.h files says:
+ # "/* Used by the DIPC package, try and avoid reusing it */"
+ # Thus I guess it is OK to omit it:
+ if (symbol == "DIPC") next
+
+ ipc_syscall[tolower(symbol)]
+}
+
+# unistd.h syscall defines:
+FILENAME ~ /\/unistd\.h$/ &&
+ $0 ~ re_nr &&
+ $0 !~ re_nr_redefine {
+ syscall=gensub(re_nr,"\\1",1)
+ # This is not a syscall:
+ if (syscall == "syscall_max") next
+ arch=gensub(/.*\/asm-(.*)\/unistd\.h/,"\\1",1,FILENAME)
+ if(!(arch in arch_list)) {
+ n_arch++
+ arch_list[arch]
+ }
+ a[syscall]
+ # beware, the syscall can be named several times in a file:
+ list[syscall] = list[syscall] " "arch
+}
+
+# The main body:
+END {
+ handle_multi("socketcall", socket_syscall)
+ handle_multi("ipc", ipc_syscall)
+ report()
+}
+
+function handle_multi(multi_syscall, sys_array, i,n,s) {
+ printf("%s multiplexor, check man2/%s.2:\n\n",
+ multi_syscall, multi_syscall)
+ n = asorti(sys_array)
+ for (i = 1; i <= n; i++) {
+ s = sys_array[i]
+ print ".BR", s, "(2)" (i==n ? "" : ",")
+ multiplexed[s]
+ a[s]
+ }
+ print ""
+ # and make sure that report() lists the multiplexing call, too:
+ multiplexed[multi_syscall]
+}
+
+function report( n,i) {
+ n = asorti(a)
+ print "Total number of syscalls:", n
+ print ""
+ for (i = 1; i <= n; i++)
+ if (common_to_most_platforms(a[i]))
+ print format(a[i]) "(2)" (i==n ? "." : ",")
+}
+
+function common_to_most_platforms(syscall, i, arch_list, arch_a, num) {
+ if (syscall in multiplexed)
+ return 1
+ # These two are x86 specific, yet they are mentioned in many
+ # unistd.h files, apparently for historical reasons:
+ if (syscall == "vm86" || syscall == "iopl")
+ return 0
+ for (i = split(list[syscall], arch_list); i > 0; i--)
+ arch_a[arch_list[i]]
+ num = asort(arch_a)
+ return num > n_arch/2
+}
+
+function format(s) {
+ sub(/timeofday/,"time\\%of\\%day",s)
+ gsub(/(^.?|_)[sg]et/,"&\\%",s)
+ sub(/^rt_sig/,"&\\%",s) || gsub(/_/,"\\%_",s)
+ sub(/^\\%/, "", s)
+ gsub(/\\%(\\%)+/, "\\%", s)
+ return s
+}
+' $src_tree/include/linux/net.h \
+ $src_tree/include/asm-*/ipc.h \
+ $src_tree/include/asm-*/unistd.h

View File

@ -1,13 +1,15 @@
Summary: Man (manual) pages from the Linux Documentation Project
Name: man-pages
Version: 2.55
Release: 1%{?dist}
Release: 2%{?dist}
License: distributable
Group: Documentation
URL: http://www.kernel.org/pub/linux/docs/manpages/
Source0: http://www.kernel.org/pub/linux/docs/manpages/man-pages-%{version}.tar.bz2
Source1: rpcgen.1
Source2: resolver.5
# from Debian:
Source3: uuname.1
Source6: man-pages-extralocale.tar.bz2
Source9: man2.tar.gz
Source10: sln.8
@ -15,6 +17,8 @@ Source11: man2_sys.tar.gz
Source12: gai.conf.5
Source13: nss.5
Source14: man2_sys2.1.tar.gz
# IBM-supplied man pages for suid binaries:
Source15: man-suid-bins.tar.bz2
Patch1: man-pages-1.51-iconv.patch
Patch8: man-pages-2.48-fs.patch
Patch24: man-pages-2.51-malloc.patch
@ -31,6 +35,11 @@ Patch44: man-pages-2.43-fadvise.patch
Patch45: man-pages-2.48-passwd.patch
Patch46: man-pages-2.51-nscd-conf.patch
Patch47: man-pages-2.51-typos.patch
Patch48: man-pages-2.51-sched_setaffinity.patch
Patch49: man-pages-2.55-syscalls-2.6.9.patch
# Accepted upstream for 2.61:
Patch50: man-pages-2.55-clone2.patch
Patch51: man-pages-2.55-signal.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Autoreq: false
@ -41,16 +50,17 @@ A large collection of man pages (documentation) from the Linux
Documentation Project (LDP).
%prep
%setup -q -a 9
%setup -q -a 6 -a 9 -a 11 -a 14 -a 15
tar jxf %{SOURCE6}
cp -a %{SOURCE1} man1
cp -a %{SOURCE2} man5
cp -a %{SOURCE10} man8
cp -a %{SOURCE12} man5
cp -a %{SOURCE13} man5
tar xzf %{SOURCE14}
tar xzf %{SOURCE11}
for manpage in \
%{SOURCE1} \
%{SOURCE2} \
%{SOURCE10} \
%{SOURCE12} \
%{SOURCE13}
do
cp -p $manpage man${manpage##*.}
done
%patch1 -p1
%patch8 -p1
@ -68,6 +78,10 @@ tar xzf %{SOURCE11}
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
### And now remove those we are not going to use:
@ -106,20 +120,16 @@ rm -f man3/infnan.3
rm -fv man5/fstab.5
# Only briefly part of a devel version of glibc
rm -f man3/getipnodebyname.3
rm -f man3/getipnodebyaddr.3
rm -f man3/freehostent.3
rm -f man3/getipnodeby{name,addr}.3 man3/freehostent.3
# Part of libcap
rm -fv man2/capget.2
rm -fv man2/capset.2
rm -fv man2/cap{get,set}.2
#Compress/Uncompress man pages
rm -rf man1p/uncompress.1p
rm -rf man1p/compress.1p
rm -f man1p/{,un}compress.1p
#Part of util-linux
rm -rf man1p/renice.1p
rm -f man1p/renice.1p
# Part of libattr-devel
rm -f man2/{,f,l}{get,list,remove,set}xattr.2*
@ -138,6 +148,9 @@ rm -f man2/pciconfig_{write,read,iobase}.2
find . -name "*sudo*" | xargs --no-run-if-empty rm
# We do not have sccs
rm -f man1p/{admin,delta,get,prs,rmdel,sact,sccs,unget,val,what}.1p
%build
: Nothing to build.
@ -177,14 +190,24 @@ rm -rf $RPM_BUILD_ROOT
%lang(en) %{_mandir}/en/man*
%changelog
* Mon Jun 11 2007 Stepan Kasal <skasal@redhat.com> - 2.55-2
- Add man-suid-bins.tar.bz2 and uuname.1 to document suid binaries
(submitted through bug #196352).
- Add man-pages-2.51-sched_setaffinity.patch, fixing the prototypes.
- Remove sccs-related man pages.
- Add man-pages-2.55-syscalls-2.6.9.patch, updating syscalls.2 to kernel
version 2.6.9.
- Add man-pages-2.55-clone2.patch; s/clone2/__&/, clone2 is not exported.
- Add man-pages-2.55-signal.patch; SIGRTMIN is not constant.
* Mon Jun 11 2007 Ivana Varekova <varekova@redhat.com> - 2.55-1
- update to 2.55
* Mon Jun 4 2007 Stepan Kasal <skasal@redhat.com> - 2.51-4
- Simplified the build and installed phases; pages are now recoded
during the install.
- Moved the "rm" commands from build to prep.
- Added epoll_pwait.patch to fix a circular link.
- Simplify the build and install phases; pages are now recoded during the
install.
- Move the "rm" commands from build to prep.
- Add man-pages-2.51-epoll_pwait.patch to fix a circular link.
* Mon Jun 4 2007 Stepan Kasal <skasal@redhat.com> - 2.51-3
- Add man-pages-2.51-nscd-conf.patch, fixes #204596

View File

@ -2,3 +2,4 @@
af09d031dcee66929510e078d00066f2 man2.tar.gz
fbc03fdbc665e24961d30dad3ed8596d man2_sys2.1.tar.gz
33cfe1ef34a60af835457610468086d7 man-pages-2.55.tar.bz2
a9c6a14e5b34c18c3684a0b68322572f man-suid-bins.tar.bz2

33
uuname.1 Normal file
View File

@ -0,0 +1,33 @@
.\" This is under the same license as uuname itself
.TH UUNAME 1
.SH NAME
uuname \- List the names of the known remote UUCP sites.
.SH SYNOPSIS
.B uuname
[\fI\-a\fR] [\fI\-l\fR] [\fI\-I file\fR]
.SH DESCRIPTION
.I Uuname
is a program that lists the names of the known remote UUCP sites.
.SH OPTIONS
.TP
\fB-a\fR, \fB--aliases\fR
Display aliases.
.TP
\fB-l\fR, \fB--local\fR
Print the local name.
.TP
\fB-I\fR, \fB--config\fR \fIfile\fR
Set the configuration file to use.
.TP
\fB-v\fR, \fB--version\fR
Print the software version and exit.
.TP
\fB--help\fR
Print a help screen and exit.
.SH BUGS
None apparent.
.SH "SEE ALSO"
.BR uucp(1)
.SH AUTHOR
This manual page is a quick write-up for Debian done by Kevin Kreamer
<kkreamer@etherhogz.org>, by making a manpage out of \fBuuname\fR \fI--help\fR.