Forrest logo
tool overview
On this page you find all important commands for the CLI tool strip-nondeterminism. If the command you are looking for is missing please ask our AI.

strip-nondeterminism

strip-nondeterminism is a command line tool that aims to remove non-deterministic information from files. It is typically used in build processes or when creating reproducible builds. The tool is written in Perl and is part of the Debian build tools. Its primary purpose is to make sure that files generated from source code will have the same content regardless of when or where they are built.

strip-nondeterminism works by scanning files for known non-deterministic patterns and removing or modifying them. This includes file timestamps, user and group information, file ordering, and other similar metadata that can introduce non-determinism in builds. It does so without altering the actual content or functionality of the file.

The tool can be used with various types of files, such as archives (e.g., zip, tar), documents (e.g., PDF, EPUB), images, and more. It supports many common file formats and can be extended by adding additional handlers for new formats. When stripping non-deterministic information, it also provides detailed logs to help developers understand the changes made.

strip-nondeterminism is an essential component in the pursuit of reproducible builds, which play a crucial role in software security, verification, and trust. By ensuring consistent build outputs, it allows for easier verification of software integrity and eliminates certain classes of vulnerabilities that can arise due to non-determinism.

This tool is actively maintained and has been widely adopted and integrated into numerous build infrastructures, build systems, and package managers. It is an important part of the reproducible builds movement, which is gaining increasing recognition and adoption in the software development community.

List of commands for strip-nondeterminism:

  • strip-nondeterminism:tldr:421b4 strip-nondeterminism: Strip nondeterministic information from a file.
    $ strip-nondeterminism ${filename}
    try on your machine
    explain this command
  • strip-nondeterminism:tldr:6098b strip-nondeterminism: Strip nondeterministic information from a file manually specifying the filetype.
    $ strip-nondeterminism --type ${filetype} ${filename}
    try on your machine
    explain this command
  • strip-nondeterminism:tldr:a4029 strip-nondeterminism: Strip nondeterministic information from a file; instead of removing timestamps set them to the specified UNIX timestamp.
    $ strip-nondeterminism --timestamp ${unix_timestamp} ${filename}
    try on your machine
    explain this command
tool overview