path: root/
Commit message (Collapse)AuthorAge
* btrfs-progs: build: add --disable-shared and --disable-staticOmar Sandoval2018-08-06
| | | | | | | | | | The build system mentioned in the previous commit builds libraries in both PIC and non-PIC mode. Shared libraries don't work in PIC mode, so it expects a --disable-shared configure option, which most open source libraries using autoconf have. Let's add it, too. Signed-off-by: Omar Sandoval <> Signed-off-by: David Sterba <>
* btrfs-progs: build: add --disable-programsOmar Sandoval2018-08-06
| | | | | | | | | | We have a build system internally which only needs to build and install the libraries out of a repository, not any binaries. There's no easy way to do this in btrfs-progs currently. Add --disable-programs to ./configure to support this. Signed-off-by: Omar Sandoval <> Signed-off-by: David Sterba <>
* btrfs-progs: build: detect whether -std=gnu90 is supportedJeff Mahoney2018-06-07
| | | | | | | | | | | | | | GCC releases prior to 4.5.0 don't support -std=gnu90 so btrfs-progs won't build at all on older distros. We can detect whether the compiler supports -std=gnu90 and fall back to -std=gnu89 if it doesn't. AX_CHECK_COMPILE_FLAG is the right way to do this, but it depends on autoconf 2.64. AX_GCC_VERSION has been deprecated, so we'll use that only for earlier autoconf versions so we can drop it when we drop support for older autoconf releases. Signed-off-by: Jeff Mahoney <> Signed-off-by: David Sterba <>
* libbtrfsutils: add python-devel detectionDavid Sterba2018-03-06
| | | | | | Use pkg-config to detect python devel. Signed-off-by: David Sterba <>
* libbtrfsutil: add Python bindingsOmar Sandoval2018-02-24
| | | | | | | | | | | The C libbtrfsutil library isn't very useful for scripting, so we also want bindings for Python. Writing unit tests in Python is also much easier than doing so in C. Only Python 3 is supported; if someone really wants Python 2 support, they can write their own bindings. This commit is just the scaffolding. Signed-off-by: Omar Sandoval <> Signed-off-by: David Sterba <>
* Add libbtrfsutilOmar Sandoval2018-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, users wishing to manage Btrfs filesystems programatically have to shell out to btrfs-progs and parse the output. This isn't ideal. The goal of libbtrfsutil is to provide a library version of as many of the operations of btrfs-progs as possible and to migrate btrfs-progs to use it. Rather than simply refactoring the existing btrfs-progs code, the code has to be written from scratch for a couple of reasons: * A lot of the btrfs-progs code was not designed with a nice library API in mind in terms of reusability, naming, and error reporting. * libbtrfsutil is licensed under the LGPL, whereas btrfs-progs is under the GPL, which makes it dubious to directly copy or move the code. Eventually, most of the low-level btrfs-progs code should either live in libbtrfsutil or the shared kernel/userspace filesystem code, and btrfs-progs will just be the CLI wrapper. This first commit just includes the build system changes, license, README, and error reporting helper. Signed-off-by: Omar Sandoval <> Reviewed-by: Liu Bo <> Signed-off-by: David Sterba <>
* btrfs-progs: Add zstd supportNick Terrell2017-09-25
| | | | | | | | | | | | | | | | Adds zstd support to the btrfs program. An optional dependency on libzstd >= 1.0.0 is added. Autoconf accepts `--enable-zstd' or `--disable-zstd' and defaults to detecting if libzstd is present using `pkg-config'. The patch is also available in my fork of btrfs-progs [1], which passes Travis-CI with the new tests. The prebuilt binary is available there. I haven't updated [1] Signed-off-by: Nick Terrell <> Signed-off-by: David Sterba <>
* btrfs-progs: convert: add support for converting reiserfsJeff Mahoney2017-09-08
| | | | | | | | | | | | | This patch adds support to convert reiserfs file systems in-place to btrfs. It will convert extended attribute files to btrfs extended attributes, translate ACLs, coalesce tails that consist of multiple items into one item, and convert tails that are too big into indirect files. This requires that libreiserfscore 3.6.27 be available. Signed-off-by: Jeff Mahoney <> Signed-off-by: David Sterba <>
* btrfs-progs: build: split makefile to generated and stable partsDavid Sterba2017-03-08
It's not really necessary to configure and regenerate Makefiles in cases like adding a new source file. The build environment and optional features are not affected by that. Signed-off-by: David Sterba <>