about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArjun Shankar <arjun@redhat.com>2023-10-02 14:55:17 +0200
committerArjun Shankar <arjun@redhat.com>2023-10-24 12:30:59 +0200
commit0ac35d181edd38563f95c3b38e74476bfbff76d3 (patch)
tree7f0cdb954a8d458a895d3aa138882b79397381d6
parent98b107e30848198e7128f80b38b406585f0317d6 (diff)
downloadglibc-0ac35d181edd38563f95c3b38e74476bfbff76d3.tar.gz
glibc-0ac35d181edd38563f95c3b38e74476bfbff76d3.tar.xz
glibc-0ac35d181edd38563f95c3b38e74476bfbff76d3.zip
Remove 'pwd' and merge into 'nss'
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.
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
-rw-r--r--Makeconfig2
-rw-r--r--include/pwd.h2
-rw-r--r--nss/Makefile24
-rw-r--r--nss/Versions8
-rw-r--r--nss/fgetpwent.c (renamed from pwd/fgetpwent.c)0
-rw-r--r--nss/fgetpwent_r.c (renamed from pwd/fgetpwent_r.c)0
-rw-r--r--nss/getpw.c (renamed from pwd/getpw.c)0
-rw-r--r--nss/getpwent.c (renamed from pwd/getpwent.c)0
-rw-r--r--nss/getpwent_r.c (renamed from pwd/getpwent_r.c)0
-rw-r--r--nss/getpwnam.c (renamed from pwd/getpwnam.c)0
-rw-r--r--nss/getpwnam_r.c (renamed from pwd/getpwnam_r.c)0
-rw-r--r--nss/getpwuid.c (renamed from pwd/getpwuid.c)0
-rw-r--r--nss/getpwuid_r.c (renamed from pwd/getpwuid_r.c)0
-rw-r--r--nss/putpwent.c (renamed from pwd/putpwent.c)0
-rw-r--r--nss/pwd.h (renamed from pwd/pwd.h)0
-rw-r--r--nss/tst-getpw.c (renamed from pwd/tst-getpw.c)0
-rw-r--r--nss/tst-putpwent.c (renamed from pwd/tst-putpwent.c)0
-rw-r--r--pwd/Makefile42
-rw-r--r--pwd/Versions19
19 files changed, 34 insertions, 63 deletions
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
index b7864d263a..b7864d263a 100644
--- a/pwd/fgetpwent.c
+++ b/nss/fgetpwent.c
diff --git a/pwd/fgetpwent_r.c b/nss/fgetpwent_r.c
index 5427447a36..5427447a36 100644
--- a/pwd/fgetpwent_r.c
+++ b/nss/fgetpwent_r.c
diff --git a/pwd/getpw.c b/nss/getpw.c
index cf747374b8..cf747374b8 100644
--- a/pwd/getpw.c
+++ b/nss/getpw.c
diff --git a/pwd/getpwent.c b/nss/getpwent.c
index eb65bdc73b..eb65bdc73b 100644
--- a/pwd/getpwent.c
+++ b/nss/getpwent.c
diff --git a/pwd/getpwent_r.c b/nss/getpwent_r.c
index f26bf89ddc..f26bf89ddc 100644
--- a/pwd/getpwent_r.c
+++ b/nss/getpwent_r.c
diff --git a/pwd/getpwnam.c b/nss/getpwnam.c
index 9a28d53670..9a28d53670 100644
--- a/pwd/getpwnam.c
+++ b/nss/getpwnam.c
diff --git a/pwd/getpwnam_r.c b/nss/getpwnam_r.c
index e91067080c..e91067080c 100644
--- a/pwd/getpwnam_r.c
+++ b/nss/getpwnam_r.c
diff --git a/pwd/getpwuid.c b/nss/getpwuid.c
index d92fb22a0e..d92fb22a0e 100644
--- a/pwd/getpwuid.c
+++ b/nss/getpwuid.c
diff --git a/pwd/getpwuid_r.c b/nss/getpwuid_r.c
index 763fad5191..763fad5191 100644
--- a/pwd/getpwuid_r.c
+++ b/nss/getpwuid_r.c
diff --git a/pwd/putpwent.c b/nss/putpwent.c
index 335e20ad86..335e20ad86 100644
--- a/pwd/putpwent.c
+++ b/nss/putpwent.c
diff --git a/pwd/pwd.h b/nss/pwd.h
index d96f153da8..d96f153da8 100644
--- a/pwd/pwd.h
+++ b/nss/pwd.h
diff --git a/pwd/tst-getpw.c b/nss/tst-getpw.c
index 30d4740c6c..30d4740c6c 100644
--- a/pwd/tst-getpw.c
+++ b/nss/tst-getpw.c
diff --git a/pwd/tst-putpwent.c b/nss/tst-putpwent.c
index 3014e0a218..3014e0a218 100644
--- a/pwd/tst-putpwent.c
+++ b/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;
-  }
-}