From 458a80d25a9370ae757f89f04b64486c0d72caea Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Wed, 21 Sep 2016 17:34:15 +0200 Subject: [PATCH 1/2] Ask for `sudo` when moving Caskroom. --- Library/Homebrew/cask/lib/hbc/caskroom.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Library/Homebrew/cask/lib/hbc/caskroom.rb b/Library/Homebrew/cask/lib/hbc/caskroom.rb index 7d02f3fa45b9c..b5443a8b7cdcc 100644 --- a/Library/Homebrew/cask/lib/hbc/caskroom.rb +++ b/Library/Homebrew/cask/lib/hbc/caskroom.rb @@ -5,6 +5,12 @@ def migrate_caskroom_from_repo_to_prefix repo_caskroom = Hbc.homebrew_repository.join("Caskroom") if !Hbc.caskroom.exist? && repo_caskroom.directory? ohai "Moving Caskroom from HOMEBREW_REPOSITORY to HOMEBREW_PREFIX" + + unless Hbc.caskroom.parent.writable? + opoo "#{Hbc.caskroom.parent} is not writable, changing owner to current user." + system "/usr/bin/sudo", "--", "/usr/sbin/chown", "--", "#{Hbc::Utils.current_user}:staff", Hbc.caskroom.parent.to_s + end + FileUtils.mv repo_caskroom, Hbc.caskroom end end From 530cee44c37fa02c06b04b18349a89817df920f3 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Wed, 21 Sep 2016 19:05:35 +0200 Subject: [PATCH 2/2] Use `sudo mv` to move Caskroom. --- Library/Homebrew/cask/lib/hbc/caskroom.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Library/Homebrew/cask/lib/hbc/caskroom.rb b/Library/Homebrew/cask/lib/hbc/caskroom.rb index b5443a8b7cdcc..7dcb35d41b419 100644 --- a/Library/Homebrew/cask/lib/hbc/caskroom.rb +++ b/Library/Homebrew/cask/lib/hbc/caskroom.rb @@ -6,12 +6,12 @@ def migrate_caskroom_from_repo_to_prefix if !Hbc.caskroom.exist? && repo_caskroom.directory? ohai "Moving Caskroom from HOMEBREW_REPOSITORY to HOMEBREW_PREFIX" - unless Hbc.caskroom.parent.writable? - opoo "#{Hbc.caskroom.parent} is not writable, changing owner to current user." - system "/usr/bin/sudo", "--", "/usr/sbin/chown", "--", "#{Hbc::Utils.current_user}:staff", Hbc.caskroom.parent.to_s + if Hbc.caskroom.parent.writable? + FileUtils.mv repo_caskroom, Hbc.caskroom + else + opoo "#{Hbc.caskroom.parent} is not writable, sudo is needed to move the Caskroom." + system "/usr/bin/sudo", "--", "/bin/mv", "--", repo_caskroom.to_s, Hbc.caskroom.parent.to_s end - - FileUtils.mv repo_caskroom, Hbc.caskroom end end