From d0364dcc42b151cfc08d860efb15cd48d87302c6 Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Wed, 12 May 2021 10:42:46 -0400 Subject: [PATCH] Add --banner config option Use it in the automated workflows. Fixes: #15247 Reviewed-by: Shane Lontis Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/15248) --- .github/workflows/ci.yml | 36 +++++++++++----------- .github/workflows/coveralls.yml | 2 +- .github/workflows/run-checker-ci.yml | 2 +- .github/workflows/run-checker-daily.yml | 2 +- .github/workflows/run-checker-merge.yml | 2 +- .github/workflows/windows.yml | 2 +- Configurations/unix-Makefile.tmpl | 4 +-- Configure | 41 +++++++++++++++---------- INSTALL.md | 5 +++ 9 files changed, 54 insertions(+), 42 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e37c7f54d8..46a096cb75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install unifdef - uses: actions/checkout@v2 - name: config - run: ./config --strict-warnings enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-fips && perl configdata.pm --dump - name: make build_generated run: make -s build_generated - name: make update @@ -34,7 +34,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --strict-warnings enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-fips && perl configdata.pm --dump - name: make build_generated run: make -s build_generated - name: make doc-nits @@ -48,7 +48,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: CPPFLAGS=-ansi ./config no-asm no-makedepend enable-buildtest-c++ enable-fips --strict-warnings -D_DEFAULT_SOURCE && perl configdata.pm --dump + run: CPPFLAGS=-ansi ./config --banner=Configured no-asm no-makedepend enable-buildtest-c++ enable-fips --strict-warnings -D_DEFAULT_SOURCE && perl configdata.pm --dump - name: make run: make -s -j4 @@ -57,7 +57,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config enable-fips --strict-warnings && perl configdata.pm --dump + run: ./config --banner=Configured enable-fips --strict-warnings && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -68,7 +68,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: CC=clang ./config no-fips --strict-warnings && perl configdata.pm --dump + run: CC=clang ./config --banner=Configured no-fips --strict-warnings && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -79,7 +79,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --strict-warnings no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -90,7 +90,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --strict-warnings no-deprecated enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings no-deprecated enable-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -104,7 +104,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --strict-warnings no-shared no-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings no-shared no-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -115,7 +115,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --debug enable-asan enable-ubsan no-cached-fetch no-fips no-dtls no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-async && perl configdata.pm --dump + run: ./config --banner=Configured --debug enable-asan enable-ubsan no-cached-fetch no-fips no-dtls no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-async && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -126,7 +126,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --debug enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --debug enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -137,7 +137,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: CC=clang ./config no-fips --strict-warnings -fsanitize=thread && perl configdata.pm --dump + run: CC=clang ./config --banner=Configured no-fips --strict-warnings -fsanitize=thread && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -148,7 +148,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --strict-warnings no-ec enable-ssl-trace enable-zlib enable-zlib-dynamic enable-crypto-mdebug enable-crypto-mdebug-backtrace enable-egd enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings no-ec enable-ssl-trace enable-zlib enable-zlib-dynamic enable-crypto-mdebug enable-crypto-mdebug-backtrace enable-egd enable-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -159,7 +159,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --strict-warnings no-legacy enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings no-legacy enable-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -170,7 +170,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 no-fips && perl configdata.pm --dump + run: ./config --banner=Configured -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 no-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -181,7 +181,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config no-asm no-makedepend enable-buildtest-c++ enable-fips --strict-warnings -D_DEFAULT_SOURCE && perl configdata.pm --dump + run: ./config --banner=Configured no-asm no-makedepend enable-buildtest-c++ enable-fips --strict-warnings -D_DEFAULT_SOURCE && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test @@ -199,7 +199,7 @@ jobs: mkdir ./build mkdir ./install - name: config - run: ../config enable-fips --strict-warnings --prefix=$(cd ../install; pwd) && perl configdata.pm --dump + run: ../config --banner=Configured enable-fips --strict-warnings --prefix=$(cd ../install; pwd) && perl configdata.pm --dump working-directory: ./build - name: make run: make -s -j4 @@ -228,7 +228,7 @@ jobs: - name: setup hostname workaround run: sudo hostname localhost - name: config - run: ./config --strict-warnings --debug no-afalgeng enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 enable-external-tests no-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings --debug no-afalgeng enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 enable-external-tests no-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: test external gost-engine @@ -249,7 +249,7 @@ jobs: with: submodules: recursive - name: Configure OpenSSL - run: ./config --strict-warnings --debug enable-external-tests && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings --debug enable-external-tests && perl configdata.pm --dump - name: make run: make -s -j4 - name: Setup Python diff --git a/.github/workflows/coveralls.yml b/.github/workflows/coveralls.yml index c6e4f76bfc..34e5117298 100644 --- a/.github/workflows/coveralls.yml +++ b/.github/workflows/coveralls.yml @@ -14,7 +14,7 @@ jobs: run: | sudo apt-get -yq install lcov - name: config - run: CC=gcc ./config --debug --coverage no-asm enable-fips enable-rc5 enable-md2 enable-ssl3 enable-nextprotoneg enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 no-shared enable-buildtest-c++ enable-external-tests -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION && perl configdata.pm --dump + run: CC=gcc ./config --banner=Configured --debug --coverage no-asm enable-fips enable-rc5 enable-md2 enable-ssl3 enable-nextprotoneg enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 no-shared enable-buildtest-c++ enable-external-tests -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test diff --git a/.github/workflows/run-checker-ci.yml b/.github/workflows/run-checker-ci.yml index d89c7740e1..48ff9c9765 100644 --- a/.github/workflows/run-checker-ci.yml +++ b/.github/workflows/run-checker-ci.yml @@ -31,7 +31,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: CC=clang ./config --strict-warnings ${{ matrix.opt }} && perl configdata.pm --dump + run: CC=clang ./config --banner=Configured --strict-warnings ${{ matrix.opt }} && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test diff --git a/.github/workflows/run-checker-daily.yml b/.github/workflows/run-checker-daily.yml index 9f0bc37db2..efe350c254 100644 --- a/.github/workflows/run-checker-daily.yml +++ b/.github/workflows/run-checker-daily.yml @@ -127,7 +127,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: CC=clang ./config --strict-warnings ${{ matrix.opt }} && perl configdata.pm --dump + run: CC=clang ./config --banner=Configured --strict-warnings ${{ matrix.opt }} && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test diff --git a/.github/workflows/run-checker-merge.yml b/.github/workflows/run-checker-merge.yml index 179d5dc0c0..81121e7f3a 100644 --- a/.github/workflows/run-checker-merge.yml +++ b/.github/workflows/run-checker-merge.yml @@ -24,7 +24,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: CC=clang ./config --strict-warnings ${{ matrix.opt }} && perl configdata.pm --dump + run: CC=clang ./config --banner=Configured --strict-warnings ${{ matrix.opt }} && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 4a871bca4f..57962eef55 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -13,7 +13,7 @@ jobs: - name: config working-directory: _build run: | - perl ..\Configure no-makedepend no-bulk no-deprecated no-fips no-asm -DOPENSSL_SMALL_FOOTPRINT VC-WIN64A + perl ..\Configure --banner=Configured no-makedepend no-bulk no-deprecated no-fips no-asm -DOPENSSL_SMALL_FOOTPRINT VC-WIN64A perl configdata.pm --dump - name: build working-directory: _build diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 935210941f..a80e78e86f 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -1151,9 +1151,9 @@ providers/fips.module.sources.new: \ ( \ srcdir=`cd $(SRCDIR); pwd`; \ cd sources-tmp \ - && $$srcdir/Configure enable-fips \ + && $$srcdir/Configure --banner=Configured enable-fips \ && ./configdata.pm --query 'get_sources("providers/fips")' > sources1 \ - && $$srcdir/Configure enable-fips no-asm \ + && $$srcdir/Configure --banner=Configured enable-fips no-asm \ && ./configdata.pm --query 'get_sources("providers/fips")' > sources2 \ ) ( \ diff --git a/Configure b/Configure index dc0b1924b7..2996cd1b4a 100755 --- a/Configure +++ b/Configure @@ -29,6 +29,24 @@ $SIG{__DIE__} = \&death_handler; my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-egd] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--config=FILE] os/compiler[:flags]\n"; +my $banner = <<"EOF"; + +********************************************************************** +*** *** +*** OpenSSL has been successfully configured *** +*** *** +*** If you encounter a problem while building, please open an *** +*** issue on GitHub *** +*** and include the output from the following command: *** +*** *** +*** perl configdata.pm --dump *** +*** *** +*** (If you are new to OpenSSL, you might want to consult the *** +*** 'Troubleshooting' section in the INSTALL.md file first) *** +*** *** +********************************************************************** +EOF + # Options: # # --config add the given configuration file, which will be read after @@ -43,6 +61,7 @@ my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lx # given with --prefix. # This becomes the value of OPENSSLDIR in Makefile and in C. # (Default: PREFIX/ssl) +# --banner=".." Output specified text instead of default completion banner # # --cross-compile-prefix Add specified prefix to binutils components. # @@ -976,6 +995,10 @@ while (@argvcopy) die "FIPS key too long (64 bytes max)\n" if length $1 > 64; } + elsif (/^--banner=(.*)$/) + { + $banner = $1 . "\n"; + } elsif (/^--cross-compile-prefix=(.*)$/) { $user{CROSS_COMPILE}=$1; @@ -2812,23 +2835,7 @@ or position independent code, please let us know (but please first make sure you have tried with a current version of OpenSSL). EOF -print <<"EOF"; - -********************************************************************** -*** *** -*** OpenSSL has been successfully configured *** -*** *** -*** If you encounter a problem while building, please open an *** -*** issue on GitHub *** -*** and include the output from the following command: *** -*** *** -*** perl configdata.pm --dump *** -*** *** -*** (If you are new to OpenSSL, you might want to consult the *** -*** 'Troubleshooting' section in the INSTALL.md file first) *** -*** *** -********************************************************************** -EOF +print $banner; exit(0); diff --git a/INSTALL.md b/INSTALL.md index f89e1aed53..1855dcd128 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -578,6 +578,11 @@ as configuration option, you must ensure that it's valid for both the C and the C++ compiler. If not, the C++ build test will most likely break. As an alternative, you can use the language specific variables, `CFLAGS` and `CXXFLAGS`. +### --banner=text + +Use the specified text instead of the default banner at the end of +configuration. + ### no-bulk Build only some minimal set of features. -- 2.34.1