public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Arjun Shankar <arjun@redhat.com>
To: libc-alpha@sourceware.org, Arjun Shankar <arjun@redhat.com>
Subject: [PATCH 05/16] Remove 'pwd' and merge into 'nss'
Date: Mon,  2 Oct 2023 14:55:17 +0200	[thread overview]
Message-ID: <20231002130150.1497733-6-arjun@redhat.com> (raw)
In-Reply-To: <20231002130150.1497733-1-arjun@redhat.com>

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

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


  parent reply	other threads:[~2023-10-02 13:02 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 ` Arjun Shankar [this message]
2023-10-19 18:29   ` [PATCH 05/16] Remove 'pwd' " Adhemerval Zanella Netto
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=20231002130150.1497733-6-arjun@redhat.com \
    --to=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).