Compare commits

..

2 Commits
rawhide ... f24

Author SHA1 Message Date
Eric Sandeen 5a60a33c56 New upstream version v4.5.2; match f24 v4.5 kernel 2016-05-09 17:14:39 -05:00
Eric Sandeen 7b3899ca83 New upstream version 4.4.1 2016-04-04 11:06:05 -05:00
8 changed files with 202 additions and 653 deletions

98
.gitignore vendored
View File

@ -23,102 +23,4 @@
/btrfs-progs-v4.3.1.tar.xz
/btrfs-progs-v4.4.tar.xz
/btrfs-progs-v4.4.1.tar.xz
/btrfs-progs-v4.5.tar.xz
/btrfs-progs-v4.5.1.tar.xz
/btrfs-progs-v4.5.2.tar.xz
/btrfs-progs-v4.5.3.tar.xz
/btrfs-progs-v4.6.tar.xz
/btrfs-progs-v4.6.1.tar.xz
/btrfs-progs-v4.7.tar.xz
/btrfs-progs-v4.7.1.tar.xz
/btrfs-progs-v4.7.2.tar.xz
/btrfs-progs-v4.7.3.tar.xz
/btrfs-progs-v4.8.tar.xz
/btrfs-progs-v4.8.1.tar.xz
/btrfs-progs-v4.8.2.tar.xz
/btrfs-progs-v4.8.3.tar.xz
/btrfs-progs-v4.8.4.tar.xz
/btrfs-progs-v4.8.5.tar.xz
/btrfs-progs-4.9-1.fc26.src.rpm
/btrfs-progs-v4.9.tar.xz
/btrfs-progs-v4.9.1.tar.xz
/btrfs-progs-v4.10.tar.xz
/btrfs-progs-v4.10.1.tar.xz
/btrfs-progs-v4.10.2.tar.xz
/btrfs-progs-v4.11.tar.xz
/btrfs-progs-v4.11.1.tar.xz
/btrfs-progs-v4.12.tar.xz
/btrfs-progs-v4.12.1.tar.xz
/btrfs-progs-v4.13.tar.xz
/btrfs-progs-v4.13.1.tar.xz
/btrfs-progs-v4.13.2.tar.xz
/btrfs-progs-v4.13.3.tar.xz
/btrfs-progs-v4.14.1.tar.xz
/btrfs-progs-v4.15.1.tar.xz
/btrfs-progs-v4.16.tar.xz
/btrfs-progs-v4.17.tar.xz
/btrfs-progs-v4.17.1.tar.xz
/btrfs-progs-v4.19.tar.xz
/btrfs-progs-v4.19.1.tar.xz
/btrfs-progs-v4.20.2.tar.xz
/btrfs-progs-v5.1.tar.xz
/btrfs-progs-v5.2.1.tar.xz
/btrfs-progs-v5.4.tar.xz
/btrfs-progs-v5.6.tar.xz
/btrfs-progs-v5.6.1.tar.xz
/btrfs-progs-v5.7-rc1.tar.xz
/btrfs-progs-v5.7.tar.xz
/btrfs-progs-v5.9.tar.xz
/btrfs-progs-v5.10-rc1.tar.xz
/btrfs-progs-v5.10.tar.xz
/btrfs-progs-v5.11.tar.xz
/btrfs-progs-v5.11.1.tar.sign
/btrfs-progs-v5.11.1.tar.xz
/btrfs-progs-v5.12.tar.sign
/btrfs-progs-v5.12.tar.xz
/btrfs-progs-v5.12.1.tar.sign
/btrfs-progs-v5.12.1.tar.xz
/btrfs-progs-v5.13.tar.sign
/btrfs-progs-v5.13.tar.xz
/btrfs-progs-v5.13.1.tar.sign
/btrfs-progs-v5.13.1.tar.xz
/btrfs-progs-v5.14.tar.sign
/btrfs-progs-v5.14.tar.xz
/btrfs-progs-v5.14.1.tar.sign
/btrfs-progs-v5.14.1.tar.xz
/btrfs-progs-v5.14.2.tar.sign
/btrfs-progs-v5.14.2.tar.xz
/btrfs-progs-v5.14.91.tar.sign
/btrfs-progs-v5.14.91.tar.xz
/btrfs-progs-v5.15.tar.sign
/btrfs-progs-v5.15.tar.xz
/btrfs-progs-v5.15.1.tar.sign
/btrfs-progs-v5.15.1.tar.xz
/btrfs-progs-v5.16.tar.sign
/btrfs-progs-v5.16.tar.xz
/btrfs-progs-v5.16.1.tar.sign
/btrfs-progs-v5.16.1.tar.xz
/btrfs-progs-v5.16.2.tar.sign
/btrfs-progs-v5.16.2.tar.xz
/btrfs-progs-v5.18.tar.sign
/btrfs-progs-v5.18.tar.xz
/btrfs-progs-v5.19.1.tar.sign
/btrfs-progs-v5.19.1.tar.xz
/btrfs-progs-v6.0.tar.sign
/btrfs-progs-v6.0.tar.xz
/btrfs-progs-v6.0.1.tar.sign
/btrfs-progs-v6.0.1.tar.xz
/btrfs-progs-v6.0.2.tar.sign
/btrfs-progs-v6.0.2.tar.xz
/btrfs-progs-v6.1.tar.sign
/btrfs-progs-v6.1.tar.xz
/btrfs-progs-v6.1.1.tar.sign
/btrfs-progs-v6.1.1.tar.xz
/btrfs-progs-v6.1.2.tar.sign
/btrfs-progs-v6.1.2.tar.xz
/btrfs-progs-v6.1.3.tar.sign
/btrfs-progs-v6.1.3.tar.xz
/btrfs-progs-v6.2.1.tar.sign
/btrfs-progs-v6.2.1.tar.xz
/btrfs-progs-v6.2.2.tar.sign
/btrfs-progs-v6.2.2.tar.xz

