「cygcheck」を使用して「FILEが属するパッケージを見つける」

「cygcheck」を使用して「FILEが属するパッケージを見つける」

私のCygwinインストーラ「setup-x86_64.exe」によると、私のパッケージのtexlive-collection-latexextraバージョンは20220321-1です。 Cygwinパッケージの検索ページこのパッケージにそれを含めるべきだと言って、usr/share/texmf-dist/tex/latex/changes/changes.sty私はそれを確認しました。

出力は、FILEが属するパッケージを見つけるcygcheck --helpことを示します。cygcheck -f FILE [FILE]...しかし、cygcheck -f changes.sty何も返されません。

私は何が間違っていましたか?

答え1

私は次のスクリプトを持っています/usr/local/bin/cygsearch(明らかに/usr/local/bin私のスクリプトにあります$PATH

#!/bin/sh
#
if [ $# -eq 0 ]
then
    echo "Usage: ${0##*/} <program_name>" >&2
    exit 1
fi

cygcheck -p "/$1"

このバージョンでは、オンラインストアを使用して指定されたファイルを検索し、一致するパッケージのリストを返します。例えば、

cygsearch date.exe
Found 6 matches for /date.exe
coreutils-debuginfo-8.26-2 - coreutils-debuginfo: Debug info for coreutils
coreutils-debuginfo-8.32-1 - coreutils-debuginfo: Debug info for coreutils
coreutils-debuginfo-9.0-1 - coreutils-debuginfo: Debug info for coreutils
coreutils-8.26-2 - coreutils: GNU core utilities (includes fileutils, sh-utils and textutils)
coreutils-8.32-1 - coreutils: GNU core utilities (includes fileutils, sh-utils and textutils)
coreutils-9.0-1 - coreutils: GNU core utilities (includes fileutils, sh-utils and textutils)

常にサフィックスを含める必要はありませんが、.exeサフィックスがないと、あまりにも多くの誤った肯定結果を得ることがよくあります。

答え2

指定する必要があることがわかりました。フルパスファイル:

# Nothing gets listed
cygcheck -f changes.sty

# Nothing gets listed
cygcheck -f \
usr/share/texmf-dist/tex/latex/changes/changes.sty

# Package is listed
cygcheck -f \
/usr/share/texmf-dist/tex/latex/changes/changes.sty

  texlive-collection-latexextra-20220321-1

関連情報