public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
To: Arjun Shankar <arjun@redhat.com>, libc-alpha@sourceware.org
Subject: Re: [PATCH 05/16] Remove 'pwd' and merge into 'nss'
Date: Thu, 19 Oct 2023 15:29:38 -0300	[thread overview]
Message-ID: <5e8e6f28-fca0-444f-81de-1944d0636100@linaro.org> (raw)
In-Reply-To: <20231002130150.1497733-6-arjun@redhat.com>



On 02/10/23 09:55, Arjun Shankar wrote:
> The majority of pwd routines are entry points for nss functionality.
> This commit removes the 'pwd' subdirectory and moves all functionality
> and tests to 'nss'.  References to pwd/ are accordingly changed.


LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  Makeconfig                  |  2 +-
>  include/pwd.h               |  2 +-
>  nss/Makefile                | 24 +++++++++++++++++++++
>  nss/Versions                |  8 +++++++
>  {pwd => nss}/fgetpwent.c    |  0
>  {pwd => nss}/fgetpwent_r.c  |  0
>  {pwd => nss}/getpw.c        |  0
>  {pwd => nss}/getpwent.c     |  0
>  {pwd => nss}/getpwent_r.c   |  0
>  {pwd => nss}/getpwnam.c     |  0
>  {pwd => nss}/getpwnam_r.c   |  0
>  {pwd => nss}/getpwuid.c     |  0
>  {pwd => nss}/getpwuid_r.c   |  0
>  {pwd => nss}/putpwent.c     |  0
>  {pwd => nss}/pwd.h          |  0
>  {pwd => nss}/tst-getpw.c    |  0
>  {pwd => nss}/tst-putpwent.c |  0
>  pwd/Makefile                | 42 -------------------------------------
>  pwd/Versions                | 19 -----------------
>  19 files changed, 34 insertions(+), 63 deletions(-)
>  rename {pwd => nss}/fgetpwent.c (100%)
>  rename {pwd => nss}/fgetpwent_r.c (100%)
>  rename {pwd => nss}/getpw.c (100%)
>  rename {pwd => nss}/getpwent.c (100%)
>  rename {pwd => nss}/getpwent_r.c (100%)
>  rename {pwd => nss}/getpwnam.c (100%)
>  rename {pwd => nss}/getpwnam_r.c (100%)
>  rename {pwd => nss}/getpwuid.c (100%)
>  rename {pwd => nss}/getpwuid_r.c (100%)
>  rename {pwd => nss}/putpwent.c (100%)
>  rename {pwd => nss}/pwd.h (100%)
>  rename {pwd => nss}/tst-getpw.c (100%)
>  rename {pwd => nss}/tst-putpwent.c (100%)
>  delete mode 100644 pwd/Makefile
>  delete mode 100644 pwd/Versions
> 
> diff --git a/Makeconfig b/Makeconfig
> index ac7fa3dbb3..e5badddbc4 100644
> --- a/Makeconfig
> +++ b/Makeconfig
> @@ -1352,7 +1352,7 @@ endif
>  # dependencies and generate sorted-subdirs dynamically.
>  all-subdirs = csu assert ctype locale intl catgets math setjmp signal	    \
>  	      stdlib stdio-common libio malloc string wcsmbs time dirent    \
> -	      pwd posix io termios resource misc socket sysvipc gmon        \
> +	      posix io termios resource misc socket sysvipc gmon            \
>  	      gnulib iconv iconvdata wctype manual shadow po argp           \
>  	      localedata timezone rt conform debug mathvec support	    \
>  	      dlfcn elf
> diff --git a/include/pwd.h b/include/pwd.h
> index f8975d4957..c4ca8bab33 100644
> --- a/include/pwd.h
> +++ b/include/pwd.h
> @@ -1,5 +1,5 @@
>  #ifndef _PWD_H
> -#include <pwd/pwd.h>
> +#include <nss/pwd.h>
>  
>  #ifndef _ISOMAC
>  /* Now define the internal interfaces.  */
> diff --git a/nss/Makefile b/nss/Makefile
> index 5256b90f8b..28648ea884 100644
> --- a/nss/Makefile
> +++ b/nss/Makefile
> @@ -26,6 +26,7 @@ headers := \
>    grp.h \
>    gshadow.h \
>    nss.h \
> +  pwd.h \
>    # headers
>  
>  # This is the trivial part which goes into libc itself.
> @@ -103,6 +104,27 @@ CFLAGS-getsgnam.c += -fexceptions
>  CFLAGS-getsgnam_r.c += -fexceptions
>  endif
>  
> +# pwd routines:
> +routines += \
> +  fgetpwent \
> +  fgetpwent_r \
> +  getpw \
> +  getpwent \
> +  getpwent_r \
> +  getpwnam \
> +  getpwnam_r \
> +  getpwuid \
> +  getpwuid_r \
> +  putpwent \
> +  # routines
> +
> +ifeq ($(have-thread-library),yes)
> +CFLAGS-fgetpwent_r.c += $(libio-mtsafe)
> +CFLAGS-getpw.c += -fexceptions
> +CFLAGS-getpwent.c += -fexceptions
> +CFLAGS-getpwent_r.c += -fexceptions
> +endif
> +
>  # These are the databases that go through nss dispatch.
>  # Caution: if you add a database here, you must add its real name
>  # in databases.def, too.
> @@ -143,6 +165,7 @@ tests := \
>    test-netdb \
>    testgrp \
>    tst-fgetsgent_r \
> +  tst-getpw \
>    tst-gshadow \
>    tst-nss-getpwent \
>    tst-nss-hash \
> @@ -152,6 +175,7 @@ tests := \
>    tst-nss-test5 \
>    tst-nss-test_errno \
>    tst-putgrent \
> +  tst-putpwent \
>    tst-putsgent \
>    tst-sgetsgent \
>    # tests
> diff --git a/nss/Versions b/nss/Versions
> index 6204ac0af1..58ca73c9df 100644
> --- a/nss/Versions
> +++ b/nss/Versions
> @@ -8,19 +8,26 @@ libc {
>  
>      # e*
>      endgrent;
> +    endpwent;
>  
>      # f*
>      fgetgrent; fgetgrent_r;
> +    fgetpwent; fgetpwent_r;
>  
>      # g*
>      getgrent; getgrent_r; getgrgid; getgrgid_r; getgrnam; getgrnam_r;
>      getgroups;
> +    getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
>  
>      # i*
>      initgroups;
>  
> +    # p*
> +    putpwent;
> +
>      # s*
>      setgrent;
> +    setpwent;
>    }
>    GLIBC_2.1 {
>      # p*
> @@ -29,6 +36,7 @@ libc {
>    GLIBC_2.1.2 {
>      # g*
>      getgrent_r; getgrgid_r; getgrnam_r;
> +    getpwent_r; getpwuid_r; getpwnam_r;
>    }
>    GLIBC_2.2.2 {
>      __nss_hostname_digits_dots;
> diff --git a/pwd/fgetpwent.c b/nss/fgetpwent.c
> similarity index 100%
> rename from pwd/fgetpwent.c
> rename to nss/fgetpwent.c
> diff --git a/pwd/fgetpwent_r.c b/nss/fgetpwent_r.c
> similarity index 100%
> rename from pwd/fgetpwent_r.c
> rename to nss/fgetpwent_r.c
> diff --git a/pwd/getpw.c b/nss/getpw.c
> similarity index 100%
> rename from pwd/getpw.c
> rename to nss/getpw.c
> diff --git a/pwd/getpwent.c b/nss/getpwent.c
> similarity index 100%
> rename from pwd/getpwent.c
> rename to nss/getpwent.c
> diff --git a/pwd/getpwent_r.c b/nss/getpwent_r.c
> similarity index 100%
> rename from pwd/getpwent_r.c
> rename to nss/getpwent_r.c
> diff --git a/pwd/getpwnam.c b/nss/getpwnam.c
> similarity index 100%
> rename from pwd/getpwnam.c
> rename to nss/getpwnam.c
> diff --git a/pwd/getpwnam_r.c b/nss/getpwnam_r.c
> similarity index 100%
> rename from pwd/getpwnam_r.c
> rename to nss/getpwnam_r.c
> diff --git a/pwd/getpwuid.c b/nss/getpwuid.c
> similarity index 100%
> rename from pwd/getpwuid.c
> rename to nss/getpwuid.c
> diff --git a/pwd/getpwuid_r.c b/nss/getpwuid_r.c
> similarity index 100%
> rename from pwd/getpwuid_r.c
> rename to nss/getpwuid_r.c
> diff --git a/pwd/putpwent.c b/nss/putpwent.c
> similarity index 100%
> rename from pwd/putpwent.c
> rename to nss/putpwent.c
> diff --git a/pwd/pwd.h b/nss/pwd.h
> similarity index 100%
> rename from pwd/pwd.h
> rename to nss/pwd.h
> diff --git a/pwd/tst-getpw.c b/nss/tst-getpw.c
> similarity index 100%
> rename from pwd/tst-getpw.c
> rename to nss/tst-getpw.c
> diff --git a/pwd/tst-putpwent.c b/nss/tst-putpwent.c
> similarity index 100%
> rename from pwd/tst-putpwent.c
> rename to nss/tst-putpwent.c
> diff --git a/pwd/Makefile b/pwd/Makefile
> deleted file mode 100644
> index d85842af3e..0000000000
> --- a/pwd/Makefile
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -# Copyright (C) 1991-2023 Free Software Foundation, Inc.
> -# This file is part of the GNU C Library.
> -
> -# The GNU C Library is free software; you can redistribute it and/or
> -# modify it under the terms of the GNU Lesser General Public
> -# License as published by the Free Software Foundation; either
> -# version 2.1 of the License, or (at your option) any later version.
> -
> -# The GNU C Library is distributed in the hope that it will be useful,
> -# but WITHOUT ANY WARRANTY; without even the implied warranty of
> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -# Lesser General Public License for more details.
> -
> -# You should have received a copy of the GNU Lesser General Public
> -# License along with the GNU C Library; if not, see
> -# <https://www.gnu.org/licenses/>.
> -
> -#
> -#	Sub-makefile for pwd portion of the library.
> -#
> -subdir	:= pwd
> -
> -include ../Makeconfig
> -
> -headers := pwd.h
> -
> -routines := fgetpwent getpw putpwent \
> -	    getpwent getpwnam getpwuid \
> -	    getpwent_r getpwnam_r getpwuid_r fgetpwent_r
> -
> -tests := tst-getpw tst-putpwent
> -
> -include ../Rules
> -
> -ifeq ($(have-thread-library),yes)
> -
> -CFLAGS-getpwent_r.c += -fexceptions
> -CFLAGS-getpwent.c += -fexceptions
> -CFLAGS-getpw.c += -fexceptions
> -CFLAGS-fgetpwent_r.c += $(libio-mtsafe)
> -
> -endif
> diff --git a/pwd/Versions b/pwd/Versions
> deleted file mode 100644
> index b56970019a..0000000000
> --- a/pwd/Versions
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -libc {
> -  GLIBC_2.0 {
> -    # e*
> -    endpwent;
> -
> -    # f*
> -    fgetpwent; fgetpwent_r;
> -
> -    # g*
> -    getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
> -
> -    # p*
> -    putpwent; setpwent;
> -  }
> -  GLIBC_2.1.2 {
> -    # g*
> -    getpwent_r; getpwuid_r; getpwnam_r;
> -  }
> -}

  reply	other threads:[~2023-10-19 18:29 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-02 12:55 [PATCH 00/16] Consolidate NSS functionality into nss subdir Arjun Shankar
2023-10-02 12:55 ` [PATCH 01/16] inet: Rearrange and sort Makefile variables Arjun Shankar
2023-10-02 14:11   ` Siddhesh Poyarekar
2023-10-02 12:55 ` [PATCH 02/16] nss: " Arjun Shankar
2023-10-02 14:12   ` Siddhesh Poyarekar
2023-10-02 12:55 ` [PATCH 03/16] Remove 'grp' and merge into 'nss' and 'posix' Arjun Shankar
2023-10-19 17:55   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 04/16] Remove 'gshadow' and merge into 'nss' Arjun Shankar
2023-10-19 18:15   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 05/16] Remove 'pwd' " Arjun Shankar
2023-10-19 18:29   ` Adhemerval Zanella Netto [this message]
2023-10-02 12:55 ` [PATCH 06/16] Remove 'shadow' " Arjun Shankar
2023-10-19 18:44   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 07/16] Move 'aliases' routines from 'inet' " Arjun Shankar
2023-10-19 19:23   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 08/16] Move 'ethers' " Arjun Shankar
2023-10-19 19:39   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 09/16] Move 'hosts' " Arjun Shankar
2023-10-19 19:53   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 10/16] Move 'netgroup' " Arjun Shankar
2023-10-20 12:00   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 11/16] Move 'networks' " Arjun Shankar
2023-10-20 12:17   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 12/16] Move 'protocols' " Arjun Shankar
2023-10-20 12:32   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 13/16] Move 'rpc' " Arjun Shankar
2023-10-20 12:49   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 14/16] Move 'services' " Arjun Shankar
2023-10-20 13:19   ` Adhemerval Zanella Netto
2023-10-02 12:55 ` [PATCH 15/16] Move getaddrinfo from 'posix' " Arjun Shankar
2023-10-20 13:51   ` Adhemerval Zanella Netto
2023-10-24 21:32     ` Joseph Myers
2023-10-26 10:58       ` Arjun Shankar
2023-10-02 12:55 ` [PATCH 16/16] Move getnameinfo from 'inet' to 'nss' Arjun Shankar
2023-10-20 15:08   ` Adhemerval Zanella Netto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5e8e6f28-fca0-444f-81de-1944d0636100@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=arjun@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).