Message ID | 20230629184156.2789945-5-siddhesh@sourceware.org |
---|---|
State | New |
Headers | show |
Series | Update default build configuration | expand |
On Thu, Jun 29, 2023 at 02:41:47PM -0400, Siddhesh Poyarekar via Libc-alpha wrote: > We mentioned eventual dropping of libcrypt in the 2.28 NEWS. Actually > put that plan in motion by first disabling building libcrypt by default. > In the near future we need to drop it completely but ISTM that Gentoo > still uses it to fix some perl compatibility issues. > > Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> > --- > INSTALL | 12 ++++++------ > NEWS | 5 +++++ > configure | 6 +++--- > configure.ac | 6 +++--- > manual/install.texi | 13 +++++++------ > 5 files changed, 24 insertions(+), 18 deletions(-) > > diff --git a/INSTALL b/INSTALL > index 88ffe7748f..263e8ce75a 100644 > --- a/INSTALL > +++ b/INSTALL > @@ -229,12 +229,12 @@ if ‘CFLAGS’ is specified it must enable optimization. For example: > By default for x86_64, the GNU C Library is built with the vector > math library. Use this option to disable the vector math library. > > -‘--disable-crypt’ > - Do not install the passphrase-hashing library ‘libcrypt’ or the > - header file ‘crypt.h’. ‘unistd.h’ will still declare the function > - ‘crypt’. Using this option does not change the set of programs > - that may need to be linked with ‘-lcrypt’; it only means that the > - GNU C Library will not provide that library. > +‘--enable-crypt’ > + Install the passphrase-hashing library ‘libcrypt’ and the header > + file ‘crypt.h’. ‘unistd.h’ will declare the function ‘crypt’ > + regardless of this option. Using this option does not change the > + set of programs that may need to be linked with ‘-lcrypt’; it only > + means that the GNU C Library will not provide that library. Sorry, will provide or will not provide?
On 2023-06-29 14:45, Dmitry V. Levin wrote: > On Thu, Jun 29, 2023 at 02:41:47PM -0400, Siddhesh Poyarekar via Libc-alpha wrote: >> We mentioned eventual dropping of libcrypt in the 2.28 NEWS. Actually >> put that plan in motion by first disabling building libcrypt by default. >> In the near future we need to drop it completely but ISTM that Gentoo >> still uses it to fix some perl compatibility issues. >> >> Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> >> --- >> INSTALL | 12 ++++++------ >> NEWS | 5 +++++ >> configure | 6 +++--- >> configure.ac | 6 +++--- >> manual/install.texi | 13 +++++++------ >> 5 files changed, 24 insertions(+), 18 deletions(-) >> >> diff --git a/INSTALL b/INSTALL >> index 88ffe7748f..263e8ce75a 100644 >> --- a/INSTALL >> +++ b/INSTALL >> @@ -229,12 +229,12 @@ if ‘CFLAGS’ is specified it must enable optimization. For example: >> By default for x86_64, the GNU C Library is built with the vector >> math library. Use this option to disable the vector math library. >> >> -‘--disable-crypt’ >> - Do not install the passphrase-hashing library ‘libcrypt’ or the >> - header file ‘crypt.h’. ‘unistd.h’ will still declare the function >> - ‘crypt’. Using this option does not change the set of programs >> - that may need to be linked with ‘-lcrypt’; it only means that the >> - GNU C Library will not provide that library. >> +‘--enable-crypt’ >> + Install the passphrase-hashing library ‘libcrypt’ and the header >> + file ‘crypt.h’. ‘unistd.h’ will declare the function ‘crypt’ >> + regardless of this option. Using this option does not change the >> + set of programs that may need to be linked with ‘-lcrypt’; it only >> + means that the GNU C Library will not provide that library. > > Sorry, will provide or will not provide? > > Oops, fixed. Thanks, Sid
Siddhesh Poyarekar via Libc-alpha <libc-alpha@sourceware.org> writes: > We mentioned eventual dropping of libcrypt in the 2.28 NEWS. Actually > put that plan in motion by first disabling building libcrypt by default. > In the near future we need to drop it completely but ISTM that Gentoo > still uses it to fix some perl compatibility issues. Thanks. This is fine for us: we did the migration in two stages in Mid-to-late 2021. You are right that we've got a workaround for some Perl rebuild issues, but that should've been fixed on our end in the package manager last month, so no problem from us. Thank you for checking! > > +* libcrypt is no longer built by default, one may use the --enable-crypt > + option to build libcrypt. It is recommended that applications port > + away from the GNU C Library implementation of libcrypt since it will > + likely be removed in a future release. I feel like we ought to explicitly name libxcrypt as a possible provider - I don't really like relying on word of mouth for this. We don't need to endorse it/recommend it (although what's the alternative?), but I think mentioning it is worthwhile. (ditto for texi change.) > - --disable-crypt do not build nor install the passphrase hashing > - library, libcrypt > + --enable-crypt build and install the passphrase hashing library, > + libcrypt "build and install the deprecated ..." (legacy is fine too, if you like)
On 2023-07-14 02:21, Sam James wrote: > > Siddhesh Poyarekar via Libc-alpha <libc-alpha@sourceware.org> writes: > >> We mentioned eventual dropping of libcrypt in the 2.28 NEWS. Actually >> put that plan in motion by first disabling building libcrypt by default. >> In the near future we need to drop it completely but ISTM that Gentoo >> still uses it to fix some perl compatibility issues. > > Thanks. This is fine for us: we did the migration in two stages in > Mid-to-late 2021. > > You are right that we've got a workaround for some Perl rebuild issues, > but that should've been fixed on our end in the package manager last > month, so no problem from us. Thank you for checking! >> >> +* libcrypt is no longer built by default, one may use the --enable-crypt >> + option to build libcrypt. It is recommended that applications port >> + away from the GNU C Library implementation of libcrypt since it will >> + likely be removed in a future release. > > I feel like we ought to explicitly name libxcrypt as a possible > provider - I don't really like relying on word of mouth for this. > > We don't need to endorse it/recommend it (although what's the > alternative?), but I think mentioning it is worthwhile. > > (ditto for texi change.) > Should we put a date on it, i.e. say explicitly that it will be removed in 2.39? Thanks, Sid
Siddhesh Poyarekar <siddhesh@sourceware.org> writes: > On 2023-07-14 02:21, Sam James wrote: >> Siddhesh Poyarekar via Libc-alpha <libc-alpha@sourceware.org> >> writes: >> >>> We mentioned eventual dropping of libcrypt in the 2.28 NEWS. Actually >>> put that plan in motion by first disabling building libcrypt by default. >>> In the near future we need to drop it completely but ISTM that Gentoo >>> still uses it to fix some perl compatibility issues. >> Thanks. This is fine for us: we did the migration in two stages in >> Mid-to-late 2021. >> You are right that we've got a workaround for some Perl rebuild >> issues, >> but that should've been fixed on our end in the package manager last >> month, so no problem from us. Thank you for checking! >>> +* libcrypt is no longer built by default, one may use the >>> --enable-crypt >>> + option to build libcrypt. It is recommended that applications port >>> + away from the GNU C Library implementation of libcrypt since it will >>> + likely be removed in a future release. >> I feel like we ought to explicitly name libxcrypt as a possible >> provider - I don't really like relying on word of mouth for this. >> We don't need to endorse it/recommend it (although what's the >> alternative?), but I think mentioning it is worthwhile. >> (ditto for texi change.) >> > > Should we put a date on it, i.e. say explicitly that it will be > removed in 2.39? Yeah, no objection from me. We're all fed up of it anyway. best, sam
diff --git a/INSTALL b/INSTALL index 88ffe7748f..263e8ce75a 100644 --- a/INSTALL +++ b/INSTALL @@ -229,12 +229,12 @@ if ‘CFLAGS’ is specified it must enable optimization. For example: By default for x86_64, the GNU C Library is built with the vector math library. Use this option to disable the vector math library. -‘--disable-crypt’ - Do not install the passphrase-hashing library ‘libcrypt’ or the - header file ‘crypt.h’. ‘unistd.h’ will still declare the function - ‘crypt’. Using this option does not change the set of programs - that may need to be linked with ‘-lcrypt’; it only means that the - GNU C Library will not provide that library. +‘--enable-crypt’ + Install the passphrase-hashing library ‘libcrypt’ and the header + file ‘crypt.h’. ‘unistd.h’ will declare the function ‘crypt’ + regardless of this option. Using this option does not change the + set of programs that may need to be linked with ‘-lcrypt’; it only + means that the GNU C Library will not provide that library. This option is for hackers and distributions experimenting with independently-maintained implementations of libcrypt. It may diff --git a/NEWS b/NEWS index 264fad5d86..9d82c5ba62 100644 --- a/NEWS +++ b/NEWS @@ -55,6 +55,11 @@ Major new features: * Lazy binding is now disabled by default and can be overridden with the --disable-bind-now configure flag. +* libcrypt is no longer built by default, one may use the --enable-crypt + option to build libcrypt. It is recommended that applications port + away from the GNU C Library implementation of libcrypt since it will + likely be removed in a future release. + Deprecated and removed features, and other changes affecting compatibility: * In the Linux kernel for the hppa/parisc architecture some of the diff --git a/configure b/configure index 6d4b05df18..4d924c4c21 100755 --- a/configure +++ b/configure @@ -1480,8 +1480,8 @@ Optional Features: architectures --enable-memory-tagging enable memory tagging if supported by the architecture [default=no] - --disable-crypt do not build nor install the passphrase hashing - library, libcrypt + --enable-crypt build and install the passphrase hashing library, + libcrypt --enable-nss-crypt enable libcrypt to use nss --enable-systemtap enable systemtap static probe points [default=no] --disable-build-nscd disable building and installing the nscd daemon @@ -4569,7 +4569,7 @@ if test ${enable_crypt+y} then : enableval=$enable_crypt; build_crypt=$enableval else $as_nop - build_crypt=yes + build_crypt=no fi diff --git a/configure.ac b/configure.ac index 6fc72df700..8d9ab7d0b6 100644 --- a/configure.ac +++ b/configure.ac @@ -316,10 +316,10 @@ fi AC_SUBST(memory_tagging) AC_ARG_ENABLE([crypt], - AS_HELP_STRING([--disable-crypt], - [do not build nor install the passphrase hashing library, libcrypt]), + AS_HELP_STRING([--enable-crypt], + [build and install the passphrase hashing library, libcrypt]), [build_crypt=$enableval], - [build_crypt=yes]) + [build_crypt=no]) AC_SUBST(build_crypt) AC_ARG_ENABLE([nss-crypt], diff --git a/manual/install.texi b/manual/install.texi index ae43dc51ac..db7a0346b2 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -256,12 +256,13 @@ configure with @option{--disable-werror}. By default for x86_64, @theglibc{} is built with the vector math library. Use this option to disable the vector math library. -@item --disable-crypt -Do not install the passphrase-hashing library @file{libcrypt} or the -header file @file{crypt.h}. @file{unistd.h} will still declare the -function @code{crypt}. Using this option does not change the set of -programs that may need to be linked with @option{-lcrypt}; it only -means that @theglibc{} will not provide that library. +@item --enable-crypt +Install the passphrase-hashing library @file{libcrypt} and the +header file @file{crypt.h}. @file{unistd.h} will declare the +function @code{crypt} regardless of this option. Using this option does +not change the set of programs that may need to be linked with +@option{-lcrypt}; it only means that @theglibc{} will not provide that +library. This option is for hackers and distributions experimenting with independently-maintained implementations of libcrypt. It may become
We mentioned eventual dropping of libcrypt in the 2.28 NEWS. Actually put that plan in motion by first disabling building libcrypt by default. In the near future we need to drop it completely but ISTM that Gentoo still uses it to fix some perl compatibility issues. Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> --- INSTALL | 12 ++++++------ NEWS | 5 +++++ configure | 6 +++--- configure.ac | 6 +++--- manual/install.texi | 13 +++++++------ 5 files changed, 24 insertions(+), 18 deletions(-)