public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Don't add nis subdir for new architectures
@ 2018-07-04 15:32 Andreas Schwab
  2018-07-04 15:54 ` Zack Weinberg
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Andreas Schwab @ 2018-07-04 15:32 UTC (permalink / raw)
  To: libc-alpha

For future architectures, sysdeps/unix/inet no longer implies building the
nis subdirectory, and --enable-obsolete-nsl is ignored.

	* sysdeps/unix/inet/Subdirs: Remove nis.
	* sysdeps/unix/bsd/Subdirs: New file.
	* sysdeps/unix/sysv/linux/aarch64/Subdirs: New file.
	* sysdeps/unix/sysv/linux/alpha/Subdirs: New file.
	* sysdeps/unix/sysv/linux/arm/Subdirs: New file.
	* sysdeps/unix/sysv/linux/hppa/Subdirs: New file.
	* sysdeps/unix/sysv/linux/i386/Subdirs: New file.
	* sysdeps/unix/sysv/linux/ia64/Subdirs: New file.
	* sysdeps/unix/sysv/linux/m68k/Subdirs: New file.
	* sysdeps/unix/sysv/linux/microblaze/Subdirs: New file.
	* sysdeps/unix/sysv/linux/mips/Subdirs: New file.
	* sysdeps/unix/sysv/linux/powerpc/Subdirs: New file.
	* sysdeps/unix/sysv/linux/riscv/Subdirs: New file.
	* sysdeps/unix/sysv/linux/s390/Subdirs: New file.
	* sysdeps/unix/sysv/linux/sh/Subdirs: New file.
	* sysdeps/unix/sysv/linux/sparc/Subdirs: New file.
	* sysdeps/unix/sysv/linux/x86_64/Subdirs: New file.
	* manual/install.texi: Update --enable-obsolete-nsl.
	* INSTALL: Regenerate.
---
 INSTALL                                    | 4 +++-
 NEWS                                       | 4 ++++
 manual/install.texi                        | 2 ++
 sysdeps/unix/bsd/Subdirs                   | 1 +
 sysdeps/unix/inet/Subdirs                  | 1 -
 sysdeps/unix/sysv/linux/aarch64/Subdirs    | 1 +
 sysdeps/unix/sysv/linux/alpha/Subdirs      | 1 +
 sysdeps/unix/sysv/linux/arm/Subdirs        | 1 +
 sysdeps/unix/sysv/linux/hppa/Subdirs       | 1 +
 sysdeps/unix/sysv/linux/i386/Subdirs       | 1 +
 sysdeps/unix/sysv/linux/ia64/Subdirs       | 1 +
 sysdeps/unix/sysv/linux/m68k/Subdirs       | 1 +
 sysdeps/unix/sysv/linux/microblaze/Subdirs | 1 +
 sysdeps/unix/sysv/linux/mips/Subdirs       | 1 +
 sysdeps/unix/sysv/linux/powerpc/Subdirs    | 1 +
 sysdeps/unix/sysv/linux/riscv/Subdirs      | 1 +
 sysdeps/unix/sysv/linux/s390/Subdirs       | 1 +
 sysdeps/unix/sysv/linux/sh/Subdirs         | 1 +
 sysdeps/unix/sysv/linux/sparc/Subdirs      | 1 +
 sysdeps/unix/sysv/linux/x86_64/Subdirs     | 1 +
 20 files changed, 25 insertions(+), 2 deletions(-)
 create mode 100644 sysdeps/unix/bsd/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/aarch64/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/alpha/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/arm/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/hppa/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/i386/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/ia64/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/m68k/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/microblaze/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/mips/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/powerpc/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/riscv/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/s390/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/sh/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/sparc/Subdirs
 create mode 100644 sysdeps/unix/sysv/linux/x86_64/Subdirs

diff --git a/INSTALL b/INSTALL
index 3c656fb7a6..9c2bc861c2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -195,7 +195,9 @@ if 'CFLAGS' is specified it must enable optimization.  For example:
      By default, libnsl is only built as shared library for backward
      compatibility and the NSS modules libnss_compat, libnss_nis and
      libnss_nisplus are not built at all.  Use this option to enable
-     libnsl with all depending NSS modules and header files.
+     libnsl with all depending NSS modules and header files.  This
+     option has no effect on architectures that were added after the
+     2.27 release.
 
 '--disable-crypt'
      Do not install the passphrase-hashing library 'libcrypt' or the
diff --git a/NEWS b/NEWS
index b1ce067d27..994c23391e 100644
--- a/NEWS
+++ b/NEWS
@@ -152,6 +152,10 @@ Deprecated and removed features, and other changes affecting compatibility:
   project's versions of these files.  The plan is to make this the default
   behavior in a future release.
 
+* Future architecture ports will no longer build a compatibility libnsl
+  shared library, and --enable-obsolete-nsl will be ignored on those
+  architectures.
+
 Changes to build and runtime requirements:
 
   GNU make 4.0 or later is now required to build glibc.
diff --git a/manual/install.texi b/manual/install.texi
index 42e9954199..a670843b93 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -229,6 +229,8 @@ compatibility and the NSS modules libnss_compat, libnss_nis and
 libnss_nisplus are not built at all.
 Use this option to enable libnsl with all depending NSS modules and
 header files.
+This option has no effect on architectures that were added after the
+2.27 release.
 
 @item --disable-crypt
 Do not install the passphrase-hashing library @file{libcrypt} or the
diff --git a/sysdeps/unix/bsd/Subdirs b/sysdeps/unix/bsd/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/bsd/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/inet/Subdirs b/sysdeps/unix/inet/Subdirs
index 0a02dd4447..5040dd0a6e 100644
--- a/sysdeps/unix/inet/Subdirs
+++ b/sysdeps/unix/inet/Subdirs
@@ -2,7 +2,6 @@ inet
 resolv
 hesiod
 sunrpc
-nis
 nscd
 nss
 streams
diff --git a/sysdeps/unix/sysv/linux/aarch64/Subdirs b/sysdeps/unix/sysv/linux/aarch64/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/aarch64/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/alpha/Subdirs b/sysdeps/unix/sysv/linux/alpha/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/arm/Subdirs b/sysdeps/unix/sysv/linux/arm/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/hppa/Subdirs b/sysdeps/unix/sysv/linux/hppa/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/hppa/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/i386/Subdirs b/sysdeps/unix/sysv/linux/i386/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/ia64/Subdirs b/sysdeps/unix/sysv/linux/ia64/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/m68k/Subdirs b/sysdeps/unix/sysv/linux/m68k/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/microblaze/Subdirs b/sysdeps/unix/sysv/linux/microblaze/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/microblaze/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/mips/Subdirs b/sysdeps/unix/sysv/linux/mips/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/powerpc/Subdirs b/sysdeps/unix/sysv/linux/powerpc/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/riscv/Subdirs b/sysdeps/unix/sysv/linux/riscv/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/riscv/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/s390/Subdirs b/sysdeps/unix/sysv/linux/s390/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/sh/Subdirs b/sysdeps/unix/sysv/linux/sh/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sh/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/sparc/Subdirs b/sysdeps/unix/sysv/linux/sparc/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/Subdirs
@@ -0,0 +1 @@
+nis
diff --git a/sysdeps/unix/sysv/linux/x86_64/Subdirs b/sysdeps/unix/sysv/linux/x86_64/Subdirs
new file mode 100644
index 0000000000..94f155b1c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/Subdirs
@@ -0,0 +1 @@
+nis
-- 
2.18.0


-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Don't add nis subdir for new architectures
  2018-07-04 15:32 [PATCH] Don't add nis subdir for new architectures Andreas Schwab
@ 2018-07-04 15:54 ` Zack Weinberg
  2018-07-17 10:18 ` Florian Weimer
  2018-07-17 20:12 ` Joseph Myers
  2 siblings, 0 replies; 9+ messages in thread
