Bruno Haible <[email protected]> writes:

>> What do you think about creating a doc/pastposix-headers/*.texi to make
>> it a bit easier to maintain? I can write the patch, but figured it was
>> worth asking before reorganizing things.
>
> That would be useful, yes. Currently we have the ulimit and utime functions
> under pastposix-functions/ but their corresponding header files are under
> posix-headers/ . Better have it consistent. Even if it applies to 4 header
> files only.

Cool, I pushed the attached patch to do that.

There were 6 headers moved. The other 2, sys/timeb.h and ucontext.h,
were removed in POSIX.1-2008. So they had the correct links.

Collin

>From 6835a28189835a8ee619724e17731b946c60c74f Mon Sep 17 00:00:00 2001
Message-ID: <6835a28189835a8ee619724e17731b946c60c74f.1770527126.git.collin.fu...@gmail.com>
From: Collin Funk <[email protected]>
Date: Sat, 7 Feb 2026 20:56:25 -0800
Subject: [PATCH] doc: Separate header files removed by POSIX.

* doc/pastposix-headers/stropts.texi: Renamed from
doc/posix-headers/stropts.texi.
* doc/pastposix-headers/sys_timeb.texi: Renamed from
doc/posix-headers/sys_timeb.texi.
* doc/pastposix-headers/trace.texi: Renamed from
doc/posix-headers/trace.texi.
* doc/pastposix-headers/ucontext.texi: Renamed from
doc/posix-headers/ucontext.texi.
* doc/pastposix-headers/ulimit.texi: Renamed from
doc/posix-headers/ulimit.texi.
* doc/pastposix-headers/utime.texi: Renamed from
doc/posix-headers/utime.texi.
* doc/Makefile (GNULIB_TEXI_FILES): Add files from
doc/pastposix-functions and doc/pastposix-headers.
* doc/gnulib.texi (Legacy Header File Substitutes): New node. Move
header files removed from POSIX here.
---
 ChangeLog                                     | 18 +++++++++
 doc/Makefile                                  |  2 +-
 doc/gnulib.texi                               | 39 +++++++++++++------
 .../stropts.texi                              |  0
 .../sys_timeb.texi                            |  0
 .../trace.texi                                |  0
 .../ucontext.texi                             |  0
 .../ulimit.texi                               |  0
 .../utime.texi                                |  0
 9 files changed, 46 insertions(+), 13 deletions(-)
 rename doc/{posix-headers => pastposix-headers}/stropts.texi (100%)
 rename doc/{posix-headers => pastposix-headers}/sys_timeb.texi (100%)
 rename doc/{posix-headers => pastposix-headers}/trace.texi (100%)
 rename doc/{posix-headers => pastposix-headers}/ucontext.texi (100%)
 rename doc/{posix-headers => pastposix-headers}/ulimit.texi (100%)
 rename doc/{posix-headers => pastposix-headers}/utime.texi (100%)

diff --git a/ChangeLog b/ChangeLog
index 519558b8e3..67d9b1ed65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2026-02-07  Collin Funk  <[email protected]>
 
+	doc: Separate header files removed by POSIX.
+	* doc/pastposix-headers/stropts.texi: Renamed from
+	doc/posix-headers/stropts.texi.
+	* doc/pastposix-headers/sys_timeb.texi: Renamed from
+	doc/posix-headers/sys_timeb.texi.
+	* doc/pastposix-headers/trace.texi: Renamed from
+	doc/posix-headers/trace.texi.
+	* doc/pastposix-headers/ucontext.texi: Renamed from
+	doc/posix-headers/ucontext.texi.
+	* doc/pastposix-headers/ulimit.texi: Renamed from
+	doc/posix-headers/ulimit.texi.
+	* doc/pastposix-headers/utime.texi: Renamed from
+	doc/posix-headers/utime.texi.
+	* doc/Makefile (GNULIB_TEXI_FILES): Add files from
+	doc/pastposix-functions and doc/pastposix-headers.
+	* doc/gnulib.texi (Legacy Header File Substitutes): New node. Move
+	header files removed from POSIX here.
+
 	doc: Fix links to headers removed in POSIX.1-2024 (regr. 2024-07-20).
 	* doc/posix-headers/stropts.texi: Use the POSIX.1-2017 link where this
 	header exists.
diff --git a/doc/Makefile b/doc/Makefile
index 2e77f5db54..6f7f821132 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -77,7 +77,7 @@ INSTALL.ISO: INSTALL
 INSTALL.UTF-8: INSTALL
 	cp $< $@
 
-GNULIB_TEXI_FILES = $(filter-out maintain.texi make-stds.texi standards.texi,$(wildcard *.texi)) $(wildcard posix-headers/*.texi) $(wildcard posix-functions/*.texi) $(wildcard glibc-headers/*.texi) $(wildcard glibc-functions/*.texi)
+GNULIB_TEXI_FILES = $(filter-out maintain.texi make-stds.texi standards.texi,$(wildcard *.texi)) $(wildcard posix-headers/*.texi) $(wildcard pastposix-headers/*.texi) $(wildcard posix-functions/*.texi) $(wildcard pastposix-functions/*.texi) $(wildcard glibc-headers/*.texi) $(wildcard glibc-functions/*.texi)
 NEWEST_GNULIB_TEXI_FILE = $(shell ls -t $(GNULIB_TEXI_FILES) | sed 1q)
 
 # Date of last update. Requires GNU date.
diff --git a/doc/gnulib.texi b/doc/gnulib.texi
index 19955f0c68..ababc9b5d4 100644
--- a/doc/gnulib.texi
+++ b/doc/gnulib.texi
@@ -100,6 +100,7 @@ @node Top
 * Keyword Substitutes::             Replacing language keywords.
 * Header File Substitutes::         Overriding system headers.
 * Function Substitutes::            Replacing system functions.
+* Legacy Header File Substitutes::  Overriding system headers.
 * Legacy Function Substitutes::     Replacing system functions.
 * Glibc Header File Substitutes::   Overriding system headers.
 * Glibc Function Substitutes::      Replacing system functions.
@@ -1173,7 +1174,6 @@ @node Header File Substitutes
 * stdnoreturn.h::
 * string.h::
 * strings.h::
-* stropts.h::
 * sys/ipc.h::
 * sys/mman.h::
 * sys/msg.h::
@@ -1185,7 +1185,6 @@ @node Header File Substitutes
 * sys/stat.h::
 * sys/statvfs.h::
 * sys/time.h::
-* sys/timeb.h::
 * sys/times.h::
 * sys/types.h::
 * sys/uio.h::
@@ -1198,12 +1197,8 @@ @node Header File Substitutes
 * tgmath.h::
 * threads.h::
 * time.h::
-* trace.h::
 * uchar.h::
-* ucontext.h::
-* ulimit.h::
 * unistd.h::
-* utime.h::
 * utmpx.h::
 * wchar.h::
 * wctype.h::
@@ -1269,7 +1264,6 @@ @node Header File Substitutes
 @include posix-headers/stdnoreturn.texi
 @include posix-headers/string.texi
 @include posix-headers/strings.texi
-@include posix-headers/stropts.texi
 @include posix-headers/sys_ipc.texi
 @include posix-headers/sys_mman.texi
 @include posix-headers/sys_msg.texi
@@ -1281,7 +1275,6 @@ @node Header File Substitutes
 @include posix-headers/sys_stat.texi
 @include posix-headers/sys_statvfs.texi
 @include posix-headers/sys_time.texi
-@include posix-headers/sys_timeb.texi
 @include posix-headers/sys_times.texi
 @include posix-headers/sys_types.texi
 @include posix-headers/sys_uio.texi
@@ -1294,12 +1287,8 @@ @node Header File Substitutes
 @include posix-headers/tgmath.texi
 @include posix-headers/threads.texi
 @include posix-headers/time.texi
-@include posix-headers/trace.texi
 @include posix-headers/uchar.texi
-@include posix-headers/ucontext.texi
-@include posix-headers/ulimit.texi
 @include posix-headers/unistd.texi
-@include posix-headers/utime.texi
 @include posix-headers/utmpx.texi
 @include posix-headers/wchar.texi
 @include posix-headers/wctype.texi
@@ -4805,6 +4794,32 @@ @node Functions in <wordexp.h>
 @include posix-functions/wordexp.texi
 @include posix-functions/wordfree.texi
 
+@node Legacy Header File Substitutes
+@chapter Past POSIX Header File Substitutes
+
+This chapter describes which header files specified by older versions of
+POSIX are substituted by Gnulib, which portability pitfalls are fixed by
+Gnulib, and which (known) portability problems are not worked around by
+Gnulib.
+
+@nosuchmodulenote header file
+
+@menu
+* stropts.h::
+* sys/timeb.h::
+* trace.h::
+* ucontext.h::
+* ulimit.h::
+* utime.h::
+@end menu
+
+@include pastposix-headers/stropts.texi
+@include pastposix-headers/sys_timeb.texi
+@include pastposix-headers/trace.texi
+@include pastposix-headers/ucontext.texi
+@include pastposix-headers/ulimit.texi
+@include pastposix-headers/utime.texi
+
 @node Legacy Function Substitutes
 @chapter Past POSIX Function Substitutes
 
diff --git a/doc/posix-headers/stropts.texi b/doc/pastposix-headers/stropts.texi
similarity index 100%
rename from doc/posix-headers/stropts.texi
rename to doc/pastposix-headers/stropts.texi
diff --git a/doc/posix-headers/sys_timeb.texi b/doc/pastposix-headers/sys_timeb.texi
similarity index 100%
rename from doc/posix-headers/sys_timeb.texi
rename to doc/pastposix-headers/sys_timeb.texi
diff --git a/doc/posix-headers/trace.texi b/doc/pastposix-headers/trace.texi
similarity index 100%
rename from doc/posix-headers/trace.texi
rename to doc/pastposix-headers/trace.texi
diff --git a/doc/posix-headers/ucontext.texi b/doc/pastposix-headers/ucontext.texi
similarity index 100%
rename from doc/posix-headers/ucontext.texi
rename to doc/pastposix-headers/ucontext.texi
diff --git a/doc/posix-headers/ulimit.texi b/doc/pastposix-headers/ulimit.texi
similarity index 100%
rename from doc/posix-headers/ulimit.texi
rename to doc/pastposix-headers/ulimit.texi
diff --git a/doc/posix-headers/utime.texi b/doc/pastposix-headers/utime.texi
similarity index 100%
rename from doc/posix-headers/utime.texi
rename to doc/pastposix-headers/utime.texi
-- 
2.53.0

Reply via email to