[04/16] Remove 'gshadow' and merge into 'nss'

Message ID 20231002130150.1497733-5-arjun@redhat.com
State Committed
Commit 98b107e30848198e7128f80b38b406585f0317d6
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-arm fail Testing failed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 success Testing passed

Commit Message

Arjun Shankar Oct. 2, 2023, 12:55 p.m. UTC
  The majority of gshadow routines are entry points for nss functionality.
This commit removes the 'gshadow' subdirectory and moves all
functionality and tests to 'nss'.  References to gshadow/ are
accordingly changed.
---
 Makeconfig                         |  2 +-
 gshadow/Makefile                   | 39 ------------------------------
 gshadow/Versions                   | 21 ----------------
 include/gshadow.h                  |  2 +-
 nss/Makefile                       | 28 +++++++++++++++++++++
 nss/Versions                       | 19 +++++++++++++++
 {gshadow => nss}/fgetsgent.c       |  0
 {gshadow => nss}/fgetsgent_r.c     |  0
 {gshadow => nss}/getsgent.c        |  0
 {gshadow => nss}/getsgent_r.c      |  0
 {gshadow => nss}/getsgnam.c        |  0
 {gshadow => nss}/getsgnam_r.c      |  0
 {gshadow => nss}/gshadow.h         |  0
 {gshadow => nss}/putsgent.c        |  0
 {gshadow => nss}/sgetsgent.c       |  0
 {gshadow => nss}/sgetsgent_r.c     |  0
 {gshadow => nss}/tst-fgetsgent_r.c |  0
 {gshadow => nss}/tst-gshadow.c     |  0
 {gshadow => nss}/tst-putsgent.c    |  0
 {gshadow => nss}/tst-sgetsgent.c   |  0
 20 files changed, 49 insertions(+), 62 deletions(-)
 delete mode 100644 gshadow/Makefile
 delete mode 100644 gshadow/Versions
 rename {gshadow => nss}/fgetsgent.c (100%)
 rename {gshadow => nss}/fgetsgent_r.c (100%)
 rename {gshadow => nss}/getsgent.c (100%)
 rename {gshadow => nss}/getsgent_r.c (100%)
 rename {gshadow => nss}/getsgnam.c (100%)
 rename {gshadow => nss}/getsgnam_r.c (100%)
 rename {gshadow => nss}/gshadow.h (100%)
 rename {gshadow => nss}/putsgent.c (100%)
 rename {gshadow => nss}/sgetsgent.c (100%)
 rename {gshadow => nss}/sgetsgent_r.c (100%)
 rename {gshadow => nss}/tst-fgetsgent_r.c (100%)
 rename {gshadow => nss}/tst-gshadow.c (100%)
 rename {gshadow => nss}/tst-putsgent.c (100%)
 rename {gshadow => nss}/tst-sgetsgent.c (100%)
  

Comments

Adhemerval Zanella Netto Oct. 19, 2023, 6:15 p.m. UTC | #1
On 02/10/23 09:55, Arjun Shankar wrote:
> The majority of gshadow routines are entry points for nss functionality.
> This commit removes the 'gshadow' subdirectory and moves all
> functionality and tests to 'nss'.  References to gshadow/ are
> accordingly changed.

LGTM, thanks.

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


