btrfsprogs/btrfsprogs.spec

190 lines
6.3 KiB
RPMSpec

#
# 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 Btrfs filesystem
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
Patch1000: local-version-override.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
Patch43: 0130-print-parent-ID-in-btrfs-suvolume-list.patch
Patch44: 0131-update-manpage-entries-for-btrfs-subvolume-list.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
# other patches not in git trees
Patch500: 0500-btrfs-progs-get-default-subvolume.patch
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
%patch1000 -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
%patch43 -p1
%patch44 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1
%patch500 -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