Paul Eggert wrote:
> The problem I ran into first was surprise on the developer's part: why 
> is Gnulib pulling in all this stuff I'm not using?

Yes, I see how this is a psychological problem.

> Part of this issue here is, how much do we want to cover all 
> theoretically-possible issues, versus how much do we want to support the 
> likely practical uses? For example, although POSIX *allows* an app to 
> include <sys/shm.h> merely to define time_t, this is pretty unlikely and 
> I think we needn't worry about that.

Yes, this is the core of the question. The <config.h> reminders that we
already have added catch maybe 95% of the mistakes. With the added
module dependencies I tried to bump this percentage to maybe 98%.

But maybe 95% is good enough after all, since the attempts to go towards
100% either surprise our users or add complexity to the documentation.

I'm thus reverting the dependency additions.

> Perhaps we should have the shmctl module depend on 
> year2038 instead?

Indeed, that sounds right, and is also the approach we used with the
'largefile' module. Basically everything that can call open() or stat()
has a dependency to 'largefile'.

But first, I suggest, we should get the Autoconf support for year2038
right. Then we can revisit the functions one-by-one, based on
https://sourceware.org/glibc/wiki/Y2038ProofnessDesign .


2023-04-16  Bruno Haible  <br...@clisp.org>

        year2038: Revert the added module dependencies.
        Suggested by Paul Eggert in
        <https://lists.gnu.org/archive/html/bug-gnulib/2023-04/msg00117.html>.
        * modules/year2038 (Depends-on): Remove sched, sys_msg, sys_select,
        sys_sem, sys_shm, sys_stat, sys_time, sys_types, time-h, utime-h.

diff --git a/modules/year2038 b/modules/year2038
index 7a7b5d4eb5..c44d4dc868 100644
--- a/modules/year2038
+++ b/modules/year2038
@@ -10,20 +10,12 @@ Files:
 
 Depends-on:
 largefile
-sched
-sys_msg
-sys_select
-sys_sem
-sys_shm
-sys_stat
-sys_time
-sys_types
-time-h
-utime-h
 
 configure.ac-early:
 AC_REQUIRE([AC_SYS_YEAR2038])
 
+configure.ac:
+
 Makefile.am:
 
 Include:




Reply via email to