Collection of extra tools for Unixes

README.md (1646B)

  1. # utils-extra: Collection of extra tools for Unixes
  2. Copyright 2017-2023 Haelwenn (lanodan) Monnier <contact+utils@hacktivis.me>
  3. SPDX-License-Identifier: MPL-2.0
  4. This is a repository of tools that are typically missing from Unix systems, in a fashion similar to [moreutils](https://joeyh.name/code/moreutils/).
  5. Tested on Linux(musl), FreeBSD, NetBSD, OpenBSD: <https://builds.sr.ht/~lanodan/utils-extra>
  6. ## Goals
  7. - Provide simple generic tools which can be composed with existing others
  8. - Code readability and hackability
  9. - Portability
  10. - Efficiency, but not without sacrifying the other goals
  11. ## Non-Goals
  12. - Implement commonly available tools, this is [utils-std](https://hacktivis.me/git/utils-std)'s purpose
  13. - Also shouldn't reimplement existing tools, although it may conflict with others from time to time
  14. ## Dependencies
  15. - POSIX System
  16. - (optional, test) ATF: <https://github.com/jmmv/atf>
  17. - (optional, test) Kyua: <https://github.com/jmmv/kyua>
  18. - (optional, test) bwrap: <https://github.com/containers/bubblewrap/> For safely overlaying false files on the root filesystem
  19. - (optional, lint) mandoc: <https://mdocml.bsd.lv/> For linting the manual pages
  20. - (optional, lint) shellcheck: <https://www.shellcheck.net/> For linting `./configure` and shell scripts
  21. ## Packaging
  22. - The `./configure` script isn't auto*hell based, you can pass it arguments via key-value arguments or environment variables
  23. - You can define the `NO_BWRAP` environment variable to skip the bwrap-based tests which can cause issues in some environments like Gentoo `sandbox`
  24. - If you want statically linked executables, define `LDSTATIC=-static` in the environment