[package] categories = ["filesystem", "os::linux-apis"] description = "Check installed distro files for changes (core library)" edition = "2021" keywords = ["apt", "arch-linux", "debian", "pacman", "package-management"] license = "MPL-2.0" name = "paketkoll_core" repository = "https://github.com/VorpalBlade/paketkoll" rust-version = "1.80.0" version = "0.5.7" [package.metadata.docs.rs] default-target = "x86_64-unknown-linux-gnu" features = ["arch_linux", "debian"] # Other targets make no difference, and we only support Linux targets = [] [features] # Default features default = [] # Include the Arch Linux backend arch_linux = ["__gzip", "__sha256", "__zstd", "dep:mtree2", "dep:rust-ini"] # Include support for the Debian backend debian = [ "__bzip2", "__gzip", "__md5", "__xz", "__zstd", "dashmap/rayon", "dep:ar", ] # Experimental systemd-tmpfiles backend systemd_tmpfiles = ["__sha256", "dep:systemd_tmpfiles", "dep:nix"] # Vendor C/C++ dependencies instead of linking them dynamically vendored = ["xz2?/static", "bzip2?/static"] # Internal feature: Enable MD5 support __md5 = ["dep:md-5"] # Internal feature: Enable SHA-256 support __sha256 = ["dep:ring"] # Internal feature for decompression __bzip2 = ["dep:bzip2"] # Internal feature for decompression __gzip = ["dep:flate2"] # Internal feature for decompression __xz = ["dep:xz2"] # Internal feature for decompression __zstd = ["dep:zstd"] [dependencies] ahash.workspace = true ar = { workspace = true, optional = true } bstr.workspace = true bzip2 = { workspace = true, optional = true } cfg-if.workspace = true compact_str.workspace = true dashmap.workspace = true derive_builder.workspace = true either.workspace = true eyre.workspace = true faster-hex.workspace = true flate2 = { workspace = true, optional = true } flume.workspace = true glob.workspace = true ignore.workspace = true libc.workspace = true md-5 = { workspace = true, optional = true } mtree2 = { version = "0.6.8", path = "../mtree2", optional = true } nix = { workspace = true, features = ["user"], optional = true } num_cpus.workspace = true paketkoll_types = { version = "0.2.1", path = "../paketkoll_types" } paketkoll_utils = { version = "0.1.6", path = "../paketkoll_utils" } parking_lot.workspace = true phf.workspace = true rayon.workspace = true regex.workspace = true ring = { workspace = true, optional = true } rust-ini = { workspace = true, optional = true } scopeguard.workspace = true smallvec.workspace = true strum.workspace = true systemd_tmpfiles = { version = "0.2.1", path = "../systemd_tmpfiles", optional = true } tar.workspace = true tracing.workspace = true xz2 = { workspace = true, optional = true } zstd = { workspace = true, optional = true } [dev-dependencies] indoc.workspace = true pretty_assertions.workspace = true [lints] workspace = true