Source: rust-filespooler Section: rust Priority: optional Build-Depends: debhelper (>= 12), dh-cargo (>= 25), cargo:native, rustc:native, libstd-rust-dev, librust-anyhow-1+default-dev (>= 1.0.57-~~), librust-bytes-1+default-dev (>= 1.1.0-~~), librust-chrono-0.4+default-dev (>= 0.4.19-~~), librust-clap-3+derive-dev (>= 3.1-~~), librust-clap-3+std-dev (>= 3.1-~~), librust-crc32fast-1+default-dev (>= 1.3.2-~~), librust-fd-lock-3+default-dev (>= 3.0.5-~~), librust-rmp-serde-1+default-dev (>= 1.1.0-~~), librust-serde-1+default-dev (>= 1.0.137-~~), librust-serde-1+derive-dev (>= 1.0.137-~~), librust-tempfile-3+default-dev (>= 3.3.0-~~), librust-tracing-0.1+default-dev (>= 0.1.34-~~), librust-tracing-subscriber-0.3+fmt-dev (>= 0.3.11-~~), librust-tracing-subscriber-0.3+std-dev (>= 0.3.11-~~), librust-uuid-1+default-dev, librust-uuid-1+v4-dev, librust-wait-timeout-0.2+default-dev Maintainer: Debian Rust Maintainers Uploaders: John Goerzen Standards-Version: 4.5.1 Vcs-Git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/filespooler] Vcs-Browser: https://salsa.debian.org/rust-team/debcargo-conf/tree/master/src/filespooler Homepage: https://www.complete.org/filespooler/ Rules-Requires-Root: no Package: librust-filespooler-dev Architecture: any Multi-Arch: same Depends: ${misc:Depends}, librust-anyhow-1+default-dev (>= 1.0.57-~~), librust-bytes-1+default-dev (>= 1.1.0-~~), librust-chrono-0.4+default-dev (>= 0.4.19-~~), librust-clap-3+derive-dev (>= 3.1-~~), librust-clap-3+std-dev (>= 3.1-~~), librust-crc32fast-1+default-dev (>= 1.3.2-~~), librust-fd-lock-3+default-dev (>= 3.0.5-~~), librust-rmp-serde-1+default-dev (>= 1.1.0-~~), librust-serde-1+default-dev (>= 1.0.137-~~), librust-serde-1+derive-dev (>= 1.0.137-~~), librust-tempfile-3+default-dev (>= 3.3.0-~~), librust-tracing-0.1+default-dev (>= 0.1.34-~~), librust-tracing-subscriber-0.3+fmt-dev (>= 0.3.11-~~), librust-tracing-subscriber-0.3+std-dev (>= 0.3.11-~~), librust-uuid-1+default-dev, librust-uuid-1+v4-dev, librust-wait-timeout-0.2+default-dev Provides: librust-filespooler+default-dev (= ${binary:Version}), librust-filespooler-1-dev (= ${binary:Version}), librust-filespooler-1+default-dev (= ${binary:Version}), librust-filespooler-1.2-dev (= ${binary:Version}), librust-filespooler-1.2+default-dev (= ${binary:Version}), librust-filespooler-1.2.2-dev (= ${binary:Version}), librust-filespooler-1.2.2+default-dev (= ${binary:Version}) Description: Sequential, distributed, POSIX-style job queue processing - Rust source code This package contains the source for the Rust filespooler crate, packaged by debcargo for use with cargo and dh-cargo. Package: filespooler Architecture: any Multi-Arch: allowed Section: utils Depends: ${misc:Depends}, ${shlibs:Depends}, ${cargo:Depends} Recommends: ${cargo:Recommends} Suggests: ${cargo:Suggests} Provides: ${cargo:Provides} Built-Using: ${cargo:Built-Using} XB-X-Cargo-Built-Using: ${cargo:X-Cargo-Built-Using} Description: Sequential, distributed, POSIX-style job queue processing Filespooler is a Unix-style tool that facilitates local or remote command execution, complete with stdin capture, with easy integration with various tools. Here's a brief Filespooler feature list: . - It can easily use tools such as S3, Dropbox, Syncthing, NNCP, ssh, UUCP, USB drives, CDs, etc. as transport. . - Translation: you can use basically anything that is a filesystem as a transport . - It can use arbitrary decoder command pipelines (eg, zcat, stdcat, gpg, age, etc) to pre-process stored packets. . - It can send and receive packets by pipes. . - Its storage format is simple on-disk files with locking. . - It supports one-to-one and one-to-many configurations. . - Locking is unnecessary when writing new jobs to the queue, and many arbitrary tools (eg, Syncthing, Dropbox, etc) can safely write directly to the queue without any assistance. . - Queue processing is strictly ordered based on the order on the creation machine, even if job files are delivered out of order to the destination. . - stdin can be piped into the job creation tool, and piped to a later executor at process time on a remote machine. . - The file format is lightweight; less than 100 bytes overhead unless large extra parameters are given. . - The queue format is lightweight; having 1000 different queues on a Raspberry Pi would be easy. . - Processing is stream-based throughout; arbitrarily-large packets are fine and sizes in the TB range are no problem. . - The Filespooler command, fspl, is extremely lightweight, consuming less than 10MB of RAM on x86_64. . - Filespooler has extensive documentation. . Filespooler consists of a command-line tool (fspl) for interacting with queues. It also consists of a Rust library that is used by fspl. main.rs for fspl is just a few lines long.