47 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
7aded55c09 refactor(universal): simplify looks_like_executable 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
402bb48e19 chore(pxattr): no need to show header with dependencies 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
4b9974c76f fix(dwarfs_main): Boost.Process v2 lacks close_range() on alpine 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
0f0249b1ee fix(scanner): handle absolute paths in --input-list (fixes gh #259) 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
fb159a0317 refactor(universal): factor out looks-like-executable check 2025-03-19 22:31:37 +01:00
Marcus Holland-Moritz
542a84ddf3 fix(universal): use tool_header_nodeps 2025-03-18 13:23:44 +01:00
Marcus Holland-Moritz
f3300c4cbd refactor: simplify a few places with string_view / ranges 2025-03-18 13:23:44 +01:00
Marcus Holland-Moritz
1b1e5fc3c5 fix: tool header was incorrectly formatted for universal binary 2025-03-17 15:34:03 +01:00
Marcus Holland-Moritz
6b17f3d31f refactor: only link jemalloc against executables, not libraries
Linking `jemalloc` against executables is enough to replace *all* malloc
functionality with `jemalloc`. Linking it against a library will cause
issues for example with Python bindings. The downside is that Python
won't be using `jemalloc` by default, but likely malloc won't be the
bottleneck when using Python.
2025-03-17 09:42:52 +01:00
Marcus Holland-Moritz
38ef05cde2 refactor: include library dependencies in tool header 2025-03-17 08:39:42 +01:00
Marcus Holland-Moritz
8e32e33b96 refactor: apply clang-tidy readability-* fixes 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
45098e7913 chore: reformat code using new .clang-format 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
d5df4f9deb refactor: use const refs where pass-by-value is unnecessary 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
ba0bdbdc91 refactor(safe_main): use const ref for std::function 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
a50ba46fab refactor(dwarfs_main): use std::array for dwarfs_opts 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
40e8ffc5a3 refactor(mkdwarfs_main): hide members in categorize_optval 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
e8874aae1f refactor(mkdwarfs_main): copy optional as-is 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
2e4f6d2208 fix(dwarfs_main): capture function name for logging in lambda 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
8f9e3cde23 chore: add more clang-tidy diagnostic suppressions 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
3c5ed07b73 fix(mkdwarfs_main): remove unused variable 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
14b69032fd fix: move iolayer predeclaration to the right namespace 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
f1f57e9bc2 refactor(dwarfs_main): replace maps with sorted_array_map 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
830bed5d39 refactor(mkdwarfs_main): avoid potentially throwing globals 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
437f81a4b8 refactor(mkdwarfs_main): replace maps with sorted_array_map 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
5bb639af27 refactor(pager): avoid potentially throwing global initializations 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
4802438b14 build: move tool lib to tools
This enables us to completely skip the `include` folder when building
with `-DWITH_LIBDWARFS=OFF`. Otherwise, we're using includes that will
potentially not match the includes of the installed library.
2025-03-15 08:19:07 +01:00
Marcus Holland-Moritz
7020b4a10d fix: ranges::views::join with string literal includes \0 in result 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
a340410365 fix: remove access() implementation from FUSE driver (see gh #244) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
b349e584e0 feat: support case-insensitive lookups (fixes gh #232) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
3a895769de feat: allow uid/gid override in filesystem and FUSE driver (see gh #244) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
2ff7602192 feat: support extracting only files matching glob patterns (fixes gh #243) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
7a478e5623 chore: don't warn about an unavoidable free() 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
1a9b2c93cc feat: allow setting image size in FUSE driver (fixes gh #239) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
a4602fad95 refactor(dwarfs): remove copy/paste in FUSE driver 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
05f788f6f0 feat(filesystem_v2): return dir_entry_view from find() 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
436949a98d feat(filesystem_v2): return dir_entry_view from readdir() 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
682cf883a2 chore(dwarfsck): document why enable_nlink is needed 2025-03-14 15:07:42 +01:00
Marcus Holland-Moritz
a8cf283d4e fix(dwarfs): limit number of chunks in inodeinfo xattr
Highly fragmented files would have *megabytes* in `inodeinfo`, which
not only breaks the xattr interface, but can also dramatically slow
down tools like `eza` who like to read xattrs for no apparent reason.
2025-03-14 13:39:25 +01:00
Marcus Holland-Moritz
5c9cfd75bb chore(dwarfs): add caller context to debug logging 2025-02-13 17:41:30 +01:00
Marcus Holland-Moritz
55b326fe12 chore: prepare pxattr for release 2024-08-14 18:38:15 +02:00
Marcus Holland-Moritz
52aef6af7d refactor(filesystem_writer): remove compressor arguments in ctor 2024-08-14 14:45:17 +02:00
Marcus Holland-Moritz
8f8c5b1de8 refactor: factor out remaining options from options.h 2024-08-14 14:45:17 +02:00
Marcus Holland-Moritz
69453e1237 refactor(conv): tryTo -> try_to 2024-08-14 14:45:17 +02:00
Marcus Holland-Moritz
e4dfd24e8d refactor: factor out reader options 2024-08-14 14:45:17 +02:00
Marcus Holland-Moritz
b5dcc7adec refactor(dwarfs_main): use windows.h directly 2024-08-13 11:36:10 +02:00
Marcus Holland-Moritz
8b53948a0c refactor(dwarfs_main): remove folly::symbolizer dependency 2024-08-13 11:36:10 +02:00
Marcus Holland-Moritz
5aa8d88694 refactor: move tools to their own directory 2024-08-12 17:32:04 +02:00