diff options
| author | Markus Reiter | 2017-03-06 21:28:34 +0100 |
|---|---|---|
| committer | Markus Reiter | 2017-03-12 00:35:09 +0100 |
| commit | 3bd4349e8ebfd44ce99beea90a8244ed8da33e8a (patch) | |
| tree | 41b10d5a60388069eacb9da644fc50da28da504b /Library/Homebrew/compat | |
| parent | 7a8d782365b615e066bead9b4829f6fce7f375df (diff) | |
| download | brew-3bd4349e8ebfd44ce99beea90a8244ed8da33e8a.tar.bz2 | |
Migrate legacy Caskroom.
Diffstat (limited to 'Library/Homebrew/compat')
| -rw-r--r-- | Library/Homebrew/compat/hbc.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/compat/hbc/caskroom.rb | 25 |
2 files changed, 27 insertions, 0 deletions
diff --git a/Library/Homebrew/compat/hbc.rb b/Library/Homebrew/compat/hbc.rb index e60bdbc07..353a72488 100644 --- a/Library/Homebrew/compat/hbc.rb +++ b/Library/Homebrew/compat/hbc.rb @@ -9,7 +9,9 @@ module Hbc Module.new do def init Cache.delete_legacy_cache + Caskroom.migrate_caskroom_from_repo_to_prefix + Caskroom.migrate_legacy_caskroom super end diff --git a/Library/Homebrew/compat/hbc/caskroom.rb b/Library/Homebrew/compat/hbc/caskroom.rb index 489c5b224..3621a35fb 100644 --- a/Library/Homebrew/compat/hbc/caskroom.rb +++ b/Library/Homebrew/compat/hbc/caskroom.rb @@ -2,6 +2,31 @@ module Hbc module Caskroom module_function + def migrate_legacy_caskroom + return if Hbc.caskroom.exist? + + legacy_caskroom = Pathname.new("/opt/homebrew-cask/Caskroom") + return if Hbc.caskroom == legacy_caskroom + return unless legacy_caskroom.exist? + return if legacy_caskroom.symlink? + + ohai "Migrating Caskroom from #{legacy_caskroom} to #{Hbc.caskroom}." + if Hbc.caskroom.parent.writable? + FileUtils.mv legacy_caskroom, Hbc.caskroom + else + opoo "#{Hbc.caskroom.parent} is not writable, sudo is needed to move the Caskroom." + SystemCommand.run("/bin/mv", args: [legacy_caskroom, Hbc.caskroom.parent], sudo: true) + end + + ohai "Creating symlink from #{Hbc.caskroom} to #{legacy_caskroom}." + if legacy_caskroom.parent.writable? + FileUtils.ln_s Hbc.caskroom, legacy_caskroom + else + opoo "#{legacy_caskroom.parent} is not writable, sudo is needed to link the Caskroom." + SystemCommand.run("/bin/ln", args: ["-s", Hbc.caskroom, legacy_caskroom], sudo: true) + end + end + def migrate_caskroom_from_repo_to_prefix repo_caskroom = HOMEBREW_REPOSITORY.join("Caskroom") return if Hbc.caskroom.exist? |
