From 98b107e30848198e7128f80b38b406585f0317d6 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Mon, 2 Oct 2023 14:55:16 +0200 Subject: [PATCH] Remove 'gshadow' and merge into 'nss' The majority of gshadow routines are entry points for nss functionality. This commit removes the 'gshadow' subdirectory and moves all functionality and tests to 'nss'. References to gshadow/ are accordingly changed. Reviewed-by: Adhemerval Zanella --- Makeconfig | 2 +- gshadow/Makefile | 39 ------------------------------ gshadow/Versions | 21 ---------------- include/gshadow.h | 2 +- nss/Makefile | 28 +++++++++++++++++++++ nss/Versions | 19 +++++++++++++++ {gshadow => nss}/fgetsgent.c | 0 {gshadow => nss}/fgetsgent_r.c | 0 {gshadow => nss}/getsgent.c | 0 {gshadow => nss}/getsgent_r.c | 0 {gshadow => nss}/getsgnam.c | 0 {gshadow => nss}/getsgnam_r.c | 0 {gshadow => nss}/gshadow.h | 0 {gshadow => nss}/putsgent.c | 0 {gshadow => nss}/sgetsgent.c | 0 {gshadow => nss}/sgetsgent_r.c | 0 {gshadow => nss}/tst-fgetsgent_r.c | 0 {gshadow => nss}/tst-gshadow.c | 0 {gshadow => nss}/tst-putsgent.c | 0 {gshadow => nss}/tst-sgetsgent.c | 0 20 files changed, 49 insertions(+), 62 deletions(-) delete mode 100644 gshadow/Makefile delete mode 100644 gshadow/Versions rename {gshadow => nss}/fgetsgent.c (100%) rename {gshadow => nss}/fgetsgent_r.c (100%) rename {gshadow => nss}/getsgent.c (100%) rename {gshadow => nss}/getsgent_r.c (100%) rename {gshadow => nss}/getsgnam.c (100%) rename {gshadow => nss}/getsgnam_r.c (100%) rename {gshadow => nss}/gshadow.h (100%) rename {gshadow => nss}/putsgent.c (100%) rename {gshadow => nss}/sgetsgent.c (100%) rename {gshadow => nss}/sgetsgent_r.c (100%) rename {gshadow => nss}/tst-fgetsgent_r.c (100%) rename {gshadow => nss}/tst-gshadow.c (100%) rename {gshadow => nss}/tst-putsgent.c (100%) rename {gshadow => nss}/tst-sgetsgent.c (100%) diff --git a/Makeconfig b/Makeconfig index 9ff6a902e9..ac7fa3dbb3 100644 --- a/Makeconfig +++ b/Makeconfig @@ -1353,7 +1353,7 @@ endif 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 \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ + gnulib iconv iconvdata wctype manual shadow po argp \ localedata timezone rt conform debug mathvec support \ dlfcn elf diff --git a/gshadow/Makefile b/gshadow/Makefile deleted file mode 100644 index a95524593a..0000000000 --- a/gshadow/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (C) 2009-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 -# . - -# -# Makefile for gshadow. -# -subdir := gshadow - -include ../Makeconfig - -headers = gshadow.h -routines = getsgent getsgnam sgetsgent fgetsgent putsgent \ - getsgent_r getsgnam_r sgetsgent_r fgetsgent_r - -tests = tst-gshadow tst-putsgent tst-fgetsgent_r tst-sgetsgent - -CFLAGS-getsgent_r.c += -fexceptions -CFLAGS-getsgent.c += -fexceptions -CFLAGS-fgetsgent.c += -fexceptions -CFLAGS-fgetsgent_r.c += -fexceptions $(libio-mtsafe) -CFLAGS-putsgent.c += -fexceptions $(libio-mtsafe) -CFLAGS-getsgnam.c += -fexceptions -CFLAGS-getsgnam_r.c += -fexceptions - -include ../Rules diff --git a/gshadow/Versions b/gshadow/Versions deleted file mode 100644 index 1dba0c5f19..0000000000 --- a/gshadow/Versions +++ /dev/null @@ -1,21 +0,0 @@ -libc { - GLIBC_2.10 { - # e* - endsgent; - - # f* - fgetsgent; fgetsgent_r; - - # g* - getsgent; getsgent_r; getsgnam; getsgnam_r; - - # p* - putsgent; - - # s* - setsgent; - - # s* - sgetsgent; sgetsgent_r; - } -} diff --git a/include/gshadow.h b/include/gshadow.h index 1cefcfc641..95f8f950a9 100644 --- a/include/gshadow.h +++ b/include/gshadow.h @@ -1,5 +1,5 @@ #ifndef _GSHADOW_H -#include +#include # ifndef _ISOMAC diff --git a/nss/Makefile b/nss/Makefile index baf7d9d0ab..5256b90f8b 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -24,6 +24,7 @@ include ../Makeconfig headers := \ grp.h \ + gshadow.h \ nss.h \ # headers @@ -79,6 +80,29 @@ CFLAGS-initgroups.c += -fexceptions CFLAGS-putgrent.c += -fexceptions $(libio-mtsafe) endif +# gshadow routines: +routines += \ + fgetsgent \ + fgetsgent_r \ + getsgent \ + getsgent_r \ + getsgnam \ + getsgnam_r \ + putsgent \ + sgetsgent \ + sgetsgent_r \ + # routines + +ifeq ($(have-thread-library),yes) +CFLAGS-getsgent_r.c += -fexceptions +CFLAGS-getsgent.c += -fexceptions +CFLAGS-fgetsgent.c += -fexceptions +CFLAGS-fgetsgent_r.c += -fexceptions $(libio-mtsafe) +CFLAGS-putsgent.c += -fexceptions $(libio-mtsafe) +CFLAGS-getsgnam.c += -fexceptions +CFLAGS-getsgnam_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. @@ -118,6 +142,8 @@ tests := \ test-digits-dots \ test-netdb \ testgrp \ + tst-fgetsgent_r \ + tst-gshadow \ tst-nss-getpwent \ tst-nss-hash \ tst-nss-test1 \ @@ -126,6 +152,8 @@ tests := \ tst-nss-test5 \ tst-nss-test_errno \ tst-putgrent \ + tst-putsgent \ + tst-sgetsgent \ # tests xtests = bug-erange diff --git a/nss/Versions b/nss/Versions index 5401829911..6204ac0af1 100644 --- a/nss/Versions +++ b/nss/Versions @@ -37,6 +37,25 @@ libc { # g* getgrouplist; } + GLIBC_2.10 { + # e* + endsgent; + + # f* + fgetsgent; fgetsgent_r; + + # g* + getsgent; getsgent_r; getsgnam; getsgnam_r; + + # p* + putsgent; + + # s* + setsgent; + + # s* + sgetsgent; sgetsgent_r; + } GLIBC_2.27 { } GLIBC_PRIVATE { diff --git a/gshadow/fgetsgent.c b/nss/fgetsgent.c similarity index 100% rename from gshadow/fgetsgent.c rename to nss/fgetsgent.c diff --git a/gshadow/fgetsgent_r.c b/nss/fgetsgent_r.c similarity index 100% rename from gshadow/fgetsgent_r.c rename to nss/fgetsgent_r.c diff --git a/gshadow/getsgent.c b/nss/getsgent.c similarity index 100% rename from gshadow/getsgent.c rename to nss/getsgent.c diff --git a/gshadow/getsgent_r.c b/nss/getsgent_r.c similarity index 100% rename from gshadow/getsgent_r.c rename to nss/getsgent_r.c diff --git a/gshadow/getsgnam.c b/nss/getsgnam.c similarity index 100% rename from gshadow/getsgnam.c rename to nss/getsgnam.c diff --git a/gshadow/getsgnam_r.c b/nss/getsgnam_r.c similarity index 100% rename from gshadow/getsgnam_r.c rename to nss/getsgnam_r.c diff --git a/gshadow/gshadow.h b/nss/gshadow.h similarity index 100% rename from gshadow/gshadow.h rename to nss/gshadow.h diff --git a/gshadow/putsgent.c b/nss/putsgent.c similarity index 100% rename from gshadow/putsgent.c rename to nss/putsgent.c diff --git a/gshadow/sgetsgent.c b/nss/sgetsgent.c similarity index 100% rename from gshadow/sgetsgent.c rename to nss/sgetsgent.c diff --git a/gshadow/sgetsgent_r.c b/nss/sgetsgent_r.c similarity index 100% rename from gshadow/sgetsgent_r.c rename to nss/sgetsgent_r.c diff --git a/gshadow/tst-fgetsgent_r.c b/nss/tst-fgetsgent_r.c similarity index 100% rename from gshadow/tst-fgetsgent_r.c rename to nss/tst-fgetsgent_r.c diff --git a/gshadow/tst-gshadow.c b/nss/tst-gshadow.c similarity index 100% rename from gshadow/tst-gshadow.c rename to nss/tst-gshadow.c diff --git a/gshadow/tst-putsgent.c b/nss/tst-putsgent.c similarity index 100% rename from gshadow/tst-putsgent.c rename to nss/tst-putsgent.c diff --git a/gshadow/tst-sgetsgent.c b/nss/tst-sgetsgent.c similarity index 100% rename from gshadow/tst-sgetsgent.c rename to nss/tst-sgetsgent.c