From: Zack Weinberg @ 2018-07-04 15:54 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: GNU C Library

On Wed, Jul 4, 2018 at 11:31 AM, Andreas Schwab <schwab@suse.de> wrote:
> For future architectures, sysdeps/unix/inet no longer implies building the
> nis subdirectory, and --enable-obsolete-nsl is ignored.

This change appears to be technically correct for the existing Linux
ports.  I don't have enough context to assess whether it might have
negative consequences, but I support it in principle.

I have two minor concerns:

1) Should the nis directory continue to be built by default for the
existing Hurd port (ix86-gnu)?  I don't think that port has a stable
ABI yet, so perhaps not, but I'd like to hear that from Samuel.

2) The text added to install.texi / INSTALL is unclear:

> --- a/manual/install.texi
> +++ b/manual/install.texi
> @@ -229,6 +229,8 @@ compatibility and the NSS modules libnss_compat, libnss_nis and
>  libnss_nisplus are not built at all.
>  Use this option to enable libnsl with all depending NSS modules and
>  header files.
> +This option has no effect on architectures that were added after the
> +2.27 release.

as it could mean either that --enable-obsolete-nsl mode cannot be
turned *on* for new architectures, or that it cannot be turned *off*.
I suggest

  Architectures added after the 2.27 release will not even build libnsl as a
  compatibility library; this option has no effect on those architectures.

