certificategnu-coreutils

bootstrap fails due to a certificate mismatch


When running ./bootstrap in a freshly-cloned repository (https://github.com/coreutils/coreutils), it seems to either not find some files it wants to or doesn't trust https://translationproject.org.

./bootstrap: Bootstrapping from checked-out coreutils sources...
./bootstrap: consider installing git-merge-changelog from gnulib
./bootstrap: getting gnulib files...
Submodule 'gnulib' (git://git.sv.gnu.org/gnulib.git) registered for path 'gnulib'
Cloning into '/home/vagrant/coreutils/gnulib'...
Submodule path 'gnulib': checked out '0ac98783691bbf8212537ebe18ddb68feb22a760'
./bootstrap: getting translations into po/.reference for coreutils...
ERROR: The certificate of 'translationproject.org' is not trusted.
ERROR: The certificate of 'translationproject.org' has expired.

So what I am going to do to make the certificate be trusted by my system and make it compilatioin successfully?


Solution

  • First, to get the certificate:

    wget --mirror --level=1 -nd -v -A.po -P 'po/.reference' https://translationproject.org/latest/coreutils/
    

    and then make the certificate trusted:

    a) ask openssl to trust:

    openssl s_client -connect translationproject.org:443 -CApath /etc/ssl/certs -showcerts </dev/null 2>/dev/null
    

    b) ask cert tool to trust

    certtool --verbose --verify --infile=/tmp/translationproject.org.certs
    

    Finally, you can use ./bootstrap sucessfully.