Skip to content

Instantly share code, notes, and snippets.

@jay
Last active April 8, 2025 20:58

Revisions

  1. jay revised this gist Apr 8, 2025. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -19,7 +19,7 @@ show_runpath() { echo -e "\n$1:"; objdump -x "$1" | grep --color=never \
    show_needed() { echo -e "\n$1:"; readelf -d "$1" | grep --color=never \
    "(NEEDED\|RPATH\|RUNPATH)"; }

    CURL_VER=8.11.1
    CURL_VER=8.13.0
    CURL_PREFIX=/usr/local

    LIBPSL_VER=0.21.5
    @@ -28,10 +28,10 @@ LIBPSL_PREFIX=/usr/local
    LIBSSH2_VER=1.11.1
    LIBSSH2_PREFIX=/usr/local

    NGHTTP2_VER=1.64.0
    NGHTTP2_VER=1.65.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=3.4.0
    OPENSSL_VER=3.5.0
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  2. jay revised this gist Dec 23, 2024. 4 changed files with 400 additions and 40 deletions.
    250 changes: 210 additions & 40 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,8 @@
    ###############################################################################
    #
    # This is for when we have to update the installed version of curl, nghttp2 or
    # openssl in Ubuntu 16 LTS. This is not a single script.
    # This is for when we have to update the installed version of curl, libpsl,
    # libssh2, nghttp2, openssl or zlib in Ubuntu 16 LTS. This is not a single
    # script.
    #
    # https://gist.github.com/jay/d88d74b6807544387a6c
    #
    @@ -12,39 +13,147 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=8.0.1
    show_runpath() { echo -e "\n$1:"; objdump -x "$1" | grep --color=never \
    RUNPATH; }

    show_needed() { echo -e "\n$1:"; readelf -d "$1" | grep --color=never \
    "(NEEDED\|RPATH\|RUNPATH)"; }

    CURL_VER=8.11.1
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.52.0
    LIBPSL_VER=0.21.5
    LIBPSL_PREFIX=/usr/local

    LIBSSH2_VER=1.11.1
    LIBSSH2_PREFIX=/usr/local

    NGHTTP2_VER=1.64.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=3.1.0
    OPENSSL_VER=3.4.0
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

    ZLIB_VER=1.3.1
    ZLIB_PREFIX=/usr/local

    ###############################################################################
    #
    # To install self contained for test purposes, after setting the _VER vars do:
    #

    mkdir -p test && cd test
    CURL_PREFIX=$PWD
    LIBSSH2_PREFIX=$PWD
    NGHTTP2_PREFIX=$PWD
    OPENSSL_PREFIX=$PWD/ssl
    OPENSSLDIR_PREFIX=$PWD/ssl
    ZLIB_PREFIX=$PWD

    ###############################################################################
    #
    # Download OpenSSL, verify, build, test, install. Takes 15 minutes.
    # Download zlib, verify, build, test, install. Takes 10 seconds.
    #

    sudo rm -rf "zlib-$ZLIB_VER" && \
    mkdir -p -m 0700 "zlib-$ZLIB_VER/.gnupg" && \
    curl --fail --location --proto-redir =https \
    -O https://zlib.net/zlib-$ZLIB_VER.tar.gz \
    -O https://zlib.net/zlib-$ZLIB_VER.tar.gz.asc && \
    \
    # https://madler.net/madler/pgp.html
    #
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/zlib-$ZLIB_VER/.gnupg" \
    --keyring "$PWD/zlib-$ZLIB_VER/.gnupg/zlib.gpg" \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    5ED46A6721D365587791E2AA783FCD8E58BCAFBA \
    && \
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/zlib-$ZLIB_VER/.gnupg" \
    --keyring "$PWD/zlib-$ZLIB_VER/.gnupg/zlib.gpg" \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --verify zlib-$ZLIB_VER.tar.gz.asc \
    && \
    tar xvfz zlib-$ZLIB_VER.tar.gz && \
    cd zlib-$ZLIB_VER && \
    \
    LDFLAGS="-Wl,--enable-new-dtags \
    -Wl,-rpath,$ZLIB_PREFIX/lib \
    " \
    ./configure --prefix=$ZLIB_PREFIX && \
    make && \
    make test && \
    sudo make install && \
    cd .. && \
    show_runpath $ZLIB_PREFIX/lib/libz.so && \
    echo -e "\n\nSuccess: Installed zlib $ZLIB_VER in $ZLIB_PREFIX\n"

    ###############################################################################
    #
    # Download libpsl, verify, build, test, install. Takes 10 seconds.
    #

    sudo rm -rf "libpsl-$LIBPSL_VER" && \
    mkdir -p -m 0700 "libpsl-$LIBPSL_VER/.gnupg" && \
    curl --fail --location --proto-redir =https \
    -O https://github.com/rockdaboot/libpsl/releases/download/\
    $LIBPSL_VER/libpsl-$LIBPSL_VER.tar.gz \
    -O https://github.com/rockdaboot/libpsl/releases/download/\
    $LIBPSL_VER/libpsl-$LIBPSL_VER.tar.gz.sig && \
    \
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/libpsl-$LIBPSL_VER/.gnupg" \
    --keyring "$PWD/libpsl-$LIBPSL_VER/.gnupg/libpsl.gpg" \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    1CB27DBC98614B2D5841646D08302DB6A2670428 \
    && \
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/libpsl-$LIBPSL_VER/.gnupg" \
    --keyring "$PWD/libpsl-$LIBPSL_VER/.gnupg/libpsl.gpg" \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --verify libpsl-$LIBPSL_VER.tar.gz.sig \
    && \
    tar xvfz libpsl-$LIBPSL_VER.tar.gz && \
    cd libpsl-$LIBPSL_VER && \
    \
    LDFLAGS="-Wl,--enable-new-dtags \
    -Wl,-rpath,$LIBPSL_PREFIX/lib \
    " \
    ./configure --prefix=$LIBPSL_PREFIX && \
    make && \
    sudo make install && \
    cd .. && \
    show_runpath $LIBPSL_PREFIX/lib/libpsl.so && \
    echo -e "\n\nSuccess: Installed libpsl $LIBPSL_VER in $LIBPSL_PREFIX\n"

    ###############################################################################
    #
    # Download OpenSSL, verify, build, test, install. Takes 20 minutes.
    #

    sudo rm -rf "openssl-$OPENSSL_VER" && \
    mkdir -p -m 0700 "openssl-$OPENSSL_VER/.gnupg" && \
    curl --fail \
    curl --fail --location --proto-redir =https \
    -O https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz \
    -O https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz.asc && \
    \
    # https://www.openssl.org/community/omc.html
    # https://openssl-library.org/source/
    #
    gpg \
    --no-auto-key-locate \
    @@ -54,11 +163,7 @@ gpg \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C \
    8657ABB260F056B1E5190839D9C4D26D0E604491 \
    B7C1C14360F353A36862E4D5231C84CDDCC69C45 \
    A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C \
    EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5 \
    BA5473A2B0587B07FB27CF2D216094DFD0CB81EF \
    && \
    gpg \
    --no-auto-key-locate \
    @@ -72,12 +177,19 @@ gpg \
    tar xvfz openssl-$OPENSSL_VER.tar.gz && \
    cd openssl-$OPENSSL_VER && \
    \
    LDFLAGS="-Wl,--enable-new-dtags \
    -Wl,-rpath,$OPENSSL_PREFIX/lib \
    -Wl,-rpath,$ZLIB_PREFIX/lib \
    " \
    ./config shared no-zlib -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)' \
    --prefix=$OPENSSL_PREFIX --openssldir=$OPENSSLDIR_PREFIX --libdir=lib && \
    make && \
    make test && \
    sudo make install && \
    cd .. && \
    show_runpath $OPENSSL_PREFIX/lib/libcrypto.so && \
    show_runpath $OPENSSL_PREFIX/lib/libssl.so && \
    show_runpath $OPENSSL_PREFIX/bin/openssl && \
    echo -e "\n\n" && \
    $OPENSSL_PREFIX/bin/openssl version -a && \
    echo -e "\n\nSuccess: Installed OpenSSL $OPENSSL_VER in $OPENSSL_PREFIX\n"
    @@ -88,35 +200,88 @@ echo -e "\n\nSuccess: Installed OpenSSL $OPENSSL_VER in $OPENSSL_PREFIX\n"
    #

    sudo rm -rf "nghttp2-$NGHTTP2_VER" && \
    curl --fail -L --proto-redir =https \
    curl --fail --location --proto-redir =https \
    -O https://github.com/tatsuhiro-t/nghttp2/releases/download/\
    v$NGHTTP2_VER/nghttp2-$NGHTTP2_VER.tar.gz && \
    tar xvfz nghttp2-$NGHTTP2_VER.tar.gz && \
    cd nghttp2-$NGHTTP2_VER && \
    \
    # Workaround older g++, see https://github.com/nghttp2/nghttp2/issues/1305
    #
    curl --fail -OL \
    https://gist.githubusercontent.com/jay/d88d74b6807544387a6c/raw/workaround_g++_5.patch && \
    patch -F999 -p1 < workaround_g++_5.patch && \
    \
    OPENSSL_CFLAGS=`PKG_CONFIG_PATH=$OPENSSL_PREFIX/lib/pkgconfig/ \
    pkg-config openssl --cflags` \
    OPENSSL_LIBS=`PKG_CONFIG_PATH=$OPENSSL_PREFIX/lib/pkgconfig/ \
    pkg-config openssl --libs` \
    LDFLAGS="-Wl,-rpath,$OPENSSL_PREFIX/lib -Wl,-rpath,$NGHTTP2_PREFIX/lib" \
    LDFLAGS="-Wl,--enable-new-dtags \
    -Wl,-rpath,$NGHTTP2_PREFIX/lib \
    -Wl,-rpath,$OPENSSL_PREFIX/lib \
    -Wl,-rpath,$ZLIB_PREFIX/lib \
    " \
    ./configure --enable-lib-only \
    --prefix=$NGHTTP2_PREFIX && \
    make && \
    make check && \
    sudo make install && \
    cd .. && \
    echo -e "\n\nSuccess: Installed Nghttp2 $NGHTTP2_VER in $NGHTTP2_PREFIX\n"
    show_runpath $NGHTTP2_PREFIX/lib/libnghttp2.so && \
    echo -e "\n\nSuccess: Installed nghttp2 $NGHTTP2_VER in $NGHTTP2_PREFIX\n"

    ###############################################################################
    #
    # Download libssh2, verify, build, test, install. Takes 1 minute.
    #

    sudo rm -rf "libssh2-$LIBSSH2_VER" && \
    mkdir -p -m 0700 "libssh2-$LIBSSH2_VER/.gnupg" && \
    curl --fail --location --proto-redir =https \
    -O https://libssh2.org/download/libssh2-$LIBSSH2_VER.tar.gz \
    -O https://libssh2.org/download/libssh2-$LIBSSH2_VER.tar.gz.asc && \
    \
    # https://daniel.haxx.se/address.html
    # https://github.com/curl/curl/issues/735
    #
    # nghttp2 examples are disabled because we're not using the system OpenSSL.
    # https://github.com/tatsuhiro-t/nghttp2/issues/336
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/libssh2-$LIBSSH2_VER/.gnupg" \
    --keyring "$PWD/libssh2-$LIBSSH2_VER/.gnupg/libssh2.gpg" \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 \
    && \
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/libssh2-$LIBSSH2_VER/.gnupg" \
    --keyring "$PWD/libssh2-$LIBSSH2_VER/.gnupg/libssh2.gpg" \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --verify libssh2-$LIBSSH2_VER.tar.gz.asc \
    && \
    tar xvfz libssh2-$LIBSSH2_VER.tar.gz && \
    cd libssh2-$LIBSSH2_VER && \
    \
    # REM configure --disable-rpath prevents rpaths in libssh2.la and libssh2.pc.
    #
    CFLAGS="-Wno-unused-result" \
    LDFLAGS="-Wl,--enable-new-dtags \
    -Wl,-rpath,$LIBSSH2_PREFIX/lib \
    -Wl,-rpath,$OPENSSL_PREFIX/lib \
    -Wl,-rpath,$ZLIB_PREFIX/lib \
    " \
    ./configure --disable-rpath \
    --prefix=$LIBSSH2_PREFIX \
    --with-crypto=openssl \
    --with-libssl-prefix=$OPENSSL_PREFIX \
    --with-libz-prefix=$ZLIB_PREFIX \
    && \
    make && \
    # (mar 2023) tests don't yet run on linux?
    # ignore due to docker problems
    # make check && \
    sudo make install && \
    cd .. && \
    show_runpath $LIBSSH2_PREFIX/lib/libssh2.so && \
    echo -e "\n\nSuccess: Installed libssh2 $LIBSSH2_VER in $LIBSSH2_PREFIX\n"

    ###############################################################################
    #
    @@ -125,7 +290,7 @@ echo -e "\n\nSuccess: Installed Nghttp2 $NGHTTP2_VER in $NGHTTP2_PREFIX\n"

    sudo rm -rf "curl-$CURL_VER" && \
    mkdir -p -m 0700 "curl-$CURL_VER/.gnupg" && \
    curl --fail \
    curl --fail --location --proto-redir =https \
    -O https://curl.se/download/curl-$CURL_VER.tar.gz \
    -O https://curl.se/download/curl-$CURL_VER.tar.gz.asc && \
    # https://daniel.haxx.se/address.html
    @@ -153,29 +318,34 @@ gpg \
    tar xvfz curl-$CURL_VER.tar.gz && \
    cd curl-$CURL_VER && \
    \
    # Workaround libtool bug 24296, see https://github.com/curl/curl/issues/432
    #
    curl --fail -L --output workaround_libtool_bug_24296.patch \
    https://github.com/curl/curl/compare/master...jay:workaround_libtool_bug_24296.diff && \
    patch -F999 -p1 < workaround_libtool_bug_24296.patch && \
    \
    # Use a related workaround for src/Makefile.in since we're not regenerating it
    # REM workaround patches for rpath ordering are not needed since
    # runpath is used instead (-Wl,--enable-new-dtags sets rpaths as runpaths).
    # https://github.com/curl/curl/issues/432#issuecomment-244818726
    #
    curl --fail -OL \
    https://gist.githubusercontent.com/jay/d88d74b6807544387a6c/raw/workaround_when_buildconf_is_not_used.patch && \
    patch -F999 -p1 < workaround_when_buildconf_is_not_used.patch && \
    \
    # REM don't use --enable-versioned-symbols, it breaks cmake's dependency.
    #
    LDFLAGS="-Wl,-rpath,$OPENSSL_PREFIX/lib -Wl,-rpath,$NGHTTP2_PREFIX/lib \
    -Wl,-rpath,$CURL_PREFIX/lib" \
    ./configure --with-nghttp2=$NGHTTP2_PREFIX --with-ssl=$OPENSSL_PREFIX \
    --prefix=$CURL_PREFIX && \
    LDFLAGS="-Wl,--enable-new-dtags \
    -Wl,-rpath,$CURL_PREFIX/lib \
    -Wl,-rpath,$OPENSSL_PREFIX/lib \
    -Wl,-rpath,$ZLIB_PREFIX/lib \
    -Wl,-rpath,$LIBPSL_PREFIX/lib \
    -Wl,-rpath,$LIBSSH2_PREFIX/lib \
    -Wl,-rpath,$NGHTTP2_PREFIX/lib \
    " \
    ./configure --prefix=$CURL_PREFIX \
    --with-libpsl=$LIBPSL_PREFIX \
    --with-libssh2=$LIBSSH2_PREFIX \
    --with-nghttp2=$NGHTTP2_PREFIX \
    --with-ssl=$OPENSSL_PREFIX \
    --with-zlib=$ZLIB_PREFIX \
    && \
    make && \
    make test-nonflaky TFLAGS=-n && \
    sudo make install && \
    sudo ldconfig && \
    cd .. && \
    show_runpath $CURL_PREFIX/lib/libcurl.so && \
    show_runpath $CURL_PREFIX/bin/curl && \
    echo -e "\n\n" && \
    $CURL_PREFIX/bin/curl --version && \
    echo -e "\n\nSuccess: Installed curl $CURL_VER in $CURL_PREFIX\n"
    6 changes: 6 additions & 0 deletions workaround_g++_5.patch
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,9 @@
    # This is a workaround patch for nghttp2 that is retrieved and used by old VM
    # snapshots. In recent snapshots the patch is no longer used.
    #
    # Old VM snapshots retrieve this patch directly from this file so do not delete
    # this file.
    #
    --- nghttp2-1.41.0/src/shrpx_api_downstream_connection.cc 2020-06-02 08:08:45.000000000 -0400
    +++ nghttp2/src/shrpx_api_downstream_connection.cc 2020-10-26 23:08:33.016344429 -0400
    @@ -41,7 +41,7 @@
    176 changes: 176 additions & 0 deletions workaround_libtool_bug_24296.patch
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,176 @@
    # This is one of two workaround patches for curl that was used by old VM
    # snapshots. In recent snapshots the patches are no longer used.
    #
    # Old VM snapshots retrieve this patch from a generated github diff of branch
    # jay:workaround_libtool_bug_24296 (eb14cc82 from 2017). This file is a backup
    # of the diff.
    #
    # https://github.com/curl/curl/issues/432#issuecomment-244818726
    # https://github.com/curl/curl/compare/master...jay:workaround_libtool_bug_24296.diff
    #
    diff --git a/configure.ac b/configure.ac
    index 083e18c950d89..c7fe88c68d77a 100644
    --- a/configure.ac
    +++ b/configure.ac
    @@ -206,6 +206,10 @@ XC_LIBTOOL
    # Automake conditionals based on libtool related checks
    #

    +AM_CONDITIONAL([CURL_LT_BUILD_SHARED],
    + [test "x$xc_lt_build_shared" = 'xyes'])
    +AM_CONDITIONAL([CURL_LT_BUILD_STATIC],
    + [test "x$xc_lt_build_static" = 'xyes'])
    AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSION_INFO],
    [test "x$xc_lt_shlib_use_version_info" = 'xyes'])
    AM_CONDITIONAL([CURL_LT_SHLIB_USE_NO_UNDEFINED],
    diff --git a/scripts/fix_rpath.pl b/scripts/fix_rpath.pl
    new file mode 100755
    index 0000000000000..a6799862f6be2
    --- /dev/null
    +++ b/scripts/fix_rpath.pl
    @@ -0,0 +1,73 @@
    +#!/usr/bin/env perl
    +
    +=begin comment
    +README
    +
    +This script fixes lt-curl so that the first rpath it checks for dependencies
    +will be lib/.libs. Without this fix libtool makes that the last rpath checked.
    +
    +This fix is only necessary if other rpaths were specified during the build.
    +
    +Bug: https://github.com/curl/curl/issues/432
    +
    +Copyright (C) 2016 Jay Satiro <raysatiro@yahoo.com>
    +http://curl.haxx.se/docs/copyright.html
    +
    +https://gist.github.com/jay/d88d74b6807544387a6c
    +=end comment
    +=cut
    +
    +use 5.014; # needed for /r regex modifier
    +
    +use strict;
    +use warnings;
    +
    +use File::Spec;
    +
    +defined($ARGV[0]) || die "Usage: fix_rpath.pl <top_builddir>\n";
    +
    +my $abs_top_builddir = File::Spec->rel2abs($ARGV[0]);
    +-e $abs_top_builddir || die "Fatal: Builddir not found: $abs_top_builddir";
    +
    +my $rpath = "$abs_top_builddir/lib/.libs";
    +my $curl = "$abs_top_builddir/src/curl";
    +
    +# Make sure $curl is a libtool wrapper and not a static binary
    +`file "$curl"` =~ /shell script/ || die "Fatal: $curl is not a shell script";
    +
    +# Read in the curl script, modify its relink_command so our rpath comes first
    +open(my $fh, "+<", $curl) || die "Fatal: Can't open $curl: $!";
    +my @lines = map {
    + if(/^[ \t]*relink_command=\"/) {
    + my $gccopt = "-Wl,-rpath \\\"-Wl,$rpath\\\"";
    + s/((?:\(|;) *gcc +)(?!\Q$gccopt\E)/$1$gccopt /gr
    + }
    + else {
    + $_
    + }
    +} <$fh>;
    +
    +# Write out the modified curl script
    +seek($fh, 0, 0) || die "Fatal: Seek failed: $!";
    +if(@lines) {
    + print $fh $_ for @lines;
    +}
    +truncate($fh, tell($fh)) || die "Fatal: Failed to truncate $curl: $!";
    +close($fh);
    +
    +# Remove lt-curl
    +my $ltcurl = "$abs_top_builddir/src/.libs/lt-curl";
    +! -e $ltcurl || unlink($ltcurl) || die "Fatal: Removing $ltcurl: $!";
    +
    +# Build lt-curl (the relink command in src/curl rebuilds it since it's missing)
    +`"$curl" -V` || die "Fatal: The curl wrapper script failed";
    +
    +# Confirm lt-curl load path for libcurl.so is our rpath
    +my $soname = "libcurl.so.4";
    +my ($soinfo) = grep {/^\t\Q$soname\E => /} `ldd "$ltcurl"`;
    +defined $soinfo || die "Fatal: Unable to find $soname dependency in $ltcurl";
    +print $soinfo;
    +my $expected = "$rpath/$soname";
    +$soinfo =~ / \Q$expected\E( |$)/ || die "Fatal: $soname path != $expected";
    +
    +print "Success: lt-curl loads $soname from $rpath\n";
    diff --git a/src/Makefile.am b/src/Makefile.am
    index 878bbfef5c422..d3931d0d78de1 100644
    --- a/src/Makefile.am
    +++ b/src/Makefile.am
    @@ -134,5 +134,14 @@ checksrc:

    if CURLDEBUG
    # for debug builds, we scan the sources on all regular make invokes
    -all-local: checksrc
    +all-local:: checksrc
    +endif
    +
    +# This script fixes lt-curl so that the first rpath it checks for dependencies
    +# will be lib/.libs. See curl bug https://github.com/curl/curl/issues/432
    +workaround_libtool_bug_24296:
    + @PERL@ "$(top_srcdir)/scripts/fix_rpath.pl" "$(abs_top_builddir)"
    +
    +if CURL_LT_BUILD_SHARED
    +all-local:: workaround_libtool_bug_24296
    endif
    diff --git a/tests/Makefile.am b/tests/Makefile.am
    index 585d0171d1975..3174e5c5f1e1c 100644
    --- a/tests/Makefile.am
    +++ b/tests/Makefile.am
    @@ -33,6 +33,8 @@ EXTRA_DIST = ftpserver.pl httpserver.pl secureserver.pl runtests.pl getpart.pm \

    DISTCLEANFILES = configurehelp.pm

    +LDFLAGS = -Wl,-rpath "-Wl,$(abs_top_builddir)/lib/.libs" @LDFLAGS@
    +
    # we have two variables here to make sure DIST_SUBDIRS won't get 'unit'
    # added twice as then targets such as 'distclean' misbehave and try to
    # do things twice in that subdir at times (and thus fails).
    diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am
    index 826b3d4f5581a..e1fb9b135503f 100644
    --- a/tests/libtest/Makefile.am
    +++ b/tests/libtest/Makefile.am
    @@ -21,6 +21,8 @@
    ###########################################################################
    AUTOMAKE_OPTIONS = foreign nostdinc

    +LDFLAGS = -Wl,-rpath "-Wl,$(abs_top_builddir)/lib/.libs" @LDFLAGS@
    +
    # Specify our include paths here, and do it relative to $(top_srcdir) and
    # $(top_builddir), to ensure that these paths which belong to the library
    # being currently built and tested are searched before the library which
    diff --git a/tests/server/Makefile.am b/tests/server/Makefile.am
    index e274c01ab08d2..bac336677d4e4 100644
    --- a/tests/server/Makefile.am
    +++ b/tests/server/Makefile.am
    @@ -21,6 +21,8 @@
    ###########################################################################
    AUTOMAKE_OPTIONS = foreign nostdinc

    +LDFLAGS = -Wl,-rpath "-Wl,$(abs_top_builddir)/lib/.libs" @LDFLAGS@
    +
    # Specify our include paths here, and do it relative to $(top_srcdir) and
    # $(top_builddir), to ensure that these paths which belong to the library
    # being currently built and tested are searched before the library which
    diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am
    index d4987d69d050d..f5d16c5faad2a 100644
    --- a/tests/unit/Makefile.am
    +++ b/tests/unit/Makefile.am
    @@ -21,6 +21,8 @@
    ###########################################################################
    AUTOMAKE_OPTIONS = foreign nostdinc

    +LDFLAGS = -Wl,-rpath "-Wl,$(abs_top_builddir)/lib/.libs" @LDFLAGS@
    +
    # Specify our include paths here, and do it relative to $(top_srcdir) and
    # $(top_builddir), to ensure that these paths which belong to the library
    # being currently built and tested are searched before the library which
    8 changes: 8 additions & 0 deletions workaround_when_buildconf_is_not_used.patch
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,11 @@
    # This is one of two workaround patches for curl that was used by old VM
    # snapshots. In recent snapshots the patches are no longer used.
    #
    # Old VM snapshots retrieve this patch directly from this file so do not delete
    # this file.
    #
    # https://github.com/curl/curl/issues/432#issuecomment-244818726
    #
    --- curl-7.50.1/src/Makefile.in 2016-07-21 05:16:37.000000000 -0400
    +++ curl/src/Makefile.in 2016-09-05 03:00:18.929760980 -0400
    @@ -1920,7 +1920,7 @@
  3. jay revised this gist Oct 23, 2023. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -58,6 +58,7 @@ gpg \
    8657ABB260F056B1E5190839D9C4D26D0E604491 \
    B7C1C14360F353A36862E4D5231C84CDDCC69C45 \
    A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C \
    EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5 \
    && \
    gpg \
    --no-auto-key-locate \
  4. jay revised this gist Mar 25, 2023. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,13 +12,13 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.86.0
    CURL_VER=8.0.1
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.50.0
    NGHTTP2_VER=1.52.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=3.0.7
    OPENSSL_VER=3.1.0
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  5. jay revised this gist Nov 10, 2022. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,13 +12,13 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.85.0
    CURL_VER=7.86.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.49.0
    NGHTTP2_VER=1.50.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=3.0.5
    OPENSSL_VER=3.0.7
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  6. jay revised this gist Nov 10, 2022. 1 changed file with 3 additions and 5 deletions.
    8 changes: 3 additions & 5 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -54,12 +54,10 @@ gpg \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    8657ABB260F056B1E5190839D9C4D26D0E604491 \
    5B2545DAB21995F4088CEFAA36CEE4DEB00CFE33 \
    ED230BEC4D4F2518B9D7DF41F0DB4D21C1D35231 \
    C1F33DD8CE1D4CC613AF14DA9195C48241FBF7DD \
    7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C \
    E5E52560DD91C556DDBDA5D02064C53641C25E5D \
    8657ABB260F056B1E5190839D9C4D26D0E604491 \
    B7C1C14360F353A36862E4D5231C84CDDCC69C45 \
    A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C \
    && \
    gpg \
    --no-auto-key-locate \
  7. jay revised this gist Aug 31, 2022. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,13 +12,13 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.84.0
    CURL_VER=7.85.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.48.0
    NGHTTP2_VER=1.49.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=3.0.4
    OPENSSL_VER=3.0.5
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  8. jay revised this gist Jun 28, 2022. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,10 +12,10 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.81.0
    CURL_VER=7.84.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.46.0
    NGHTTP2_VER=1.48.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=3.0.4
    @@ -85,7 +85,7 @@ echo -e "\n\nSuccess: Installed OpenSSL $OPENSSL_VER in $OPENSSL_PREFIX\n"

    ###############################################################################
    #
    # Download nghttp2, verify, build, test, install. Takes 2+ minutes.
    # Download nghttp2, verify, build, test, install. Takes 1 minute.
    #

    sudo rm -rf "nghttp2-$NGHTTP2_VER" && \
  9. jay revised this gist Jun 28, 2022. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -18,7 +18,7 @@ CURL_PREFIX=/usr/local
    NGHTTP2_VER=1.46.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1m
    OPENSSL_VER=3.0.4
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

    @@ -35,7 +35,7 @@ OPENSSLDIR_PREFIX=$PWD/ssl

    ###############################################################################
    #
    # Download OpenSSL, verify, build, test, install. Takes 3 minutes.
    # Download OpenSSL, verify, build, test, install. Takes 15 minutes.
    #

    sudo rm -rf "openssl-$OPENSSL_VER" && \
    @@ -74,7 +74,7 @@ tar xvfz openssl-$OPENSSL_VER.tar.gz && \
    cd openssl-$OPENSSL_VER && \
    \
    ./config shared no-zlib -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)' \
    --prefix=$OPENSSL_PREFIX --openssldir=$OPENSSLDIR_PREFIX && \
    --prefix=$OPENSSL_PREFIX --openssldir=$OPENSSLDIR_PREFIX --libdir=lib && \
    make && \
    make test && \
    sudo make install && \
  10. jay revised this gist Jan 23, 2022. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,13 +12,13 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.75.0
    CURL_VER=7.81.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.43.0
    NGHTTP2_VER=1.46.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1i
    OPENSSL_VER=1.1.1m
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  11. jay revised this gist Jan 23, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -106,7 +106,7 @@ OPENSSL_CFLAGS=`PKG_CONFIG_PATH=$OPENSSL_PREFIX/lib/pkgconfig/ \
    OPENSSL_LIBS=`PKG_CONFIG_PATH=$OPENSSL_PREFIX/lib/pkgconfig/ \
    pkg-config openssl --libs` \
    LDFLAGS="-Wl,-rpath,$OPENSSL_PREFIX/lib -Wl,-rpath,$NGHTTP2_PREFIX/lib" \
    ./configure --disable-examples --disable-python-bindings \
    ./configure --enable-lib-only \
    --prefix=$NGHTTP2_PREFIX && \
    make && \
    make check && \
  12. jay revised this gist Jan 23, 2022. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -51,7 +51,7 @@ gpg \
    --no-default-keyring \
    --homedir "$PWD/openssl-$OPENSSL_VER/.gnupg" \
    --keyring "$PWD/openssl-$OPENSSL_VER/.gnupg/openssl.gpg" \
    --keyserver hkp://keys.gnupg.net \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    8657ABB260F056B1E5190839D9C4D26D0E604491 \
    @@ -66,7 +66,7 @@ gpg \
    --no-default-keyring \
    --homedir "$PWD/openssl-$OPENSSL_VER/.gnupg" \
    --keyring "$PWD/openssl-$OPENSSL_VER/.gnupg/openssl.gpg" \
    --keyserver hkp://keys.gnupg.net \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --verify openssl-$OPENSSL_VER.tar.gz.asc \
    && \
    @@ -137,7 +137,7 @@ gpg \
    --no-default-keyring \
    --homedir "$PWD/curl-$CURL_VER/.gnupg" \
    --keyring "$PWD/curl-$CURL_VER/.gnupg/curl.gpg" \
    --keyserver hkp://keys.gnupg.net \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 \
    @@ -147,7 +147,7 @@ gpg \
    --no-default-keyring \
    --homedir "$PWD/curl-$CURL_VER/.gnupg" \
    --keyring "$PWD/curl-$CURL_VER/.gnupg/curl.gpg" \
    --keyserver hkp://keys.gnupg.net \
    --keyserver hkp://keyserver.ubuntu.com \
    --keyserver-options no-auto-key-retrieve \
    --verify curl-$CURL_VER.tar.gz.asc \
    && \
  13. jay revised this gist Feb 3, 2021. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,10 +12,10 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.74.0
    CURL_VER=7.75.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.42.0
    NGHTTP2_VER=1.43.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1i
  14. jay revised this gist Feb 3, 2021. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -106,7 +106,8 @@ OPENSSL_CFLAGS=`PKG_CONFIG_PATH=$OPENSSL_PREFIX/lib/pkgconfig/ \
    OPENSSL_LIBS=`PKG_CONFIG_PATH=$OPENSSL_PREFIX/lib/pkgconfig/ \
    pkg-config openssl --libs` \
    LDFLAGS="-Wl,-rpath,$OPENSSL_PREFIX/lib -Wl,-rpath,$NGHTTP2_PREFIX/lib" \
    ./configure --prefix=$NGHTTP2_PREFIX --disable-examples && \
    ./configure --disable-examples --disable-python-bindings \
    --prefix=$NGHTTP2_PREFIX && \
    make && \
    make check && \
    sudo make install && \
  15. jay revised this gist Feb 3, 2021. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -126,8 +126,8 @@ echo -e "\n\nSuccess: Installed Nghttp2 $NGHTTP2_VER in $NGHTTP2_PREFIX\n"
    sudo rm -rf "curl-$CURL_VER" && \
    mkdir -p -m 0700 "curl-$CURL_VER/.gnupg" && \
    curl --fail \
    -O https://curl.haxx.se/download/curl-$CURL_VER.tar.gz \
    -O https://curl.haxx.se/download/curl-$CURL_VER.tar.gz.asc && \
    -O https://curl.se/download/curl-$CURL_VER.tar.gz \
    -O https://curl.se/download/curl-$CURL_VER.tar.gz.asc && \
    # https://daniel.haxx.se/address.html
    # https://github.com/curl/curl/issues/735
    #
  16. jay revised this gist Dec 10, 2020. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,13 +12,13 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.73.0
    CURL_VER=7.74.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.41.0
    NGHTTP2_VER=1.42.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1h
    OPENSSL_VER=1.1.1i
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  17. jay revised this gist Oct 27, 2020. 2 changed files with 26 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -95,6 +95,12 @@ v$NGHTTP2_VER/nghttp2-$NGHTTP2_VER.tar.gz && \
    tar xvfz nghttp2-$NGHTTP2_VER.tar.gz && \
    cd nghttp2-$NGHTTP2_VER && \
    \
    # Workaround older g++, see https://github.com/nghttp2/nghttp2/issues/1305
    #
    curl --fail -OL \
    https://gist.githubusercontent.com/jay/d88d74b6807544387a6c/raw/workaround_g++_5.patch && \
    patch -F999 -p1 < workaround_g++_5.patch && \
    \
    OPENSSL_CFLAGS=`PKG_CONFIG_PATH=$OPENSSL_PREFIX/lib/pkgconfig/ \
    pkg-config openssl --cflags` \
    OPENSSL_LIBS=`PKG_CONFIG_PATH=$OPENSSL_PREFIX/lib/pkgconfig/ \
    20 changes: 20 additions & 0 deletions workaround_g++_5.patch
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    --- nghttp2-1.41.0/src/shrpx_api_downstream_connection.cc 2020-06-02 08:08:45.000000000 -0400
    +++ nghttp2/src/shrpx_api_downstream_connection.cc 2020-10-26 23:08:33.016344429 -0400
    @@ -41,7 +41,7 @@
    namespace {
    // List of API endpoints
    const std::array<APIEndpoint, 2> &apis() {
    - static const auto apis = new std::array<APIEndpoint, 2>{
    + static const auto apis = new std::array<APIEndpoint, 2>{{
    APIEndpoint{
    StringRef::from_lit("/api/v1beta1/backendconfig"),
    true,
    @@ -54,7 +54,7 @@
    (1 << API_METHOD_GET),
    &APIDownstreamConnection::handle_configrevision,
    },
    - };
    + }};

    return *apis;
    }
  18. jay revised this gist Oct 25, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,13 +12,13 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.72.0
    CURL_VER=7.73.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.41.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1g
    OPENSSL_VER=1.1.1h
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  19. jay revised this gist Sep 9, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.71.1
    CURL_VER=7.72.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.41.0
  20. jay revised this gist Jul 26, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,10 +12,10 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.70.0
    CURL_VER=7.71.1
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.40.0
    NGHTTP2_VER=1.41.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1g
  21. jay revised this gist May 24, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,13 +12,13 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.69.1
    CURL_VER=7.70.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.40.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1e
    OPENSSL_VER=1.1.1g
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  22. jay revised this gist Mar 24, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -18,7 +18,7 @@ CURL_PREFIX=/usr/local
    NGHTTP2_VER=1.40.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1d
    OPENSSL_VER=1.1.1e
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

  23. jay revised this gist Mar 24, 2020. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -159,6 +159,8 @@ curl --fail -OL \
    https://gist.githubusercontent.com/jay/d88d74b6807544387a6c/raw/workaround_when_buildconf_is_not_used.patch && \
    patch -F999 -p1 < workaround_when_buildconf_is_not_used.patch && \
    \
    # REM don't use --enable-versioned-symbols, it breaks cmake's dependency.
    #
    LDFLAGS="-Wl,-rpath,$OPENSSL_PREFIX/lib -Wl,-rpath,$NGHTTP2_PREFIX/lib \
    -Wl,-rpath,$CURL_PREFIX/lib" \
    ./configure --with-nghttp2=$NGHTTP2_PREFIX --with-ssl=$OPENSSL_PREFIX \
  24. jay revised this gist Mar 13, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -114,7 +114,7 @@ echo -e "\n\nSuccess: Installed Nghttp2 $NGHTTP2_VER in $NGHTTP2_PREFIX\n"

    ###############################################################################
    #
    # Download curl, verify, build, test, install. Takes 8 minutes.
    # Download curl, verify, build, test, install. Takes 15 minutes.
    #

    sudo rm -rf "curl-$CURL_VER" && \
  25. jay revised this gist Mar 13, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -164,7 +164,7 @@ LDFLAGS="-Wl,-rpath,$OPENSSL_PREFIX/lib -Wl,-rpath,$NGHTTP2_PREFIX/lib \
    ./configure --with-nghttp2=$NGHTTP2_PREFIX --with-ssl=$OPENSSL_PREFIX \
    --prefix=$CURL_PREFIX && \
    make && \
    make test-nonflaky && \
    make test-nonflaky TFLAGS=-n && \
    sudo make install && \
    sudo ldconfig && \
    cd .. && \
  26. jay revised this gist Mar 13, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.68.0
    CURL_VER=7.69.1
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.40.0
  27. jay revised this gist Feb 12, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,10 +12,10 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.66.0
    CURL_VER=7.68.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.39.2
    NGHTTP2_VER=1.40.0
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.1.1d
  28. jay revised this gist Sep 24, 2019. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -18,7 +18,7 @@ CURL_PREFIX=/usr/local
    NGHTTP2_VER=1.39.2
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.0.2s
    OPENSSL_VER=1.1.1d
    OPENSSL_PREFIX=/usr/local/ssl
    OPENSSLDIR_PREFIX=/usr/local/ssl

    @@ -73,7 +73,7 @@ gpg \
    tar xvfz openssl-$OPENSSL_VER.tar.gz && \
    cd openssl-$OPENSSL_VER && \
    \
    ./config shared no-zlib \
    ./config shared no-zlib -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)' \
    --prefix=$OPENSSL_PREFIX --openssldir=$OPENSSLDIR_PREFIX && \
    make && \
    make test && \
  29. jay revised this gist Sep 24, 2019. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -12,10 +12,10 @@
    # Paths must not have spaces (OpenSSL build process can't handle them)
    #

    CURL_VER=7.65.3
    CURL_VER=7.66.0
    CURL_PREFIX=/usr/local

    NGHTTP2_VER=1.39.1
    NGHTTP2_VER=1.39.2
    NGHTTP2_PREFIX=/usr/local

    OPENSSL_VER=1.0.2s
  30. jay revised this gist Jul 23, 2019. 1 changed file with 51 additions and 4 deletions.
    55 changes: 51 additions & 4 deletions curl ubuntu (update installed release).txt
    Original file line number Diff line number Diff line change
    @@ -39,11 +39,37 @@ OPENSSLDIR_PREFIX=$PWD/ssl
    #

    sudo rm -rf "openssl-$OPENSSL_VER" && \
    mkdir -p -m 0700 "openssl-$OPENSSL_VER/.gnupg" && \
    curl --fail \
    -O https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz \
    -O https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz.asc && \
    gpg --recv-keys 8657ABB260F056B1E5190839D9C4D26D0E604491 && \
    gpg --verify openssl-$OPENSSL_VER.tar.gz.asc && \
    \
    # https://www.openssl.org/community/omc.html
    #
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/openssl-$OPENSSL_VER/.gnupg" \
    --keyring "$PWD/openssl-$OPENSSL_VER/.gnupg/openssl.gpg" \
    --keyserver hkp://keys.gnupg.net \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    8657ABB260F056B1E5190839D9C4D26D0E604491 \
    5B2545DAB21995F4088CEFAA36CEE4DEB00CFE33 \
    ED230BEC4D4F2518B9D7DF41F0DB4D21C1D35231 \
    C1F33DD8CE1D4CC613AF14DA9195C48241FBF7DD \
    7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C \
    E5E52560DD91C556DDBDA5D02064C53641C25E5D \
    && \
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/openssl-$OPENSSL_VER/.gnupg" \
    --keyring "$PWD/openssl-$OPENSSL_VER/.gnupg/openssl.gpg" \
    --keyserver hkp://keys.gnupg.net \
    --keyserver-options no-auto-key-retrieve \
    --verify openssl-$OPENSSL_VER.tar.gz.asc \
    && \
    tar xvfz openssl-$OPENSSL_VER.tar.gz && \
    cd openssl-$OPENSSL_VER && \
    \
    @@ -92,11 +118,32 @@ echo -e "\n\nSuccess: Installed Nghttp2 $NGHTTP2_VER in $NGHTTP2_PREFIX\n"
    #

    sudo rm -rf "curl-$CURL_VER" && \
    mkdir -p -m 0700 "curl-$CURL_VER/.gnupg" && \
    curl --fail \
    -O https://curl.haxx.se/download/curl-$CURL_VER.tar.gz \
    -O https://curl.haxx.se/download/curl-$CURL_VER.tar.gz.asc && \
    gpg --recv-keys 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 && \
    gpg --verify curl-$CURL_VER.tar.gz.asc && \
    # https://daniel.haxx.se/address.html
    # https://github.com/curl/curl/issues/735
    #
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/curl-$CURL_VER/.gnupg" \
    --keyring "$PWD/curl-$CURL_VER/.gnupg/curl.gpg" \
    --keyserver hkp://keys.gnupg.net \
    --keyserver-options no-auto-key-retrieve \
    --recv-keys \
    27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 \
    && \
    gpg \
    --no-auto-key-locate \
    --no-default-keyring \
    --homedir "$PWD/curl-$CURL_VER/.gnupg" \
    --keyring "$PWD/curl-$CURL_VER/.gnupg/curl.gpg" \
    --keyserver hkp://keys.gnupg.net \
    --keyserver-options no-auto-key-retrieve \
    --verify curl-$CURL_VER.tar.gz.asc \
    && \
    tar xvfz curl-$CURL_VER.tar.gz && \
    cd curl-$CURL_VER && \
    \