zw

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Don't add nis subdir for new architectures
  2018-07-04 15:32 [PATCH] Don't add nis subdir for new architectures Andreas Schwab
  2018-07-04 15:54 ` Zack Weinberg
@ 2018-07-17 10:18 ` Florian Weimer
  2018-07-17 10:32   ` Andreas Schwab
  2018-07-17 20:12 ` Joseph Myers
  2 siblings, 1 reply; 9+ messages in thread
From: Florian Weimer @ 2018-07-17 10:18 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: libc-alpha

* Andreas Schwab:

> For future architectures, sysdeps/unix/inet no longer implies building the
> nis subdirectory, and --enable-obsolete-nsl is ignored.

I think we should remove --enable-obsolete-rpc and
--enable-obsolete-nsl altogether, and no longer include the compat
symbols for new architectures, as usual.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Don't add nis subdir for new architectures
  2018-07-17 10:18 ` Florian Weimer
@ 2018-07-17 10:32   ` Andreas Schwab
  2018-07-17 10:42     ` Florian Weimer
  0 siblings, 1 reply; 9+ messages in thread
From: Andreas Schwab @ 2018-07-17 10:32 UTC (permalink / raw)
  To: Florian Weimer; +Cc: libc-alpha

On Jul 17 2018, Florian Weimer <fw@deneb.enyo.de> wrote:

> * Andreas Schwab:
>
>> For future architectures, sysdeps/unix/inet no longer implies building the
>> nis subdirectory, and --enable-obsolete-nsl is ignored.
>
> I think we should remove --enable-obsolete-rpc and
> --enable-obsolete-nsl altogether,

Feel free to submit a patch.  That is an independent change.

> and no longer include the compat symbols for new architectures, as
> usual.

We still need the compat libnsl for the existing architectures.  This is
what my patch addresses.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Don't add nis subdir for new architectures
  2018-07-17 10:32   ` Andreas Schwab
@ 2018-07-17 10:42     ` Florian Weimer
  0 siblings, 0 replies; 9+ messages in thread
From: Florian Weimer @ 2018-07-17 10:42 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: libc-alpha

* Andreas Schwab:

> On Jul 17 2018, Florian Weimer <fw@deneb.enyo.de> wrote:
>
>> * Andreas Schwab:
>>
>>> For future architectures, sysdeps/unix/inet no longer implies building the
>>> nis subdirectory, and --enable-obsolete-nsl is ignored.
>>
>> I think we should remove --enable-obsolete-rpc and
>> --enable-obsolete-nsl altogether,
>
> Feel free to submit a patch.  That is an independent change.

Conceptually it's not.  If there are distributions which still want to
build the old interfaces, with your patch, they will not be able to
build newer glibc versions for the affected architectures.  That's why
I think we need consensus first whether distributions still need those
configure options.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Don't add nis subdir for new architectures
  2018-07-04 15:32 [PATCH] Don't add nis subdir for new architectures Andreas Schwab
  2018-07-04 15:54 ` Zack Weinberg
  2018-07-17 10:18 ` Florian Weimer
@ 2018-07-17 20:12 ` Joseph Myers
  2018-07-18  7:21   ` Andreas Schwab
  2 siblings, 1 reply; 9+ messages in thread
From: Joseph Myers @ 2018-07-17 20:12 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: libc-alpha

On Wed, 4 Jul 2018, Andreas Schwab wrote:

> +* Future architecture ports will no longer build a compatibility libnsl
> +  shared library, and --enable-obsolete-nsl will be ignored on those
> +  architectures.

> +This option has no effect on architectures that were added after the
> +2.27 release.

There's ambiguity here about new ABIs for existing architectures.  (Since 
they should be like new architectures regarding symbol versions, they 
should also be like new architectures in this regard.)

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Don't add nis subdir for new architectures
  2018-07-17 20:12 ` Joseph Myers
