Homebrew-cask: XtraFinder error after cask install and launch

Created on 19 Sep 2017  Â·  16Comments  Â·  Source: Homebrew/homebrew-cask

General troubleshooting steps

Description of issue

After installing xtrafinder by
brew cask zap xtrafinder
brew cask install xtrafinder
the app shows an error on every launch from then on. It says

Warning, XtraFinder.app was modified.
For security reason, re-download XtraFinder from official web page.

I noticed it installs to /usr/local/Caskroom/xtrafinder/0.27/XtraFinder.app
instead of
/Applications/XtraFinder.app

After moving it to the correct location

mv /usr/local/Caskroom/xtrafinder/0.27/XtraFinder.app /Applications/XtraFinder.app

the error goes away.

Would be nice to see a fix installing it to the correct location by default.

Thanks in advance

Most helpful comment

but in my eyes running the command with --verbose --debug doesn`t make sense and neither does brew cask doctor

All due respect, that’s not your call to make. There’s a reason we ask for that information; it’s for our eyes, not yours. If you’re submitting a bug, we need to know everything that happened.

the cask is clearly installed in the wrong location

No, it is not. The cask was unpackaged to the correct location, but the app isn’t what matters, the pkg is. That is the one that is failing.

Do you have the same issue installing the pkg manually?

I can confirm on a clean Sierra VM that it indeed fails when trying to install manually. We need to either:

  • Make the cask stage_only and add a caveat about SIP (linking to their instructions).
  • Make the cask depends_on under 10.11.

All 16 comments

If you ignore this guide, your issue may be closed without review.

Also note from that document:

If the maintainer was wrong in closing your issue, please do reply stating why! Closing an issue does not mean the conversation is over. If the guides themselves were unclear, help us improve them! Open first an issue or pull request stating what you found confusing and only then your other issue.

I´m sorry, I read over the instructions again, but in my eyes running the command with --verbose --debug doesn`t make sense and neither does brew cask doctor as the cask is clearly installed in the wrong location. But here you go with both. I anything else is missing, please let me know and reopen the issue.

Output of your command with --verbose --debug

brew cask install xtrafinder --verbose --debug
==> Hbc::Installer#install
==> Printing caveats
==> Hbc::Installer#fetch
==> Satisfying dependencies
==> Downloading
==> Downloading https://www.trankynam.com/xtrafinder/downloads/XtraFinder.dmg
Already downloaded: /Users/tom/Library/Caches/Homebrew/Cask/xtrafinder--0.27.dmg
==> Downloaded to -> /Users/tom/Library/Caches/Homebrew/Cask/xtrafinder--0.27.dmg
==> Verifying download
==> Determining which verifications to run for Cask xtrafinder
==> Checking for verification class Hbc::Verify::Checksum
==> 1 verifications defined
Hbc::Verify::Checksum
==> Running verification of class Hbc::Verify::Checksum
==> Verifying checksum for Cask xtrafinder
==> SHA256 checksums match
==> Installing Cask xtrafinder
==> Hbc::Installer#stage
==> Extracting primary container
==> Determining which containers to use based on filetype
==> Checking container class Hbc::Container::Pkg
==> Checking container class Hbc::Container::Ttf
==> Checking container class Hbc::Container::Otf
==> Checking container class Hbc::Container::Air
==> Checking container class Hbc::Container::Cab
==> Checking container class Hbc::Container::Dmg
==> Executing: ["/usr/bin/hdiutil", "imageinfo", "/Users/tom/Library/Caches/Homebrew/Cask/xtrafinder--0.27.dmg"]
==> Using container class Hbc::Container::Dmg for /Users/tom/Library/Caches/Homebrew/Cask/xtrafinder--0.27.dmg
==> Executing: ["/usr/bin/hdiutil", "attach", "-plist", "-nobrowse", "-readonly", "-noidme", "-mountrandom", "/var/folders/0w/h6rlhrrj0rj1dlhp8f6yn1t80000gn/T/d20170919-3946-1fck3v7", "/Users/tom/Library/Caches/Homebrew/Cask/xtrafinder--0.27.dmg"]
==> Executing: ["/usr/bin/mkbom", "-s", "-i", "/var/folders/0w/h6rlhrrj0rj1dlhp8f6yn1t80000gn/T/20170919-3946-1n0amce.list", "--", "/var/folders/0w/h6rlhrrj0rj1dlhp8f6yn1t80000gn/T/20170919-3946-108iocm.bom"]
==> Executing: ["/usr/bin/ditto", "--bom", "/var/folders/0w/h6rlhrrj0rj1dlhp8f6yn1t80000gn/T/20170919-3946-108iocm.bom", "--", "/private/var/folders/0w/h6rlhrrj0rj1dlhp8f6yn1t80000gn/T/d20170919-3946-1fck3v7/dmg.WSVF8P", "/usr/local/Caskroom/xtrafinder/0.27"]
==> Executing: ["/usr/sbin/diskutil", "eject", "/private/var/folders/0w/h6rlhrrj0rj1dlhp8f6yn1t80000gn/T/d20170919-3946-1fck3v7/dmg.WSVF8P"]
==> Executing: ["/usr/sbin/diskutil", "eject", "/private/var/folders/0w/h6rlhrrj0rj1dlhp8f6yn1t80000gn/T/d20170919-3946-1fck3v7/dmg.WSVF8P"]
==> Creating metadata directory /usr/local/Caskroom/xtrafinder/.metadata/0.27/20170919122444.745.
==> Creating metadata subdirectory /usr/local/Caskroom/xtrafinder/.metadata/0.27/20170919122444.745/Casks.
==> Installing artifacts
==> Determining which artifacts are present in Cask xtrafinder
==> 2 artifact/s defined
:pkgutil => "com.trankynam.xtrafinder.*",  (Uninstall)
XtraFinderInstaller.pkg (Pkg)
==> Installing artifact of class Hbc::Artifact::Pkg
==> Running installer for xtrafinder; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> Executing: ["/usr/bin/sudo", "-E", "--", "/usr/sbin/installer", "-pkg", "/usr/local/Caskroom/xtrafinder/0.27/XtraFinderInstaller.pkg", "-target", "/", "-verboseR"]
==> installer: Package name is XtraFinder
==> installer: Installing at base path /
==> installer:PHASE:Installation vorbereiten …
==> installer:PHASE:Volume vorbereiten …
==> installer:PHASE:„XtraFinder“ vorbereiten …
==> installer:PHASE:Warten, bis andere Installationen abgeschlossen werden …
==> installer:PHASE:Installation konfigurieren …
==> installer:STATUS:
==> installer:%42.826784
==> installer:PHASE:Objekte an Zielort bewegen …
==> installer:PHASE:Pakete überprüfen …
==> installer:%97.750000
==> installer:STATUS:Installationsaktionen ausführen …
==> installer:STATUS:
==> installer:PHASE:Installation abschließen …
==> installer:STATUS:
==> installer:%100.000000
==> installer:PHASE:Die Software wurde erfolgreich installiert.
==> installer: The install was successful.
🍺  xtrafinder was successfully installed!

