Homebrew / legacy-homebrew

💀 The former home of Homebrew/homebrew (deprecated)
https://brew.sh
26.99k stars 11.36k forks source link

Bug with new screenbrightness links #42533

Closed chdiza closed 8 years ago

chdiza commented 9 years ago

If I do brew install brightness, then brew rm brightness, then do e.g., brew outdated or almost any other brew command, I get the following: Error: No such file or directory - /usr/local/Cellar/screenbrightness.

Research reveals that the following files/dirs aren't getting removed by either brew rm brightness or brew rm screenbrightness:

/usr/local/bin/brightness
/usr/local/cellar/brightness

This must have something to do with aliases, but I am unable to solve.

chdiza commented 9 years ago

brew rm screenbrightness gives the same error.

xu-cheng commented 9 years ago

Please paste the output when you run these commands with -vd. Thanks. FYI, I cannot reproduce it.

chdiza commented 9 years ago

Ah turns out this has to do with custom formulas. I have a custom formula for brightness (that's what screenbrightness really is now, but we merely have brightness as an alias for screenbrightness). The formula itself doesn't do anything fancy or special, or indeed anything that the now-official formula doesn't do.

If I cd to the dir holding my custom formula, and do brew install -d brightness.rb, it builds and installs and works fine.

If I then do (e.g.,) brew -vd outdated I get:

brew outdated -vd
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/apg.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/appswitch.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/autoconf.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/automake.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/base64.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/blueutil.rb
/Applications/homebrew/Library/brew.rb (Formulary::AliasLoader): loading /Applications/homebrew/Library/Formula/screenbrightness.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/browser.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/curl.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/diffutils.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/dos2unix.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/duff.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/duti.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/extract_url.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/file-formula.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/fpp.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/freetype.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/gawk.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/git.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/gnoopeegee.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/gnu-tar.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/graphicsmagick.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/grep.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/groff.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/gzip.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/icalbuddy.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/jpeg.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/less.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/libpng.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/libtiff.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/libtool.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/little-cms2.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/lynx.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/markdown.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/msmtp.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/netcat.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/openssh.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/openssl.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/patch.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/pinentry-mac.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/pkg-config.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/platypus.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/psgrep.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/pstree.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/pv.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/qprint.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/ripmime.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/rsync.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/screenresolution.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/sed.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/sf-pwgen.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/task.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Taps/chdiza/homebrew-diza/tokyocabinet.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/unar.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/urlview.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/wdiff.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/wget.rb
/Applications/homebrew/Library/brew.rb (Formulary::FormulaLoader): loading /Applications/homebrew/Library/Formula/xz.rb
Error: No such file or directory - /usr/local/Cellar/screenbrightness
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/pathname.rb:422:in `open'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/pathname.rb:422:in `foreach'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/pathname.rb:422:in `children'
/Applications/homebrew/Library/Homebrew/extend/pathname.rb:282:in `subdirs'
/Applications/homebrew/Library/Homebrew/cmd/outdated.rb:19:in `block in outdated_brews'
/Applications/homebrew/Library/Homebrew/cmd/outdated.rb:16:in `map'
/Applications/homebrew/Library/Homebrew/cmd/outdated.rb:16:in `outdated_brews'
/Applications/homebrew/Library/Homebrew/cmd/outdated.rb:41:in `print_outdated'
/Applications/homebrew/Library/Homebrew/cmd/outdated.rb:10:in `outdated'
/Applications/homebrew/Library/brew.rb:127:in `<main>'

That's a list of every formula I have installed (custom and otherwise).

chdiza commented 9 years ago

For comparison, the problem disappears if I rename my custom brightness.rb to screenbrightness.rb.

I wonder if, in general, having a custom formula for foo, where foo in core is an alias for bar, is a problem even when they point to the same tarball with the same instructions. It shouldn't be, but it seems it is.

xu-cheng commented 9 years ago

This should be fixed by #42743 now.

chdiza commented 9 years ago

I'm sorry to report that the issue is not fixed. With a custom brightness formula (you can even let it be identical in content to the official one, except that it starts with Class Brightness),

brew install brightness.rb && brew outdated will give:

Error: No such file or directory - /usr/local/Cellar/screenbrightness

chdiza commented 8 years ago

Fixed in homebrew-core.