From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id BB7153858D35 for ; Thu, 29 Jun 2023 21:26:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BB7153858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688073993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to; bh=096I0krVetIuA2b4sZ4bQkZle9rRoR9N7DnN2Sd90k4=; b=YHV8HyO7MSa9p7qedYJyEDl2k8xPdQqZnbf+vY9f62mVqgRLwFvj2uEFl2lTYqXT/GbBh1 hj9QF5OPtV2FK4XeMZA7NU/FPWwNedKvKT8yp0xqmWBgrIwfG5iNIeTCzCBc9GPI37N28L n0n3r9WAKL/dbWRd2TgzaKJp9WeHR88= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-182-bilLwcD5MNyEdK_vdJn2rg-1; Thu, 29 Jun 2023 17:26:31 -0400 X-MC-Unique: bilLwcD5MNyEdK_vdJn2rg-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 93D8A88D583 for ; Thu, 29 Jun 2023 21:26:31 +0000 (UTC) Received: from greed.delorie.com (unknown [10.22.8.11]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 78DFA492C13; Thu, 29 Jun 2023 21:26:31 +0000 (UTC) Received: from greed.delorie.com.redhat.com (localhost [127.0.0.1]) by greed.delorie.com (8.15.2/8.15.2) with ESMTP id 35TLQU1x592431; Thu, 29 Jun 2023 17:26:30 -0400 From: DJ Delorie To: Arjun Shankar Cc: libc-alpha@sourceware.org Subject: Re: [PATCH] Remove 'grp' and merge into 'nss' and 'posix' In-Reply-To: <20230629113408.724726-1-arjun@redhat.com> Date: Thu, 29 Jun 2023 17:26:30 -0400 Message-ID: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-10.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Arjun Shankar via Libc-alpha writes: > This commit removes the 'grp' subdirectory and moves all nss-relevant > functionality and all tests to 'nss', and the 'setgroups' stub into Reviewing it as a "just a move" patch, then. LGTM. Reviewed-by: DJ Delorie > - grp pwd posix io termios resource misc socket sysvipc gmon \ > + pwd posix io termios resource misc socket sysvipc gmon \ Removes grp, ok. > diff --git a/grp/Makefile b/grp/Makefile > deleted file mode 100644 Ok. > diff --git a/grp/Versions b/grp/Versions > deleted file mode 100644 Ok. > -#include > +#include Ok. > -#include > +#include Ok. > -#include "../grp/compat-initgroups.c" > +#include "../nss/initgroups-fallback.c" Ok. > diff --git a/nss/Makefile b/nss/Makefile > -headers := nss.h > +headers := nss.h grp.h Ok. > +# grp routines: > +routines += \ > + fgetgrent \ > + fgetgrent_r \ > + getgrent \ > + getgrent_r \ > + getgrgid \ > + getgrgid_r \ > + getgrnam \ > + getgrnam_r \ > + grp-merge \ > + initgroups \ > + putgrent \ > + # routines Ok. Missing setgroups, which goes elsewhere. > +ifeq ($(have-thread-library),yes) > +CFLAGS-fgetgrent.c += -fexceptions > +CFLAGS-fgetgrent_r.c += -fexceptions $(libio-mtsafe) > +CFLAGS-getgrent.c += -fexceptions > +CFLAGS-getgrent_r.c += -fexceptions > +CFLAGS-getgrgid.c += -fexceptions > +CFLAGS-getgrgid_r.c += -fexceptions > +CFLAGS-getgrnam.c += -fexceptions > +CFLAGS-getgrnam_r.c += -fexceptions > +CFLAGS-initgroups.c += -fexceptions > +CFLAGS-putgrent.c += -fexceptions $(libio-mtsafe) > +endif Ok. > @@ -61,6 +89,7 @@ tests := \ > bug17079 \ > test-digits-dots \ > test-netdb \ > + testgrp \ > tst-nss-getpwent \ > tst-nss-hash \ > tst-nss-test1 \ > @@ -68,11 +97,14 @@ tests := \ > tst-nss-test4 \ > tst-nss-test5 \ > tst-nss-test_errno \ > -# tests > + tst-putgrent \ > + # tests Ok. > xtests = bug-erange > > tests-container := \ > + tst-initgroups1 \ > + tst-initgroups2 \ > tst-nss-compat1 \ > tst-nss-db-endgrent \ > tst-nss-db-endpwent \ > @@ -81,15 +113,23 @@ tests-container := \ > tst-nss-test3 \ > tst-reload1 \ > tst-reload2 \ > -# tests-container > + # tests-container Ok. > -# Tests which need libdl > ifeq (yes,$(build-shared)) > +# Tests which need libdl > tests += tst-nss-files-hosts-erange > tests += tst-nss-files-hosts-multi > tests += tst-nss-files-hosts-getent > tests += tst-nss-files-alias-leak > tests += tst-nss-files-alias-truncated > +# tst_fgetgrent currently only works with shared libraries > +test-srcs := tst_fgetgrent > +ifeq ($(run-built-tests),yes) > +tests-special += $(objpfx)tst_fgetgrent.out > +$(objpfx)tst_fgetgrent.out: tst_fgetgrent.sh $(objpfx)tst_fgetgrent > + $(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \ > + $(evaluate-test) > +endif > endif Ok. > diff --git a/nss/Versions b/nss/Versions > index e551524aa9..5401829911 100644 > --- a/nss/Versions > +++ b/nss/Versions > @@ -5,10 +5,38 @@ libc { > # Functions exported as no-op compat symbols. > __nss_passwd_lookup; __nss_group_lookup; __nss_hosts_lookup; __nss_next; > __nss_database_lookup; > + > + # e* > + endgrent; > + > + # f* > + fgetgrent; fgetgrent_r; > + > + # g* > + getgrent; getgrent_r; getgrgid; getgrgid_r; getgrnam; getgrnam_r; > + getgroups; > + > + # i* > + initgroups; > + > + # s* > + setgrent; > + } > + GLIBC_2.1 { > + # p* > + putgrent; > + } > + GLIBC_2.1.2 { > + # g* > + getgrent_r; getgrgid_r; getgrnam_r; > } > GLIBC_2.2.2 { > __nss_hostname_digits_dots; > } > + GLIBC_2.2.4 { > + # g* > + getgrouplist; > + } > GLIBC_2.27 { > } > GLIBC_PRIVATE { > @@ -107,6 +135,8 @@ libc { > _nss_files_initgroups_dyn; > > _nss_files_init; > + > + __merge_grp; __copy_grp; > } > } Ok. > diff --git a/grp/fgetgrent.c b/nss/fgetgrent.c > similarity index 100% > rename from grp/fgetgrent.c > rename to nss/fgetgrent.c > diff --git a/grp/fgetgrent_r.c b/nss/fgetgrent_r.c > similarity index 100% > rename from grp/fgetgrent_r.c > rename to nss/fgetgrent_r.c > diff --git a/grp/getgrent.c b/nss/getgrent.c > similarity index 100% > rename from grp/getgrent.c > rename to nss/getgrent.c > diff --git a/grp/getgrent_r.c b/nss/getgrent_r.c > similarity index 100% > rename from grp/getgrent_r.c > rename to nss/getgrent_r.c > diff --git a/grp/getgrgid.c b/nss/getgrgid.c > similarity index 100% > rename from grp/getgrgid.c > rename to nss/getgrgid.c > diff --git a/grp/getgrgid_r.c b/nss/getgrgid_r.c > similarity index 100% > rename from grp/getgrgid_r.c > rename to nss/getgrgid_r.c > diff --git a/grp/getgrnam.c b/nss/getgrnam.c > similarity index 100% > rename from grp/getgrnam.c > rename to nss/getgrnam.c > diff --git a/grp/getgrnam_r.c b/nss/getgrnam_r.c > similarity index 100% > rename from grp/getgrnam_r.c > rename to nss/getgrnam_r.c > diff --git a/grp/grp-merge.c b/nss/grp-merge.c > similarity index 100% > rename from grp/grp-merge.c > rename to nss/grp-merge.c > diff --git a/grp/grp-merge.h b/nss/grp-merge.h > similarity index 100% > rename from grp/grp-merge.h > rename to nss/grp-merge.h > diff --git a/grp/grp.h b/nss/grp.h > similarity index 100% > rename from grp/grp.h > rename to nss/grp.h > diff --git a/grp/compat-initgroups.c b/nss/initgroups-fallback.c > similarity index 100% > rename from grp/compat-initgroups.c > rename to nss/initgroups-fallback.c Ok. > diff --git a/grp/initgroups.c b/nss/initgroups.c > similarity index 99% > rename from grp/initgroups.c > rename to nss/initgroups.c > index 2ebd623d7b..e803cecebc 100644 > --- a/grp/initgroups.c > +++ b/nss/initgroups.c > @@ -39,7 +39,7 @@ typedef enum nss_status (*initgroups_dyn_function) (const char *, gid_t, > static bool use_initgroups_entry; > > > -#include "compat-initgroups.c" > +#include "initgroups-fallback.c" Ok. > diff --git a/grp/putgrent.c b/nss/putgrent.c > similarity index 100% > rename from grp/putgrent.c > rename to nss/putgrent.c > diff --git a/grp/testgrp.c b/nss/testgrp.c > similarity index 100% > rename from grp/testgrp.c > rename to nss/testgrp.c > diff --git a/grp/tst-initgroups1.c b/nss/tst-initgroups1.c > similarity index 100% > rename from grp/tst-initgroups1.c > rename to nss/tst-initgroups1.c > diff --git a/grp/tst-initgroups1.root/etc/group b/nss/tst-initgroups1.root/etc/group > similarity index 100% > rename from grp/tst-initgroups1.root/etc/group > rename to nss/tst-initgroups1.root/etc/group > diff --git a/grp/tst-initgroups1.root/etc/nsswitch.conf b/nss/tst-initgroups1.root/etc/nsswitch.conf > similarity index 100% > rename from grp/tst-initgroups1.root/etc/nsswitch.conf > rename to nss/tst-initgroups1.root/etc/nsswitch.conf > diff --git a/grp/tst-initgroups1.root/etc/passwd b/nss/tst-initgroups1.root/etc/passwd > similarity index 100% > rename from grp/tst-initgroups1.root/etc/passwd > rename to nss/tst-initgroups1.root/etc/passwd > diff --git a/grp/tst-initgroups2.c b/nss/tst-initgroups2.c > similarity index 100% > rename from grp/tst-initgroups2.c > rename to nss/tst-initgroups2.c > diff --git a/grp/tst-initgroups2.root/etc/group b/nss/tst-initgroups2.root/etc/group > similarity index 100% > rename from grp/tst-initgroups2.root/etc/group > rename to nss/tst-initgroups2.root/etc/group > diff --git a/grp/tst-initgroups2.root/etc/nsswitch.conf b/nss/tst-initgroups2.root/etc/nsswitch.conf > similarity index 100% > rename from grp/tst-initgroups2.root/etc/nsswitch.conf > rename to nss/tst-initgroups2.root/etc/nsswitch.conf > diff --git a/grp/tst-initgroups2.root/etc/passwd b/nss/tst-initgroups2.root/etc/passwd > similarity index 100% > rename from grp/tst-initgroups2.root/etc/passwd > rename to nss/tst-initgroups2.root/etc/passwd > diff --git a/grp/tst-putgrent.c b/nss/tst-putgrent.c > similarity index 100% > rename from grp/tst-putgrent.c > rename to nss/tst-putgrent.c > diff --git a/grp/tst_fgetgrent.c b/nss/tst_fgetgrent.c > similarity index 100% > rename from grp/tst_fgetgrent.c > rename to nss/tst_fgetgrent.c Ok. > diff --git a/grp/tst_fgetgrent.sh b/nss/tst_fgetgrent.sh > similarity index 76% > rename from grp/tst_fgetgrent.sh > rename to nss/tst_fgetgrent.sh > index 1775a6bc61..fb6b0c4179 100644 > --- a/grp/tst_fgetgrent.sh > +++ b/nss/tst_fgetgrent.sh > @@ -21,20 +21,20 @@ set -e > common_objpfx=$1; shift > test_program_prefix=$1; shift > > -testout=${common_objpfx}/grp/tst_fgetgrent.out > +testout=${common_objpfx}/nss/tst_fgetgrent.out Ok. > result=0 > > ${test_program_prefix} \ > -${common_objpfx}grp/tst_fgetgrent 0 > ${testout} || result=1 > +${common_objpfx}nss/tst_fgetgrent 0 > ${testout} || result=1 Ok. > ${test_program_prefix} \ > -${common_objpfx}grp/tst_fgetgrent 1 >> ${testout} || result=1 > +${common_objpfx}nss/tst_fgetgrent 1 >> ${testout} || result=1 Ok. > ${test_program_prefix} \ > -${common_objpfx}grp/tst_fgetgrent 2 >> ${testout} || result=1 > +${common_objpfx}nss/tst_fgetgrent 2 >> ${testout} || result=1 Ok. > ${test_program_prefix} \ > -${common_objpfx}grp/tst_fgetgrent 3 >> ${testout} || result=1 > +${common_objpfx}nss/tst_fgetgrent 3 >> ${testout} || result=1 Ok. > diff --git a/posix/Makefile b/posix/Makefile > index ad43cbdec6..39caa95ec2 100644 > --- a/posix/Makefile > +++ b/posix/Makefile > @@ -135,6 +135,7 @@ routines := \ > sched_sets \ > sched_yield \ > setgid \ > + setgroups \ > setpgid \ > setpgrp \ > setresgid \ Ok. > diff --git a/posix/Versions b/posix/Versions > - setpgid; setpgrp; setsid; setuid; sleep; sysconf; > + setgroups; setpgid; setpgrp; setsid; setuid; sleep; sysconf; Ok. > diff --git a/grp/setgroups.c b/posix/setgroups.c > - grp/initgroups.c | misc/bits/stab.def | posix/regex.h \ > + nss/initgroups.c | misc/bits/stab.def | posix/regex.h \ Ok.