From: Arjun Shankar Date: Mon, 2 Oct 2023 12:55:17 +0000 (+0200) Subject: Remove 'pwd' and merge into 'nss' X-Git-Tag: glibc-2.39~347 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ac35d181edd38563f95c3b38e74476bfbff76d3;p=thirdparty%2Fglibc.git 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 --- diff --git a/Makeconfig b/Makeconfig index ac7fa3dbb34..e5badddbc4c 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 f8975d4957f..c4ca8bab33c 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -1,5 +1,5 @@ #ifndef _PWD_H -#include +#include #ifndef _ISOMAC /* Now define the internal interfaces. */ diff --git a/nss/Makefile b/nss/Makefile index 5256b90f8b5..28648ea8843 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 6204ac0af1c..58ca73c9df8 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 d85842af3ee..00000000000 --- 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 -# . - -# -# 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 b56970019ac..00000000000 --- 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; - } -}