diff options
author | Daiki Ueno <ueno@gnu.org> | 2021-02-13 20:16:41 +0000 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2021-02-13 20:16:41 +0000 |
commit | 71f7e59fe4952bebcf27eaf4f9fc000c722946fa (patch) | |
tree | 96f87afd9d2f845d7863987981cebe6ca9be1d80 | |
parent | 9db8723d9c21779256fbf3f72df4c5193586ee4d (diff) | |
parent | fd683e9b2e6f6a54a1041f7cbc2b4ae45728d3f6 (diff) | |
download | gnutls-71f7e59fe4952bebcf27eaf4f9fc000c722946fa.tar.gz |
Merge branch 'wip/dueno/bootstrap' into 'master'
bootstrap: update from Gnulib
Closes #1143
See merge request gnutls/gnutls!1384
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | .gitlab-ci.yml | 2 | ||||
-rwxr-xr-x | bootstrap | 32 | ||||
-rw-r--r-- | bootstrap.conf | 52 | ||||
-rw-r--r-- | configure.ac | 2 |
5 files changed, 47 insertions, 43 deletions
diff --git a/.gitignore b/.gitignore index f473a6fd04..6981a7bf78 100644 --- a/.gitignore +++ b/.gitignore @@ -438,6 +438,7 @@ tests/handshake-large-cert tests/handshake-large-packet tests/handshake-timeout tests/handshake-versions +tests/handshake-write tests/hex tests/hostname-check tests/hostname-check-utf8 @@ -583,6 +584,7 @@ tests/pkcs11-token-raw tests/pkcs11/gnutls_pcert_list_import_x509_file tests/pkcs11/gnutls_x509_crt_list_import_url tests/pkcs11/list-objects +tests/pkcs11/list-tokens tests/pkcs11/pkcs11-chainverify tests/pkcs11/pkcs11-combo tests/pkcs11/pkcs11-ec-privkey-test diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b58c869bd1..98095b9cf8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,7 +28,7 @@ variables: CHECKJOBS: 16 cache: - key: "$CI_JOB_NAME-ver19" + key: "$CI_JOB_NAME-ver20" paths: - cache/ @@ -1,10 +1,10 @@ #! /bin/sh # Print a version string. -scriptversion=2019-01-04.17; # UTC +scriptversion=2020-11-18.17; # UTC # Bootstrap this package from checked-out sources. -# Copyright (C) 2003-2019 Free Software Foundation, Inc. +# Copyright (C) 2003-2020 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -71,7 +71,9 @@ Options: --no-git do not use git to update gnulib. Requires that --gnulib-srcdir point to a correct gnulib snapshot --skip-po do not download po files - +EOF + bootstrap_print_option_usage_hook + cat <<EOF If the file $me.conf exists in the same directory as this script, its contents are read as shell variables to configure the bootstrap. @@ -154,6 +156,18 @@ gnulib_files= : ${AUTOPOINT=autopoint} : ${AUTORECONF=autoreconf} +# A function to be called for each unrecognized option. Returns 0 if +# the option in $1 has been processed by the function. Returns 1 if +# the option has not been processed by the function. Override it via +# your own definition in bootstrap.conf + +bootstrap_option_hook() { return 1; } + +# A function to be called in order to print the --help information +# corresponding to user-defined command-line options. + +bootstrap_print_option_usage_hook() { :; } + # A function to be called right after gnulib-tool is run. # Override it via your own definition in bootstrap.conf. bootstrap_post_import_hook() { :; } @@ -166,7 +180,7 @@ bootstrap_epilogue() { :; } # specified directory. Fill in the first %s with the destination # directory and the second with the domain name. po_download_command_format=\ -"wget --mirror --level=1 -nd -q -A.po -P '%s' \ +"wget --mirror --level=1 -nd -nv -A.po -P '%s' \ https://translationproject.org/latest/%s/" # Prefer a non-empty tarname (4th argument of AC_INIT if given), else @@ -335,7 +349,7 @@ do --no-git) use_git=false;; *) - die "$option: unknown option";; + bootstrap_option_hook $option || die "$option: unknown option";; esac done @@ -968,10 +982,10 @@ bootstrap_post_import_hook \ # uninitialized submodules. # # Uninitialized submodules are listed with an initial dash. -#if $use_git && git submodule | grep '^-' >/dev/null; then -# die "some git submodules are not initialized. " \ -# "Run 'git submodule init' and bootstrap again." -#fi +if $use_git && git submodule | grep '^-' >/dev/null; then + die "some git submodules are not initialized. " \ + "Run 'git submodule update --init' and bootstrap again." +fi # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some # gnulib-populated directories. Such .m4 files would cause aclocal to fail. diff --git a/bootstrap.conf b/bootstrap.conf index 31eb7a33a6..f34508a3cb 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -23,7 +23,7 @@ gnulib_tool_option_extras="--without-tests --avoid=alignof-tests --avoid=lock-te use_libtool=1 checkout_only_file= local_gl_dir=gl/override/ -required_submodules="tests/suite/tls-fuzzer/python-ecdsa tests/suite/tls-fuzzer/tlsfuzzer tests/suite/tls-fuzzer/tlslite-ng devel/nettle devel/libtasn1" +required_submodules="tests/suite/tls-fuzzer/python-ecdsa tests/suite/tls-fuzzer/tlsfuzzer tests/suite/tls-fuzzer/tlslite-ng devel/nettle devel/openssl devel/libtasn1" # Those modules are common to lib/ and src/. common_modules=" @@ -53,53 +53,41 @@ autopoint - autogen - " -GTKDOCIZE=$(which gtkdocize 2>/dev/null) -if test $? -ne 0; then - echo "No gtk-doc support found. You can't build the docs." - # rm because gtk-doc.make might be a link to a protected file - rm -f gtk-doc.make 2>/dev/null - echo "EXTRA_DIST =" >gtk-doc.make - echo "CLEANFILES =" >>gtk-doc.make - GTKDOCIZE="" -else - $GTKDOCIZE -fi - # update git submodules git_options= if test -n "$SUBMODULE_NOFETCH"; then git_options="--no-fetch" fi -for mod in $required_submodules;do - git submodule update --init $git_options $mod +for mod in $required_submodules; do + git submodule update --init $git_options $mod done -if test -d ./gnulib;then - TMP_GNULIB_SRCDIR="${GNULIB_SRCDIR:-./gnulib/}" - - deps=$(${TMP_GNULIB_SRCDIR}/gnulib-tool --extract-recursive-dependencies ${gnulib_modules}) - deps="echo -n ${deps} ${gnulib_modules}|sort -u" - case ${deps} in - *select*|*poll*|*sockets*|*recv*|*send*) - echo "******************************************************************" - die "the library cannot include the gnulib sockets; see CONTRIBUTION.md" - ;; - esac +# This check needs to be done before actual import. +TMP_GNULIB_SRCDIR="${GNULIB_SRCDIR:-gnulib}" +if test -d "$TMP_GNULIB_SRCDIR"; then + if ${TMP_GNULIB_SRCDIR}/gnulib-tool --extract-recursive-dependencies ${gnulib_modules} | grep -E 'select|poll|sockets|recv|send' > /dev/null 2>&1; then + die "the library cannot include the gnulib sockets; see CONTRIBUTING.md" + fi fi bootstrap_post_import_hook () { - # we re-use malloc-posix from the original gnulib -# for i in ${unistring_modules}; do -# sed -i 's/malloc-posix//g' ${GNULIB_SRCDIR}/modules/$i -# done - ${GNULIB_SRCDIR}/gnulib-tool --import --local-dir=lib/unistring/override --lib=libunistring --source-base=lib/unistring --m4-base=lib/unistring/m4 --doc-base=doc --aux-dir=build-aux --lgpl=3orGPLv2 --no-conditional-dependencies --libtool --without-tests --macro-prefix=unistring ${unistring_modules} ${GNULIB_SRCDIR}/gnulib-tool --import --local-dir=src/gl/override --lib=libgnu_gpl --source-base=src/gl --m4-base=src/gl/m4 --doc-base=doc --tests-base=src/gl/tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=ggl --with-tests --no-vc-files ${src_modules} -# git -C ${GNULIB_SRCDIR} reset --hard + gtkdocize || { + echo "No gtk-doc support found. You can't build the docs." + # rm because gtk-doc.make might be a link to a protected file + rm -f gtk-doc.make + # Those need to be defined because the upstream Makefile boilerplate + # (doc/reference/Makefile.am) relies on them. + cat > gtk-doc.make <<EOF +EXTRA_DIST = +CLEANFILES = +EOF + } # Automake requires that ChangeLog exist. touch ChangeLog || return 1 diff --git a/configure.ac b/configure.ac index 2d889c53ab..edfbdb81de 100644 --- a/configure.ac +++ b/configure.ac @@ -1006,7 +1006,7 @@ fi dnl Guile bindings. AC_MSG_CHECKING([whether building Guile bindings]) AC_ARG_ENABLE(guile, - AS_HELP_STRING([--enable-guile], [build GNU Guile bindings]), + AS_HELP_STRING([--disable-guile], [don't build GNU Guile bindings]), [opt_guile_bindings=$enableval], [opt_guile_bindings=yes]) AC_MSG_RESULT($opt_guile_bindings) |