diff --git a/0001-btrfs-progs-convert-fix-support-for-e2fsprogs-1.42.patch b/0001-btrfs-progs-convert-fix-support-for-e2fsprogs-1.42.patch deleted file mode 100644 index ec08323..0000000 --- a/0001-btrfs-progs-convert-fix-support-for-e2fsprogs-1.42.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 1a9818aa0dcbcd48eadbb122a1433497f758db9a Mon Sep 17 00:00:00 2001 -From: Jeff Mahoney -Date: Fri, 27 Apr 2018 13:58:41 -0400 -Subject: [PATCH 1/3] btrfs-progs: convert: fix support for e2fsprogs < 1.42 -Patch-mainline: Submitted, linux-btrfs 26 Apr 2018 - -Commit 324d4c1857a (btrfs-progs: convert: Add larger device support) -introduced new dependencies on the 64-bit API provided by e2fsprogs. -That API was introduced in v1.42 (along with bigalloc). - -This patch maps the following to their equivalents in e2fsprogs < 1.42. -- ext2fs_get_block_bitmap_range2 -- ext2fs_inode_data_blocks2 -- ext2fs_read_ext_attr2 - -Since we need to detect and define EXT2_FLAG_64BITS for compatibilty -anyway, it makes sense to use that to detect the older e2fsprogs instead -of defining a new flag ourselves. - -Signed-off-by: Jeff Mahoney ---- - configure.ac | 6 +----- - convert/source-ext2.h | 12 +++++++++++- - 2 files changed, 12 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index af13a95..2dea1c6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -140,11 +140,7 @@ BTRFSCONVERT_EXT2=0 - BTRFSCONVERT_REISERFS=0 - if test "x$enable_convert" = xyes; then - if test "x$with_convert" = "xauto" || echo "$with_convert" | grep -q "ext2"; then -- PKG_CHECK_MODULES(EXT2FS, [ext2fs >= 1.42],, -- [PKG_CHECK_MODULES(EXT2FS, [ext2fs], -- [AC_DEFINE([HAVE_OLD_E2FSPROGS], [1], -- [E2fsprogs does not support BIGALLOC])] -- )]) -+ PKG_CHECK_MODULES(EXT2FS, [ext2fs]) - PKG_CHECK_MODULES(COM_ERR, [com_err]) - convertfs="${convertfs:+$convertfs,}ext2" - BTRFSCONVERT_EXT2=1 -diff --git a/convert/source-ext2.h b/convert/source-ext2.h -index 80833b2..c321412 100644 ---- a/convert/source-ext2.h -+++ b/convert/source-ext2.h -@@ -33,8 +33,18 @@ - * BIGALLOC. - * Unlike normal RO compat flag, BIGALLOC affects how e2fsprogs check used - * space, and btrfs-convert heavily relies on it. -+ * -+ * e2fsprogs 1.42 also introduced the 64-bit API. Any file system -+ * that requires it will have EXT4_FEATURE_INCOMPAT_64BIT set and -+ * will fail to open with earlier releases. We can map it to the -+ * older API without risk of corruption. - */ --#ifdef HAVE_OLD_E2FSPROGS -+#ifndef EXT2_FLAG_64BITS -+#define EXT2_FLAG_64BITS (0) -+#define ext2fs_get_block_bitmap_range2 ext2fs_get_block_bitmap_range -+#define ext2fs_inode_data_blocks2 ext2fs_inode_data_blocks -+#define ext2fs_read_ext_attr2 ext2fs_read_ext_attr -+#define ext2fs_blocks_count(s) ((s)->s_blocks_count) - #define EXT2FS_CLUSTER_RATIO(fs) (1) - #define EXT2_CLUSTERS_PER_GROUP(s) (EXT2_BLOCKS_PER_GROUP(s)) - #define EXT2FS_B2C(fs, blk) (blk) --- -1.7.12.4 - diff --git a/0002-btrfs-progs-build-autoconf-2.63-compatibility.patch b/0002-btrfs-progs-build-autoconf-2.63-compatibility.patch deleted file mode 100644 index 7ad9913..0000000 --- a/0002-btrfs-progs-build-autoconf-2.63-compatibility.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ce3c33cd54a4de8a3c49c11806fae195328b4413 Mon Sep 17 00:00:00 2001 -From: Jeff Mahoney -Date: Fri, 27 Apr 2018 14:50:08 -0400 -Subject: [PATCH 2/3] btrfs-progs: build: autoconf 2.63 compatibility -Patch-mainline: Submitted, linux-btrfs 30 Apr 2018 - -Commit 2e1932e6a38 (btrfs-progs: build: simplify version tracking) -started m4_chomp to strip the newlines from the version file. m4_chomp -was introduced in autoconf 2.64 but SLE11 ships with autoconf 2.63. -For purposes of just stripping the newline, m4_flatten is sufficient. - -Signed-off-by: Jeff Mahoney ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 2dea1c6..9e5603b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,5 @@ - AC_INIT([btrfs-progs], -- m4_chomp(m4_include([VERSION])), -+ m4_flatten(m4_include([VERSION])), - [linux-btrfs@vger.kernel.org],, - [http://btrfs.wiki.kernel.org]) - --- -1.7.12.4 - diff --git a/0003-btrfs-progs-build-detect-whether-std-gnu90-is-suppor.patch b/0003-btrfs-progs-build-detect-whether-std-gnu90-is-suppor.patch deleted file mode 100644 index ccd3b1a..0000000 --- a/0003-btrfs-progs-build-detect-whether-std-gnu90-is-suppor.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 7b71ff68c7027a1fa9329ad9167625b81ea3aab2 Mon Sep 17 00:00:00 2001 -From: Jeff Mahoney -Date: Fri, 27 Apr 2018 14:47:28 -0400 -Subject: [PATCH 3/3 v2] btrfs-progs: build: detect whether -std=gnu90 is - supported -Patch-mainline: Submitted, linux-btrfs 30 Apr 2018 - -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 ---- - Makefile | 1 - - Makefile.inc.in | 1 + - configure.ac | 1 + - m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++ - m4/ax_gcc_version.m4 | 37 +++++++++++++++++++++++ - m4/btrfs_detect_cstd.m4 | 20 ++++++++++++ - 6 files changed, 133 insertions(+), 1 deletion(-) - create mode 100644 m4/ax_check_compile_flag.m4 - create mode 100644 m4/ax_gcc_version.m4 - create mode 100644 m4/btrfs_detect_cstd.m4 - -diff --git a/Makefile b/Makefile -index 5ba76d2..c0eb3d6 100644 ---- a/Makefile -+++ b/Makefile -@@ -63,7 +63,6 @@ ABSTOPDIR = $(shell pwd) - TOPDIR := . - - # Common build flags --CSTD = -std=gnu90 - CFLAGS = $(SUBST_CFLAGS) \ - $(CSTD) \ - -include config.h \ -diff --git a/Makefile.inc.in b/Makefile.inc.in -index 52410f6..fb32461 100644 ---- a/Makefile.inc.in -+++ b/Makefile.inc.in -@@ -4,6 +4,7 @@ - export - - CC = @CC@ -+CSTD = @BTRFS_CSTD_FLAGS@ - LN_S = @LN_S@ - AR = @AR@ - RM = @RM@ -diff --git a/configure.ac b/configure.ac -index 9e5603b..4f63bb6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -26,6 +26,7 @@ AC_CONFIG_SRCDIR([btrfs.c]) - AC_PREFIX_DEFAULT([/usr/local]) - - AC_PROG_CC -+BTRFS_DETECT_CSTD - AC_CANONICAL_HOST - AC_C_CONST - AC_C_VOLATILE -diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 -new file mode 100644 -index 0000000..dcabb92 ---- /dev/null -+++ b/m4/ax_check_compile_flag.m4 -@@ -0,0 +1,74 @@ -+# =========================================================================== -+# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) -+# -+# DESCRIPTION -+# -+# Check whether the given FLAG works with the current language's compiler -+# or gives an error. (Warnings, however, are ignored) -+# -+# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on -+# success/failure. -+# -+# If EXTRA-FLAGS is defined, it is added to the current language's default -+# flags (e.g. CFLAGS) when the check is done. The check is thus made with -+# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to -+# force the compiler to issue an error when a bad flag is given. -+# -+# INPUT gives an alternative input source to AC_COMPILE_IFELSE. -+# -+# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this -+# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Guido U. Draheim -+# Copyright (c) 2011 Maarten Bosmans -+# -+# This program is free software: you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by the -+# Free Software Foundation, either version 3 of the License, or (at your -+# option) any later version. -+# -+# This program is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -+# Public License for more details. -+# -+# You should have received a copy of the GNU General Public License along -+# with this program. If not, see . -+# -+# As a special exception, the respective Autoconf Macro's copyright owner -+# gives unlimited permission to copy, distribute and modify the configure -+# scripts that are the output of Autoconf when processing the Macro. You -+# need not follow the terms of the GNU General Public License when using -+# or distributing such scripts, even though portions of the text of the -+# Macro appear in them. The GNU General Public License (GPL) does govern -+# all other use of the material that constitutes the Autoconf Macro. -+# -+# This special exception to the GPL applies to versions of the Autoconf -+# Macro released by the Autoconf Archive. When you make and distribute a -+# modified version of the Autoconf Macro, you may extend this special -+# exception to the GPL to apply to your modified version as well. -+ -+#serial 5 -+ -+AC_DEFUN([AX_CHECK_COMPILE_FLAG], -+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF -+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl -+AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ -+ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS -+ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" -+ AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], -+ [AS_VAR_SET(CACHEVAR,[yes])], -+ [AS_VAR_SET(CACHEVAR,[no])]) -+ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -+AS_VAR_IF(CACHEVAR,yes, -+ [m4_default([$2], :)], -+ [m4_default([$3], :)]) -+AS_VAR_POPDEF([CACHEVAR])dnl -+])dnl AX_CHECK_COMPILE_FLAGS -diff --git a/m4/ax_gcc_version.m4 b/m4/ax_gcc_version.m4 -new file mode 100644 -index 0000000..63914d5 ---- /dev/null -+++ b/m4/ax_gcc_version.m4 -@@ -0,0 +1,37 @@ -+dnl @synopsis AX_GCC_VERSION(MAJOR, MINOR, PATCHLEVEL, [ACTION-SUCCESS], [ACTION-FAILURE]) -+dnl @summary check wither gcc is at least version MAJOR.MINOR.PATCHLEVEL -+dnl @category InstalledPackages -+dnl -+dnl Check whether we are using gcc and, if so, whether its version -+dnl is at least MAJOR.MINOR.PATCHLEVEL -+dnl -+dnl ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on -+dnl success/failure. -+dnl -+dnl @version 2005-05-30 -+dnl @license GPLWithACException -+dnl @author Steven G. Johnson and Matteo Frigo. -+AC_DEFUN([AX_GCC_VERSION], -+[ -+AC_REQUIRE([AC_PROG_CC]) -+AC_CACHE_CHECK(whether we are using gcc $1.$2.$3 or later, ax_cv_gcc_$1_$2_$3, -+[ -+ax_cv_gcc_$1_$2_$3=no -+if test "$GCC" = "yes"; then -+dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp. -+AC_EGREP_CPP(yes, [ -+#ifdef __GNUC__ -+# if (__GNUC__ > $1) || (__GNUC__ == $1 && __GNUC_MINOR__ > $2) \ -+ || (__GNUC__ == $1 && __GNUC_MINOR__ == $2 && __GNUC_PATCHLEVEL__ >= $3) -+ yes; -+# endif -+#endif -+], [ax_cv_gcc_$1_$2_$3=yes]) -+fi -+]) -+if test "$ax_cv_gcc_$1_$2_$3" = yes; then -+ m4_default([$4], :) -+else -+ m4_default([$5], :) -+fi -+]) -diff --git a/m4/btrfs_detect_cstd.m4 b/m4/btrfs_detect_cstd.m4 -new file mode 100644 -index 0000000..f0c45d9 ---- /dev/null -+++ b/m4/btrfs_detect_cstd.m4 -@@ -0,0 +1,20 @@ -+dnl We prefer -std=gnu90 but gcc versions prior to 4.5.0 don't support -+dnl it. AX_CHECK_COMPILE_FLAG is the right way to determine whether a -+dnl particular version of gcc supports a flag, but it requires autoconf -+dnl 2.64. Since (for now) we still want to support older releases -+dnl that ship with autoconf 2.63, we the also-deprecated AX_GCC_VERSION -+dnl macro there. -+AC_DEFUN([BTRFS_DETECT_CSTD], -+[ -+ m4_version_prereq([2.64], [ -+ AX_CHECK_COMPILE_FLAG([-std=gnu90], -+ [BTRFS_CSTD_FLAGS=-std=gnu90], -+ [BTRFS_CSTD_FLAGS=-std=gnu89]) -+ ], [ -+ AX_GCC_VERSION([4], [5], [0], -+ [BTRFS_CSTD_FLAGS=-std=gnu90], -+ [BTRFS_CSTD_FLAGS=-std=gnu89]) -+ ]) -+ AC_SUBST([BTRFS_CSTD_FLAGS]) -+]) dnl BTRFS_DETECT_CSTD -+ --- -1.7.12.4 - diff --git a/btrfs-progs-v4.16.1.tar.gz b/btrfs-progs-v4.16.1.tar.gz deleted file mode 100644 index 25d1a70..0000000 --- a/btrfs-progs-v4.16.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bfb8f7441f5d3a13e94c430b31d7662801ed0b521be0be27a06f3eb9af5c7945 -size 2379697 diff --git a/btrfs-progs-v4.17.tar.gz b/btrfs-progs-v4.17.tar.gz new file mode 100644 index 0000000..74af16c --- /dev/null +++ b/btrfs-progs-v4.17.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c400513188ad906df00d153e3599ebecb3561341ec84d8b69b11fea1a860bb9 +size 2404996 diff --git a/btrfsprogs.changes b/btrfsprogs.changes index bd343eb..b4de20f 100644 --- a/btrfsprogs.changes +++ b/btrfsprogs.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Jun 22 00:00:00 CEST 2018 - dsterba@suse.cz + +- update to version 4.17 + * check + * many lowmem mode improvements + * properly report qgroup mismatch errors + * check symlinks with append/immutable flags + * fi usage + * correctly calculate allocated/unallocated for raid10 + * minor output updates + * mkfs + * detect ENOSPC on thinly provisioned devices + * fix spurious EEXIST during directory traversal + * restore: fix relative path for restore target + * dump-tree: print symbolic tree names for backrefs + * send: fix regression preventing send -p with subvolumes mounted on "/" + * corrupt-tree: refactoring and command line updates + * build + * make it work with e2fsprogs < 1.42 again + * restore support for autoconf 2.63 + * detect if -std=gnu90 is supported +- Removed patches (upstreamed): + * 0001-btrfs-progs-convert-fix-support-for-e2fsprogs-1.42.patch + * 0002-btrfs-progs-build-autoconf-2.63-compatibility.patch + * 0003-btrfs-progs-build-detect-whether-std-gnu90-is-suppor.patch + ------------------------------------------------------------------- Mon Jun 11 02:01:58 UTC 2018 - jeffm@suse.com diff --git a/btrfsprogs.spec b/btrfsprogs.spec index 898c75a..7d57d75 100644 --- a/btrfsprogs.spec +++ b/btrfsprogs.spec @@ -31,7 +31,7 @@ %define build_docs 0 Name: btrfsprogs -Version: 4.16.1 +Version: 4.17 Release: 0 Summary: Utilities for the Btrfs filesystem License: GPL-2.0-only @@ -46,9 +46,6 @@ Source4: setup-btrfs.sh Source5: sles11-defaults.h Patch1: mkfs-default-features.patch -Patch2: 0001-btrfs-progs-convert-fix-support-for-e2fsprogs-1.42.patch -Patch3: 0002-btrfs-progs-build-autoconf-2.63-compatibility.patch -Patch4: 0003-btrfs-progs-build-detect-whether-std-gnu90-is-suppor.patch %if %build_docs BuildRequires: asciidoc @@ -172,9 +169,6 @@ build applications to interface with Btrfs using libbtrfsutil. %prep %setup -q -n btrfs-progs-v%{version} %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 %build ./autogen.sh