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
next prev 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).