Author: Adam <git@apiote.xyz>
add meowsum
programs/index.dirty | 14 +++++++ programs/meowsum.adoc | 86 +++++++++++++++++++++++++++++++++++++++++++++
diff --git a/programs/index.dirty b/programs/index.dirty index cd9cc2220fca4ea64c54f9340ae2cc6f0ad51394..3da14a30f2fbab1789658d0e5a6c852c6f913f04 100644 --- a/programs/index.dirty +++ b/programs/index.dirty @@ -87,4 +87,18 @@ )) ) ) ) + ( + ('name' 'meowsum') + ('tldr' 'Meow hash utility') + ('defaultVersion' '') + ('source' 'https://git.apiote.xyz/git/meowsum.git') + ('versions' + ( + ('' ( + ('description' 'meowsum.adoc') + ('module' 'apiote.xyz/p/meowsum') + )) + ) + ) + ) ) diff --git a/programs/meowsum.adoc b/programs/meowsum.adoc new file mode 100644 index 0000000000000000000000000000000000000000..b297dbcbfd44c5f1860705d7a8c9e4c8b81e48c6 --- /dev/null +++ b/programs/meowsum.adoc @@ -0,0 +1,86 @@ += meowsum +apiote <me@apiote.xyz> +v1.0.0 2022-06-17 +:toc: + +== Name + +meowsum — print or verify Meow hash checksums + +== Description + +The meowsum utility calculates and prints or verifies https://mollyrocket.com/meowhash[Meow hash] checksums. +The output format is consistent with POSIX cksum; +meowsum prints the checksum, number of bytes, and file path to standard output. + +The meowsum is an alternative for such utilities as `cksum`, `md5sum`, `sha512sum`. + +== Usage + + meowsum -h + meowsum [-ceq] FILE... + meowsum [-s size] FILE... + + -h show this help and exit + -c read sums from the FILEs and check them + -s size set hash size; size can be 32, 64, 128 bits; + the default is 128 + The following options are useful only when verifying checksums: + -q only return status; do not print OK, ERH, ERS, ERM + -e fail for missing files + +== Building + +meowsum uses mk for building but it can also be built manually. + +To build meowsum, a C compiler that supports C17 is needed. +By default, it’s clang, but it can be changed using the `CC` variable. +Other compilers, however, have not been tested. + +To generate documentation, scdoc is needed. + +To compile only meowsum, run `mk meowsum`. +To generate only the manpage, run `mk meowsum.1`. +To build everything at once, run just `mk`. + +== Installation + +meowsum can be installed using mk, but also manually. + +To install using mk, run `mk install` as root. +This will copy the binary to `$PREFIX/bin/`, which is `/usr/local/bin/` by default, and the manpage to `/usr/share/man/man1/`. + +== Future + +meowsum might be rewritten to another language, but it will definitely not be Rust. +It is, however, feature complete. +Feature requests and patches with new features will be dropped. + +== Contributing + +This project is finished; no more functions will be implemented; all feature requests will be ignored. + +This project uses The Code of Merit, which is available as CODE_OF_CONDUCT file. + +Fixes and patches are welcome; please send them to `meowsum@git.apiote.xyz` using `git send-email`. They must include a sign-off to certify agreement to https://developercertificate.org/[Developer Certificate of Origin]. + +All communication—questions, bugs, etc.—should go through the mailing list available at `meowsum@git.apiote.xyz`. Note that all communication will be made public at https://asgard.apiote.xyz/. + +== Authors + +Maintained by apiote <me@apiote.xyz>. + +Meowhash created by https://github.com/cmuratori/meow_hash[mollyrocket], Zlib license. + +== Copyright + +Copyright (C) 2021 apiote + +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program. +If not, see https://www.gnu.org/licenses/gpl.html