@ 2018-07-18  7:21   ` Andreas Schwab
  2018-07-18 20:43     ` Joseph Myers
  0 siblings, 1 reply; 9+ messages in thread
From: Andreas Schwab @ 2018-07-18  7:21 UTC (permalink / raw)
  To: Joseph Myers; +Cc: libc-alpha

On Jul 17 2018, Joseph Myers <joseph@codesourcery.com> wrote:

> On Wed, 4 Jul 2018, Andreas Schwab wrote:
>
>> +* Future architecture ports will no longer build a compatibility libnsl
>> +  shared library, and --enable-obsolete-nsl will be ignored on those
>> +  architectures.
>
>> +This option has no effect on architectures that were added after the
>> +2.27 release.
>
> There's ambiguity here about new ABIs for existing architectures.  (Since 
> they should be like new architectures regarding symbol versions, they 
> should also be like new architectures in this regard.)

The intent is to exclude nis for all architectures and ABIs that have a
base version of 2.28 or later.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Don't add nis subdir for new architectures
  2018-07-18  7:21   ` Andreas Schwab
@ 2018-07-18 20:43     ` Joseph Myers
  2018-07-19  7:28       ` Andreas Schwab
  0 siblings, 1 reply; 9+ messages in thread
From: Joseph Myers @ 2018-07-18 20:43 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: libc-alpha

On Wed, 18 Jul 2018, Andreas Schwab wrote:

> On Jul 17 2018, Joseph Myers <joseph@codesourcery.com> wrote:
> 
> > On Wed, 4 Jul 2018, Andreas Schwab wrote:
> >
> >> +* Future architecture ports will no longer build a compatibility libnsl
> >> +  shared library, and --enable-obsolete-nsl will be ignored on those
> >> +  architectures.
> >
> >> +This option has no effect on architectures that were added after the
> >> +2.27 release.
> >
> > There's ambiguity here about new ABIs for existing architectures.  (Since 
> > they should be like new architectures regarding symbol versions, they 
> > should also be like new architectures in this regard.)
> 
> The intent is to exclude nis for all architectures and ABIs that have a
> base version of 2.28 or later.

Yes, I agree that's the right intent, but I'm not convinced it's clear 
from the documentation wording that e.g. RV32, or RV64 with 'F' ABI, would 
be a case where the option has no effect.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Don't add nis subdir for new architectures
  2018-07-18 20:43     ` Joseph Myers
@ 2018-07-19  7:28       ` Andreas Schwab
  0 siblings, 0 replies; 9+ messages in thread
From: Andreas Schwab @ 2018-07-19  7:28 UTC (permalink / raw)
  To: Joseph Myers; +Cc: libc-alpha

On Jul 18 2018, Joseph Myers <joseph@codesourcery.com> wrote:

> Yes, I agree that's the right intent, but I'm not convinced it's clear 
> from the documentation wording

It can be improved of course.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-07-19  7:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-04 15:32 [PATCH] Don't add nis subdir for new architectures Andreas Schwab
2018-07-04 15:54 ` Zack Weinberg
2018-07-17 10:18 ` Florian Weimer
2018-07-17 10:32   ` Andreas Schwab
2018-07-17 10:42     ` Florian Weimer
2018-07-17 20:12 ` Joseph Myers
2018-07-18  7:21   ` Andreas Schwab
2018-07-18 20:43     ` Joseph Myers
2018-07-19  7:28       ` Andreas Schwab

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