View File

@ -1,91 +0,0 @@
From: Neal Gompa <neal@gompa.dev>
Subject: [PATCH 1/1] btrfs-progs: mkfs: Enforce 4k sectorsize by default
Date: Wed, 22 Mar 2023 18:17:14 -0400
Content-Transfer-Encoding: 8bit
We have had working subpage support in Btrfs for many cycles now.
Generally, we do not want people creating filesystems by default
with non-4k sectorsizes since it creates portability problems.
Signed-off-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
---
Documentation/Subpage.rst | 15 ++++++++-------
Documentation/mkfs.btrfs.rst | 13 +++++++++----
mkfs/main.c | 2 +-
3 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/Documentation/Subpage.rst b/Documentation/Subpage.rst
index 21a495d5..39ef7d6d 100644
--- a/Documentation/Subpage.rst
+++ b/Documentation/Subpage.rst
@@ -9,17 +9,18 @@ to the exactly same size of the block and page. On x86_64 this is typically
pages, like 64KiB on 64bit ARM or PowerPC. This means filesystems created
with 64KiB sector size cannot be mounted on a system with 4KiB page size.
-While with subpage support, systems with 64KiB page size can create (still needs
-"-s 4k" option for mkfs.btrfs) and mount filesystems with 4KiB sectorsize,
-allowing us to push 4KiB sectorsize as default sectorsize for all platforms in the
-near future.
+Since v6.3, filesystems are created with a 4KiB sectorsize by default,
+though it remains possible to create filesystems with other page sizes
+(such as 64KiB with the "-s 64k" option for mkfs.btrfs). This ensures that
+new filesystems are compatible across other architecture variants using
+larger page sizes.
Requirements, limitations
-------------------------
-The initial subpage support has been added in v5.15, although it's still
-considered as experimental at the time of writing (v5.18), most features are
-already working without problems.
+The initial subpage support has been added in v5.15. Most features are
+already working without problems. Subpage support is used by default
+for systems with a non-4KiB page size since v6.3.
End users can mount filesystems with 4KiB sectorsize and do their usual
workload, while should not notice any obvious change, as long as the initial
diff --git a/Documentation/mkfs.btrfs.rst b/Documentation/mkfs.btrfs.rst
index ba7227b3..16abf0ca 100644
--- a/Documentation/mkfs.btrfs.rst
+++ b/Documentation/mkfs.btrfs.rst
@@ -116,10 +116,15 @@ OPTIONS
-s|--sectorsize <size>
Specify the sectorsize, the minimum data block allocation unit.
- The default value is the page size and is autodetected. If the sectorsize
- differs from the page size, the created filesystem may not be mountable by the
- running kernel. Therefore it is not recommended to use this option unless you
- are going to mount it on a system with the appropriate page size.
+ By default, the value is 4KiB, but it can be manually set to match the
+ system page size. However, if the sector size is different from the page
+ size, the resulting filesystem may not be mountable by the current
+ kernel, apart from the default 4KiB. Hence, using this option is not
+ advised unless you intend to mount it on a system with the suitable
+ page size.
+
+ .. note::
+ Versions prior to 6.3 set the sectorsize matching to the page size.
-L|--label <string>
Specify a label for the filesystem. The *string* should be less than 256
diff --git a/mkfs/main.c b/mkfs/main.c
index f5e34cbd..5e1834d7 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -1207,7 +1207,7 @@ int BOX_MAIN(mkfs)(int argc, char **argv)
}
if (!sectorsize)
- sectorsize = (u32)sysconf(_SC_PAGESIZE);
+ sectorsize = (u32)SZ_4K;
if (btrfs_check_sectorsize(sectorsize))
goto error;
--
2.39.2