Output of brew cask doctor

brew cask doctor
==> Homebrew-Cask Version
Homebrew-Cask 1.3.2-80-g81d9f71
caskroom/homebrew-cask (git revision 5344b; last commit 2017-09-19)
==> Homebrew-Cask Install Location
<NONE>
==> Homebrew-Cask Staging Location
/usr/local/Caskroom
==> Homebrew-Cask Cached Downloads
~/Library/Caches/Homebrew/Cask (1 files, 3.7MB)
==> Homebrew-Cask Taps:
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask (3737 casks)
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-drivers (116 casks)
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-eid (8 casks)
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-fonts (1112 casks)
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-versions (167 casks)
==> Contents of $LOAD_PATH
/usr/local/Homebrew/Library/Homebrew/cask/lib
/usr/local/Homebrew/Library/Homebrew
/Library/Ruby/Site/2.0.0
/Library/Ruby/Site/2.0.0/x86_64-darwin16
/Library/Ruby/Site/2.0.0/universal-darwin16
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/universal-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/x86_64-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16
==> Environment Variables
LANG="de_DE.UTF-8"
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/Homebrew/Library/Homebrew/shims/scm"
SHELL="/bin/bash"

xtrafinder doesn't work 10.11 and later because of SIP.

sip is disabled and xtrafinder is working fine (with sip disabled) when installing from the website or moving the .app afterwards. It just installs to the wrong location.

Do you have the same issue installing the pkg manually?

no, working fine when installing manually.

As stated in the initial issue I noticed the cask version installs to
/usr/local/Caskroom/xtrafinder/0.27/XtraFinder.app
instead of
/Applications/XtraFinder.app

After moving it to the correct location
mv /usr/local/Caskroom/xtrafinder/0.27/XtraFinder.app /Applications/XtraFinder.app
the error goes away.

but in my eyes running the command with --verbose --debug doesn`t make sense and neither does brew cask doctor

All due respect, that’s not your call to make. There’s a reason we ask for that information; it’s for our eyes, not yours. If you’re submitting a bug, we need to know everything that happened.

the cask is clearly installed in the wrong location

No, it is not. The cask was unpackaged to the correct location, but the app isn’t what matters, the pkg is. That is the one that is failing.

Do you have the same issue installing the pkg manually?

I can confirm on a clean Sierra VM that it indeed fails when trying to install manually. We need to either:

  • Make the cask stage_only and add a caveat about SIP (linking to their instructions).
  • Make the cask depends_on under 10.11.

ok, I´m sorry if I got that wrong when submitting the issue. I hope you have all information to make it work now.

Thanks for all your help and hard work on the project. I really like it.

And just to let you know, the same issue is present on 10.13 GM, too, when installing by cask. When downloading the installer from the maintainer page it also installs to the correct location and works with sip turned off. So same thing than under 10.12.6

I hope you have all information to make it work now.

We do, thank you, but you’re not going to like it.

Basically we either make the cask not work on any macOS before 10.11 or we only download the cask and tell users to install it manually.

I would like it better if it would not work before 10.11 but if it would work automatically on the latest macos versions instead of installing manually.

Would be nice, thanks.

Make the cask depends_on under 10.11.

I'd favour this option.

I would like it better if it would not work before 10.11

There’s no reason to do that.

but if it would work automatically on the latest macos versions instead of installing manually.

We can’t do that. It’s impossible, due to SIP.

This is not a negotiation of what we want to do; it’s an explanation of what can be done.

Make the cask depends_on under 10.11.

I'd favour this option.

I do as well. I really don’t want to tell users to disable security features.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gebing picture gebing  Â·  3Comments

akashlevy picture akashlevy  Â·  3Comments

florianletsch picture florianletsch  Â·  3Comments

orome picture orome  Â·  3Comments

jrwiegand picture jrwiegand  Â·  3Comments