[05/16] Remove 'pwd' and merge into 'nss'

Message ID 20231002130150.1497733-6-arjun@redhat.com
State Committed
Commit 0ac35d181edd38563f95c3b38e74476bfbff76d3
Headers
Series Consolidate NSS functionality into nss subdir |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
linaro-tcwg-bot/tcwg_glibc_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_glibc_check--master-arm fail Testing failed

Commit Message

Arjun Shankar Oct. 2, 2023, 12:55 p.m. UTC
  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.
---
 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
  

Comments

Adhemerval Zanella Netto Oct. 19, 2023, 6:29 p.m. UTC | #1
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;
> -  }
> -}
  

Patch

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;
-  }
-}