diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/brew.rb | 3 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/update-report.rb | 25 | ||||
| -rw-r--r-- | Library/Homebrew/config.rb | 12 | ||||
| -rw-r--r-- | Library/Homebrew/utils.rb | 24 | 
4 files changed, 30 insertions, 34 deletions
diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index ee7035009..b177569d1 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -87,6 +87,9 @@ begin      # `Homebrew.help` never returns, except for external/unknown commands.    end +  # Migrate LinkedKegs/PinnedKegs if update didn't already do so +  migrate_legacy_keg_symlinks_if_necessary +    # Uninstall old brew-cask if it's still around; we just use the tap now.    if cmd == "cask" && (HOMEBREW_CELLAR/"brew-cask").exist?      system(HOMEBREW_BREW_FILE, "uninstall", "--force", "brew-cask") diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index 653757a2e..d97a0275e 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -7,6 +7,7 @@ require "migrator"  require "formulary"  require "descriptions"  require "cleanup" +require "utils"  module Homebrew    def update_preinstall_header @@ -168,30 +169,6 @@ module Homebrew      end    end -  def migrate_legacy_keg_symlinks_if_necessary -    legacy_linked_kegs = HOMEBREW_LIBRARY/"LinkedKegs" -    return unless legacy_linked_kegs.directory? - -    legacy_linked_kegs.children.each do |f| -      keg = Keg.new(f.realpath) -      keg.unlink -      keg.link -    end -    FileUtils.rm_rf legacy_linked_kegs - -    legacy_pinned_kegs = HOMEBREW_LIBRARY/"PinnedKegs" -    return unless legacy_pinned_kegs.directory? - -    legacy_pinned_kegs.children.each do |f| -      pin_version = Keg.new(f.realpath).version -      formula = Formulary.factory(f.basename.to_s) -      pin = FormulaPin.new(formula) -      pin.unpin -      pin.pin_at(pin_version) -    end -    FileUtils.rm_rf legacy_pinned_kegs -  end -    def link_completions_and_docs      return if HOMEBREW_PREFIX.to_s == HOMEBREW_REPOSITORY.to_s      command = "brew update" diff --git a/Library/Homebrew/config.rb b/Library/Homebrew/config.rb index 31ac2d435..38d7c8043 100644 --- a/Library/Homebrew/config.rb +++ b/Library/Homebrew/config.rb @@ -18,18 +18,10 @@ HOMEBREW_LIBRARY = Pathname.new(ENV["HOMEBREW_LIBRARY"])  HOMEBREW_SHIMS_PATH = HOMEBREW_LIBRARY/"Homebrew/shims"  # Where we store symlinks to currently linked kegs -HOMEBREW_LINKED_KEGS = if (HOMEBREW_LIBRARY/"LinkedKegs").exist? -  HOMEBREW_LIBRARY/"LinkedKegs" -else -  HOMEBREW_PREFIX/"var/homebrew/linked" -end +HOMEBREW_LINKED_KEGS = HOMEBREW_PREFIX/"var/homebrew/linked"  # Where we store symlinks to currently version-pinned kegs -HOMEBREW_PINNED_KEGS = if (HOMEBREW_LIBRARY/"PinnedKegs").exist? -  HOMEBREW_LIBRARY/"PinnedKegs" -else -  HOMEBREW_PREFIX/"var/homebrew/pinned" -end +HOMEBREW_PINNED_KEGS = HOMEBREW_PREFIX/"var/homebrew/pinned"  # Where we store lock files  HOMEBREW_LOCK_DIR = HOMEBREW_PREFIX/"var/homebrew/locks" diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 543b57e19..b3520a7ec 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -620,3 +620,27 @@ end  def link_path_manpages(path, command)    link_src_dst_dirs(path/"man", HOMEBREW_PREFIX/"share/man", command)  end + +def migrate_legacy_keg_symlinks_if_necessary +  legacy_linked_kegs = HOMEBREW_LIBRARY/"LinkedKegs" +  return unless legacy_linked_kegs.directory? + +  legacy_linked_kegs.children.each do |f| +    keg = Keg.new(f.realpath) +    keg.unlink +    keg.link +  end +  FileUtils.rm_rf legacy_linked_kegs + +  legacy_pinned_kegs = HOMEBREW_LIBRARY/"PinnedKegs" +  return unless legacy_pinned_kegs.directory? + +  legacy_pinned_kegs.children.each do |f| +    pin_version = Keg.new(f.realpath).version +    formula = Formulary.factory(f.basename.to_s) +    pin = FormulaPin.new(formula) +    pin.unpin +    pin.pin_at(pin_version) +  end +  FileUtils.rm_rf legacy_pinned_kegs +end  | 
