nixpkgs does not provide /usr/bin/env, so they had to work around it by
specifying just env. Since make(1) accepts program names instead of
paths, we can as well use bash directly, which is simpler.
Link: <https://github.com/NixOS/nixpkgs/pull/300797> Reported-by: Sergei Trofimovich <slyich@gmail.com> Cc: Mario Rodas <https://github.com/marsam> Cc: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
install(1) doesn't work well in Darwin. It seems to be unable to handle
</dev/stdin>. The problem seems to be that Darwin's stdin misbehaves.
I've only workarounded the install target, and not the dist target,
since it's unlikely that one would run it in such a broken system. But
since installing the pages is a common operation that everybody needs,
let's work around it here.
Fixes: 30c38a8bf8ae ("*.mk: Pipe to install(1)")
Link: <https://github.com/NixOS/nixpkgs/pull/300797> Closes: <https://bugzilla.kernel.org/show_bug.cgi?id=218730> Reported-by: Sergei Trofimovich <slyich@gmail.com> Reported-by: Mario Rodas <https://github.com/marsam> Cc: Eli Schwartz <eschwartz93@gmail.com> Cc: Pádraig Brady <P@draigBrady.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
proc.5: Refer to split-out manual pages for detailed description
Back in August 2023 various parts of proc(5) were split out into
separate manpages. The final cleanup in 92cdcec79df0 ("proc.5: Clean up
after making sashimi of this page") missed to as well refer to the split
out manpages and retained the wording that details are found further
below in the manpages for the various files.
Fixes: 92cdcec79df0 ("proc.5: Clean up after making sashimi of this page") Signed-off-by: Salvatore Bonaccorso <carnil@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
Revert "debian/debhelper.in/glibc-doc.{links,manpages}, debian/local/manpages/pthread_*: drop the man pages for libpthread functions, as they are now included in manpages-dev. Closes: #1068188."
Import pthread_*.3 link pages' git history from debian/glibc.git
These are the link pages, which I forgot to import in 87183bb8e9ec
("Import debian/local/manpages/pthread_*.3 git history from debian/glibc")
They aren't files in the debian repository, but they were generated at
build time, which is the reason I missed them.
Here's the process:
$ git clone git@salsa.debian.org:glibc-team/glibc.git
$ cd glibc/
$ git filter-repo --path debian/debhelper.in/glibc-doc.links
$ git tag | xargs git tag -d
$ git branch | xargs git branch -D
$ git remote add man file:///home/alx/src/linux/man-pages/man-pages/.bare.git
$ git fetch man
$ git rebase man/contrib
Subsequent commits will move the pages to the appropriate place.
Fixes: 87183bb8e9ec ("Import debian/local/manpages/pthread_*.3 git history from debian/glibc")
Link: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068188>
Link: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068166>
Link: <https://lore.kernel.org/linux-man/703ec07e-dd2b-bbc6-f1bc-f495e53b764f@gmail.com/T/> Cc: Marcos Fouces <marcos@debian.org> Cc: Sven Joachim <svenjoac@gmx.de> Cc: Bas Couwenberg <sebastic@xs4all.nl> Cc: Andreas Beckmann <anbe@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
debian/debhelper.in/glibc-doc.{links,manpages}, debian/local/manpages/pthread_*: drop the man pages for libpthread functions, as they are now included in manpages-dev. Closes: #1068188.
Aurelien Jarno [Tue, 15 Aug 2006 20:40:10 +0000 (20:40 +0000)]
* Backport from experimental (thanks Denis):
- Remove the GNU Libc Reference manual from glibc-doc because it is
not DFSG-free. (Closes: #181494)
The whole glibc-2.3.6/manual directory is removed from glibc-2.3.6.ds1.tar.bz2.
- debian/control: Drop Build-Depends: texinfo, texi2html.
- debian/control: Drop references to the antique libc-doc package.
- all/cvs-manual-memory.diff: removed.
- all/cvs-manual-string.diff: removed.
share/mk/: Remove support for installing compressed pages
I don't like compressed pages: they make it more difficult/slow to grep
them. This was added to make it easier for users to install compressed
pages even when installing from source, but probably nobody cares at all
these days about a few KiB per page; drive space got cheap. Also, some
of the algorithms were added just for benchmarking (for demonstrating
that they were bad in this case), and not for real use.
This reduces a use of compression tools, which seem to be dangerous
these days.
Michael Weiß [Wed, 3 Apr 2024 11:42:23 +0000 (13:42 +0200)]
init_module.2: Document MODULE_INIT_COMPRESS_FILE flag
finit_module() supports the MODULE_INIT_COMPRESS_FILE flag since
Linux 5.17. See commit b1ae6dc41eaaa ("module: add in-kernel support
for decompressing")
During implementation of a secure module loader in GyroidOS, we
wanted to filter unsafe module parameters. To verify that only the
two documented flags which are disabling sanity checks are unsafe,
we had a look in the current kernel implementation.
We discovered that this new flag MODULE_INIT_COMPRESS_FILE was added.
Having a deeper look at the code, we also discovered that a new error
code EOPNOTSUPP is possible within newer kernels.
The inital commit only supported gzip and xz compression algorithms.
Support for zstd was added in Linux 6.2 by commit 169a58ad824d8
("module/decompress: Support zstd in-kernel decompression")
Signed-off-by: Michael Weiß <michael.weiss@aisec.fraunhofer.de> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
sigwait.3: Note sigprocmask(2) requirement, explicitly link sigtimedwait(2)/NOTES
This comes from a real user complaint. sigwait(3) is the most obvious
of the family, and it doesn't mention any of the usage details.
Most of these can be crosslinked, but not mentioning the sigprocmask(2)
requirement is malice.
Elliott Hughes [Sat, 30 Mar 2024 00:10:26 +0000 (17:10 -0700)]
getpagesize.2, syscalls.2: Modernization
Remove the HP-UX portability advice, since getpagesize() is a slightly
better option than sysconf() for Linux systems.
Explain why this function exists, and why this man page is in the wrong
section. (The previous text tried to do both at the same, which was
confusing.) Also explain how the vast majority of architectures that
don't have a syscall (but do support multiple page sizes) actually work.
Also de-emphasize the glibc 2.0 bug, since most people don't need to
worry about compatibility with versions of glibc from 1997.
Finally, change "not on x86" in syscalls.2 to say where there _is_ a
syscall.
share/mk/: build-book, build-man, install-man: Specify version and date
Each page has its own date.
Add new 'build-man' target, which stamps the date and version in the
pages (in $builddir, not the source ones).
Build-system internal stuff:
$CURDIR will be used for the build system, while $srcdir will be
used for the project root of the repository. This helps use
this build system in other projects.
It gets out of date easily, and it's always more accurate to actually
read the makefiles, or run a command that parses them for us.
In the case of .PHONY targets, or available variables, here are two
commands that can help:
Oliver Crumrine [Sun, 17 Mar 2024 13:55:50 +0000 (09:55 -0400)]
ip.7: Some socket options are not supported by SOCK_STREAM
It was not made clear in several socket options that they were not
supported by SOCK_STREAM; this patch fixes that.
Socket options not supported by SOCK_STREAM are handled in the
ip_cmsg_recv_offset() function in <net/ipv4/ip_sockglue.c>. The
function is called for udp sockets, and indirectly by ping and raw
sockets, but not for STREAM sockets, as they don't support these
options.
Link: <https://lore.kernel.org/linux-man/ejhphmjh74ebtk4br3id66f27a4yoh4aukrcz7m6dp7acsu6zr@crtueyadqzmp/T/#mb298ac7f71a348d1e6b423cfa32bfad9c28efa40>
Link: <https://lore.kernel.org/linux-man/ejhphmjh74ebtk4br3id66f27a4yoh4aukrcz7m6dp7acsu6zr@crtueyadqzmp/T/#u> Signed-off-by: Oliver Crumrine <ozlinuxc@gmail.com> Cc: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
наб [Sun, 17 Mar 2024 15:37:52 +0000 (16:37 +0100)]
proc_pid_io.5: Dewafflify
This page copies verbatim the contents of
Documentation/filesystems/proc.rst, added wholesale in
commit f9c99463b0cd05603d125c915e2886d55a686b82 ("[PATCH] Documentation
for io-accounting / reporting via procfs") in 2007.
As such, it mirrors the sensibilities of the time ‒
writing "successful read returns" as "data pulled from storage. actually
just the data the process gave to read(). this also means from non-regular
files! whether the data was pulled from storage doesn't matter actually
(obligatory cache mention)"
for the modern reader this is just a lot of waffling
(note also that processes give no data to read()!)
‒ and sensibilities of the sheepish implementer in kernel documentation ‒
"an attempt" for a well-defined kernel behaviour, mentioning the
"current implementation", consistent mentions of specific kernel-internal
caching mechanisms, "the big inaccuracy here".
Re-write to be more useful and less misleading as documentation;
the syscall enumeration is accurate for kernel v6.8, but the sysc? stats
are also bumped by kernel_{read,write}(), which is sometimes used by too
many syscalls in too many scenarios to usefully enumerate.
Lili Püspök [Wed, 6 Mar 2024 20:02:47 +0000 (21:02 +0100)]
unix.7: EXAMPLES: server.c: End connection with END
Client wants to send END while server already closed the connection on
DOWN, so connection is broken instead of the Result = 0 in the sample on
sending a single DOWN.
Now, the server disconnects only on first END. After DOWN, all further
processing of number stops.
Patch does not handle cases of double END sending, multiple clients etc.
Fixes: 15545eb6d7ae ("unix.7: Add example") Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Lili Püspök <poordirtylili@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>