View File

@ -1,52 +0,0 @@
From 56ea5a3eba4f2048d3e6297a7ab7eb5ef19e2177 Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa@fedoraproject.org>
Date: Tue, 21 Mar 2023 15:40:15 -0400
Subject: [PATCH 2/2] btrfs-progs: mkfs: doc: Drop version change for 4k
sectorsize
This is not yet upstream so we don't know what version this change
has landed in.
---
Documentation/Subpage.rst | 4 ++--
Documentation/mkfs.btrfs.rst | 3 ---
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/Documentation/Subpage.rst b/Documentation/Subpage.rst
index 39ef7d6d..a128db95 100644
--- a/Documentation/Subpage.rst
+++ b/Documentation/Subpage.rst
@@ -9,7 +9,7 @@ to the exactly same size of the block and page. On x86_64 this is typically
pages, like 64KiB on 64bit ARM or PowerPC. This means filesystems created
with 64KiB sector size cannot be mounted on a system with 4KiB page size.
-Since v6.3, filesystems are created with a 4KiB sectorsize by default,
+Filesystems are created with a 4KiB sectorsize by default,
though it remains possible to create filesystems with other page sizes
(such as 64KiB with the "-s 64k" option for mkfs.btrfs). This ensures that
new filesystems are compatible across other architecture variants using
@@ -20,7 +20,7 @@ Requirements, limitations
The initial subpage support has been added in v5.15. Most features are
already working without problems. Subpage support is used by default
-for systems with a non-4KiB page size since v6.3.
+for systems with a non-4KiB page size.
End users can mount filesystems with 4KiB sectorsize and do their usual
workload, while should not notice any obvious change, as long as the initial
diff --git a/Documentation/mkfs.btrfs.rst b/Documentation/mkfs.btrfs.rst
index 50d9921a..0f6056a4 100644
--- a/Documentation/mkfs.btrfs.rst
+++ b/Documentation/mkfs.btrfs.rst
@@ -123,9 +123,6 @@ OPTIONS
advised unless you intend to mount it on a system with the suitable
page size.
- .. note::
- Versions prior to 6.3 set the sectorsize matching to the page size.
-
-L|--label <string>
Specify a label for the filesystem. The *string* should be less than 256
bytes and must not contain newline characters.
--
2.39.2

12
btrfs-init-dev-list.patch Normal file
View File

