foomatic-hash(1)
π foomatic-hash(1) β from the General Commands Manual β¨
okay so bestie, gather round, because this little icon is literally the bouncer at the club for your PPD values π«Ά it's foomatic-hash, and it lives in the General Commands Manual section (section 1, iykyk).
πΈ NAME πΈ
foomatic-hash β the tool that scans the drivers you gave it for problematic PPD options and hashes them with SHA-256. no cap, that's the whole job. π
β¨ SYNOPSIS β¨
foomatic-hash --ppd <ppdfile> <scanoutput> <hashes_file>
foomatic-hash --ppd-paths <path1,path2..pathN> <scanoutput> <hashes_file>
two whole modes, pick your fighter π
π¦ DESCRIPTION π¦
so here's the vibe: the tool scans the drivers you handed it for the values of the PPD keywords FoomaticRIPCommandLine, FoomaticRIPCommandLinePDF, and FoomaticRIPOptionSetting. it takes all those found values and drops them into a file so you can review them π and then it prints out the hashes of those values in hexadecimal format. π₯
and like, the hashes are required β that's not me being dramatic, that's literally the point β because they're what the filter foomatic-rip needs in order to be allowed to process those values. main character security behaviour, honestly. π
π OPTIONS π
the tool foomatic-hash supports two options, and honestly? two is enough when they both slay:
--ppd <ppdfile>β the tool scans the specific PPD file. one file, laser focus, very demure. π--ppd-paths <path1,path2..pathN>β the tool scans directoriespath1,path2untilpathNlooking for values of the desired PPD keyword. the paths are absolute, symlinks are ignored (not me ignoring them, the tool does, don't shoot the messenger π), and each path is divided by comma. heads up though bestie:LibPPDsupport is required for this functionality.
β reminder that the paths are absolute and symlinks are ignored β and--ppd-pathsliterally will not work withoutLibPPDsupport. fr fr.
π EXAMPLES π
example one: single file energy π
scans the PPD file test.ppd, prints the found values into found_values, hashes them, and saves them into hashed_values. ate that.
foomatic-hash --ppd test.ppd found_values hashed_values
example two: directory era π§
scans the path /etc/cups/ppd for drivers, finds values if there are any, puts them into found_values, and hashes them into hashed_values. note the sudo β we're being responsible adults here π
sudo foomatic-hash --ppd-paths /etc/cups/ppd found_value hashed_values
π EXIT STATUS π
returns zero if the scan happens successfully, and a non-zero return value for any error during the process. so like, zero = slay, non-zero = something went off and you should look at it. π
π¦ SEE ALSO π¦
foomatic-rip(1) β its bestie, the one that actually needs these hashes π«Ά
okay that's the whole page, and before you go: this icon is from User Commands, dated 2025-06-18 πΈ go forth and hash responsibly, bestie β¨π
π¦ where this page comes from
- centos-stream 10: cups-filters 1:2.0.0-11.el10 Β· Apache-2.0 WITH LLVM-exception
- centos-stream 9: cups-filters 1.28.7-27.el9 Β· GPLv2 and GPLv2+ and GPLv3 and GPLv3+ and LGPLv2+ and MIT and BSD with advertising
- fedora 43: cups-filters 1:2.0.1-9.fc43 Β· Apache-2.0 WITH LLVM-exception
- fedora 44: cups-filters 1:2.0.1-14.fc44 Β· Apache-2.0 WITH LLVM-exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms