flycheck / emacs-travis

Install Emacs on Travis CI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gnutls breaks 26 and snapshot, but works for 27

rnikoopour opened this issue · comments

Hey all,

I tried using emacs-travis.mk in the following build:

language: generic
os: linux
dist: trusty
jobs:
  fast_finish: true
  allow_failures:
    - env: EMACS_VERSION=snapshot
env:
  - EMACS_VERSION=26.3
  - EMACS_VERSION=27.1
  - EMACS_VERSION=snapshot
before_install:
  # Configure $PATH: Executables are installed to $HOME/bin
  - export PATH="$HOME/bin:$PATH"
  # Download the makefile to emacs-travis.mk
  - wget 'https://raw.githubusercontent.com/flycheck/emacs-travis/master/emacs-travis.mk'
  # Install Emacs (according to $EMACS_VERSION) and Cask
  - make -f emacs-travis.mk install_emacs
  - make -f emacs-travis.mk install_cask
install:
  # Install your dependencies
  - cask install
script:
  # Run your tests
  - make test

This builds for Emacs 26 and snapshot but fails for Emacs 27 with the following error:

$ cask install
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Contacting host: stable.melpa.org:443
Package tls is deprecated
Opening TLS connection to ‘stable.melpa.org’...
Opening TLS connection with ‘gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p 443 stable.melpa.org’...
Opening TLS connection with ‘gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p 443 stable.melpa.org’...failed
Opening TLS connection with ‘gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p 443 stable.melpa.org --protocols ssl3’...
Opening TLS connection with ‘gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p 443 stable.melpa.org --protocols ssl3’...failed
Opening TLS connection to ‘stable.melpa.org’...failed
Failed to download ‘melpa’ archive.
Contacting host: elpa.gnu.org:443
Opening TLS connection to ‘elpa.gnu.org’...
Opening TLS connection with ‘gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p 443 elpa.gnu.org’...
Opening TLS connection with ‘gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p 443 elpa.gnu.org’...failed
Opening TLS connection with ‘gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p 443 elpa.gnu.org --protocols ssl3’...
Opening TLS connection with ‘gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p 443 elpa.gnu.org --protocols ssl3’...failed
Opening TLS connection to ‘elpa.gnu.org’...failed
Package refresh done
Failed to download ‘gnu’ archive.
Setting ‘package-selected-packages’ temporarily since "emacs -q" would overwrite customizations
Setting ‘package-selected-packages’ temporarily since "emacs -q" would overwrite customizations
Package ‘s-’ is unavailable
The command "cask install" failed and exited with 255 during .

I changed before_install to:

before_install:
  # Configure $PATH: Executables are installed to $HOME/bin
  - export PATH="$HOME/bin:$PATH"
  # Download the makefile to emacs-travis.mk
  - wget 'https://raw.githubusercontent.com/flycheck/emacs-travis/master/emacs-travis.mk'
  # Install Emacs (according to $EMACS_VERSION) and Cask
  - make -f emacs-travis.mk install_gnutls
  - make -f emacs-travis.mk install_emacs
  - make -f emacs-travis.mk install_cask

to ensure gnutls was installed.

However this new build cause Emacs 26 and snapshot to fail while allowing Emacs 27 to build to completion.

ln: failed to create symbolic link ‘/usr/lib/libgnutls.so.28’: File exists
make: *** [install_gnutls] Error 1
The command "make -f emacs-travis.mk install_emacs" failed and exited with 2 during .

https://travis-ci.com/github/rnikoopour/terraform-mode/builds/202187270 <-- Build w/ Emacs 26 and snapshot success
https://travis-ci.com/github/rnikoopour/terraform-mode/builds/202189912 <-- Build w/ Emacs 27 success

Is there a way to handle this properly?

Chiming in here just to say that Travis has severely degraded in service quality lately, so if that is an option, you may consider just switching to an alternative, like https://github.com/purcell/setup-emacs.