@ -0,0 +1,12 @@
diff --git a/utils.c b/utils.c
index a5ffb62..f6686c6 100644
--- a/utils.c
+++ b/utils.c
@@ -502,6 +502,7 @@ int btrfs_add_to_fsid(struct btrfs_trans_handle *trans,
device->bytes_used = 0;
device->total_ios = 0;
device->dev_root = root->fs_info->dev_root;
+ INIT_LIST_HEAD(&device->dev_list);
ret = btrfs_add_device(trans, root, device);
BUG_ON(ret);

152
btrfs-progs-valgrind.patch Normal file
View File

@ -0,0 +1,152 @@
Not-upstream changes from Josef. Some bits have made it usptream
and have been removed; the rest needs some reverse-engineering.
diff -up btrfs-progs-0.19/btrfsck.c.orig btrfs-progs-0.19/btrfsck.c
diff -up btrfs-progs-0.19/disk-io.c.orig btrfs-progs-0.19/disk-io.c
--- btrfs-progs-0.19/disk-io.c.orig 2012-04-11 10:42:36.213042556 -0400
+++ btrfs-progs-0.19/disk-io.c 2012-04-11 10:42:58.790867701 -0400
@@ -622,7 +624,7 @@ static struct btrfs_fs_info *__open_ctre
struct btrfs_root *chunk_root = malloc(sizeof(struct btrfs_root));
struct btrfs_root *dev_root = malloc(sizeof(struct btrfs_root));
struct btrfs_root *csum_root = malloc(sizeof(struct btrfs_root));
- struct btrfs_fs_info *fs_info = malloc(sizeof(*fs_info));
+ struct btrfs_fs_info *fs_info = malloc(sizeof(struct btrfs_fs_info));
int ret;
struct btrfs_super_block *disk_super;
struct btrfs_fs_devices *fs_devices = NULL;
@@ -646,7 +648,7 @@ static struct btrfs_fs_info *__open_ctre
goto out;
}
- memset(fs_info, 0, sizeof(*fs_info));
+ memset(fs_info, 0, sizeof(struct btrfs_fs_info));
fs_info->tree_root = tree_root;
fs_info->extent_root = extent_root;
fs_info->chunk_root = chunk_root;
@@ -1063,15 +1065,19 @@ static int close_all_devices(struct btrf
{
struct list_head *list;
struct list_head *next;
+ struct list_head *tmp;
struct btrfs_device *device;
- return 0;
-
list = &fs_info->fs_devices->devices;
- list_for_each(next, list) {
+ list_for_each_safe(next, tmp, list) {
device = list_entry(next, struct btrfs_device, dev_list);
close(device->fd);
+ list_del(&device->dev_list);
+ free(device->name);
+ free(device->label);
+ free(device);
}
+ free(fs_info->fs_devices);
return 0;
}
@@ -1121,12 +1127,14 @@ int close_ctree(struct btrfs_root *root)
extent_io_tree_cleanup(&fs_info->pinned_extents);
extent_io_tree_cleanup(&fs_info->pending_del);
extent_io_tree_cleanup(&fs_info->extent_ins);
+ btrfs_mapping_tree_free(&fs_info->mapping_tree);
free(fs_info->tree_root);
free(fs_info->extent_root);
free(fs_info->chunk_root);
free(fs_info->dev_root);
free(fs_info->csum_root);
+ free(fs_info->log_root_tree);
free(fs_info);
return 0;
diff -up btrfs-progs-0.19/extent-cache.c.orig btrfs-progs-0.19/extent-cache.c
--- btrfs-progs-0.19/extent-cache.c.orig 2012-04-11 10:42:36.214042548 -0400
+++ btrfs-progs-0.19/extent-cache.c 2012-04-11 10:42:58.833867368 -0400
@@ -168,3 +168,14 @@ void remove_cache_extent(struct cache_tr
rb_erase(&pe->rb_node, &tree->root);
}
+void free_cache_tree(struct cache_tree *tree)
+{
+ struct rb_node *node;
+ struct cache_extent *cache;
+
+ while ((node = rb_last(&tree->root)) != NULL) {
+ cache = rb_entry(node, struct cache_extent, rb_node);
+ remove_cache_extent(tree, cache);
+ free(cache);
+ }
+}
diff -up btrfs-progs-0.19/extent-cache.h.orig btrfs-progs-0.19/extent-cache.h
--- btrfs-progs-0.19/extent-cache.h.orig 2009-06-11 12:56:15.000000000 -0400
+++ btrfs-progs-0.19/extent-cache.h 2012-04-11 10:42:58.850867237 -0400
@@ -43,6 +43,7 @@ struct cache_extent *find_cache_extent(s
int insert_cache_extent(struct cache_tree *tree, u64 start, u64 size);
int insert_existing_cache_extent(struct cache_tree *tree,
struct cache_extent *pe);
+void free_cache_tree(struct cache_tree *tree);
static inline int cache_tree_empty(struct cache_tree *tree)
{
diff -up btrfs-progs-0.19/extent-tree.c.orig btrfs-progs-0.19/extent-tree.c
--- btrfs-progs-0.19/extent-tree.c.orig 2012-04-11 10:42:36.216042532 -0400
+++ btrfs-progs-0.19/extent-tree.c 2012-04-11 10:42:58.851867229 -0400
@@ -2999,6 +2999,7 @@ out:
int btrfs_free_block_groups(struct btrfs_fs_info *info)
{
+ struct btrfs_space_info *space_info;
u64 start;
u64 end;
u64 ptr;
@@ -3022,6 +3023,15 @@ int btrfs_free_block_groups(struct btrfs
clear_extent_dirty(&info->free_space_cache, start,
end, GFP_NOFS);
}
+
+ while (!list_empty(&info->space_info)) {
+ space_info = list_entry(info->space_info.next,
+ struct btrfs_space_info,
+ list);
+ list_del(&space_info->list);
+ kfree(space_info);
+ }
+
return 0;
}
diff -up btrfs-progs-0.19/volumes.c.orig btrfs-progs-0.19/volumes.c
--- btrfs-progs-0.19/volumes.c.orig 2012-04-11 10:42:36.228042439 -0400
+++ btrfs-progs-0.19/volumes.c 2012-04-11 10:43:03.313832673 -0400
@@ -957,6 +957,20 @@ void btrfs_mapping_init(struct btrfs_map
cache_tree_init(&tree->cache_tree);
}
+void btrfs_mapping_tree_free(struct btrfs_mapping_tree *tree)
+{
+ struct cache_extent *cache;
+ struct rb_node *node;
+ struct map_lookup *map;
+
+ while ((node = rb_last(&tree->cache_tree.root)) != NULL) {
+ cache = rb_entry(node, struct cache_extent, rb_node);
+ map = container_of(cache, struct map_lookup, ce);
+ remove_cache_extent(&tree->cache_tree, cache);
+ free(map);
+ }
+}
+
int btrfs_num_copies(struct btrfs_mapping_tree *map_tree, u64 logical, u64 len)
{
struct cache_extent *ce;
diff -up btrfs-progs-0.19/volumes.h.orig btrfs-progs-0.19/volumes.h
--- btrfs-progs-0.19/volumes.h.orig 2012-04-11 10:42:36.228042439 -0400
+++ btrfs-progs-0.19/volumes.h 2012-04-11 10:43:03.314832666 -0400
@@ -182,4 +182,5 @@ int btrfs_add_system_chunk(struct btrfs_
struct btrfs_root *root, struct btrfs_key *key,
struct btrfs_chunk *chunk, int item_size);
int btrfs_chunk_readonly(struct btrfs_root *root, u64 chunk_offset);
+void btrfs_mapping_tree_free(struct btrfs_mapping_tree *tree);
#endif

View File

@ -1,458 +1,85 @@
# Local definition of version_no_tilde when it doesn't exist
%{!?version_no_tilde: %define version_no_tilde %{shrink:%(echo '%{version}' | tr '~' '-')}}
Name: btrfs-progs
Version: 4.5.2
Release: 1%{?dist}
Summary: Userspace programs for btrfs
Name: btrfs-progs
Version: 6.2.2
Release: 1%{?dist}
Summary: Userspace programs for btrfs
Group: System Environment/Base
License: GPLv2
URL: http://btrfs.wiki.kernel.org/index.php/Main_Page
Source0: https://www.kernel.org/pub/linux/kernel/people/kdave/%{name}/%{name}-v%{version}.tar.xz
License: GPL-2.0-only
URL: https://btrfs.wiki.kernel.org/index.php/Main_Page
Source0: https://www.kernel.org/pub/linux/kernel/people/kdave/%{name}/%{name}-v%{version_no_tilde}.tar.xz
Source1: https://www.kernel.org/pub/linux/kernel/people/kdave/%{name}/%{name}-v%{version_no_tilde}.tar.sign
Source2: gpgkey-F2B41200C54EFB30380C1756C565D5F9D76D583B.gpg
# Patches no longer applied, but kept for posterity
# Still must reverse-engineer fixes in there and get upstream
Patch0: btrfs-progs-valgrind.patch
Patch1: btrfs-init-dev-list.patch
# Upstreamable changes
## From: https://lore.kernel.org/linux-btrfs/20230322221714.2702819-1-neal@gompa.dev/T/#t
Patch0101: 0001-btrfs-progs-mkfs-Enforce-4k-sectorsize-by-default.patch
## Fedora specific doc change stacked on top
Patch0102: 0002-btrfs-progs-mkfs-doc-Drop-version-change-for-4k-sect.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: autoconf, automake
BuildRequires: e2fsprogs-devel, libuuid-devel, zlib-devel
BuildRequires: libacl-devel, libblkid-devel, lzo-devel
BuildRequires: asciidoc, xmlto
BuildRequires: gnupg2
BuildRequires: gcc, autoconf, automake, make
BuildRequires: git-core
BuildRequires: e2fsprogs-devel
BuildRequires: libacl-devel, lzo-devel
BuildRequires: pkgconfig(blkid)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(libgcrypt) >= 1.8.0
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libzstd) >= 1.0.0
BuildRequires: python3-sphinx
BuildRequires: systemd
BuildRequires: python3-devel >= 3.4
BuildRequires: python3-setuptools
%define _root_sbindir /sbin
%description
The btrfs-progs package provides all the userspace programs needed to create,
check, modify and correct any inconsistencies in the btrfs filesystem.
%package -n libbtrfs
Summary: btrfs filesystem-specific runtime libraries
License: GPL-2.0-only
# Upstream deprecated this library
Provides: deprecated()
# This was not properly split out before
Conflicts: %{name} < 4.20.2
%description -n libbtrfs
libbtrfs contains the main library used by btrfs
filesystem-specific programs.
%package -n libbtrfsutil
Summary: btrfs filesystem-specific runtime utility libraries
License: LGPL-2.1-or-later
# This was not properly split out before
Conflicts: %{name}-devel < 4.20.2
%description -n libbtrfsutil
libbtrfsutil contains an alternative utility library used by btrfs
filesystem-specific programs.
%package devel
Summary: btrfs filesystem-specific libraries and headers
# libbtrfsutil is LGPLv2+
License: GPL-2.0-only and LGPL-2.1-or-later
Requires: %{name} = %{version}-%{release}
Requires: libbtrfs%{?_isa} = %{version}-%{release}
Requires: libbtrfsutil%{?_isa} = %{version}-%{release}
Summary: btrfs filesystem-specific libraries and headers
Group: Development/Libraries
Requires: btrfs-progs = %{version}-%{release}
%description devel
btrfs-progs-devel contains the libraries and header files needed to
develop btrfs filesystem-specific programs.
It includes development files for two libraries:
- libbtrfs (GPLv2)
- libbtrfsutil (LGPLv2+)
You should install btrfs-progs-devel if you want to develop
btrfs filesystem-specific programs.
%package -n python3-btrfsutil
Summary: Python 3 bindings for libbtrfsutil
License: LGPL-2.1-or-later
Requires: libbtrfsutil%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python3-btrfsutil}
%description -n python3-btrfsutil
python3-btrfsutil contains Python 3 bindings to the libbtrfsutil library,
which can be used for btrfs filesystem-specific programs in Python.
You should install python3-btrfsutil if you want to use or develop
btrfs filesystem-specific programs in Python.
%prep
xzcat '%{SOURCE0}' | %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data=-
%autosetup -n %{name}-v%{version_no_tilde} -S git_am
%setup -q -n %{name}-v%{version}
%build
./autogen.sh
%configure CFLAGS="%{optflags} -fno-strict-aliasing" --with-crypto=libgcrypt --disable-python
%make_build
pushd libbtrfsutil/python
%py3_build
popd
%configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
make %{?_smp_mflags}
%install
%make_install mandir=%{_mandir} bindir=%{_sbindir} libdir=%{_libdir} incdir=%{_includedir}
install -Dpm0644 btrfs-completion %{buildroot}%{_datadir}/bash-completion/completions/btrfs
rm -rf $RPM_BUILD_ROOT
make mandir=%{_mandir} bindir=%{_sbindir} libdir=%{_libdir} incdir=%{_includedir}/btrfs install DESTDIR=$RPM_BUILD_ROOT
# Nuke the static lib
rm -v %{buildroot}%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a
pushd libbtrfsutil/python
%py3_install
popd
%clean
rm -rf $RPM_BUILD_ROOT
%files
%license COPYING
%defattr(-,root,root,-)
%doc COPYING
%{_libdir}/libbtrfs.so.0*
%{_sbindir}/btrfsck
%{_sbindir}/fsck.btrfs
%{_sbindir}/mkfs.btrfs
%{_sbindir}/btrfs-debug-tree
%{_sbindir}/btrfs-image
%{_sbindir}/btrfs-convert
%{_sbindir}/btrfs-select-super
%{_sbindir}/btrfstune
%{_sbindir}/btrfs
%{_sbindir}/btrfs-map-logical
%{_sbindir}/btrfs-zero-log
%{_sbindir}/btrfs-find-root
%{_mandir}/man5/*
%{_mandir}/man8/*
%{_udevrulesdir}/64-btrfs-dm.rules
%{_udevrulesdir}/64-btrfs-zoned.rules
%{_datadir}/bash-completion/completions/btrfs
%files -n libbtrfs
%license COPYING
%{_libdir}/libbtrfs.so.0*
%files -n libbtrfsutil
%license libbtrfsutil/COPYING
%{_libdir}/libbtrfsutil.so.1*
%{_sbindir}/btrfs-show-super
%{_mandir}/man5/*.gz
%{_mandir}/man8/*.gz
%files devel
%{_includedir}/*
%{_libdir}/libbtrfs.so
%{_libdir}/libbtrfsutil.so
%{_libdir}/pkgconfig/libbtrfsutil.pc
%files -n python3-btrfsutil
%license libbtrfsutil/COPYING
%{python3_sitearch}/btrfsutil.*.so
%{python3_sitearch}/btrfsutil-*.egg-info/
%changelog
* Sun Mar 26 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.2.2-1
- Update to 6.2.2
* Wed Mar 22 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.2.1-2
- Add patch to force default sectorsize to 4k
* Mon Mar 06 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.2.1-1
- Update to 6.2.1
* Wed Jan 25 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.1.3-1
- Update to 6.1.3
- Switch to SPDX license identifiers
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jan 05 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.1.2-1
- Update to 6.1.2
* Tue Jan 03 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.1.1-1
- Update to 6.1.1
* Fri Dec 30 2022 Neal Gompa <ngompa@fedoraproject.org> - 6.1-2
- Add fix to show UUID with "btrfs subvolume list -u"
* Fri Dec 23 2022 Neal Gompa <ngompa@fedoraproject.org> - 6.1-1
- Update to 6.1
- Use libgcrypt for cryptographic hash functions
* Fri Nov 25 2022 Neal Gompa <ngompa@fedoraproject.org> - 6.0.2-1
- Update to 6.0.2
* Fri Nov 04 2022 Igor Raits <ignatenkobrain@fedoraproject.org> - 6.0.1-1
- Update to 6.0.1
* Thu Oct 13 2022 Neal Gompa <ngompa@fedoraproject.org> - 6.0-1
- Update to 6.0
* Thu Oct 13 2022 Neal Gompa <ngompa@fedoraproject.org> - 5.19.1-1
- Update to 5.19.1
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.18-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 5.18-2
- Rebuilt for Python 3.11
* Wed May 25 2022 Neal Gompa <ngompa@fedoraproject.org> - 5.18-1
- Update to 5.18
* Wed Feb 16 2022 Neal Gompa <ngompa@fedoraproject.org> - 5.16.2-1
- Update to 5.16.2
* Sat Feb 05 2022 Igor Raits <igor.raits@gmail.com> - 5.16.1-1
- Update to 5.16.1
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.16-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Jan 17 2022 Neal Gompa <ngompa@fedoraproject.org> - 5.16-1
- Update to 5.16
* Mon Nov 22 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.15.1-1
- Update to 5.15.1
* Fri Nov 05 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.15-1
- Update to 5.15
* Sat Oct 30 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.14.91-1
- Update to 5.14.91 (5.15~rc1)
* Sat Oct 09 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.14.2-1
- Update to 5.14.2
* Mon Sep 20 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.14.1-1
- Update to 5.14.1
* Fri Sep 10 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.14-2
- Mark libbtrfs as deprecated, per upstream release notes
* Fri Sep 10 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.14-1
- Update to 5.14
* Fri Jul 30 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.13.1-1
- Update to 5.13.1
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jul 13 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.13-1
- Update to 5.13
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 5.12.1-2
- Rebuilt for Python 3.10
* Thu May 13 2021 Neal Gompa <ngompa13@gmail.com> - 5.12.1-1
- Update to 5.12.1
* Mon May 10 2021 Neal Gompa <ngompa13@gmail.com> - 5.12-1
- Update to 5.12
* Sun Mar 28 2021 Igor Raits <ignatenkobrain@fedoraproject.org> - 5.11.1-1
- Update to 5.11.1
* Fri Mar 05 2021 Igor Raits <ignatenkobrain@fedoraproject.org> - 5.11-1
- Update to 5.11
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 19 2021 Neal Gompa <ngompa13@gmail.com> - 5.10-1
- New upstream release
* Fri Jan 15 2021 Igor Raits <ignatenkobrain@fedoraproject.org> - 5.10~rc1-1
- Update to 5.10-rc1
* Fri Oct 23 2020 Neal Gompa <ngompa13@gmail.com> - 5.9-1
- New upstream release
- Build Python bindings
- Drop patches incorporated into this release
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.7-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 24 2020 Neal Gompa <ngompa13@gmail.com> - 5.7-4
- Backport fix for converting 64-bit ext4 filesystems (#1851674)
* Tue Jul 21 2020 Neal Gompa <ngompa13@gmail.com> - 5.7-3
- Backport fix to not use raid0 by default for mkfs multi-disk (#1855174)
* Wed Jul 08 2020 Carl George <carl@george.computer> - 5.7-2
- Include bash completion
* Thu Jul 02 2020 Neal Gompa <ngompa13@gmail.com> - 5.7-1
- New upstream release
* Tue Jun 30 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 5.7~rc1-1
- Update to 5.7-rc1
* Mon Jun 15 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 5.6.1-2
- Rebuild
* Mon Jun 08 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 5.6.1-1
- Update to 5.6.1
* Sun Apr 05 2020 Neal Gompa <ngompa13@gmail.com> - 5.6-1
- New upstream release
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Dec 06 2019 Neal Gompa <ngompa13@gmail.com> - 5.4-1
- New upstream release
* Sat Aug 24 2019 Neal Gompa <ngompa13@gmail.com> - 5.2.1-1
- New upstream release
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu May 30 2019 Neal Gompa <ngompa13@gmail.com> - 5.1-1
- New upstream release
* Sun Mar 10 2019 Neal Gompa <ngompa13@gmail.com> - 4.20.2-1
- New upstream release
- Properly split out libraries into libs subpackages
- Slightly modernize the spec
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Dec 05 2018 Eric Sandeen <sandeen@redhat.com> 4.19.-1
- New usptream release
* Mon Aug 06 2018 Eric Sandeen <sandeen@redhat.com> 4.17.1-1
- New upstream release
* Mon Jul 23 2018 Eric Sandeen <sandeen@redhat.com> 4.17-1
- New upstream release
- Removes deprecated btrfs-debug-tree, btrfs-zero-log
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.16-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 4.16-3
- Rebuilt for Python 3.7
* Sun Apr 08 2018 Eric Sandeen <sandeen@redhat.com> 4.16-2
- Fix up header install paths in devel package (#1564881)
* Fri Apr 06 2018 Eric Sandeen <sandeen@redhat.com> 4.16-1
- New upstream release
* Mon Feb 26 2018 Eric Sandeen <sandeen@redhat.com> 4.15.1-2
- BuildRequires: gcc
* Fri Feb 16 2018 Eric Sandeen <sandeen@redhat.com> 4.15.1-1
- New upstream release
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.14.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 05 2018 Eric Sandeen <sandeen@redhat.com> 4.14.1-1
- New upstream release
* Tue Oct 17 2017 Eric Sandeen <sandeen@redhat.com> 4.13.3-1
- New upstream release
* Fri Oct 06 2017 Eric Sandeen <sandeen@redhat.com> 4.13.2-1
- New upstream release
* Tue Sep 26 2017 Eric Sandeen <sandeen@redhat.com> 4.13.1-1
- New upstream release
* Fri Sep 08 2017 Eric Sandeen <sandeen@redhat.com> 4.13-1
- New upstream release
* Mon Aug 28 2017 Eric Sandeen <sandeen@redhat.com> 4.12.1-1
- New upstream release
* Mon Jul 31 2017 Eric Sandeen <sandeen@redhat.com> 4.12-1
- New upstream release
* Mon Jul 31 2017 Igor Gnatenko <ignatenko@redhat.com> - 4.11.1-3
- Add missing BuildRequires: systemd
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 03 2017 Eric Sandeen <sandeen@redhat.com> 4.11.1-1
- New upstream release
* Thu May 18 2017 Eric Sandeen <sandeen@redhat.com> 4.11-1
- New upstream release
* Wed May 03 2017 Eric Sandeen <sandeen@redhat.com> 4.10.2-1
- New upstream release
* Fri Mar 17 2017 Eric Sandeen <sandeen@redhat.com> 4.10.1-1
- New upstream release
* Wed Mar 8 2017 Eric Sandeen <sandeen@redhat.com> 4.10-1
- New upstream release
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 27 2017 Eric Sandeen <sandeen@redhat.com> 4.9.1-1
- New upstream release
* Wed Jan 25 2017 Eric Sandeen <sandeen@redhat.com> 4.9-2
- Remove unapplied patches
* Fri Dec 23 2016 Eric Sandeen <sandeen@redhat.com> 4.9-1
- New upstream release
* Wed Nov 30 2016 Eric Sandeen <sandeen@redhat.com> 4.8.5-1
- New upstream release
* Fri Nov 25 2016 Eric Sandeen <sandeen@redhat.com> 4.8.4-1
- New upstream release
- btrfs-show-super removed (deprecated upstream)
* Sat Nov 12 2016 Eric Sandeen <sandeen@redhat.com> 4.8.3-1
- New upstream release
* Fri Oct 28 2016 Eric Sandeen <sandeen@redhat.com> 4.8.2-2
- Remove ioctl patch, different fix upstream
* Thu Oct 13 2016 Eric Sandeen <sandeen@redhat.com> 4.8.1-2
- Fix build of apps including ioctl.h (bz#1384413)
* Wed Oct 12 2016 Eric Sandeen <sandeen@redhat.com> 4.8.1-1
- New upstream release
* Wed Oct 12 2016 Eric Sandeen <sandeen@redhat.com> 4.8-1
- New upstream release (FTBFS on 32-bit)
* Wed Sep 21 2016 Eric Sandeen <sandeen@redhat.com> 4.7.3-1
- New upstream release
* Mon Sep 05 2016 Eric Sandeen <sandeen@redhat.com> 4.7.2-1
- New upstream release
* Sat Aug 27 2016 Eric Sandeen <sandeen@redhat.com> 4.7.1-1
- New upstream release
* Mon Aug 01 2016 Eric Sandeen <sandeen@redhat.com> 4.7-1
- New upstream release
* Fri Jun 24 2016 Eric Sandeen <sandeen@redhat.com> 4.6.1-1
- New upstream release
* Wed Jun 15 2016 Eric Sandeen <sandeen@redhat.com> 4.6-1
- New upstream release
* Fri May 13 2016 Eric Sandeen <sandeen@redhat.com> 4.5.3-1
- New upstream release
* Mon May 02 2016 Eric Sandeen <sandeen@redhat.com> 4.5.2-1
- New upstream release

View File

@ -1,2 +1 @@
SHA512 (btrfs-progs-v6.2.2.tar.sign) = cd05827dfd66de7eefb0dc9534baacffe7b115fa1f3b2c0d0e7bb280ff47ed9c6308684db2284f65750fb883bbcc2fecb36c09b597f11b07e29d8864b032af33
SHA512 (btrfs-progs-v6.2.2.tar.xz) = 967e1c1a6b956a4e11a794aad090d1cf370fd98e4186525ccfbbbc9ae3f2bb66ace1d684730f93c558403b7ac1c991aec3d04d07548b19ee1516352a069431db
10d57fdfc791825e906aa7bd783d2da3 btrfs-progs-v4.5.2.tar.xz