😽
Homebrewでインストールしたファイルが、どのパッケージに含まれるか調べる
Homebrew で dpkg -S /usr/bin/hoge
みたいなことをしたかったのだけど、できないっぽい。
調べていると brew ls -v PACKAGE
でインストールされるファイルの一覧を取得できることが分かったので、しらみつぶしになめるスクリプトを書いてみた。
#!/bin/sh
usage() {
echo "Usage: $0 FILE_PATH"
exit 1
}
targetpath=$1
if [ x"$targetpath" = x"" ] || [ x"$targetpath" = x"-h" ]; then
usage
fi
if [ ! -f $targetpath ]; then
echo "File not found:" $targetpath
exit 1
fi
if [ -L $targetpath ]; then
echo "$targetpath is symlink"
targetpath=`python3 -c "import os.path as op; print(op.realpath('$targetpath'))"`
fi
echo "searching '$targetpath' ..."
brew ls --formula -1 |\
while read formula; do
brew ls -v $formula 2>/dev/null | grep -q $targetpath && echo "found the file in '$formula'"
done
Discussion