From 359b1467a29895747adb55d053d0785782547a89 Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Wed, 24 Oct 2018 20:33:52 -0700 Subject: [PATCH] Work around snap's old cabal + new snapcraft proxy. --- .snapsquid.conf | 14 ++++++++++++++ snap/snapcraft.yaml | 9 ++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 .snapsquid.conf diff --git a/.snapsquid.conf b/.snapsquid.conf new file mode 100644 index 0000000..205c1a6 --- /dev/null +++ b/.snapsquid.conf @@ -0,0 +1,14 @@ +# In 2015, cabal-install had a http bug triggered when proxies didn't keep +# the connection open. This version made it into Ubuntu Xenial as used by +# Snapcraft. In June 2018, Snapcraft's proxy started triggering this bug. +# +# https://bugs.launchpad.net/launchpad-buildd/+bug/1797809 +# +# Workaround: add more proxy + +visible_hostname localhost +http_port 8888 +cache_peer 10.10.10.1 parent 8222 0 no-query default +cache_peer_domain localhost !.internal +http_access allow all + diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index b7f0e96..9c50293 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -37,9 +37,16 @@ parts: source: ./ build-packages: - cabal-install + - squid3 build: | + # See comments in .snapsquid.conf + [ "$http_proxy" ] && { + squid3 -f .snapsquid.conf + export http_proxy="http://localhost:8888" + sleep 3 + } cabal sandbox init - cabal update + cabal update || cat /var/log/squid/* cabal install -j install: | install -d $SNAPCRAFT_PART_INSTALL/usr/bin