File btrfsprogs.spec of Package btrfsprogs

#
# spec file for package btrfsprogs
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#



Name:           btrfsprogs
Url:            http://btrfs.wiki.kernel.org/index.php/Main_Page
Version:        0.19
Release:        41
%define tar_version v0.19-35-g1b444cd
Summary:        Utilities for the Second Btr File System
License:        GPL v2 only
Group:          System/Filesystems
Supplements:    filesystem(btrfs)
Source:         btrfs-progs-%{tar_version}.tar.bz2
Patch0:         memleak-fix.diff
Patch1:         0001-Plug-Memory-leak-in-find_and_setup_log_root.patch

# git: master..tmp (1b444cd..e6bd18d)
Patch2:         0001-Btrfs-progs-add-a-btrfs-select-super-command-to-over.patch
Patch3:         0002-Btrfs-progs-use-safe-string-manipulation-functions.patch
Patch4:         0003-Btrfs-progs-utils-Informative-errors.patch
Patch5:         0004-update-man-page-to-new-defragment-command-interface.patch
Patch6:         0005-Improve-error-handling-in-the-btrfs-command.patch
Patch7:         0006-Btrfs-progs-update-super-fields-for-space-cache.patch
Patch8:         0007-Btrfs-progs-add-support-for-mixed-data-metadata-bloc.patch
Patch9:         0008-Update-for-lzo-support.patch
Patch10:        0009-Update-clean-up-btrfs-help-and-man-page-V2.patch
Patch11:        0010-Deprecate-btrfsctl-btrfs-show-btrfs-vol.patch
Patch12:        0011-Add-the-btrfs-filesystem-label-command.patch
Patch13:        0012-Btrfs-progs-Update-man-page-for-mixed-data-metadata-.patch
Patch14:        0013-btrfs-progs-Add-new-feature-to-mkfs.btrfs-to-make-fi.patch
Patch15:        0014-btrfs-progs-fix-wrong-extent-buffer-size-when-readin.patch
Patch16:        0015-btrfs-progs-add-discard-support-to-mkfs.patch

# git: tmp..<to be pulled soon>
Patch20:        0101-btrfs-progs-setting-of-time-to-the-root-directory.patch
Patch21:        0103-add-advanced-use-of-help-to-help-message.patch
Patch22:        0104-add-detailed-help-messages-to-btrfs-command.patch
Patch23:        0105-Fix-unused-but-set-errors-in-gcc-4.6.patch
Patch24:        0106-btrfs-map-logical-usage-update.patch
Patch25:        0107-btrfs-progs-cast-u64-to-long-long-to-avoid-printf-wa.patch
Patch26:        0108-Added-support-for-an-additional-ioctl.patch
Patch27:        0109-Add-support-for-read-only-subvolumes.patch
Patch28:        0110-Support-the-new-parameters-in-do_clone-int-argc-char.patch
Patch29:        0112-Updated-manpage-for-btrfs-subvolume-snapshot.patch
Patch30:        0113-btrfs-progs-Fix-over-sized-limit-on-buffer.patch
Patch31:        0114-incorrect-argument-checking-for-btrfs-sub-snap-r.patch
Patch32:        0115-btrfs-progs-fix-extra-metadata-chunk-allocation-in-m.patch
Patch33:        0116-make-btrfs-filesystem-label-command-actually-work.patch
Patch34:        0118-mkfs.btrfs-fail-on-scandir-error-r-mode.patch
Patch35:        0119-mkfs.btrfs-return-some-defined-value-instead-of-garb.patch
Patch36:        0120-mkfs.btrfs-fix-symlink-names-writing.patch
Patch37:        0121-mkfs.btrfs-write-zeroes-instead-on-uninitialized-dat.patch
Patch38:        0122-mkfs.btrfs-free-buffers-allocated-by-pretty_sizes.patch
Patch39:        0123-mkfs.btrfs-fix-memory-leak-caused-by-scandir-calls.patch
Patch40:        0124-mkfs.btrfs-fix-error-text-in-r-mode.patch
Patch41:        0125-btrfs-map-logical-segfaults-when-no-output-file-is-g.patch
Patch42:        0127-mkfs.btrfs-Fix-compilation-errors-with-gcc-4.6.patch

# git: scrub, fixes, improvements
Patch50:        0216-commands-added.patch
Patch51:        0217-scrub-ioctls.patch
Patch52:        0218-added-check_mounted_where.patch
Patch53:        0219-scrub-userland-implementation.patch
Patch54:        0220-scrub-added-to-manpage.patch
Patch55:        0230-Scan-the-devices-listed-in-proc-partitions.patch
Patch56:        0231-btrfs-progs-Improvement-for-making-btrfs-image-from-.patch

Patch57:        ignore-deleted-loopmounts.diff

BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  libacl-devel libext2fs-devel libuuid-devel zlib-devel
# for /bin/true
Requires:       coreutils

%description
Utilities needed to create and maintain btrfs file systems under Linux.



%prep
%setup -q -n btrfs-progs-%{tar_version}
%patch0
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1

%build
make %{?jobs:-j%jobs} CFLAGS="%{optflags}" all convert

%install
make install DESTDIR=${RPM_BUILD_ROOT} prefix=%{_prefix} bindir=/sbin mandir=%{_mandir}
# command line options are not compatible (bnc#599224)
#ln ${RPM_BUILD_ROOT}/sbin/btrfsck ${RPM_BUILD_ROOT}/sbin/fsck.btrfs
ln /bin/true ${RPM_BUILD_ROOT}/sbin/fsck.btrfs

%files
%defattr(-, root, root)
/sbin/btrfs
/sbin/btrfs-debug-tree
/sbin/btrfs-show
/sbin/btrfs-vol
/sbin/btrfs-convert
/sbin/btrfsck
/sbin/btrfsctl
/sbin/mkfs.btrfs
/sbin/fsck.btrfs
/sbin/btrfs-map-logical
%_mandir/man8/btrfs-image.8.gz
%_mandir/man8/btrfs-show.8.gz
%_mandir/man8/btrfsck.8.gz
%_mandir/man8/btrfsctl.8.gz
%_mandir/man8/mkfs.btrfs.8.gz
%_mandir/man8/btrfs.8.gz

%clean
rm -rf $RPM_BUILD_ROOT

%changelog
openSUSE Build Service is sponsored by