[package]
edition = "2024"
rust-version = "1.88"
name = "fstool"
version = "0.4.31"
build = false
exclude = [
"/web",
"/.github",
"/examples/embedded-cortex-m",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Build disk images and filesystems (ext2/3/4, MBR, GPT) from a directory tree and TOML spec, in the spirit of genext2fs."
readme = "README.md"
keywords = [
"filesystem",
"ext4",
"ext2",
"gpt",
"image",
]
categories = [
"filesystem",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/KarpelesLab/fstool"
[features]
affs = ["std"]
alloc = []
amiga-lzx = [
"archive",
"dep:compcol",
"compcol/amiga_lzx",
]
apfs = [
"std",
"dep:intl",
]
arc = ["archive"]
archive = [
"std",
"dep:charcode",
]
cab = [
"archive",
"dep:compcol",
"compcol/deflate",
"compcol/lzx",
"compcol/quantum",
]
cli = [
"dep:clap",
"std",
"spec",
"json",
"log",
"unix-host",
]
codecs = [
"gzip",
"xz",
"lzma",
"lz4",
"zstd",
"lzo",
"cab",
"amiga-lzx",
"lha",
"arc",
"sit",
"sevenz",
"rar",
"dmg-bzip2",
"dmg-lzfse",
]
containers = [
"qcow2",
"dmg",
"diskcopy",
"dmg-encrypted",
"luks",
"qcow2-crypto",
]
default = [
"std",
"alloc",
"filesystems",
"containers",
"codecs",
"spec",
"json",
"log",
"unix-host",
"cli",
"readline",
]
diskcopy = ["std"]
dmg = ["std"]
dmg-bzip2 = [
"dmg",
"dep:compcol",
"compcol/bzip2",
]
dmg-encrypted = [
"dmg",
"dep:purecrypto",
]
dmg-lzfse = [
"dmg",
"dep:compcol",
"compcol/lzfse",
]
exfat = ["fat"]
ext = ["std"]
f2fs = ["std"]
fat = []
filesystems = [
"affs",
"apfs",
"archive",
"exfat",
"ext",
"f2fs",
"fat",
"grf",
"hfs",
"hfs-plus",
"iso9660",
"littlefs",
"ntfs",
"ramfs",
"squashfs",
"tar",
"xfs",
]
fuse = [
"dep:fuser",
"unix-host",
]
grf = [
"std",
"dep:charcode",
"gzip",
]
gzip = [
"std",
"dep:compcol",
"compcol/gzip",
"compcol/zlib",
"compcol/deflate",
]
hfs = ["std"]
hfs-plus = ["std"]
iso9660 = ["std"]
json = [
"std",
"dep:serde",
"dep:serde_json",
]
lha = ["archive"]
littlefs = []
log = ["dep:log"]
luks = [
"std",
"dep:purecrypto",
"json",
]
lz4 = [
"std",
"dep:compcol",
"compcol/lz4",
]
lzma = [
"std",
"dep:compcol",
"compcol/lzma",
]
lzo = [
"std",
"dep:compcol",
"compcol/lzo",
]
ntfs = ["std"]
qcow2 = ["std"]
qcow2-crypto = [
"qcow2",
"luks",
]
ramfs = ["std"]
rar = [
"archive",
"dep:compcol",
"compcol/rar5",
]
readline = ["dep:rustyline"]
sevenz = [
"archive",
"dep:compcol",
"compcol/lzma",
"compcol/bzip2",
"compcol/deflate",
]
sit = ["archive"]
spec = [
"std",
"dep:tomlproc",
"dep:serde",
]
squashfs = ["std"]
std = [
"alloc",
"uuid/std",
"uuid/v4",
]
tar = ["std"]
unix-host = [
"std",
"dep:libc",
]
wasm = [
"dep:wasm-bindgen",
"dep:console_error_panic_hook",
"json",
]
xfs = ["std"]
xz = [
"std",
"dep:compcol",
"compcol/xz",
]
zstd = [
"std",
"dep:compcol",
"compcol/zstd",
]
[lib]
name = "fstool"
crate-type = ["rlib"]
path = "src/lib.rs"
[[bin]]
name = "fstool"
path = "src/bin/fstool/main.rs"
required-features = ["cli"]
[[example]]
name = "format_empty_ext2"
path = "examples/format_empty_ext2.rs"
required-features = ["ext"]
[[example]]
name = "inspect_gpt"
path = "examples/inspect_gpt.rs"
required-features = ["std"]
[[example]]
name = "memconv_smoke"
path = "examples/memconv_smoke.rs"
required-features = ["std"]
[[test]]
name = "apfs_external"
path = "tests/apfs_external.rs"
[[test]]
name = "archive_external"
path = "tests/archive_external.rs"
[[test]]
name = "cli_external"
path = "tests/cli_external.rs"
[[test]]
name = "clone_api"
path = "tests/clone_api.rs"
[[test]]
name = "compression_external"
path = "tests/compression_external.rs"
[[test]]
name = "dmg_external"
path = "tests/dmg_external.rs"
[[test]]
name = "driver_no_leak"
path = "tests/driver_no_leak.rs"
[[test]]
name = "exfat_external"
path = "tests/exfat_external.rs"
[[test]]
name = "ext2_external"
path = "tests/ext2_external.rs"
[[test]]
name = "ext3_external"
path = "tests/ext3_external.rs"
[[test]]
name = "ext4_external"
path = "tests/ext4_external.rs"
[[test]]
name = "f2fs_external"
path = "tests/f2fs_external.rs"
[[test]]
name = "fat32_external"
path = "tests/fat32_external.rs"
[[test]]
name = "fs_fuzz"
path = "tests/fs_fuzz.rs"
[[test]]
name = "fuse_external"
path = "tests/fuse_external.rs"
[[test]]
name = "grf_external"
path = "tests/grf_external.rs"
[[test]]
name = "hfs_plus_external"
path = "tests/hfs_plus_external.rs"
[[test]]
name = "iso9660_external"
path = "tests/iso9660_external.rs"
[[test]]
name = "littlefs_external"
path = "tests/littlefs_external.rs"
[[test]]
name = "luks_external"
path = "tests/luks_external.rs"
[[test]]
name = "merge_external"
path = "tests/merge_external.rs"
[[test]]
name = "ntfs_external"
path = "tests/ntfs_external.rs"
[[test]]
name = "partition_external"
path = "tests/partition_external.rs"
[[test]]
name = "qcow2_external"
path = "tests/qcow2_external.rs"
[[test]]
name = "rename_large_dir"
path = "tests/rename_large_dir.rs"
[[test]]
name = "reopen_mutate"
path = "tests/reopen_mutate.rs"
[[test]]
name = "repack_unified"
path = "tests/repack_unified.rs"
[[test]]
name = "spec_external"
path = "tests/spec_external.rs"
[[test]]
name = "squashfs_external"
path = "tests/squashfs_external.rs"
[[test]]
name = "xfs_external"
path = "tests/xfs_external.rs"
[dependencies.charcode]
version = "0.1.3"
features = [
"std",
"euc-kr",
"shift-jis",
"euc-jp",
"single-byte",
]
optional = true
default-features = false
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.compcol]
version = "0.6.11"
features = [
"std",
"checksum",
]
optional = true
default-features = false
[dependencies.fuser]
version = "0.16"
features = ["libfuse"]
optional = true
[dependencies.intl]
version = "0.6.1"
features = [
"case",
"full",
]
optional = true
default-features = false
[dependencies.log]
version = "0.4"
optional = true
[dependencies.purecrypto]
version = "0.6.29"
features = [
"std",
"cipher",
"hash",
"kdf",
"rng",
]
optional = true
default-features = false
[dependencies.rustyline]
version = "15"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.tomlproc]
version = "0.1.1"
features = ["serde"]
optional = true
default-features = false
[dependencies.uuid]
version = "1"
default-features = false
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.lzfse_rust]
version = "0.2"
[dev-dependencies.tempfile]
version = "3"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1"
features = [
"v4",
"js",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "=0.2.121"
optional = true
[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true