aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2016-09-17 13:29:23 +0100
committerGitHub2016-09-17 13:29:23 +0100
commite3fe2704eb3f64c97d21938e67bff21318e17bcf (patch)
tree4201a4806ca47583a08efe1d07e75ad2edb1f296 /Library
parent789cfb0961defc36e45d7b9528cf761435cfbdd2 (diff)
parent8aa18510c492c0167978df4e209455af4ff215e3 (diff)
downloadbrew-e3fe2704eb3f64c97d21938e67bff21318e17bcf.tar.bz2
Merge pull request #983 from MikeMcQuaid/update-force-linkedkegs-migration
Always run LinkedKegs migration (if needed).
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/update-report.rb10
-rw-r--r--Library/Homebrew/cmd/update.sh1
-rw-r--r--Library/Homebrew/config.rb14
3 files changed, 20 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb
index fa82c875d..653757a2e 100644
--- a/Library/Homebrew/cmd/update-report.rb
+++ b/Library/Homebrew/cmd/update-report.rb
@@ -172,7 +172,11 @@ module Homebrew
legacy_linked_kegs = HOMEBREW_LIBRARY/"LinkedKegs"
return unless legacy_linked_kegs.directory?
- legacy_linked_kegs.children.each {|f| Keg.new(f.realpath).link }
+ 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"
@@ -181,7 +185,9 @@ module Homebrew
legacy_pinned_kegs.children.each do |f|
pin_version = Keg.new(f.realpath).version
formula = Formulary.factory(f.basename.to_s)
- FormulaPin.new(formula).pin_at(pin_version)
+ pin = FormulaPin.new(formula)
+ pin.unpin
+ pin.pin_at(pin_version)
end
FileUtils.rm_rf legacy_pinned_kegs
end
diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh
index ee6048ca8..67b3699ed 100644
--- a/Library/Homebrew/cmd/update.sh
+++ b/Library/Homebrew/cmd/update.sh
@@ -534,6 +534,7 @@ EOS
if [[ -n "$HOMEBREW_UPDATED" ||
-n "$HOMEBREW_UPDATE_FAILED" ||
-n "$HOMEBREW_UPDATE_FORCE" ||
+ -d "$HOMEBREW_LIBRARY/LinkedKegs" ||
(-n "$HOMEBREW_DEVELOPER" && -z "$HOMEBREW_UPDATE_PREINSTALL") ]]
then
brew update-report "$@"
diff --git a/Library/Homebrew/config.rb b/Library/Homebrew/config.rb
index 19ad7a7e5..31ac2d435 100644
--- a/Library/Homebrew/config.rb
+++ b/Library/Homebrew/config.rb
@@ -18,10 +18,18 @@ 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 = HOMEBREW_PREFIX/"var/homebrew/linked"
+HOMEBREW_LINKED_KEGS = if (HOMEBREW_LIBRARY/"LinkedKegs").exist?
+ HOMEBREW_LIBRARY/"LinkedKegs"
+else
+ HOMEBREW_PREFIX/"var/homebrew/linked"
+end
-# Wehere we store symlinks to currently version-pinned kegs
-HOMEBREW_PINNED_KEGS = HOMEBREW_PREFIX/"var/homebrew/pinned"
+# 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
# Where we store lock files
HOMEBREW_LOCK_DIR = HOMEBREW_PREFIX/"var/homebrew/locks"