Subject: [RFC PATCH] travis-ci: work around quarantine error during Perforce install on macOS

From: SZEDER Gábor <[email-masked]>
Date: Fri, 7 Sep 2018 05:20:02 +0200

Homebrew recently enabled the quarantine feature, which breaks a lot
of things [1], including installing Perforce in our macOS build jobs
on Travis CI [2], breaking all those builds in the last couple of
days.

The suggested workaround is to install affected packages using the
'--no-quarantine' option, but adding it to the current command, i.e.
running:

  brew install --no-quarantine caskroom/cask/perforce

doesn't work, because apparently the '--no-quarantine' option is not
propagated when the command gets converted to:

  brew cask install perforce

(unlike other options, e.g. '--verbose', '--force', and '--debug',
which are propagated properly).

So work around the issue by installing Perforce with this command
instead:

  brew cask install --no-quarantine perforce

Note that one option homebrew/cask devs are considering is to roll
back quarantine altogether [3].  We might have to revisit this
workaround if they eventually end up doing that, as that might remove
the '--no-quarantine' options as well.  We'll see.

[1] https://github.com/Homebrew/homebrew-cask/issues/51554
[2] e.g. https://travis-ci.org/git/git/jobs/424552274#L1246
[3] https://github.com/Homebrew/homebrew-cask/issues/51554#issuecomment-418923763

Signed-off-by: SZEDER Gábor <[email-masked]>
---

I'm not quite sure how to handle this issue.

First: I don't have a Mac, and this "cute" homebrew talk about pouring
bottles and tappping casks in the caskroom makes my brain hurt; so I
was just following instructions without fully understanding what I was
doing.  Nonetheless, this patch apparently makes the macOS build jobs
work again.

OTOH, this is only an auxillary part of Git, so fast-tracking it is
fairly low-risk, and by doing so we might have an all-green CI build
before the 2.19 release.

Finally, if we wait long enough, then this whole issue might just
solve itself, if the homebrew devs revert this quarantine stuff, and
our current 'brew install' command might suddenly work again.

 ci/install-dependencies.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 75a9fd2475..ca99044b20 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -30,7 +30,7 @@ osx-clang|osx-gcc)
 	# brew install gnu-time
 	brew install git-lfs gettext
 	brew link --force gettext
-	brew install caskroom/cask/perforce
+	brew cask install --no-quarantine perforce
 	;;
 esac
 
-- 
2.19.0.rc2.140.g09cf9e37c9