[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: split module openat
From: |
Jim Meyering |
Subject: |
Re: split module openat |
Date: |
Sat, 05 Nov 2011 16:25:32 +0100 |
Bruno Haible wrote:
> Hi Jim,
>
> The module 'openat' is still a mix of two different functionalities:
> - It provides the POSIX function openat(),
> - It compiles the openat_proc_name() function on which the implementations
> of fdopendir(), faccessat(), fchmodat(), fchownat(), fstatat(), mkdirat(),
> mkfifoat(), mknodat(), readlinkat(), areadlinkat(), symlinkat(),
> unlinkat(), linkat(), renameat(), utimensat() rely.
>
> So that programs that need one of these functions but not openat() don't
> include unnecessary code, it's advisable to split off the helper function
> openat_proc_name() from the openat() module.
>
> While doing this, I also noticed that openat.h has a number of dependencies
> (stdbool etc. - Paul removed 'dirent' from this list just yesterday), and
> it makes the dependency managemant easier if we can put openat.h in a module
> of its own.
>
> Here's the proposed patch. It also revisits the dependencies of all *at
> modules. Tested through a megatestdir on a dozen of platforms.
>
> It has the side effect that in packages that use 'fdopendir' but not 'openat',
> lib/openat-proc.c will now be compiled unconditionally, even on platforms
> that don't need it. This is mitigated through --conditional-dependencies,
> so IMO is acceptable.
>
>
> 2011-11-05 Bruno Haible <address@hidden>
>
> New modules 'at-internal', 'openat-h', split off from module 'openat'.
...
> ============================== modules/openat-h
> ===============================
> Description:
> Declarations of functions related to accessing files relative to a directory.
>
> Files:
> lib/openat.h
>
> Depends-on:
> fcntl-h
> stdbool
> sys_stat
> unistd
>
> configure.ac:
>
> Makefile.am:
>
> Include:
> "openat.h"
>
> License:
> GPL
>
> Maintainer:
> Jim Meyering, Eric Blake
Hi Bruno
I noticed a few failing hydra/nixos gzip builds:
http://hydra.nixos.org/build/1504105
It is at least in part because you seem to have forgotten to add the
openat-h module.