FEATURE-CHECK(1)

πŸ“¦
version 2.3.2 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

🌟 FEATURE-CHECK(1) 🌟

okay bestie, welcome to the General Commands Manual entry for feature-check β€” yes it's a real one, yes it's giving main character energy, and yes we're gonna get through the whole thing together πŸ’–


✨ NAME ✨

feature-check β€” query a program for supported features πŸ¦‹


✨ SYNOPSIS ✨

feature-check [-v] [-O optname] [-P prefix] program feature-name
feature-check [-O optname] [-P prefix] program feature-name op version
feature-check [-O optname] [-o json|tsv] [-P prefix] -l program
feature-check -V | -h
feature-check --features

like… five whole ways to use her. she's versatile, she's booked, she's that girl πŸ’…


✨ DESCRIPTION ✨

so the feature-check tool goes and gets the list of supported features from a program using various methods (for example: running it with the --features command-line option 🫢), and then it lets other programs check whether a specific feature is there and, possibly, what version it's at. it's basically a vibe check but for features, no cap.

Options: (yes, here comes the list, sit down, hydrate 🌸)

  • --features β€” list the compile-time features that this version of feature-check supports. here's the whole squad:
    • feature-check β€” always present, and it comes with the version of the feature-check tool. iconic, always shows up.
    • list β€” present if the feature-check tool supports fetching the list of features supported by a program.
    • simple β€” present if the feature-check tool supports comparing the version of a single feature against a specified version string.
    • single β€” present if the feature-check tool supports querying a single feature.
  • -h, --help β€” display program usage output and exit. (the "bestie what do i type" button πŸŽ€)
  • -O optname β€” specify the option to pass to the program to obtain its list of features (default --features).
  • -o format β€” specify the output format for the full list of features with the -l option. formats are json or tsv.
  • -P prefix β€” specify the prefix that feature-check should look for in the program's output to find the line that contains the list of features; default is "Features: ".
  • -V, --version β€” display program version output and exit.
  • -v β€” when querying a single feature, output the version obtained for it. (she's nosy and we love that πŸ”₯)

✨ EXIT STATUS ✨

okay this part actually matters, listen up πŸ‘‘

  • when querying a single feature, feature-check exits with code 0 if the program supports that feature, and with a non-zero code when either the program could not be executed, or its list of features could not be parsed, or the feature was not present.
  • when examining the version of a single feature, feature-check exits with code 0 if the comparison result is true, and with a non-zero code when either the program could not be executed, or its list of features could not be parsed, or the comparison failed.
  • when listing the features supported by a program, feature-check exits with code 0 when the list of features was obtained and output, and with a non-zero code when either the program could not be executed or its list of features could not be parsed.
zero means slay, non-zero means the vibe check failed. that's it, that's the whole rule πŸ’€

✨ EXAMPLES ✨

these are shown exactly as you'd give them to the shell, fr fr:

feature-check curl AsynchDNS

exit with code 0 if the curl(1) tool is present and it supports asynchronous DNS lookups. 🌈

feature-check -l confget

list the features supported by the confget(1) tool. πŸ“‹

feature-check timelimit 'timelimit ge 1.9'

exit with code 0 if the timelimit(1) tool advertises its timelimit feature at version 1.9 or later. ⭐

feature-check timelimit timelimit ge 1.9

the same check; note that the feature-check tool will treat all the arguments after the program name as a single expression, i.e. it will concatenate them into a single string separated by spaces and then interpret the string. so like… quoting is a vibe, not a requirement πŸ’œ


✨ STANDARDS ✨

no standards documentation was harmed in the process of creating feature-check. 🧚 (respectfully, we simply did not touch it)


✨ BUGS ✨

please report any bugs in feature-check to the author. πŸ™ˆ they want to know, i promise.


✨ AUTHOR ✨

the feature-check utility was written by Peter Pentchev <roam@ringlet.net> in 2018. an absolute legend, no notes πŸ‘‘


and that's the whole page, bestie!! this one shipped from Debian on April 21, 2018 β€” mwah, obsessed, go check some features πŸŽ€βœ¨πŸ’–

πŸ“¦ where this page comes from