> ---
>  Makeconfig                         |  2 +-
>  gshadow/Makefile                   | 39 ------------------------------
>  gshadow/Versions                   | 21 ----------------
>  include/gshadow.h                  |  2 +-
>  nss/Makefile                       | 28 +++++++++++++++++++++
>  nss/Versions                       | 19 +++++++++++++++
>  {gshadow => nss}/fgetsgent.c       |  0
>  {gshadow => nss}/fgetsgent_r.c     |  0
>  {gshadow => nss}/getsgent.c        |  0
>  {gshadow => nss}/getsgent_r.c      |  0
>  {gshadow => nss}/getsgnam.c        |  0
>  {gshadow => nss}/getsgnam_r.c      |  0
>  {gshadow => nss}/gshadow.h         |  0
>  {gshadow => nss}/putsgent.c        |  0
>  {gshadow => nss}/sgetsgent.c       |  0
>  {gshadow => nss}/sgetsgent_r.c     |  0
>  {gshadow => nss}/tst-fgetsgent_r.c |  0
>  {gshadow => nss}/tst-gshadow.c     |  0
>  {gshadow => nss}/tst-putsgent.c    |  0
>  {gshadow => nss}/tst-sgetsgent.c   |  0
>  20 files changed, 49 insertions(+), 62 deletions(-)
>  delete mode 100644 gshadow/Makefile
>  delete mode 100644 gshadow/Versions
>  rename {gshadow => nss}/fgetsgent.c (100%)
>  rename {gshadow => nss}/fgetsgent_r.c (100%)
>  rename {gshadow => nss}/getsgent.c (100%)
>  rename {gshadow => nss}/getsgent_r.c (100%)
>  rename {gshadow => nss}/getsgnam.c (100%)
>  rename {gshadow => nss}/getsgnam_r.c (100%)
>  rename {gshadow => nss}/gshadow.h (100%)
>  rename {gshadow => nss}/putsgent.c (100%)
>  rename {gshadow => nss}/sgetsgent.c (100%)
>  rename {gshadow => nss}/sgetsgent_r.c (100%)
>  rename {gshadow => nss}/tst-fgetsgent_r.c (100%)
>  rename {gshadow => nss}/tst-gshadow.c (100%)
>  rename {gshadow => nss}/tst-putsgent.c (100%)
>  rename {gshadow => nss}/tst-sgetsgent.c (100%)
> 
> diff --git a/Makeconfig b/Makeconfig
> index 9ff6a902e9..ac7fa3dbb3 100644
> --- a/Makeconfig
> +++ b/Makeconfig
> @@ -1353,7 +1353,7 @@ endif
>  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        \
> -	      gnulib iconv iconvdata wctype manual shadow gshadow po argp   \
> +	      gnulib iconv iconvdata wctype manual shadow po argp           \
>  	      localedata timezone rt conform debug mathvec support	    \
>  	      dlfcn elf
>  
> diff --git a/gshadow/Makefile b/gshadow/Makefile
> deleted file mode 100644
> index a95524593a..0000000000
> --- a/gshadow/Makefile
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -# Copyright (C) 2009-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/>.
> -
> -#
> -#	Makefile for gshadow.
> -#
> -subdir	:= gshadow
> -
> -include ../Makeconfig
> -
> -headers		= gshadow.h
> -routines	= getsgent getsgnam sgetsgent fgetsgent putsgent \
> -		  getsgent_r getsgnam_r sgetsgent_r fgetsgent_r
> -
> -tests = tst-gshadow tst-putsgent tst-fgetsgent_r tst-sgetsgent
> -
> -CFLAGS-getsgent_r.c += -fexceptions
> -CFLAGS-getsgent.c += -fexceptions
> -CFLAGS-fgetsgent.c += -fexceptions
> -CFLAGS-fgetsgent_r.c += -fexceptions $(libio-mtsafe)
> -CFLAGS-putsgent.c += -fexceptions $(libio-mtsafe)
> -CFLAGS-getsgnam.c += -fexceptions
> -CFLAGS-getsgnam_r.c += -fexceptions
> -
> -include ../Rules
> diff --git a/gshadow/Versions b/gshadow/Versions
> deleted file mode 100644
> index 1dba0c5f19..0000000000
> --- a/gshadow/Versions
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -libc {
> -  GLIBC_2.10 {
> -    # e*
> -    endsgent;
> -
> -    # f*
> -    fgetsgent; fgetsgent_r;
> -
> -    # g*
> -    getsgent; getsgent_r; getsgnam; getsgnam_r;
> -
> -    # p*
> -    putsgent;
> -
> -    # s*
> -    setsgent;
> -
> -    # s*
> -    sgetsgent; sgetsgent_r;
> -  }
> -}
> diff --git a/include/gshadow.h b/include/gshadow.h
> index 1cefcfc641..95f8f950a9 100644
> --- a/include/gshadow.h
> +++ b/include/gshadow.h
> @@ -1,5 +1,5 @@
>  #ifndef _GSHADOW_H
> -#include <gshadow/gshadow.h>
> +#include <nss/gshadow.h>
>  
>  # ifndef _ISOMAC
>  
> diff --git a/nss/Makefile b/nss/Makefile
> index baf7d9d0ab..5256b90f8b 100644
> --- a/nss/Makefile
> +++ b/nss/Makefile
> @@ -24,6 +24,7 @@ include ../Makeconfig
>  
>  headers := \
>    grp.h \
> +  gshadow.h \
>    nss.h \
>    # headers
>  
> @@ -79,6 +80,29 @@ CFLAGS-initgroups.c += -fexceptions
>  CFLAGS-putgrent.c += -fexceptions $(libio-mtsafe)
>  endif
>  
> +# gshadow routines:
> +routines += \
> +  fgetsgent \
> +  fgetsgent_r \
> +  getsgent \
> +  getsgent_r \
> +  getsgnam \
> +  getsgnam_r \
> +  putsgent \
> +  sgetsgent \
> +  sgetsgent_r \
> +  # routines
> +
> +ifeq ($(have-thread-library),yes)
> +CFLAGS-getsgent_r.c += -fexceptions
> +CFLAGS-getsgent.c += -fexceptions
> +CFLAGS-fgetsgent.c += -fexceptions
> +CFLAGS-fgetsgent_r.c += -fexceptions $(libio-mtsafe)
> +CFLAGS-putsgent.c += -fexceptions $(libio-mtsafe)
> +CFLAGS-getsgnam.c += -fexceptions
> +CFLAGS-getsgnam_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.
> @@ -118,6 +142,8 @@ tests := \
>    test-digits-dots \
>    test-netdb \
>    testgrp \
> +  tst-fgetsgent_r \
> +  tst-gshadow \
>    tst-nss-getpwent \
>    tst-nss-hash \
>    tst-nss-test1 \
> @@ -126,6 +152,8 @@ tests := \
>    tst-nss-test5 \
>    tst-nss-test_errno \
>    tst-putgrent \
> +  tst-putsgent \
> +  tst-sgetsgent \
>    # tests
>  
>  xtests = bug-erange
> diff --git a/nss/Versions b/nss/Versions
> index 5401829911..6204ac0af1 100644
> --- a/nss/Versions
> +++ b/nss/Versions
> @@ -37,6 +37,25 @@ libc {
>      # g*
>      getgrouplist;
>    }
> +  GLIBC_2.10 {
> +    # e*
> +    endsgent;
> +
> +    # f*
> +    fgetsgent; fgetsgent_r;
> +
> +    # g*
> +    getsgent; getsgent_r; getsgnam; getsgnam_r;
> +
> +    # p*
> +    putsgent;
> +
> +    # s*
> +    setsgent;
> +
> +    # s*
> +    sgetsgent; sgetsgent_r;
> +  }
>    GLIBC_2.27 {
>    }
>    GLIBC_PRIVATE {
> diff --git a/gshadow/fgetsgent.c b/nss/fgetsgent.c
> similarity index 100%
> rename from gshadow/fgetsgent.c
> rename to nss/fgetsgent.c
> diff --git a/gshadow/fgetsgent_r.c b/nss/fgetsgent_r.c
> similarity index 100%
> rename from gshadow/fgetsgent_r.c
> rename to nss/fgetsgent_r.c
> diff --git a/gshadow/getsgent.c b/nss/getsgent.c
> similarity index 100%
> rename from gshadow/getsgent.c
> rename to nss/getsgent.c
> diff --git a/gshadow/getsgent_r.c b/nss/getsgent_r.c
> similarity index 100%
> rename from gshadow/getsgent_r.c
> rename to nss/getsgent_r.c
> diff --git a/gshadow/getsgnam.c b/nss/getsgnam.c
> similarity index 100%
> rename from gshadow/getsgnam.c
> rename to nss/getsgnam.c
> diff --git a/gshadow/getsgnam_r.c b/nss/getsgnam_r.c
> similarity index 100%
> rename from gshadow/getsgnam_r.c
> rename to nss/getsgnam_r.c
> diff --git a/gshadow/gshadow.h b/nss/gshadow.h
> similarity index 100%
> rename from gshadow/gshadow.h
> rename to nss/gshadow.h
> diff --git a/gshadow/putsgent.c b/nss/putsgent.c
> similarity index 100%
> rename from gshadow/putsgent.c
> rename to nss/putsgent.c
> diff --git a/gshadow/sgetsgent.c b/nss/sgetsgent.c
> similarity index 100%
> rename from gshadow/sgetsgent.c
> rename to nss/sgetsgent.c
> diff --git a/gshadow/sgetsgent_r.c b/nss/sgetsgent_r.c
> similarity index 100%
> rename from gshadow/sgetsgent_r.c
> rename to nss/sgetsgent_r.c
> diff --git a/gshadow/tst-fgetsgent_r.c b/nss/tst-fgetsgent_r.c
> similarity index 100%
> rename from gshadow/tst-fgetsgent_r.c
> rename to nss/tst-fgetsgent_r.c
> diff --git a/gshadow/tst-gshadow.c b/nss/tst-gshadow.c
> similarity index 100%
> rename from gshadow/tst-gshadow.c
> rename to nss/tst-gshadow.c
> diff --git a/gshadow/tst-putsgent.c b/nss/tst-putsgent.c
> similarity index 100%
> rename from gshadow/tst-putsgent.c
> rename to nss/tst-putsgent.c
> diff --git a/gshadow/tst-sgetsgent.c b/nss/tst-sgetsgent.c
> similarity index 100%
> rename from gshadow/tst-sgetsgent.c
> rename to nss/tst-sgetsgent.c
  

Patch

diff --git a/Makeconfig b/Makeconfig
index 9ff6a902e9..ac7fa3dbb3 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1353,7 +1353,7 @@  endif
 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        \
-	      gnulib iconv iconvdata wctype manual shadow gshadow po argp   \
+	      gnulib iconv iconvdata wctype manual shadow po argp           \
 	      localedata timezone rt conform debug mathvec support	    \
 	      dlfcn elf
 
diff --git a/gshadow/Makefile b/gshadow/Makefile
deleted file mode 100644
index a95524593a..0000000000
--- a/gshadow/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@ 
-# Copyright (C) 2009-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/>.
-
-#
-#	Makefile for gshadow.
-#
-subdir	:= gshadow
-
-include ../Makeconfig
-
-headers		= gshadow.h
-routines	= getsgent getsgnam sgetsgent fgetsgent putsgent \
-		  getsgent_r getsgnam_r sgetsgent_r fgetsgent_r
-
-tests = tst-gshadow tst-putsgent tst-fgetsgent_r tst-sgetsgent
-
-CFLAGS-getsgent_r.c += -fexceptions
-CFLAGS-getsgent.c += -fexceptions
-CFLAGS-fgetsgent.c += -fexceptions
-CFLAGS-fgetsgent_r.c += -fexceptions $(libio-mtsafe)
-CFLAGS-putsgent.c += -fexceptions $(libio-mtsafe)
-CFLAGS-getsgnam.c += -fexceptions
-CFLAGS-getsgnam_r.c += -fexceptions
-
-include ../Rules
diff --git a/gshadow/Versions b/gshadow/Versions
deleted file mode 100644
index 1dba0c5f19..0000000000
--- a/gshadow/Versions
+++ /dev/null
@@ -1,21 +0,0 @@ 
-libc {
-  GLIBC_2.10 {
-    # e*
-    endsgent;
-
-    # f*
-    fgetsgent; fgetsgent_r;
-
-    # g*
-    getsgent; getsgent_r; getsgnam; getsgnam_r;
-
-    # p*
-    putsgent;
-
-    # s*
-    setsgent;
-
-    # s*
-    sgetsgent; sgetsgent_r;
-  }
-}
diff --git a/include/gshadow.h b/include/gshadow.h
index 1cefcfc641..95f8f950a9 100644
--- a/include/gshadow.h
+++ b/include/gshadow.h
@@ -1,5 +1,5 @@ 
 #ifndef _GSHADOW_H
-#include <gshadow/gshadow.h>
+#include <nss/gshadow.h>
 
 # ifndef _ISOMAC
 
diff --git a/nss/Makefile b/nss/Makefile
index baf7d9d0ab..5256b90f8b 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -24,6 +24,7 @@  include ../Makeconfig
 
 headers := \
   grp.h \
+  gshadow.h \
   nss.h \
   # headers
 
@@ -79,6 +80,29 @@  CFLAGS-initgroups.c += -fexceptions
 CFLAGS-putgrent.c += -fexceptions $(libio-mtsafe)
 endif
 
+# gshadow routines:
+routines += \
+  fgetsgent \
+  fgetsgent_r \
+  getsgent \
+  getsgent_r \
+  getsgnam \
+  getsgnam_r \
+  putsgent \
+  sgetsgent \
+  sgetsgent_r \
+  # routines
+
+ifeq ($(have-thread-library),yes)
+CFLAGS-getsgent_r.c += -fexceptions
+CFLAGS-getsgent.c += -fexceptions
+CFLAGS-fgetsgent.c += -fexceptions
+CFLAGS-fgetsgent_r.c += -fexceptions $(libio-mtsafe)
+CFLAGS-putsgent.c += -fexceptions $(libio-mtsafe)
+CFLAGS-getsgnam.c += -fexceptions
+CFLAGS-getsgnam_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.
@@ -118,6 +142,8 @@  tests := \
   test-digits-dots \
   test-netdb \
   testgrp \
+  tst-fgetsgent_r \
+  tst-gshadow \
   tst-nss-getpwent \
   tst-nss-hash \
   tst-nss-test1 \
@@ -126,6 +152,8 @@  tests := \
   tst-nss-test5 \
   tst-nss-test_errno \
   tst-putgrent \
+  tst-putsgent \
+  tst-sgetsgent \
   # tests
 
 xtests = bug-erange
diff --git a/nss/Versions b/nss/Versions
index 5401829911..6204ac0af1 100644
--- a/nss/Versions
+++ b/nss/Versions
@@ -37,6 +37,25 @@  libc {
     # g*
     getgrouplist;
   }
+  GLIBC_2.10 {
+    # e*
+    endsgent;
+
+    # f*
+    fgetsgent; fgetsgent_r;
+
+    # g*
+    getsgent; getsgent_r; getsgnam; getsgnam_r;
+
+    # p*
+    putsgent;
+
+    # s*
+    setsgent;
+
+    # s*
+    sgetsgent; sgetsgent_r;
+  }
   GLIBC_2.27 {
   }
   GLIBC_PRIVATE {
diff --git a/gshadow/fgetsgent.c b/nss/fgetsgent.c
similarity index 100%
rename from gshadow/fgetsgent.c
rename to nss/fgetsgent.c
diff --git a/gshadow/fgetsgent_r.c b/nss/fgetsgent_r.c
similarity index 100%
rename from gshadow/fgetsgent_r.c
rename to nss/fgetsgent_r.c
diff --git a/gshadow/getsgent.c b/nss/getsgent.c
similarity index 100%
rename from gshadow/getsgent.c
rename to nss/getsgent.c
diff --git a/gshadow/getsgent_r.c b/nss/getsgent_r.c
similarity index 100%
rename from gshadow/getsgent_r.c
rename to nss/getsgent_r.c
diff --git a/gshadow/getsgnam.c b/nss/getsgnam.c
similarity index 100%
rename from gshadow/getsgnam.c
rename to nss/getsgnam.c
diff --git a/gshadow/getsgnam_r.c b/nss/getsgnam_r.c
similarity index 100%
rename from gshadow/getsgnam_r.c
rename to nss/getsgnam_r.c
diff --git a/gshadow/gshadow.h b/nss/gshadow.h
similarity index 100%
rename from gshadow/gshadow.h
rename to nss/gshadow.h
diff --git a/gshadow/putsgent.c b/nss/putsgent.c
similarity index 100%
rename from gshadow/putsgent.c
rename to nss/putsgent.c
diff --git a/gshadow/sgetsgent.c b/nss/sgetsgent.c
similarity index 100%
rename from gshadow/sgetsgent.c
rename to nss/sgetsgent.c
diff --git a/gshadow/sgetsgent_r.c b/nss/sgetsgent_r.c
similarity index 100%
rename from gshadow/sgetsgent_r.c
rename to nss/sgetsgent_r.c
diff --git a/gshadow/tst-fgetsgent_r.c b/nss/tst-fgetsgent_r.c
similarity index 100%
rename from gshadow/tst-fgetsgent_r.c
rename to nss/tst-fgetsgent_r.c
diff --git a/gshadow/tst-gshadow.c b/nss/tst-gshadow.c
similarity index 100%
rename from gshadow/tst-gshadow.c
rename to nss/tst-gshadow.c
diff --git a/gshadow/tst-putsgent.c b/nss/tst-putsgent.c
similarity index 100%
rename from gshadow/tst-putsgent.c
rename to nss/tst-putsgent.c
diff --git a/gshadow/tst-sgetsgent.c b/nss/tst-sgetsgent.c
similarity index 100%
rename from gshadow/tst-sgetsgent.c
rename to nss/tst-sgetsgent.c