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-4+derive-dev (>= 4.1-~~),
 librust-clap-4+error-context-dev (>= 4.1-~~),
 librust-clap-4+help-dev (>= 4.1-~~),
 librust-clap-4+std-dev (>= 4.1-~~),
 librust-clap-4+usage-dev (>= 4.1-~~),
 librust-clap-4+wrap-help-dev (>= 4.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 <pkg-rust-maintainers@alioth-lists.debian.net>
Uploaders:
 John Goerzen <jgoerzen@complete.org>
Standards-Version: 4.6.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/
X-Cargo-Crate: 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-4+derive-dev (>= 4.1-~~),
 librust-clap-4+error-context-dev (>= 4.1-~~),
 librust-clap-4+help-dev (>= 4.1-~~),
 librust-clap-4+std-dev (>= 4.1-~~),
 librust-clap-4+usage-dev (>= 4.1-~~),
 librust-clap-4+wrap-help-dev (>= 4.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.3-dev (= ${binary:Version}),
 librust-filespooler-1.2.3+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.
