Message ID | 20231002130150.1497733-6-arjun@redhat.com |
---|---|
State | New |
Headers | show |
Series | Consolidate NSS functionality into nss subdir | expand |
On 02/10/23 09:55, Arjun Shankar wrote: > 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. LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > --- > 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; > - } > -}
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; - } -}