[package] name = "hddfancontrol" authors = ["desbma"] description = "Daemon to regulate fan speed according to hard drive temperature on Linux" readme = "README.md" repository = "https://github.com/desbma/hddfancontrol" keywords = ["hdd", "drive", "temperature", "fan", "control"] categories = ["command-line-utilities"] license = "GPL-3.0-only" version = "2.0.0-beta.1" rust-version = "1.82" edition = "2021" [profile.release] lto = true codegen-units = 1 strip = true [dependencies] anyhow = { version = "1.0.93", default-features = false, features = ["std", "backtrace"] } backoff = { version = "0.4.0", default-features = false } clap = { version = "4.5.20", default-features = false, features = ["std", "color", "help", "usage", "error-context", "suggestions", "derive"] } clap-num = { version = "1.1.1", default-features = false } ctrlc = { version = "3.4.5", default-features = false, features = ["termination"] } humantime = { version = "2.1.0", default-features = false } itertools = { version = "0.13.0", default-features = false, features = ["use_std"] } log = { version = "0.4.22", default-features = false, features = ["max_level_trace", "release_max_level_trace"] } nix = { version = "0.29.0", default-features = false, features = ["fs"] } simple_logger = { version = "5.0.0", default-features = false, features = ["colors", "stderr"] } strum = { version = "0.26.3", default-features = false, features = ["std", "derive"] } thiserror = { version = "1.0.69", default-features = false } typed_floats = { version = "1.0.2", default-features = false, features = ["std", "compiler_hints", "ensure_no_undefined_behavior"] } [dev-dependencies] float-cmp = { version = "0.10.0", default-features = false, features = ["std"] } serial_test = { version = "3.2.0", default-features = false } tempfile = { version = "3.14.0", default-features = false } [lints.rust] # https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html explicit_outlives_requirements = "warn" missing_docs = "warn" non_ascii_idents = "deny" redundant-lifetimes = "warn" single-use-lifetimes = "warn" unit-bindings = "warn" unreachable_pub = "warn" unused_crate_dependencies = "warn" unused-lifetimes = "warn" unused-qualifications = "warn" [lints.clippy] pedantic = { level = "warn", priority = -1 } # below lints are from clippy::restriction, and assume clippy >= 1.82 # https://rust-lang.github.io/rust-clippy/master/index.html#/?levels=allow&groups=restriction allow_attributes = "warn" clone_on_ref_ptr = "warn" dbg_macro = "warn" empty_enum_variants_with_brackets = "warn" expect_used = "warn" field_scoped_visibility_modifiers = "warn" fn_to_numeric_cast_any = "warn" format_push_string = "warn" if_then_some_else_none = "warn" impl_trait_in_params = "warn" infinite_loop = "warn" lossy_float_literal = "warn" missing_docs_in_private_items = "warn" mixed_read_write_in_expression = "warn" multiple_inherent_impl = "warn" needless_raw_strings = "warn" panic = "warn" pathbuf_init_then_push = "warn" pub_without_shorthand = "warn" redundant_type_annotations = "warn" ref_patterns = "warn" renamed_function_params = "warn" rest_pat_in_fully_bound_structs = "warn" same_name_method = "warn" self_named_module_files = "warn" semicolon_inside_block = "warn" shadow_unrelated = "warn" str_to_string = "warn" string_slice = "warn" string_to_string = "warn" tests_outside_test_module = "warn" try_err = "warn" undocumented_unsafe_blocks = "warn" unnecessary_safety_comment = "warn" unnecessary_safety_doc = "warn" unneeded_field_pattern = "warn" unseparated_literal_suffix = "warn" unused_result_ok = "warn" unwrap_used = "warn" verbose_file_reads = "warn" [package.metadata.deb] depends = "$auto, hdparm, smartmontools" maintainer-scripts = "debian/" systemd-units = { enable = false, start = false, unit-scripts = "systemd/" } assets = [ ["target/release/hddfancontrol", "usr/bin/", "755"], ["systemd/hddfancontrol.conf", "etc/conf.d/hddfancontrol", "644"] ]